vendor: 4,503 bytes, lines 1-156
1 2; /* Start:"a:4:{s:4:"full";s:60:"/local/templates/culture/build/js/jquery.js?1766567244293671";s:6:"source";s:43:"/local/templates/culture/build/js/jquery.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 3/*! 4 * jQuery JavaScript Library v3.6.3 5 * https://jquery.com/ 6 * 7 * Includes Sizzle.js 8 * https://sizzlejs.com/ 9 * 10 * Copyright OpenJS Foundation and other contributors 11 * Released under the MIT license 12 * https://jquery.org/license 13 * 14 * Date: 2022-12-20T21:28Z 15 */ 16( function( global, factory ) { 17 18 "use strict"; 19 20 if ( typeof module === "object" && typeof module.exports === "object" ) { 21 22 // For CommonJS and CommonJS-like environments where a proper `window` 23 // is present, execute the factory and get jQuery. 24 // For environments that do not have a `window` with a `document` 25 // (such as Node.js), expose a factory as module.exports. 26 // This accentuates the need for the creation of a real `window`. 27 // e.g. var jQuery = require("jquery")(window); 28 // See ticket trac-14549 for more info. 29 module.exports = global.document ? 30 factory( global, true ) : 31 function( w ) { 32 if ( !w.document ) { 33 throw new Error( "jQuery requires a window with a document" ); 34 } 35 return factory( w ); 36 }; 37 } else { 38 factory( global ); 39 } 40 41// Pass this if window is not defined yet 42} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { 43 44// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 45// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode 46// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common 47// enough that all such attempts are guarded in a try block. 48"use strict"; 49 50var arr = []; 51 52var getProto = Object.getPrototypeOf; 53 54var slice = arr.slice; 55 56var flat = arr.flat ? function( array ) { 57 return arr.flat.call( array ); 58} : function( array ) { 59 return arr.concat.apply( [], array ); 60}; 61 62 63var push = arr.push; 64 65var indexOf = arr.indexOf; 66 67var class2type = {}; 68 69var toString = class2type.toString; 70 71var hasOwn = class2type.hasOwnProperty; 72 73var fnToString = hasOwn.toString; 74 75var ObjectFunctionString = fnToString.call( Object ); 76 77var support = {}; 78 79var isFunction = function isFunction( obj ) { 80 81 // Support: Chrome <=57, Firefox <=52 82 // In some browsers, typeof returns "function" for HTML <object> elements 83 // (i.e., `typeof document.createElement( "object" ) === "function"`). 84 // We don't want to classify *any* DOM node as a function. 85 // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 86 // Plus for old WebKit, typeof returns "function" for HTML collections 87 // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) 88 return typeof obj === "function" && typeof obj.nodeType !== "number" && 89 typeof obj.item !== "function"; 90 }; 91 92 93var isWindow = function isWindow( obj ) { 94 return obj != null && obj === obj.window; 95 }; 96 97 98var document = window.document; 99 100 101 102 var preservedScriptAttributes = { 103 type: true, 104 src: true, 105 nonce: true, 106 noModule: true 107 }; 108 109 function DOMEval( code, node, doc ) { 110 doc = doc || document; 111 112 var i, val, 113 script = doc.createElement( "script" ); 114 115 script.text = code; 116 if ( node ) { 117 for ( i in preservedScriptAttributes ) { 118 119 // Support: Firefox 64+, Edge 18+ 120 // Some browsers don't support the "nonce" property on scripts. 121 // On the other hand, just using `getAttribute` is not enough as 122 // the `nonce` attribute is reset to an empty string whenever it 123 // becomes browsing-context connected. 124 // See https://github.com/whatwg/html/issues/2369 125 // See https://html.spec.whatwg.org/#nonce-attributes 126 // The `node.getAttribute` check was added for the sake of 127 // `jQuery.globalEval` so that it can fake a nonce-containing node 128 // via an object. 129 val = node[ i ] || node.getAttribute && node.getAttribute( i ); 130 if ( val ) { 131 script.setAttribute( i, val ); 132 } 133 } 134 } 135 doc.head.appendChild( script ).parentNode.removeChild( script ); 136 } 137 138 139function toType( obj ) { 140 if ( obj == null ) { 141 return obj + ""; 142 } 143 144 // Support: Android <=2.3 only (functionish RegExp) 145 return typeof obj === "object" || typeof obj === "function" ? 146 class2type[ toString.call( obj ) ] || "object" : 147 typeof obj; 148} 149/* global Symbol */ 150// Defining this global in .eslintrc.json would create a danger of using the global 151// unguarded in another place, it seems safer to define global only for this module 152 153 154 155var 156 version = "3.6.3
vendor: 8,505 bytes, lines 156-527
156", 157 158 // Define a local copy of jQuery 159 jQuery = function( selector, context ) { 160 161 // The jQuery object is actually just the init constructor 'enhanced' 162 // Need init if jQuery is called (just allow error to be thrown if not included) 163 return new jQuery.fn.init( selector, context ); 164 }; 165 166jQuery.fn = jQuery.prototype = { 167 168 // The current version of jQuery being used 169 jquery: version, 170 171 constructor: jQuery, 172 173 // The default length of a jQuery object is 0 174 length: 0, 175 176 toArray: function() { 177 return slice.call( this ); 178 }, 179 180 // Get the Nth element in the matched element set OR 181 // Get the whole matched element set as a clean array 182 get: function( num ) { 183 184 // Return all the elements in a clean array 185 if ( num == null ) { 186 return slice.call( this ); 187 } 188 189 // Return just the one element from the set 190 return num < 0 ? this[ num + this.length ] : this[ num ]; 191 }, 192 193 // Take an array of elements and push it onto the stack 194 // (returning the new matched element set) 195 pushStack: function( elems ) { 196 197 // Build a new jQuery matched element set 198 var ret = jQuery.merge( this.constructor(), elems ); 199 200 // Add the old object onto the stack (as a reference) 201 ret.prevObject = this; 202 203 // Return the newly-formed element set 204 return ret; 205 }, 206 207 // Execute a callback for every element in the matched set. 208 each: function( callback ) { 209 return jQuery.each( this, callback ); 210 }, 211 212 map: function( callback ) { 213 return this.pushStack( jQuery.map( this, function( elem, i ) { 214 return callback.call( elem, i, elem ); 215 } ) ); 216 }, 217 218 slice: function() { 219 return this.pushStack( slice.apply( this, arguments ) ); 220 }, 221 222 first: function() { 223 return this.eq( 0 ); 224 }, 225 226 last: function() { 227 return this.eq( -1 ); 228 }, 229 230 even: function() { 231 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 232 return ( i + 1 ) % 2; 233 } ) ); 234 }, 235 236 odd: function() { 237 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 238 return i % 2; 239 } ) ); 240 }, 241 242 eq: function( i ) { 243 var len = this.length, 244 j = +i + ( i < 0 ? len : 0 ); 245 return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); 246 }, 247 248 end: function() { 249 return this.prevObject || this.constructor(); 250 }, 251 252 // For internal use only. 253 // Behaves like an Array's method, not like a jQuery method. 254 push: push, 255 sort: arr.sort, 256 splice: arr.splice 257}; 258 259jQuery.extend = jQuery.fn.extend = function() { 260 var options, name, src, copy, copyIsArray, clone, 261 target = arguments[ 0 ] || {}, 262 i = 1, 263 length = arguments.length, 264 deep = false; 265 266 // Handle a deep copy situation 267 if ( typeof target === "boolean" ) { 268 deep = target; 269 270 // Skip the boolean and the target 271 target = arguments[ i ] || {}; 272 i++; 273 } 274 275 // Handle case when target is a string or something (possible in deep copy) 276 if ( typeof target !== "object" && !isFunction( target ) ) { 277 target = {}; 278 } 279 280 // Extend jQuery itself if only one argument is passed 281 if ( i === length ) { 282 target = this; 283 i--; 284 } 285 286 for ( ; i < length; i++ ) { 287 288 // Only deal with non-null/undefined values 289 if ( ( options = arguments[ i ] ) != null ) { 290 291 // Extend the base object 292 for ( name in options ) { 293 copy = options[ name ]; 294 295 // Prevent Object.prototype pollution 296 // Prevent never-ending loop 297 if ( name === "__proto__" || target === copy ) { 298 continue; 299 } 300 301 // Recurse if we're merging plain objects or arrays 302 if ( deep && copy && ( jQuery.isPlainObject( copy ) || 303 ( copyIsArray = Array.isArray( copy ) ) ) ) { 304 src = target[ name ]; 305 306 // Ensure proper type for the source value 307 if ( copyIsArray && !Array.isArray( src ) ) { 308 clone = []; 309 } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { 310 clone = {}; 311 } else { 312 clone = src; 313 } 314 copyIsArray = false; 315 316 // Never move original objects, clone them 317 target[ name ] = jQuery.extend( deep, clone, copy ); 318 319 // Don't bring in undefined values 320 } else if ( copy !== undefined ) { 321 target[ name ] = copy; 322 } 323 } 324 } 325 } 326 327 // Return the modified object 328 return target; 329}; 330 331jQuery.extend( { 332 333 // Unique for each copy of jQuery on the page 334 expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), 335 336 // Assume jQuery is ready without the ready module 337 isReady: true, 338 339 error: function( msg ) { 340 throw new Error( msg ); 341 }, 342 343 noop: function() {}, 344 345 isPlainObject: function( obj ) { 346 var proto, Ctor; 347 348 // Detect obvious negatives 349 // Use toString instead of jQuery.type to catch host objects 350 if ( !obj || toString.call( obj ) !== "[object Object]" ) { 351 return false; 352 } 353 354 proto = getProto( obj ); 355 356 // Objects with no prototype (e.g., `Object.create( null )`) are plain 357 if ( !proto ) { 358 return true; 359 } 360 361 // Objects with prototype are plain iff they were constructed by a global Object function 362 Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; 363 return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; 364 }, 365 366 isEmptyObject: function( obj ) { 367 var name; 368 369 for ( name in obj ) { 370 return false; 371 } 372 return true; 373 }, 374 375 // Evaluates a script in a provided context; falls back to the global one 376 // if not specified. 377 globalEval: function( code, options, doc ) { 378 DOMEval( code, { nonce: options && options.nonce }, doc ); 379 }, 380 381 each: function( obj, callback ) { 382 var length, i = 0; 383 384 if ( isArrayLike( obj ) ) { 385 length = obj.length; 386 for ( ; i < length; i++ ) { 387 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 388 break; 389 } 390 } 391 } else { 392 for ( i in obj ) { 393 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 394 break; 395 } 396 } 397 } 398 399 return obj; 400 }, 401 402 // results is for internal usage only 403 makeArray: function( arr, results ) { 404 var ret = results || []; 405 406 if ( arr != null ) { 407 if ( isArrayLike( Object( arr ) ) ) { 408 jQuery.merge( ret, 409 typeof arr === "string" ? 410 [ arr ] : arr 411 ); 412 } else { 413 push.call( ret, arr ); 414 } 415 } 416 417 return ret; 418 }, 419 420 inArray: function( elem, arr, i ) { 421 return arr == null ? -1 : indexOf.call( arr, elem, i ); 422 }, 423 424 // Support: Android <=4.0 only, PhantomJS 1 only 425 // push.apply(_, arraylike) throws on ancient WebKit 426 merge: function( first, second ) { 427 var len = +second.length, 428 j = 0, 429 i = first.length; 430 431 for ( ; j < len; j++ ) { 432 first[ i++ ] = second[ j ]; 433 } 434 435 first.length = i; 436 437 return first; 438 }, 439 440 grep: function( elems, callback, invert ) { 441 var callbackInverse, 442 matches = [], 443 i = 0, 444 length = elems.length, 445 callbackExpect = !invert; 446 447 // Go through the array, only saving the items 448 // that pass the validator function 449 for ( ; i < length; i++ ) { 450 callbackInverse = !callback( elems[ i ], i ); 451 if ( callbackInverse !== callbackExpect ) { 452 matches.push( elems[ i ] ); 453 } 454 } 455 456 return matches; 457 }, 458 459 // arg is for internal usage only 460 map: function( elems, callback, arg ) { 461 var length, value, 462 i = 0, 463 ret = []; 464 465 // Go through the array, translating each of the items to their new values 466 if ( isArrayLike( elems ) ) { 467 length = elems.length; 468 for ( ; i < length; i++ ) { 469 value = callback( elems[ i ], i, arg ); 470 471 if ( value != null ) { 472 ret.push( value ); 473 } 474 } 475 476 // Go through every key on the object, 477 } else { 478 for ( i in elems ) { 479 value = callback( elems[ i ], i, arg ); 480 481 if ( value != null ) { 482 ret.push( value ); 483 } 484 } 485 } 486 487 // Flatten any nested arrays 488 return flat( ret ); 489 }, 490 491 // A global GUID counter for objects 492 guid: 1, 493 494 // jQuery.support is not used in Core but other projects attach their 495 // properties to it so it needs to exist. 496 support: support 497} ); 498 499if ( typeof Symbol === "function" ) { 500 jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; 501} 502 503// Populate the class2type map 504jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), 505 function( _i, name ) { 506 class2type[ "[object " + name + "]" ] = name.toLowerCase(); 507 } ); 508 509function isArrayLike( obj ) { 510 511 // Support: real iOS 8.2 only (not reproducible in simulator) 512 // `in` check used to prevent JIT error (gh-2145) 513 // hasOwn isn't used here due to false negatives 514 // regarding Nodelist length in IE 515 var length = !!obj && "length" in obj && obj.length, 516 type = toType( obj ); 517 518 if ( isFunction( obj ) || isWindow( obj ) ) { 519 return false; 520 } 521 522 return type === "array" || length === 0 || 523 typeof length === "number" && length > 0 && ( length - 1 ) in obj; 524} 525var Sizzle = 526/*! 527 * Sizzle CSS Selector Engine v2.3.
5279 528 * https://sizzlejs.com/ 529 * 530 * Copyright JS Foundation and other contributors 531 * Released under the MIT license 532 * https://js.foundation/ 533 * 534 * Date: 2022-12-19
vendor: 10,174 bytes, lines 534-883
534 535 */ 536( function( window ) { 537var i, 538 support, 539 Expr, 540 getText, 541 isXML, 542 tokenize, 543 compile, 544 select, 545 outermostContext, 546 sortInput, 547 hasDuplicate, 548 549 // Local document vars 550 setDocument, 551 document, 552 docElem, 553 documentIsHTML, 554 rbuggyQSA, 555 rbuggyMatches, 556 matches, 557 contains, 558 559 // Instance-specific data 560 expando = "sizzle" + 1 * new Date(), 561 preferredDoc = window.document, 562 dirruns = 0, 563 done = 0, 564 classCache = createCache(), 565 tokenCache = createCache(), 566 compilerCache = createCache(), 567 nonnativeSelectorCache = createCache(), 568 sortOrder = function( a, b ) { 569 if ( a === b ) { 570 hasDuplicate = true; 571 } 572 return 0; 573 }, 574 575 // Instance methods 576 hasOwn = ( {} ).hasOwnProperty, 577 arr = [], 578 pop = arr.pop, 579 pushNative = arr.push, 580 push = arr.push, 581 slice = arr.slice, 582 583 // Use a stripped-down indexOf as it's faster than native 584 // https://jsperf.com/thor-indexof-vs-for/5 585 indexOf = function( list, elem ) { 586 var i = 0, 587 len = list.length; 588 for ( ; i < len; i++ ) { 589 if ( list[ i ] === elem ) { 590 return i; 591 } 592 } 593 return -1; 594 }, 595 596 booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + 597 "ismap|loop|multiple|open|readonly|required|scoped", 598 599 // Regular expressions 600 601 // http://www.w3.org/TR/css3-selectors/#whitespace 602 whitespace = "[\\x20\\t\\r\\n\\f]", 603 604 // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram 605 identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + 606 "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", 607 608 // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors 609 attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + 610 611 // Operator (capture 2) 612 "*([*^$|!~]?=)" + whitespace + 613 614 // "Attribute values must be CSS identifiers [capture 5] 615 // or strings [capture 3 or capture 4]" 616 "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + 617 whitespace + "*\\]", 618 619 pseudos = ":(" + identifier + ")(?:\\((" + 620 621 // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: 622 // 1. quoted (capture 3; capture 4 or capture 5) 623 "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + 624 625 // 2. simple (capture 6) 626 "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + 627 628 // 3. anything else (capture 2) 629 ".*" + 630 ")\\)|)", 631 632 // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter 633 rwhitespace = new RegExp( whitespace + "+", "g" ), 634 rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + 635 whitespace + "+$", "g" ), 636 637 rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), 638 rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + 639 "*" ), 640 rdescend = new RegExp( whitespace + "|>" ), 641 642 rpseudo = new RegExp( pseudos ), 643 ridentifier = new RegExp( "^" + identifier + "$" ), 644 645 matchExpr = { 646 "ID": new RegExp( "^#(" + identifier + ")" ), 647 "CLASS": new RegExp( "^\\.(" + identifier + ")" ), 648 "TAG": new RegExp( "^(" + identifier + "|[*])" ), 649 "ATTR": new RegExp( "^" + attributes ), 650 "PSEUDO": new RegExp( "^" + pseudos ), 651 "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + 652 whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + 653 whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), 654 "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), 655 656 // For use in libraries implementing .is() 657 // We use this for POS matching in `select` 658 "needsContext": new RegExp( "^" + whitespace + 659 "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + 660 "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) 661 }, 662 663 rhtml = /HTML$/i, 664 rinputs = /^(?:input|select|textarea|button)$/i, 665 rheader = /^h\d$/i, 666 667 rnative = /^[^{]+\{\s*\[native \w/, 668 669 // Easily-parseable/retrievable ID or TAG or CLASS selectors 670 rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, 671 672 rsibling = /[+~]/, 673 674 // CSS escapes 675 // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters 676 runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), 677 funescape = function( escape, nonHex ) { 678 var high = "0x" + escape.slice( 1 ) - 0x10000; 679 680 return nonHex ? 681 682 // Strip the backslash prefix from a non-hex escape sequence 683 nonHex : 684 685 // Replace a hexadecimal escape sequence with the encoded Unicode code point 686 // Support: IE <=11+ 687 // For values outside the Basic Multilingual Plane (BMP), manually construct a 688 // surrogate pair 689 high < 0 ? 690 String.fromCharCode( high + 0x10000 ) : 691 String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); 692 }, 693 694 // CSS string/identifier serialization 695 // https://drafts.csswg.org/cssom/#common-serializing-idioms 696 rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, 697 fcssescape = function( ch, asCodePoint ) { 698 if ( asCodePoint ) { 699 700 // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER 701 if ( ch === "\0" ) { 702 return "\uFFFD"; 703 } 704 705 // Control characters and (dependent upon position) numbers get escaped as code points 706 return ch.slice( 0, -1 ) + "\\" + 707 ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; 708 } 709 710 // Other potentially-special ASCII characters get backslash-escaped 711 return "\\" + ch; 712 }, 713 714 // Used for iframes 715 // See setDocument() 716 // Removing the function wrapper causes a "Permission Denied" 717 // error in IE 718 unloadHandler = function() { 719 setDocument(); 720 }, 721 722 inDisabledFieldset = addCombinator( 723 function( elem ) { 724 return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; 725 }, 726 { dir: "parentNode", next: "legend" } 727 ); 728 729// Optimize for push.apply( _, NodeList ) 730try { 731 push.apply( 732 ( arr = slice.call( preferredDoc.childNodes ) ), 733 preferredDoc.childNodes 734 ); 735 736 // Support: Android<4.0 737 // Detect silently failing push.apply 738 // eslint-disable-next-line no-unused-expressions 739 arr[ preferredDoc.childNodes.length ].nodeType; 740} catch ( e ) { 741 push = { apply: arr.length ? 742 743 // Leverage slice if possible 744 function( target, els ) { 745 pushNative.apply( target, slice.call( els ) ); 746 } : 747 748 // Support: IE<9 749 // Otherwise append directly 750 function( target, els ) { 751 var j = target.length, 752 i = 0; 753 754 // Can't trust NodeList.length 755 while ( ( target[ j++ ] = els[ i++ ] ) ) {} 756 target.length = j - 1; 757 } 758 }; 759} 760 761function Sizzle( selector, context, results, seed ) { 762 var m, i, elem, nid, match, groups, newSelector, 763 newContext = context && context.ownerDocument, 764 765 // nodeType defaults to 9, since context defaults to document 766 nodeType = context ? context.nodeType : 9; 767 768 results = results || []; 769 770 // Return early from calls with invalid selector or context 771 if ( typeof selector !== "string" || !selector || 772 nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { 773 774 return results; 775 } 776 777 // Try to shortcut find operations (as opposed to filters) in HTML documents 778 if ( !seed ) { 779 setDocument( context ); 780 context = context || document; 781 782 if ( documentIsHTML ) { 783 784 // If the selector is sufficiently simple, try using a "get*By*" DOM method 785 // (excepting DocumentFragment context, where the methods don't exist) 786 if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { 787 788 // ID selector 789 if ( ( m = match[ 1 ] ) ) { 790 791 // Document context 792 if ( nodeType === 9 ) { 793 if ( ( elem = context.getElementById( m ) ) ) { 794 795 // Support: IE, Opera, Webkit 796 // TODO: identify versions 797 // getElementById can match elements by name instead of ID 798 if ( elem.id === m ) { 799 results.push( elem ); 800 return results; 801 } 802 } else { 803 return results; 804 } 805 806 // Element context 807 } else { 808 809 // Support: IE, Opera, Webkit 810 // TODO: identify versions 811 // getElementById can match elements by name instead of ID 812 if ( newContext && ( elem = newContext.getElementById( m ) ) && 813 contains( context, elem ) && 814 elem.id === m ) { 815 816 results.push( elem ); 817 return results; 818 } 819 } 820 821 // Type selector 822 } else if ( match[ 2 ] ) { 823 push.apply( results, context.getElementsByTagName( selector ) ); 824 return results; 825 826 // Class selector 827 } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && 828 context.getElementsByClassName ) { 829 830 push.apply( results, context.getElementsByClassName( m ) ); 831 return results; 832 } 833 } 834 835 // Take advantage of querySelectorAll 836 if ( support.qsa && 837 !nonnativeSelectorCache[ selector + " " ] && 838 ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && 839 840 // Support: IE 8 only 841 // Exclude object elements 842 ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { 843 844 newSelector = selector; 845 newContext = context; 846 847 // qSA considers elements outside a scoping root when evaluating child or 848 // descendant combinators, which is not what we want. 849 // In such cases, we work around the behavior by prefixing every selector in the 850 // list with an ID selector referencing the scope context. 851 // The technique has to be used as well when a leading combinator is used 852 // as such selectors are not recognized by querySelectorAll. 853 // Thanks to Andrew Dupont for this technique. 854 if ( nodeType === 1 && 855 ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { 856 857 // Expand context for sibling selectors 858 newContext = rsibling.test( selector ) && testContext( context.parentNode ) || 859 context; 860 861 // We can use :scope instead of the ID hack if the browser 862 // supports it & if we're not changing the context. 863 if ( newContext !== context || !support.scope ) { 864 865 // Capture the context ID, setting it first if necessary 866 if ( ( nid = context.getAttribute( "id" ) ) ) { 867 nid = nid.replace( rcssescape, fcssescape ); 868 } else { 869 context.setAttribute( "id", ( nid = expando ) ); 870 } 871 } 872 873 // Prefix every selector in the list 874 groups = tokenize( selector ); 875 i = groups.length; 876 while ( i-- ) { 877 groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + 878 toSelector( groups[ i ] ); 879 } 880 newSelector = groups.join( "," ); 881 } 882 883 try {
884 885 // `qSA` may not throw for unrecognized parts using forgiving parsing: 886 // https://drafts.csswg.org/selectors/#forgiving-selector 887 // like the `:has()` pseudo-class: 888 // https://drafts.csswg.org/selectors/#relational 889 // `CSS.supports` is still expected to return `false` then: 890 // https://drafts.csswg.org/css-conditional-4/#typedef-supports-selector-fn 891 // https://drafts.csswg.org/css-conditional-4/#dfn-support-selector 892 if ( support.cssSupportsSelector && 893 894 // eslint-disable-next-line no-undef 895 !CSS.supports( "selector(:is(" + newSelector + "))" ) ) { 896 897 // Support: IE 11+ 898 // Throw to get to the same code path as an error directly in qSA. 899 // Note: once we only support browser supporting 900 // `CSS.supports('selector(...)')`, we can most likely drop 901 // the `try-catch`. IE doesn't implement the API. 902 throw new Error(); 903 }
vendor: 8,590 bytes, lines 904-1200
904 905 push.apply( results, 906 newContext.querySelectorAll( newSelector ) 907 ); 908 return results; 909 } catch ( qsaError ) { 910 nonnativeSelectorCache( selector, true ); 911 } finally { 912 if ( nid === expando ) { 913 context.removeAttribute( "id" ); 914 } 915 } 916 } 917 } 918 } 919 920 // All others 921 return select( selector.replace( rtrim, "$1" ), context, results, seed ); 922} 923 924/** 925 * Create key-value caches of limited size 926 * @returns {function(string, object)} Returns the Object data after storing it on itself with 927 * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) 928 * deleting the oldest entry 929 */ 930function createCache() { 931 var keys = []; 932 933 function cache( key, value ) { 934 935 // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) 936 if ( keys.push( key + " " ) > Expr.cacheLength ) { 937 938 // Only keep the most recent entries 939 delete cache[ keys.shift() ]; 940 } 941 return ( cache[ key + " " ] = value ); 942 } 943 return cache; 944} 945 946/** 947 * Mark a function for special use by Sizzle 948 * @param {Function} fn The function to mark 949 */ 950function markFunction( fn ) { 951 fn[ expando ] = true; 952 return fn; 953} 954 955/** 956 * Support testing using an element 957 * @param {Function} fn Passed the created element and returns a boolean result 958 */ 959function assert( fn ) { 960 var el = document.createElement( "fieldset" ); 961 962 try { 963 return !!fn( el ); 964 } catch ( e ) { 965 return false; 966 } finally { 967 968 // Remove from its parent by default 969 if ( el.parentNode ) { 970 el.parentNode.removeChild( el ); 971 } 972 973 // release memory in IE 974 el = null; 975 } 976} 977 978/** 979 * Adds the same handler for all of the specified attrs 980 * @param {String} attrs Pipe-separated list of attributes 981 * @param {Function} handler The method that will be applied 982 */ 983function addHandle( attrs, handler ) { 984 var arr = attrs.split( "|" ), 985 i = arr.length; 986 987 while ( i-- ) { 988 Expr.attrHandle[ arr[ i ] ] = handler; 989 } 990} 991 992/** 993 * Checks document order of two siblings 994 * @param {Element} a 995 * @param {Element} b 996 * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b 997 */ 998function siblingCheck( a, b ) { 999 var cur = b && a, 1000 diff = cur && a.nodeType === 1 && b.nodeType === 1 && 1001 a.sourceIndex - b.sourceIndex; 1002 1003 // Use IE sourceIndex if available on both nodes 1004 if ( diff ) { 1005 return diff; 1006 } 1007 1008 // Check if b follows a 1009 if ( cur ) { 1010 while ( ( cur = cur.nextSibling ) ) { 1011 if ( cur === b ) { 1012 return -1; 1013 } 1014 } 1015 } 1016 1017 return a ? 1 : -1; 1018} 1019 1020/** 1021 * Returns a function to use in pseudos for input types 1022 * @param {String} type 1023 */ 1024function createInputPseudo( type ) { 1025 return function( elem ) { 1026 var name = elem.nodeName.toLowerCase(); 1027 return name === "input" && elem.type === type; 1028 }; 1029} 1030 1031/** 1032 * Returns a function to use in pseudos for buttons 1033 * @param {String} type 1034 */ 1035function createButtonPseudo( type ) { 1036 return function( elem ) { 1037 var name = elem.nodeName.toLowerCase(); 1038 return ( name === "input" || name === "button" ) && elem.type === type; 1039 }; 1040} 1041 1042/** 1043 * Returns a function to use in pseudos for :enabled/:disabled 1044 * @param {Boolean} disabled true for :disabled; false for :enabled 1045 */ 1046function createDisabledPseudo( disabled ) { 1047 1048 // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable 1049 return function( elem ) { 1050 1051 // Only certain elements can match :enabled or :disabled 1052 // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled 1053 // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled 1054 if ( "form" in elem ) { 1055 1056 // Check for inherited disabledness on relevant non-disabled elements: 1057 // * listed form-associated elements in a disabled fieldset 1058 // https://html.spec.whatwg.org/multipage/forms.html#category-listed 1059 // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled 1060 // * option elements in a disabled optgroup 1061 // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled 1062 // All such elements have a "form" property. 1063 if ( elem.parentNode && elem.disabled === false ) { 1064 1065 // Option elements defer to a parent optgroup if present 1066 if ( "label" in elem ) { 1067 if ( "label" in elem.parentNode ) { 1068 return elem.parentNode.disabled === disabled; 1069 } else { 1070 return elem.disabled === disabled; 1071 } 1072 } 1073 1074 // Support: IE 6 - 11 1075 // Use the isDisabled shortcut property to check for disabled fieldset ancestors 1076 return elem.isDisabled === disabled || 1077 1078 // Where there is no isDisabled, check manually 1079 /* jshint -W018 */ 1080 elem.isDisabled !== !disabled && 1081 inDisabledFieldset( elem ) === disabled; 1082 } 1083 1084 return elem.disabled === disabled; 1085 1086 // Try to winnow out elements that can't be disabled before trusting the disabled property. 1087 // Some victims get caught in our net (label, legend, menu, track), but it shouldn't 1088 // even exist on them, let alone have a boolean value. 1089 } else if ( "label" in elem ) { 1090 return elem.disabled === disabled; 1091 } 1092 1093 // Remaining elements are neither :enabled nor :disabled 1094 return false; 1095 }; 1096} 1097 1098/** 1099 * Returns a function to use in pseudos for positionals 1100 * @param {Function} fn 1101 */ 1102function createPositionalPseudo( fn ) { 1103 return markFunction( function( argument ) { 1104 argument = +argument; 1105 return markFunction( function( seed, matches ) { 1106 var j, 1107 matchIndexes = fn( [], seed.length, argument ), 1108 i = matchIndexes.length; 1109 1110 // Match elements found at the specified indexes 1111 while ( i-- ) { 1112 if ( seed[ ( j = matchIndexes[ i ] ) ] ) { 1113 seed[ j ] = !( matches[ j ] = seed[ j ] ); 1114 } 1115 } 1116 } ); 1117 } ); 1118} 1119 1120/** 1121 * Checks a node for validity as a Sizzle context 1122 * @param {Element|Object=} context 1123 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value 1124 */ 1125function testContext( context ) { 1126 return context && typeof context.getElementsByTagName !== "undefined" && context; 1127} 1128 1129// Expose support vars for convenience 1130support = Sizzle.support = {}; 1131 1132/** 1133 * Detects XML nodes 1134 * @param {Element|Object} elem An element or a document 1135 * @returns {Boolean} True iff elem is a non-HTML XML node 1136 */ 1137isXML = Sizzle.isXML = function( elem ) { 1138 var namespace = elem && elem.namespaceURI, 1139 docElem = elem && ( elem.ownerDocument || elem ).documentElement; 1140 1141 // Support: IE <=8 1142 // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes 1143 // https://bugs.jquery.com/ticket/4833 1144 return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); 1145}; 1146 1147/** 1148 * Sets document-related variables once based on the current document 1149 * @param {Element|Object} [doc] An element or document object to use to set the document 1150 * @returns {Object} Returns the current document 1151 */ 1152setDocument = Sizzle.setDocument = function( node ) { 1153 var hasCompare, subWindow, 1154 doc = node ? node.ownerDocument || node : preferredDoc; 1155 1156 // Return early if doc is invalid or already selected 1157 // Support: IE 11+, Edge 17 - 18+ 1158 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1159 // two documents; shallow comparisons work. 1160 // eslint-disable-next-line eqeqeq 1161 if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { 1162 return document; 1163 } 1164 1165 // Update global variables 1166 document = doc; 1167 docElem = document.documentElement; 1168 documentIsHTML = !isXML( document ); 1169 1170 // Support: IE 9 - 11+, Edge 12 - 18+ 1171 // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) 1172 // Support: IE 11+, Edge 17 - 18+ 1173 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1174 // two documents; shallow comparisons work. 1175 // eslint-disable-next-line eqeqeq 1176 if ( preferredDoc != document && 1177 ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { 1178 1179 // Support: IE 11, Edge 1180 if ( subWindow.addEventListener ) { 1181 subWindow.addEventListener( "unload", unloadHandler, false ); 1182 1183 // Support: IE 9 - 10 only 1184 } else if ( subWindow.attachEvent ) { 1185 subWindow.attachEvent( "onunload", unloadHandler ); 1186 } 1187 } 1188 1189 // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, 1190 // Safari 4 - 5 only, Opera <=11.6 - 12.x only 1191 // IE/Edge & older browsers don't support the :scope pseudo-class. 1192 // Support: Safari 6.0 only 1193 // Safari 6.0 supports :scope but it's an alias of :root there. 1194 support.scope = assert( function( el ) { 1195 docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); 1196 return typeof el.querySelectorAll !== "undefined" && 1197 !el.querySelectorAll( ":scope fieldset div" ).length; 1198 } ); 1199 1200 /
1200/ Support: Chrome 105+, Firefox 104+, Safari 15.4+ 1201 // Make sure forgiving mode is not used in `CSS.supports( "selector(...)" )`. 1202 // 1203 // `:is()` uses a forgiving selector list as an argument and is widely 1204 // implemented, so it's a good one to test against. 1205 support.cssSupportsSelector = assert( function() { 1206 /* eslint-disable no-undef */ 1207 1208 return CSS.supports( "selector(*)" ) && 1209 1210 // Support: Firefox 78-81 only 1211 // In old Firefox, `:is()` didn't use forgiving parsing. In that case, 1212 // fail this test as there's no selector to test against that. 1213 // `CSS.supports` uses unforgiving parsing 1214 document.querySelectorAll( ":is(:jqfake)" ) && 1215 1216 // `*` is needed as Safari & newer Chrome implemented something in between 1217 // for `:has()` - it throws in `qSA` if it only contains an unsupported 1218 // argument but multiple ones, one of which is supported, are fine. 1219 // We want to play safe in case `:is()` gets the same treatment. 1220 !CSS.supports( "selector(:is(*,:jqfake))" ); 1221 1222 /* eslint-enable */
vendor: 8,689 bytes, lines 1222-1491
1222 1223 } ); 1224 1225 /* Attributes 1226 ---------------------------------------------------------------------- */ 1227 1228 // Support: IE<8 1229 // Verify that getAttribute really returns attributes and not properties 1230 // (excepting IE8 booleans) 1231 support.attributes = assert( function( el ) { 1232 el.className = "i"; 1233 return !el.getAttribute( "className" ); 1234 } ); 1235 1236 /* getElement(s)By* 1237 ---------------------------------------------------------------------- */ 1238 1239 // Check if getElementsByTagName("*") returns only elements 1240 support.getElementsByTagName = assert( function( el ) { 1241 el.appendChild( document.createComment( "" ) ); 1242 return !el.getElementsByTagName( "*" ).length; 1243 } ); 1244 1245 // Support: IE<9 1246 support.getElementsByClassName = rnative.test( document.getElementsByClassName ); 1247 1248 // Support: IE<10 1249 // Check if getElementById returns elements by name 1250 // The broken getElementById methods don't pick up programmatically-set names, 1251 // so use a roundabout getElementsByName test 1252 support.getById = assert( function( el ) { 1253 docElem.appendChild( el ).id = expando; 1254 return !document.getElementsByName || !document.getElementsByName( expando ).length; 1255 } ); 1256 1257 // ID filter and find 1258 if ( support.getById ) { 1259 Expr.filter[ "ID" ] = function( id ) { 1260 var attrId = id.replace( runescape, funescape ); 1261 return function( elem ) { 1262 return elem.getAttribute( "id" ) === attrId; 1263 }; 1264 }; 1265 Expr.find[ "ID" ] = function( id, context ) { 1266 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 1267 var elem = context.getElementById( id ); 1268 return elem ? [ elem ] : []; 1269 } 1270 }; 1271 } else { 1272 Expr.filter[ "ID" ] = function( id ) { 1273 var attrId = id.replace( runescape, funescape ); 1274 return function( elem ) { 1275 var node = typeof elem.getAttributeNode !== "undefined" && 1276 elem.getAttributeNode( "id" ); 1277 return node && node.value === attrId; 1278 }; 1279 }; 1280 1281 // Support: IE 6 - 7 only 1282 // getElementById is not reliable as a find shortcut 1283 Expr.find[ "ID" ] = function( id, context ) { 1284 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 1285 var node, i, elems, 1286 elem = context.getElementById( id ); 1287 1288 if ( elem ) { 1289 1290 // Verify the id attribute 1291 node = elem.getAttributeNode( "id" ); 1292 if ( node && node.value === id ) { 1293 return [ elem ]; 1294 } 1295 1296 // Fall back on getElementsByName 1297 elems = context.getElementsByName( id ); 1298 i = 0; 1299 while ( ( elem = elems[ i++ ] ) ) { 1300 node = elem.getAttributeNode( "id" ); 1301 if ( node && node.value === id ) { 1302 return [ elem ]; 1303 } 1304 } 1305 } 1306 1307 return []; 1308 } 1309 }; 1310 } 1311 1312 // Tag 1313 Expr.find[ "TAG" ] = support.getElementsByTagName ? 1314 function( tag, context ) { 1315 if ( typeof context.getElementsByTagName !== "undefined" ) { 1316 return context.getElementsByTagName( tag ); 1317 1318 // DocumentFragment nodes don't have gEBTN 1319 } else if ( support.qsa ) { 1320 return context.querySelectorAll( tag ); 1321 } 1322 } : 1323 1324 function( tag, context ) { 1325 var elem, 1326 tmp = [], 1327 i = 0, 1328 1329 // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too 1330 results = context.getElementsByTagName( tag ); 1331 1332 // Filter out possible comments 1333 if ( tag === "*" ) { 1334 while ( ( elem = results[ i++ ] ) ) { 1335 if ( elem.nodeType === 1 ) { 1336 tmp.push( elem ); 1337 } 1338 } 1339 1340 return tmp; 1341 } 1342 return results; 1343 }; 1344 1345 // Class 1346 Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { 1347 if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { 1348 return context.getElementsByClassName( className ); 1349 } 1350 }; 1351 1352 /* QSA/matchesSelector 1353 ---------------------------------------------------------------------- */ 1354 1355 // QSA and matchesSelector support 1356 1357 // matchesSelector(:active) reports false when true (IE9/Opera 11.5) 1358 rbuggyMatches = []; 1359 1360 // qSa(:focus) reports false when true (Chrome 21) 1361 // We allow this because of a bug in IE8/9 that throws an error 1362 // whenever `document.activeElement` is accessed on an iframe 1363 // So, we allow :focus to pass through QSA all the time to avoid the IE error 1364 // See https://bugs.jquery.com/ticket/13378 1365 rbuggyQSA = []; 1366 1367 if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { 1368 1369 // Build QSA regex 1370 // Regex strategy adopted from Diego Perini 1371 assert( function( el ) { 1372 1373 var input; 1374 1375 // Select is set to empty string on purpose 1376 // This is to test IE's treatment of not explicitly 1377 // setting a boolean content attribute, 1378 // since its presence should be enough 1379 // https://bugs.jquery.com/ticket/12359 1380 docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + 1381 "<select id='" + expando + "-\r\\' msallowcapture=''>" + 1382 "<option selected=''></option></select>"; 1383 1384 // Support: IE8, Opera 11-12.16 1385 // Nothing should be selected when empty strings follow ^= or $= or *= 1386 // The test attribute must be unknown in Opera but "safe" for WinRT 1387 // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section 1388 if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { 1389 rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); 1390 } 1391 1392 // Support: IE8 1393 // Boolean attributes and "value" are not treated correctly 1394 if ( !el.querySelectorAll( "[selected]" ).length ) { 1395 rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); 1396 } 1397 1398 // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ 1399 if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { 1400 rbuggyQSA.push( "~=" ); 1401 } 1402 1403 // Support: IE 11+, Edge 15 - 18+ 1404 // IE 11/Edge don't find elements on a `[name='']` query in some cases. 1405 // Adding a temporary attribute to the document before the selection works 1406 // around the issue. 1407 // Interestingly, IE 10 & older don't seem to have the issue. 1408 input = document.createElement( "input" ); 1409 input.setAttribute( "name", "" ); 1410 el.appendChild( input ); 1411 if ( !el.querySelectorAll( "[name='']" ).length ) { 1412 rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + 1413 whitespace + "*(?:''|\"\")" ); 1414 } 1415 1416 // Webkit/Opera - :checked should return selected option elements 1417 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 1418 // IE8 throws error here and will not see later tests 1419 if ( !el.querySelectorAll( ":checked" ).length ) { 1420 rbuggyQSA.push( ":checked" ); 1421 } 1422 1423 // Support: Safari 8+, iOS 8+ 1424 // https://bugs.webkit.org/show_bug.cgi?id=136851 1425 // In-page `selector#id sibling-combinator selector` fails 1426 if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { 1427 rbuggyQSA.push( ".#.+[+~]" ); 1428 } 1429 1430 // Support: Firefox <=3.6 - 5 only 1431 // Old Firefox doesn't throw on a badly-escaped identifier. 1432 el.querySelectorAll( "\\\f" ); 1433 rbuggyQSA.push( "[\\r\\n\\f]" ); 1434 } ); 1435 1436 assert( function( el ) { 1437 el.innerHTML = "<a href='' disabled='disabled'></a>" + 1438 "<select disabled='disabled'><option/></select>"; 1439 1440 // Support: Windows 8 Native Apps 1441 // The type and name attributes are restricted during .innerHTML assignment 1442 var input = document.createElement( "input" ); 1443 input.setAttribute( "type", "hidden" ); 1444 el.appendChild( input ).setAttribute( "name", "D" ); 1445 1446 // Support: IE8 1447 // Enforce case-sensitivity of name attribute 1448 if ( el.querySelectorAll( "[name=d]" ).length ) { 1449 rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); 1450 } 1451 1452 // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) 1453 // IE8 throws error here and will not see later tests 1454 if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { 1455 rbuggyQSA.push( ":enabled", ":disabled" ); 1456 } 1457 1458 // Support: IE9-11+ 1459 // IE's :disabled selector does not pick up the children of disabled fieldsets 1460 docElem.appendChild( el ).disabled = true; 1461 if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { 1462 rbuggyQSA.push( ":enabled", ":disabled" ); 1463 } 1464 1465 // Support: Opera 10 - 11 only 1466 // Opera 10-11 does not throw on post-comma invalid pseudos 1467 el.querySelectorAll( "*,:x" ); 1468 rbuggyQSA.push( ",.*:" ); 1469 } ); 1470 } 1471 1472 if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || 1473 docElem.webkitMatchesSelector || 1474 docElem.mozMatchesSelector || 1475 docElem.oMatchesSelector || 1476 docElem.msMatchesSelector ) ) ) ) { 1477 1478 assert( function( el ) { 1479 1480 // Check to see if it's possible to do matchesSelector 1481 // on a disconnected node (IE 9) 1482 support.disconnectedMatch = matches.call( el, "*" ); 1483 1484 // This should fail with an exception 1485 // Gecko does not error, returns false instead 1486 matches.call( el, "[s!='']:x" ); 1487 rbuggyMatches.push( "!=", pseudos ); 1488 } ); 1489 } 1490 1491
1491if ( !support.cssSupportsSelector ) { 1492 1493 // Support: Chrome 105+, Safari 15.4+ 1494 // `:has()` uses a forgiving selector list as an argument so our regular 1495 // `try-catch` mechanism fails to catch `:has()` with arguments not supported 1496 // natively like `:has(:contains("Foo"))`. Where supported & spec-compliant, 1497 // we now use `CSS.supports("selector(:is(SELECTOR_TO_BE_TESTED))")`, but 1498 // outside that we mark `:has` as buggy. 1499 rbuggyQSA.push( ":has" ); 1500 } 1501 1502 rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); 1503 rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); 1504 1505 /* Contains 1506 ---------------------------------------------------------------------- */ 1507 hasCompare = rnative.test( docElem.compareDocumentPosition ); 1508 1509 // Element contains another 1510 // Purposefully self-exclusive 1511 // As in, an element does not contain itself 1512 contains = hasCompare || rnative.test( docElem.contains ) ? 1513 function( a, b ) { 1514 1515 // Support: IE <9 only 1516 // IE doesn't have `contains` on `document` so we need to check for 1517 // `documentElement` presence. 1518 // We need to fall back to `a` when `documentElement` is missing 1519 // as `ownerDocument` of elements within `<template/>` may have 1520 // a null one - a default behavior of all modern browsers. 1521 var adown = a.nodeType === 9 && a.documentElement ||
vendor: 21,612 bytes, lines 1521-2311
1521 a, 1522 bup = b && b.parentNode; 1523 return a === bup || !!( bup && bup.nodeType === 1 && ( 1524 adown.contains ? 1525 adown.contains( bup ) : 1526 a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 1527 ) ); 1528 } : 1529 function( a, b ) { 1530 if ( b ) { 1531 while ( ( b = b.parentNode ) ) { 1532 if ( b === a ) { 1533 return true; 1534 } 1535 } 1536 } 1537 return false; 1538 }; 1539 1540 /* Sorting 1541 ---------------------------------------------------------------------- */ 1542 1543 // Document order sorting 1544 sortOrder = hasCompare ? 1545 function( a, b ) { 1546 1547 // Flag for duplicate removal 1548 if ( a === b ) { 1549 hasDuplicate = true; 1550 return 0; 1551 } 1552 1553 // Sort on method existence if only one input has compareDocumentPosition 1554 var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; 1555 if ( compare ) { 1556 return compare; 1557 } 1558 1559 // Calculate position if both inputs belong to the same document 1560 // Support: IE 11+, Edge 17 - 18+ 1561 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1562 // two documents; shallow comparisons work. 1563 // eslint-disable-next-line eqeqeq 1564 compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? 1565 a.compareDocumentPosition( b ) : 1566 1567 // Otherwise we know they are disconnected 1568 1; 1569 1570 // Disconnected nodes 1571 if ( compare & 1 || 1572 ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { 1573 1574 // Choose the first element that is related to our preferred document 1575 // Support: IE 11+, Edge 17 - 18+ 1576 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1577 // two documents; shallow comparisons work. 1578 // eslint-disable-next-line eqeqeq 1579 if ( a == document || a.ownerDocument == preferredDoc && 1580 contains( preferredDoc, a ) ) { 1581 return -1; 1582 } 1583 1584 // Support: IE 11+, Edge 17 - 18+ 1585 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1586 // two documents; shallow comparisons work. 1587 // eslint-disable-next-line eqeqeq 1588 if ( b == document || b.ownerDocument == preferredDoc && 1589 contains( preferredDoc, b ) ) { 1590 return 1; 1591 } 1592 1593 // Maintain original order 1594 return sortInput ? 1595 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 1596 0; 1597 } 1598 1599 return compare & 4 ? -1 : 1; 1600 } : 1601 function( a, b ) { 1602 1603 // Exit early if the nodes are identical 1604 if ( a === b ) { 1605 hasDuplicate = true; 1606 return 0; 1607 } 1608 1609 var cur, 1610 i = 0, 1611 aup = a.parentNode, 1612 bup = b.parentNode, 1613 ap = [ a ], 1614 bp = [ b ]; 1615 1616 // Parentless nodes are either documents or disconnected 1617 if ( !aup || !bup ) { 1618 1619 // Support: IE 11+, Edge 17 - 18+ 1620 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1621 // two documents; shallow comparisons work. 1622 /* eslint-disable eqeqeq */ 1623 return a == document ? -1 : 1624 b == document ? 1 : 1625 /* eslint-enable eqeqeq */ 1626 aup ? -1 : 1627 bup ? 1 : 1628 sortInput ? 1629 ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 1630 0; 1631 1632 // If the nodes are siblings, we can do a quick check 1633 } else if ( aup === bup ) { 1634 return siblingCheck( a, b ); 1635 } 1636 1637 // Otherwise we need full lists of their ancestors for comparison 1638 cur = a; 1639 while ( ( cur = cur.parentNode ) ) { 1640 ap.unshift( cur ); 1641 } 1642 cur = b; 1643 while ( ( cur = cur.parentNode ) ) { 1644 bp.unshift( cur ); 1645 } 1646 1647 // Walk down the tree looking for a discrepancy 1648 while ( ap[ i ] === bp[ i ] ) { 1649 i++; 1650 } 1651 1652 return i ? 1653 1654 // Do a sibling check if the nodes have a common ancestor 1655 siblingCheck( ap[ i ], bp[ i ] ) : 1656 1657 // Otherwise nodes in our document sort first 1658 // Support: IE 11+, Edge 17 - 18+ 1659 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1660 // two documents; shallow comparisons work. 1661 /* eslint-disable eqeqeq */ 1662 ap[ i ] == preferredDoc ? -1 : 1663 bp[ i ] == preferredDoc ? 1 : 1664 /* eslint-enable eqeqeq */ 1665 0; 1666 }; 1667 1668 return document; 1669}; 1670 1671Sizzle.matches = function( expr, elements ) { 1672 return Sizzle( expr, null, null, elements ); 1673}; 1674 1675Sizzle.matchesSelector = function( elem, expr ) { 1676 setDocument( elem ); 1677 1678 if ( support.matchesSelector && documentIsHTML && 1679 !nonnativeSelectorCache[ expr + " " ] && 1680 ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && 1681 ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { 1682 1683 try { 1684 var ret = matches.call( elem, expr ); 1685 1686 // IE 9's matchesSelector returns false on disconnected nodes 1687 if ( ret || support.disconnectedMatch || 1688 1689 // As well, disconnected nodes are said to be in a document 1690 // fragment in IE 9 1691 elem.document && elem.document.nodeType !== 11 ) { 1692 return ret; 1693 } 1694 } catch ( e ) { 1695 nonnativeSelectorCache( expr, true ); 1696 } 1697 } 1698 1699 return Sizzle( expr, document, null, [ elem ] ).length > 0; 1700}; 1701 1702Sizzle.contains = function( context, elem ) { 1703 1704 // Set document vars if needed 1705 // Support: IE 11+, Edge 17 - 18+ 1706 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1707 // two documents; shallow comparisons work. 1708 // eslint-disable-next-line eqeqeq 1709 if ( ( context.ownerDocument || context ) != document ) { 1710 setDocument( context ); 1711 } 1712 return contains( context, elem ); 1713}; 1714 1715Sizzle.attr = function( elem, name ) { 1716 1717 // Set document vars if needed 1718 // Support: IE 11+, Edge 17 - 18+ 1719 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1720 // two documents; shallow comparisons work. 1721 // eslint-disable-next-line eqeqeq 1722 if ( ( elem.ownerDocument || elem ) != document ) { 1723 setDocument( elem ); 1724 } 1725 1726 var fn = Expr.attrHandle[ name.toLowerCase() ], 1727 1728 // Don't get fooled by Object.prototype properties (jQuery #13807) 1729 val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? 1730 fn( elem, name, !documentIsHTML ) : 1731 undefined; 1732 1733 return val !== undefined ? 1734 val : 1735 support.attributes || !documentIsHTML ? 1736 elem.getAttribute( name ) : 1737 ( val = elem.getAttributeNode( name ) ) && val.specified ? 1738 val.value : 1739 null; 1740}; 1741 1742Sizzle.escape = function( sel ) { 1743 return ( sel + "" ).replace( rcssescape, fcssescape ); 1744}; 1745 1746Sizzle.error = function( msg ) { 1747 throw new Error( "Syntax error, unrecognized expression: " + msg ); 1748}; 1749 1750/** 1751 * Document sorting and removing duplicates 1752 * @param {ArrayLike} results 1753 */ 1754Sizzle.uniqueSort = function( results ) { 1755 var elem, 1756 duplicates = [], 1757 j = 0, 1758 i = 0; 1759 1760 // Unless we *know* we can detect duplicates, assume their presence 1761 hasDuplicate = !support.detectDuplicates; 1762 sortInput = !support.sortStable && results.slice( 0 ); 1763 results.sort( sortOrder ); 1764 1765 if ( hasDuplicate ) { 1766 while ( ( elem = results[ i++ ] ) ) { 1767 if ( elem === results[ i ] ) { 1768 j = duplicates.push( i ); 1769 } 1770 } 1771 while ( j-- ) { 1772 results.splice( duplicates[ j ], 1 ); 1773 } 1774 } 1775 1776 // Clear input after sorting to release objects 1777 // See https://github.com/jquery/sizzle/pull/225 1778 sortInput = null; 1779 1780 return results; 1781}; 1782 1783/** 1784 * Utility function for retrieving the text value of an array of DOM nodes 1785 * @param {Array|Element} elem 1786 */ 1787getText = Sizzle.getText = function( elem ) { 1788 var node, 1789 ret = "", 1790 i = 0, 1791 nodeType = elem.nodeType; 1792 1793 if ( !nodeType ) { 1794 1795 // If no nodeType, this is expected to be an array 1796 while ( ( node = elem[ i++ ] ) ) { 1797 1798 // Do not traverse comment nodes 1799 ret += getText( node ); 1800 } 1801 } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { 1802 1803 // Use textContent for elements 1804 // innerText usage removed for consistency of new lines (jQuery #11153) 1805 if ( typeof elem.textContent === "string" ) { 1806 return elem.textContent; 1807 } else { 1808 1809 // Traverse its children 1810 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 1811 ret += getText( elem ); 1812 } 1813 } 1814 } else if ( nodeType === 3 || nodeType === 4 ) { 1815 return elem.nodeValue; 1816 } 1817 1818 // Do not include comment or processing instruction nodes 1819 1820 return ret; 1821}; 1822 1823Expr = Sizzle.selectors = { 1824 1825 // Can be adjusted by the user 1826 cacheLength: 50, 1827 1828 createPseudo: markFunction, 1829 1830 match: matchExpr, 1831 1832 attrHandle: {}, 1833 1834 find: {}, 1835 1836 relative: { 1837 ">": { dir: "parentNode", first: true }, 1838 " ": { dir: "parentNode" }, 1839 "+": { dir: "previousSibling", first: true }, 1840 "~": { dir: "previousSibling" } 1841 }, 1842 1843 preFilter: { 1844 "ATTR": function( match ) { 1845 match[ 1 ] = match[ 1 ].replace( runescape, funescape ); 1846 1847 // Move the given value to match[3] whether quoted or unquoted 1848 match[ 3 ] = ( match[ 3 ] || match[ 4 ] || 1849 match[ 5 ] || "" ).replace( runescape, funescape ); 1850 1851 if ( match[ 2 ] === "~=" ) { 1852 match[ 3 ] = " " + match[ 3 ] + " "; 1853 } 1854 1855 return match.slice( 0, 4 ); 1856 }, 1857 1858 "CHILD": function( match ) { 1859 1860 /* matches from matchExpr["CHILD"] 1861 1 type (only|nth|...) 1862 2 what (child|of-type) 1863 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 1864 4 xn-component of xn+y argument ([+-]?\d*n|) 1865 5 sign of xn-component 1866 6 x of xn-component 1867 7 sign of y-component 1868 8 y of y-component 1869 */ 1870 match[ 1 ] = match[ 1 ].toLowerCase(); 1871 1872 if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { 1873 1874 // nth-* requires argument 1875 if ( !match[ 3 ] ) { 1876 Sizzle.error( match[ 0 ] ); 1877 } 1878 1879 // numeric x and y parameters for Expr.filter.CHILD 1880 // remember that false/true cast respectively to 0/1 1881 match[ 4 ] = +( match[ 4 ] ? 1882 match[ 5 ] + ( match[ 6 ] || 1 ) : 1883 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); 1884 match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); 1885 1886 // other types prohibit arguments 1887 } else if ( match[ 3 ] ) { 1888 Sizzle.error( match[ 0 ] ); 1889 } 1890 1891 return match; 1892 }, 1893 1894 "PSEUDO": function( match ) { 1895 var excess, 1896 unquoted = !match[ 6 ] && match[ 2 ]; 1897 1898 if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { 1899 return null; 1900 } 1901 1902 // Accept quoted arguments as-is 1903 if ( match[ 3 ] ) { 1904 match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; 1905 1906 // Strip excess characters from unquoted arguments 1907 } else if ( unquoted && rpseudo.test( unquoted ) && 1908 1909 // Get excess from tokenize (recursively) 1910 ( excess = tokenize( unquoted, true ) ) && 1911 1912 // advance to the next closing parenthesis 1913 ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { 1914 1915 // excess is a negative index 1916 match[ 0 ] = match[ 0 ].slice( 0, excess ); 1917 match[ 2 ] = unquoted.slice( 0, excess ); 1918 } 1919 1920 // Return only captures needed by the pseudo filter method (type and argument) 1921 return match.slice( 0, 3 ); 1922 } 1923 }, 1924 1925 filter: { 1926 1927 "TAG": function( nodeNameSelector ) { 1928 var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); 1929 return nodeNameSelector === "*" ? 1930 function() { 1931 return true; 1932 } : 1933 function( elem ) { 1934 return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; 1935 }; 1936 }, 1937 1938 "CLASS": function( className ) { 1939 var pattern = classCache[ className + " " ]; 1940 1941 return pattern || 1942 ( pattern = new RegExp( "(^|" + whitespace + 1943 ")" + className + "(" + whitespace + "|$)" ) ) && classCache( 1944 className, function( elem ) { 1945 return pattern.test( 1946 typeof elem.className === "string" && elem.className || 1947 typeof elem.getAttribute !== "undefined" && 1948 elem.getAttribute( "class" ) || 1949 "" 1950 ); 1951 } ); 1952 }, 1953 1954 "ATTR": function( name, operator, check ) { 1955 return function( elem ) { 1956 var result = Sizzle.attr( elem, name ); 1957 1958 if ( result == null ) { 1959 return operator === "!="; 1960 } 1961 if ( !operator ) { 1962 return true; 1963 } 1964 1965 result += ""; 1966 1967 /* eslint-disable max-len */ 1968 1969 return operator === "=" ? result === check : 1970 operator === "!=" ? result !== check : 1971 operator === "^=" ? check && result.indexOf( check ) === 0 : 1972 operator === "*=" ? check && result.indexOf( check ) > -1 : 1973 operator === "$=" ? check && result.slice( -check.length ) === check : 1974 operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : 1975 operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : 1976 false; 1977 /* eslint-enable max-len */ 1978 1979 }; 1980 }, 1981 1982 "CHILD": function( type, what, _argument, first, last ) { 1983 var simple = type.slice( 0, 3 ) !== "nth", 1984 forward = type.slice( -4 ) !== "last", 1985 ofType = what === "of-type"; 1986 1987 return first === 1 && last === 0 ? 1988 1989 // Shortcut for :nth-*(n) 1990 function( elem ) { 1991 return !!elem.parentNode; 1992 } : 1993 1994 function( elem, _context, xml ) { 1995 var cache, uniqueCache, outerCache, node, nodeIndex, start, 1996 dir = simple !== forward ? "nextSibling" : "previousSibling", 1997 parent = elem.parentNode, 1998 name = ofType && elem.nodeName.toLowerCase(), 1999 useCache = !xml && !ofType, 2000 diff = false; 2001 2002 if ( parent ) { 2003 2004 // :(first|last|only)-(child|of-type) 2005 if ( simple ) { 2006 while ( dir ) { 2007 node = elem; 2008 while ( ( node = node[ dir ] ) ) { 2009 if ( ofType ? 2010 node.nodeName.toLowerCase() === name : 2011 node.nodeType === 1 ) { 2012 2013 return false; 2014 } 2015 } 2016 2017 // Reverse direction for :only-* (if we haven't yet done so) 2018 start = dir = type === "only" && !start && "nextSibling"; 2019 } 2020 return true; 2021 } 2022 2023 start = [ forward ? parent.firstChild : parent.lastChild ]; 2024 2025 // non-xml :nth-child(...) stores cache data on `parent` 2026 if ( forward && useCache ) { 2027 2028 // Seek `elem` from a previously-cached index 2029 2030 // ...in a gzip-friendly way 2031 node = parent; 2032 outerCache = node[ expando ] || ( node[ expando ] = {} ); 2033 2034 // Support: IE <9 only 2035 // Defend against cloned attroperties (jQuery gh-1709) 2036 uniqueCache = outerCache[ node.uniqueID ] || 2037 ( outerCache[ node.uniqueID ] = {} ); 2038 2039 cache = uniqueCache[ type ] || []; 2040 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 2041 diff = nodeIndex && cache[ 2 ]; 2042 node = nodeIndex && parent.childNodes[ nodeIndex ]; 2043 2044 while ( ( node = ++nodeIndex && node && node[ dir ] || 2045 2046 // Fallback to seeking `elem` from the start 2047 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 2048 2049 // When found, cache indexes on `parent` and break 2050 if ( node.nodeType === 1 && ++diff && node === elem ) { 2051 uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; 2052 break; 2053 } 2054 } 2055 2056 } else { 2057 2058 // Use previously-cached element index if available 2059 if ( useCache ) { 2060 2061 // ...in a gzip-friendly way 2062 node = elem; 2063 outerCache = node[ expando ] || ( node[ expando ] = {} ); 2064 2065 // Support: IE <9 only 2066 // Defend against cloned attroperties (jQuery gh-1709) 2067 uniqueCache = outerCache[ node.uniqueID ] || 2068 ( outerCache[ node.uniqueID ] = {} ); 2069 2070 cache = uniqueCache[ type ] || []; 2071 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 2072 diff = nodeIndex; 2073 } 2074 2075 // xml :nth-child(...) 2076 // or :nth-last-child(...) or :nth(-last)?-of-type(...) 2077 if ( diff === false ) { 2078 2079 // Use the same loop as above to seek `elem` from the start 2080 while ( ( node = ++nodeIndex && node && node[ dir ] || 2081 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 2082 2083 if ( ( ofType ? 2084 node.nodeName.toLowerCase() === name : 2085 node.nodeType === 1 ) && 2086 ++diff ) { 2087 2088 // Cache the index of each encountered element 2089 if ( useCache ) { 2090 outerCache = node[ expando ] || 2091 ( node[ expando ] = {} ); 2092 2093 // Support: IE <9 only 2094 // Defend against cloned attroperties (jQuery gh-1709) 2095 uniqueCache = outerCache[ node.uniqueID ] || 2096 ( outerCache[ node.uniqueID ] = {} ); 2097 2098 uniqueCache[ type ] = [ dirruns, diff ]; 2099 } 2100 2101 if ( node === elem ) { 2102 break; 2103 } 2104 } 2105 } 2106 } 2107 } 2108 2109 // Incorporate the offset, then check against cycle size 2110 diff -= last; 2111 return diff === first || ( diff % first === 0 && diff / first >= 0 ); 2112 } 2113 }; 2114 }, 2115 2116 "PSEUDO": function( pseudo, argument ) { 2117 2118 // pseudo-class names are case-insensitive 2119 // http://www.w3.org/TR/selectors/#pseudo-classes 2120 // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters 2121 // Remember that setFilters inherits from pseudos 2122 var args, 2123 fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || 2124 Sizzle.error( "unsupported pseudo: " + pseudo ); 2125 2126 // The user may use createPseudo to indicate that 2127 // arguments are needed to create the filter function 2128 // just as Sizzle does 2129 if ( fn[ expando ] ) { 2130 return fn( argument ); 2131 } 2132 2133 // But maintain support for old signatures 2134 if ( fn.length > 1 ) { 2135 args = [ pseudo, pseudo, "", argument ]; 2136 return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? 2137 markFunction( function( seed, matches ) { 2138 var idx, 2139 matched = fn( seed, argument ), 2140 i = matched.length; 2141 while ( i-- ) { 2142 idx = indexOf( seed, matched[ i ] ); 2143 seed[ idx ] = !( matches[ idx ] = matched[ i ] ); 2144 } 2145 } ) : 2146 function( elem ) { 2147 return fn( elem, 0, args ); 2148 }; 2149 } 2150 2151 return fn; 2152 } 2153 }, 2154 2155 pseudos: { 2156 2157 // Potentially complex pseudos 2158 "not": markFunction( function( selector ) { 2159 2160 // Trim the selector passed to compile 2161 // to avoid treating leading and trailing 2162 // spaces as combinators 2163 var input = [], 2164 results = [], 2165 matcher = compile( selector.replace( rtrim, "$1" ) ); 2166 2167 return matcher[ expando ] ? 2168 markFunction( function( seed, matches, _context, xml ) { 2169 var elem, 2170 unmatched = matcher( seed, null, xml, [] ), 2171 i = seed.length; 2172 2173 // Match elements unmatched by `matcher` 2174 while ( i-- ) { 2175 if ( ( elem = unmatched[ i ] ) ) { 2176 seed[ i ] = !( matches[ i ] = elem ); 2177 } 2178 } 2179 } ) : 2180 function( elem, _context, xml ) { 2181 input[ 0 ] = elem; 2182 matcher( input, null, xml, results ); 2183 2184 // Don't keep the element (issue #299) 2185 input[ 0 ] = null; 2186 return !results.pop(); 2187 }; 2188 } ), 2189 2190 "has": markFunction( function( selector ) { 2191 return function( elem ) { 2192 return Sizzle( selector, elem ).length > 0; 2193 }; 2194 } ), 2195 2196 "contains": markFunction( function( text ) { 2197 text = text.replace( runescape, funescape ); 2198 return function( elem ) { 2199 return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; 2200 }; 2201 } ), 2202 2203 // "Whether an element is represented by a :lang() selector 2204 // is based solely on the element's language value 2205 // being equal to the identifier C, 2206 // or beginning with the identifier C immediately followed by "-". 2207 // The matching of C against the element's language value is performed case-insensitively. 2208 // The identifier C does not have to be a valid language name." 2209 // http://www.w3.org/TR/selectors/#lang-pseudo 2210 "lang": markFunction( function( lang ) { 2211 2212 // lang value must be a valid identifier 2213 if ( !ridentifier.test( lang || "" ) ) { 2214 Sizzle.error( "unsupported lang: " + lang ); 2215 } 2216 lang = lang.replace( runescape, funescape ).toLowerCase(); 2217 return function( elem ) { 2218 var elemLang; 2219 do { 2220 if ( ( elemLang = documentIsHTML ? 2221 elem.lang : 2222 elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { 2223 2224 elemLang = elemLang.toLowerCase(); 2225 return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; 2226 } 2227 } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); 2228 return false; 2229 }; 2230 } ), 2231 2232 // Miscellaneous 2233 "target": function( elem ) { 2234 var hash = window.location && window.location.hash; 2235 return hash && hash.slice( 1 ) === elem.id; 2236 }, 2237 2238 "root": function( elem ) { 2239 return elem === docElem; 2240 }, 2241 2242 "focus": function( elem ) { 2243 return elem === document.activeElement && 2244 ( !document.hasFocus || document.hasFocus() ) && 2245 !!( elem.type || elem.href || ~elem.tabIndex ); 2246 }, 2247 2248 // Boolean properties 2249 "enabled": createDisabledPseudo( false ), 2250 "disabled": createDisabledPseudo( true ), 2251 2252 "checked": function( elem ) { 2253 2254 // In CSS3, :checked should return both checked and selected elements 2255 // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 2256 var nodeName = elem.nodeName.toLowerCase(); 2257 return ( nodeName === "input" && !!elem.checked ) || 2258 ( nodeName === "option" && !!elem.selected ); 2259 }, 2260 2261 "selected": function( elem ) { 2262 2263 // Accessing this property makes selected-by-default 2264 // options in Safari work properly 2265 if ( elem.parentNode ) { 2266 // eslint-disable-next-line no-unused-expressions 2267 elem.parentNode.selectedIndex; 2268 } 2269 2270 return elem.selected === true; 2271 }, 2272 2273 // Contents 2274 "empty": function( elem ) { 2275 2276 // http://www.w3.org/TR/selectors/#empty-pseudo 2277 // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), 2278 // but not by others (comment: 8; processing instruction: 7; etc.) 2279 // nodeType < 6 works because attributes (2) do not appear as children 2280 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 2281 if ( elem.nodeType < 6 ) { 2282 return false; 2283 } 2284 } 2285 return true; 2286 }, 2287 2288 "parent": function( elem ) { 2289 return !Expr.pseudos[ "empty" ]( elem ); 2290 }, 2291 2292 // Element/input types 2293 "header": function( elem ) { 2294 return rheader.test( elem.nodeName ); 2295 }, 2296 2297 "input": function( elem ) { 2298 return rinputs.test( elem.nodeName ); 2299 }, 2300 2301 "button": function( elem ) { 2302 var name = elem.nodeName.toLowerCase(); 2303 return name === "input" && elem.type === "button" || name === "button"; 2304 }, 2305 2306 "text": function( elem ) { 2307 var attr; 2308 return elem.nodeName.toLowerCase() === "input" && 2309 elem.type === "text" && 2310 2311 // Support: IE
2311 <10 only
vendor: 22,597 bytes, lines 2311-3152
2311 2312 // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" 2313 ( ( attr = elem.getAttribute( "type" ) ) == null || 2314 attr.toLowerCase() === "text" ); 2315 }, 2316 2317 // Position-in-collection 2318 "first": createPositionalPseudo( function() { 2319 return [ 0 ]; 2320 } ), 2321 2322 "last": createPositionalPseudo( function( _matchIndexes, length ) { 2323 return [ length - 1 ]; 2324 } ), 2325 2326 "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { 2327 return [ argument < 0 ? argument + length : argument ]; 2328 } ), 2329 2330 "even": createPositionalPseudo( function( matchIndexes, length ) { 2331 var i = 0; 2332 for ( ; i < length; i += 2 ) { 2333 matchIndexes.push( i ); 2334 } 2335 return matchIndexes; 2336 } ), 2337 2338 "odd": createPositionalPseudo( function( matchIndexes, length ) { 2339 var i = 1; 2340 for ( ; i < length; i += 2 ) { 2341 matchIndexes.push( i ); 2342 } 2343 return matchIndexes; 2344 } ), 2345 2346 "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { 2347 var i = argument < 0 ? 2348 argument + length : 2349 argument > length ? 2350 length : 2351 argument; 2352 for ( ; --i >= 0; ) { 2353 matchIndexes.push( i ); 2354 } 2355 return matchIndexes; 2356 } ), 2357 2358 "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { 2359 var i = argument < 0 ? argument + length : argument; 2360 for ( ; ++i < length; ) { 2361 matchIndexes.push( i ); 2362 } 2363 return matchIndexes; 2364 } ) 2365 } 2366}; 2367 2368Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; 2369 2370// Add button/input type pseudos 2371for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { 2372 Expr.pseudos[ i ] = createInputPseudo( i ); 2373} 2374for ( i in { submit: true, reset: true } ) { 2375 Expr.pseudos[ i ] = createButtonPseudo( i ); 2376} 2377 2378// Easy API for creating new setFilters 2379function setFilters() {} 2380setFilters.prototype = Expr.filters = Expr.pseudos; 2381Expr.setFilters = new setFilters(); 2382 2383tokenize = Sizzle.tokenize = function( selector, parseOnly ) { 2384 var matched, match, tokens, type, 2385 soFar, groups, preFilters, 2386 cached = tokenCache[ selector + " " ]; 2387 2388 if ( cached ) { 2389 return parseOnly ? 0 : cached.slice( 0 ); 2390 } 2391 2392 soFar = selector; 2393 groups = []; 2394 preFilters = Expr.preFilter; 2395 2396 while ( soFar ) { 2397 2398 // Comma and first run 2399 if ( !matched || ( match = rcomma.exec( soFar ) ) ) { 2400 if ( match ) { 2401 2402 // Don't consume trailing commas as valid 2403 soFar = soFar.slice( match[ 0 ].length ) || soFar; 2404 } 2405 groups.push( ( tokens = [] ) ); 2406 } 2407 2408 matched = false; 2409 2410 // Combinators 2411 if ( ( match = rcombinators.exec( soFar ) ) ) { 2412 matched = match.shift(); 2413 tokens.push( { 2414 value: matched, 2415 2416 // Cast descendant combinators to space 2417 type: match[ 0 ].replace( rtrim, " " ) 2418 } ); 2419 soFar = soFar.slice( matched.length ); 2420 } 2421 2422 // Filters 2423 for ( type in Expr.filter ) { 2424 if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || 2425 ( match = preFilters[ type ]( match ) ) ) ) { 2426 matched = match.shift(); 2427 tokens.push( { 2428 value: matched, 2429 type: type, 2430 matches: match 2431 } ); 2432 soFar = soFar.slice( matched.length ); 2433 } 2434 } 2435 2436 if ( !matched ) { 2437 break; 2438 } 2439 } 2440 2441 // Return the length of the invalid excess 2442 // if we're just parsing 2443 // Otherwise, throw an error or return tokens 2444 return parseOnly ? 2445 soFar.length : 2446 soFar ? 2447 Sizzle.error( selector ) : 2448 2449 // Cache the tokens 2450 tokenCache( selector, groups ).slice( 0 ); 2451}; 2452 2453function toSelector( tokens ) { 2454 var i = 0, 2455 len = tokens.length, 2456 selector = ""; 2457 for ( ; i < len; i++ ) { 2458 selector += tokens[ i ].value; 2459 } 2460 return selector; 2461} 2462 2463function addCombinator( matcher, combinator, base ) { 2464 var dir = combinator.dir, 2465 skip = combinator.next, 2466 key = skip || dir, 2467 checkNonElements = base && key === "parentNode", 2468 doneName = done++; 2469 2470 return combinator.first ? 2471 2472 // Check against closest ancestor/preceding element 2473 function( elem, context, xml ) { 2474 while ( ( elem = elem[ dir ] ) ) { 2475 if ( elem.nodeType === 1 || checkNonElements ) { 2476 return matcher( elem, context, xml ); 2477 } 2478 } 2479 return false; 2480 } : 2481 2482 // Check against all ancestor/preceding elements 2483 function( elem, context, xml ) { 2484 var oldCache, uniqueCache, outerCache, 2485 newCache = [ dirruns, doneName ]; 2486 2487 // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching 2488 if ( xml ) { 2489 while ( ( elem = elem[ dir ] ) ) { 2490 if ( elem.nodeType === 1 || checkNonElements ) { 2491 if ( matcher( elem, context, xml ) ) { 2492 return true; 2493 } 2494 } 2495 } 2496 } else { 2497 while ( ( elem = elem[ dir ] ) ) { 2498 if ( elem.nodeType === 1 || checkNonElements ) { 2499 outerCache = elem[ expando ] || ( elem[ expando ] = {} ); 2500 2501 // Support: IE <9 only 2502 // Defend against cloned attroperties (jQuery gh-1709) 2503 uniqueCache = outerCache[ elem.uniqueID ] || 2504 ( outerCache[ elem.uniqueID ] = {} ); 2505 2506 if ( skip && skip === elem.nodeName.toLowerCase() ) { 2507 elem = elem[ dir ] || elem; 2508 } else if ( ( oldCache = uniqueCache[ key ] ) && 2509 oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { 2510 2511 // Assign to newCache so results back-propagate to previous elements 2512 return ( newCache[ 2 ] = oldCache[ 2 ] ); 2513 } else { 2514 2515 // Reuse newcache so results back-propagate to previous elements 2516 uniqueCache[ key ] = newCache; 2517 2518 // A match means we're done; a fail means we have to keep checking 2519 if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { 2520 return true; 2521 } 2522 } 2523 } 2524 } 2525 } 2526 return false; 2527 }; 2528} 2529 2530function elementMatcher( matchers ) { 2531 return matchers.length > 1 ? 2532 function( elem, context, xml ) { 2533 var i = matchers.length; 2534 while ( i-- ) { 2535 if ( !matchers[ i ]( elem, context, xml ) ) { 2536 return false; 2537 } 2538 } 2539 return true; 2540 } : 2541 matchers[ 0 ]; 2542} 2543 2544function multipleContexts( selector, contexts, results ) { 2545 var i = 0, 2546 len = contexts.length; 2547 for ( ; i < len; i++ ) { 2548 Sizzle( selector, contexts[ i ], results ); 2549 } 2550 return results; 2551} 2552 2553function condense( unmatched, map, filter, context, xml ) { 2554 var elem, 2555 newUnmatched = [], 2556 i = 0, 2557 len = unmatched.length, 2558 mapped = map != null; 2559 2560 for ( ; i < len; i++ ) { 2561 if ( ( elem = unmatched[ i ] ) ) { 2562 if ( !filter || filter( elem, context, xml ) ) { 2563 newUnmatched.push( elem ); 2564 if ( mapped ) { 2565 map.push( i ); 2566 } 2567 } 2568 } 2569 } 2570 2571 return newUnmatched; 2572} 2573 2574function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { 2575 if ( postFilter && !postFilter[ expando ] ) { 2576 postFilter = setMatcher( postFilter ); 2577 } 2578 if ( postFinder && !postFinder[ expando ] ) { 2579 postFinder = setMatcher( postFinder, postSelector ); 2580 } 2581 return markFunction( function( seed, results, context, xml ) { 2582 var temp, i, elem, 2583 preMap = [], 2584 postMap = [], 2585 preexisting = results.length, 2586 2587 // Get initial elements from seed or context 2588 elems = seed || multipleContexts( 2589 selector || "*", 2590 context.nodeType ? [ context ] : context, 2591 [] 2592 ), 2593 2594 // Prefilter to get matcher input, preserving a map for seed-results synchronization 2595 matcherIn = preFilter && ( seed || !selector ) ? 2596 condense( elems, preMap, preFilter, context, xml ) : 2597 elems, 2598 2599 matcherOut = matcher ? 2600 2601 // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, 2602 postFinder || ( seed ? preFilter : preexisting || postFilter ) ? 2603 2604 // ...intermediate processing is necessary 2605 [] : 2606 2607 // ...otherwise use results directly 2608 results : 2609 matcherIn; 2610 2611 // Find primary matches 2612 if ( matcher ) { 2613 matcher( matcherIn, matcherOut, context, xml ); 2614 } 2615 2616 // Apply postFilter 2617 if ( postFilter ) { 2618 temp = condense( matcherOut, postMap ); 2619 postFilter( temp, [], context, xml ); 2620 2621 // Un-match failing elements by moving them back to matcherIn 2622 i = temp.length; 2623 while ( i-- ) { 2624 if ( ( elem = temp[ i ] ) ) { 2625 matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); 2626 } 2627 } 2628 } 2629 2630 if ( seed ) { 2631 if ( postFinder || preFilter ) { 2632 if ( postFinder ) { 2633 2634 // Get the final matcherOut by condensing this intermediate into postFinder contexts 2635 temp = []; 2636 i = matcherOut.length; 2637 while ( i-- ) { 2638 if ( ( elem = matcherOut[ i ] ) ) { 2639 2640 // Restore matcherIn since elem is not yet a final match 2641 temp.push( ( matcherIn[ i ] = elem ) ); 2642 } 2643 } 2644 postFinder( null, ( matcherOut = [] ), temp, xml ); 2645 } 2646 2647 // Move matched elements from seed to results to keep them synchronized 2648 i = matcherOut.length; 2649 while ( i-- ) { 2650 if ( ( elem = matcherOut[ i ] ) && 2651 ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { 2652 2653 seed[ temp ] = !( results[ temp ] = elem ); 2654 } 2655 } 2656 } 2657 2658 // Add elements to results, through postFinder if defined 2659 } else { 2660 matcherOut = condense( 2661 matcherOut === results ? 2662 matcherOut.splice( preexisting, matcherOut.length ) : 2663 matcherOut 2664 ); 2665 if ( postFinder ) { 2666 postFinder( null, results, matcherOut, xml ); 2667 } else { 2668 push.apply( results, matcherOut ); 2669 } 2670 } 2671 } ); 2672} 2673 2674function matcherFromTokens( tokens ) { 2675 var checkContext, matcher, j, 2676 len = tokens.length, 2677 leadingRelative = Expr.relative[ tokens[ 0 ].type ], 2678 implicitRelative = leadingRelative || Expr.relative[ " " ], 2679 i = leadingRelative ? 1 : 0, 2680 2681 // The foundational matcher ensures that elements are reachable from top-level context(s) 2682 matchContext = addCombinator( function( elem ) { 2683 return elem === checkContext; 2684 }, implicitRelative, true ), 2685 matchAnyContext = addCombinator( function( elem ) { 2686 return indexOf( checkContext, elem ) > -1; 2687 }, implicitRelative, true ), 2688 matchers = [ function( elem, context, xml ) { 2689 var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( 2690 ( checkContext = context ).nodeType ? 2691 matchContext( elem, context, xml ) : 2692 matchAnyContext( elem, context, xml ) ); 2693 2694 // Avoid hanging onto element (issue #299) 2695 checkContext = null; 2696 return ret; 2697 } ]; 2698 2699 for ( ; i < len; i++ ) { 2700 if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { 2701 matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; 2702 } else { 2703 matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); 2704 2705 // Return special upon seeing a positional matcher 2706 if ( matcher[ expando ] ) { 2707 2708 // Find the next relative operator (if any) for proper handling 2709 j = ++i; 2710 for ( ; j < len; j++ ) { 2711 if ( Expr.relative[ tokens[ j ].type ] ) { 2712 break; 2713 } 2714 } 2715 return setMatcher( 2716 i > 1 && elementMatcher( matchers ), 2717 i > 1 && toSelector( 2718 2719 // If the preceding token was a descendant combinator, insert an implicit any-element `*` 2720 tokens 2721 .slice( 0, i - 1 ) 2722 .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) 2723 ).replace( rtrim, "$1" ), 2724 matcher, 2725 i < j && matcherFromTokens( tokens.slice( i, j ) ), 2726 j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), 2727 j < len && toSelector( tokens ) 2728 ); 2729 } 2730 matchers.push( matcher ); 2731 } 2732 } 2733 2734 return elementMatcher( matchers ); 2735} 2736 2737function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 2738 var bySet = setMatchers.length > 0, 2739 byElement = elementMatchers.length > 0, 2740 superMatcher = function( seed, context, xml, results, outermost ) { 2741 var elem, j, matcher, 2742 matchedCount = 0, 2743 i = "0", 2744 unmatched = seed && [], 2745 setMatched = [], 2746 contextBackup = outermostContext, 2747 2748 // We must always have either seed elements or outermost context 2749 elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), 2750 2751 // Use integer dirruns iff this is the outermost matcher 2752 dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), 2753 len = elems.length; 2754 2755 if ( outermost ) { 2756 2757 // Support: IE 11+, Edge 17 - 18+ 2758 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2759 // two documents; shallow comparisons work. 2760 // eslint-disable-next-line eqeqeq 2761 outermostContext = context == document || context || outermost; 2762 } 2763 2764 // Add elements passing elementMatchers directly to results 2765 // Support: IE<9, Safari 2766 // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id 2767 for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { 2768 if ( byElement && elem ) { 2769 j = 0; 2770 2771 // Support: IE 11+, Edge 17 - 18+ 2772 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2773 // two documents; shallow comparisons work. 2774 // eslint-disable-next-line eqeqeq 2775 if ( !context && elem.ownerDocument != document ) { 2776 setDocument( elem ); 2777 xml = !documentIsHTML; 2778 } 2779 while ( ( matcher = elementMatchers[ j++ ] ) ) { 2780 if ( matcher( elem, context || document, xml ) ) { 2781 results.push( elem ); 2782 break; 2783 } 2784 } 2785 if ( outermost ) { 2786 dirruns = dirrunsUnique; 2787 } 2788 } 2789 2790 // Track unmatched elements for set filters 2791 if ( bySet ) { 2792 2793 // They will have gone through all possible matchers 2794 if ( ( elem = !matcher && elem ) ) { 2795 matchedCount--; 2796 } 2797 2798 // Lengthen the array for every element, matched or not 2799 if ( seed ) { 2800 unmatched.push( elem ); 2801 } 2802 } 2803 } 2804 2805 // `i` is now the count of elements visited above, and adding it to `matchedCount` 2806 // makes the latter nonnegative. 2807 matchedCount += i; 2808 2809 // Apply set filters to unmatched elements 2810 // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` 2811 // equals `i`), unless we didn't visit _any_ elements in the above loop because we have 2812 // no element matchers and no seed. 2813 // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that 2814 // case, which will result in a "00" `matchedCount` that differs from `i` but is also 2815 // numerically zero. 2816 if ( bySet && i !== matchedCount ) { 2817 j = 0; 2818 while ( ( matcher = setMatchers[ j++ ] ) ) { 2819 matcher( unmatched, setMatched, context, xml ); 2820 } 2821 2822 if ( seed ) { 2823 2824 // Reintegrate element matches to eliminate the need for sorting 2825 if ( matchedCount > 0 ) { 2826 while ( i-- ) { 2827 if ( !( unmatched[ i ] || setMatched[ i ] ) ) { 2828 setMatched[ i ] = pop.call( results ); 2829 } 2830 } 2831 } 2832 2833 // Discard index placeholder values to get only actual matches 2834 setMatched = condense( setMatched ); 2835 } 2836 2837 // Add matches to results 2838 push.apply( results, setMatched ); 2839 2840 // Seedless set matches succeeding multiple successful matchers stipulate sorting 2841 if ( outermost && !seed && setMatched.length > 0 && 2842 ( matchedCount + setMatchers.length ) > 1 ) { 2843 2844 Sizzle.uniqueSort( results ); 2845 } 2846 } 2847 2848 // Override manipulation of globals by nested matchers 2849 if ( outermost ) { 2850 dirruns = dirrunsUnique; 2851 outermostContext = contextBackup; 2852 } 2853 2854 return unmatched; 2855 }; 2856 2857 return bySet ? 2858 markFunction( superMatcher ) : 2859 superMatcher; 2860} 2861 2862compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { 2863 var i, 2864 setMatchers = [], 2865 elementMatchers = [], 2866 cached = compilerCache[ selector + " " ]; 2867 2868 if ( !cached ) { 2869 2870 // Generate a function of recursive functions that can be used to check each element 2871 if ( !match ) { 2872 match = tokenize( selector ); 2873 } 2874 i = match.length; 2875 while ( i-- ) { 2876 cached = matcherFromTokens( match[ i ] ); 2877 if ( cached[ expando ] ) { 2878 setMatchers.push( cached ); 2879 } else { 2880 elementMatchers.push( cached ); 2881 } 2882 } 2883 2884 // Cache the compiled function 2885 cached = compilerCache( 2886 selector, 2887 matcherFromGroupMatchers( elementMatchers, setMatchers ) 2888 ); 2889 2890 // Save selector and tokenization 2891 cached.selector = selector; 2892 } 2893 return cached; 2894}; 2895 2896/** 2897 * A low-level selection function that works with Sizzle's compiled 2898 * selector functions 2899 * @param {String|Function} selector A selector or a pre-compiled 2900 * selector function built with Sizzle.compile 2901 * @param {Element} context 2902 * @param {Array} [results] 2903 * @param {Array} [seed] A set of elements to match against 2904 */ 2905select = Sizzle.select = function( selector, context, results, seed ) { 2906 var i, tokens, token, type, find, 2907 compiled = typeof selector === "function" && selector, 2908 match = !seed && tokenize( ( selector = compiled.selector || selector ) ); 2909 2910 results = results || []; 2911 2912 // Try to minimize operations if there is only one selector in the list and no seed 2913 // (the latter of which guarantees us context) 2914 if ( match.length === 1 ) { 2915 2916 // Reduce context if the leading compound selector is an ID 2917 tokens = match[ 0 ] = match[ 0 ].slice( 0 ); 2918 if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && 2919 context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { 2920 2921 context = ( Expr.find[ "ID" ]( token.matches[ 0 ] 2922 .replace( runescape, funescape ), context ) || [] )[ 0 ]; 2923 if ( !context ) { 2924 return results; 2925 2926 // Precompiled matchers will still verify ancestry, so step up a level 2927 } else if ( compiled ) { 2928 context = context.parentNode; 2929 } 2930 2931 selector = selector.slice( tokens.shift().value.length ); 2932 } 2933 2934 // Fetch a seed set for right-to-left matching 2935 i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; 2936 while ( i-- ) { 2937 token = tokens[ i ]; 2938 2939 // Abort if we hit a combinator 2940 if ( Expr.relative[ ( type = token.type ) ] ) { 2941 break; 2942 } 2943 if ( ( find = Expr.find[ type ] ) ) { 2944 2945 // Search, expanding context for leading sibling combinators 2946 if ( ( seed = find( 2947 token.matches[ 0 ].replace( runescape, funescape ), 2948 rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || 2949 context 2950 ) ) ) { 2951 2952 // If seed is empty or no tokens remain, we can return early 2953 tokens.splice( i, 1 ); 2954 selector = seed.length && toSelector( tokens ); 2955 if ( !selector ) { 2956 push.apply( results, seed ); 2957 return results; 2958 } 2959 2960 break; 2961 } 2962 } 2963 } 2964 } 2965 2966 // Compile and execute a filtering function if one is not provided 2967 // Provide `match` to avoid retokenization if we modified the selector above 2968 ( compiled || compile( selector, match ) )( 2969 seed, 2970 context, 2971 !documentIsHTML, 2972 results, 2973 !context || rsibling.test( selector ) && testContext( context.parentNode ) || context 2974 ); 2975 return results; 2976}; 2977 2978// One-time assignments 2979 2980// Sort stability 2981support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; 2982 2983// Support: Chrome 14-35+ 2984// Always assume duplicates if they aren't passed to the comparison function 2985support.detectDuplicates = !!hasDuplicate; 2986 2987// Initialize against the default document 2988setDocument(); 2989 2990// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) 2991// Detached nodes confoundingly follow *each other* 2992support.sortDetached = assert( function( el ) { 2993 2994 // Should return 1, but returns 4 (following) 2995 return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; 2996} ); 2997 2998// Support: IE<8 2999// Prevent attribute/property "interpolation" 3000// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx 3001if ( !assert( function( el ) { 3002 el.innerHTML = "<a href='#'></a>"; 3003 return el.firstChild.getAttribute( "href" ) === "#"; 3004} ) ) { 3005 addHandle( "type|href|height|width", function( elem, name, isXML ) { 3006 if ( !isXML ) { 3007 return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); 3008 } 3009 } ); 3010} 3011 3012// Support: IE<9 3013// Use defaultValue in place of getAttribute("value") 3014if ( !support.attributes || !assert( function( el ) { 3015 el.innerHTML = "<input/>"; 3016 el.firstChild.setAttribute( "value", "" ); 3017 return el.firstChild.getAttribute( "value" ) === ""; 3018} ) ) { 3019 addHandle( "value", function( elem, _name, isXML ) { 3020 if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { 3021 return elem.defaultValue; 3022 } 3023 } ); 3024} 3025 3026// Support: IE<9 3027// Use getAttributeNode to fetch booleans when getAttribute lies 3028if ( !assert( function( el ) { 3029 return el.getAttribute( "disabled" ) == null; 3030} ) ) { 3031 addHandle( booleans, function( elem, name, isXML ) { 3032 var val; 3033 if ( !isXML ) { 3034 return elem[ name ] === true ? name.toLowerCase() : 3035 ( val = elem.getAttributeNode( name ) ) && val.specified ? 3036 val.value : 3037 null; 3038 } 3039 } ); 3040} 3041 3042return Sizzle; 3043 3044} )( window ); 3045 3046 3047 3048jQuery.find = Sizzle; 3049jQuery.expr = Sizzle.selectors; 3050 3051// Deprecated 3052jQuery.expr[ ":" ] = jQuery.expr.pseudos; 3053jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 3054jQuery.text = Sizzle.getText; 3055jQuery.isXMLDoc = Sizzle.isXML; 3056jQuery.contains = Sizzle.contains; 3057jQuery.escapeSelector = Sizzle.escape; 3058 3059 3060 3061 3062var dir = function( elem, dir, until ) { 3063 var matched = [], 3064 truncate = until !== undefined; 3065 3066 while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 3067 if ( elem.nodeType === 1 ) { 3068 if ( truncate && jQuery( elem ).is( until ) ) { 3069 break; 3070 } 3071 matched.push( elem ); 3072 } 3073 } 3074 return matched; 3075}; 3076 3077 3078var siblings = function( n, elem ) { 3079 var matched = []; 3080 3081 for ( ; n; n = n.nextSibling ) { 3082 if ( n.nodeType === 1 && n !== elem ) { 3083 matched.push( n ); 3084 } 3085 } 3086 3087 return matched; 3088}; 3089 3090 3091var rneedsContext = jQuery.expr.match.needsContext; 3092 3093 3094 3095function nodeName( elem, name ) { 3096 3097 return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); 3098 3099} 3100var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); 3101 3102 3103 3104// Implement the identical functionality for filter and not 3105function winnow( elements, qualifier, not ) { 3106 if ( isFunction( qualifier ) ) { 3107 return jQuery.grep( elements, function( elem, i ) { 3108 return !!qualifier.call( elem, i, elem ) !== not; 3109 } ); 3110 } 3111 3112 // Single element 3113 if ( qualifier.nodeType ) { 3114 return jQuery.grep( elements, function( elem ) { 3115 return ( elem === qualifier ) !== not; 3116 } ); 3117 } 3118 3119 // Arraylike of elements (jQuery, arguments, Array) 3120 if ( typeof qualifier !== "string" ) { 3121 return jQuery.grep( elements, function( elem ) { 3122 return ( indexOf.call( qualifier, elem ) > -1 ) !== not; 3123 } ); 3124 } 3125 3126 // Filtered directly for both simple and complex selectors 3127 return jQuery.filter( qualifier, elements, not ); 3128} 3129 3130jQuery.filter = function( expr, elems, not ) { 3131 var elem = elems[ 0 ]; 3132 3133 if ( not ) { 3134 expr = ":not(" + expr + ")"; 3135 } 3136 3137 if ( elems.length === 1 && elem.nodeType === 1 ) { 3138 return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; 3139 } 3140 3141 return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { 3142 return elem.nodeType === 1; 3143 } ) ); 3144}; 3145 3146jQuery.fn.extend( { 3147 find: function( selector ) { 3148 var i, ret, 3149 len = this.length, 3150 self = this; 3151 3152 if ( typeof selector !== "string" ) {
vendor: 4,670 bytes, lines 3153-3338
3153 return this.pushStack( jQuery( selector ).filter( function() { 3154 for ( i = 0; i < len; i++ ) { 3155 if ( jQuery.contains( self[ i ], this ) ) { 3156 return true; 3157 } 3158 } 3159 } ) ); 3160 } 3161 3162 ret = this.pushStack( [] ); 3163 3164 for ( i = 0; i < len; i++ ) { 3165 jQuery.find( selector, self[ i ], ret ); 3166 } 3167 3168 return len > 1 ? jQuery.uniqueSort( ret ) : ret; 3169 }, 3170 filter: function( selector ) { 3171 return this.pushStack( winnow( this, selector || [], false ) ); 3172 }, 3173 not: function( selector ) { 3174 return this.pushStack( winnow( this, selector || [], true ) ); 3175 }, 3176 is: function( selector ) { 3177 return !!winnow( 3178 this, 3179 3180 // If this is a positional/relative selector, check membership in the returned set 3181 // so $("p:first").is("p:last") won't return true for a doc with two "p". 3182 typeof selector === "string" && rneedsContext.test( selector ) ? 3183 jQuery( selector ) : 3184 selector || [], 3185 false 3186 ).length; 3187 } 3188} ); 3189 3190 3191// Initialize a jQuery object 3192 3193 3194// A central reference to the root jQuery(document) 3195var rootjQuery, 3196 3197 // A simple way to check for HTML strings 3198 // Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521) 3199 // Strict HTML recognition (trac-11290: must start with <) 3200 // Shortcut simple #id case for speed 3201 rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, 3202 3203 init = jQuery.fn.init = function( selector, context, root ) { 3204 var match, elem; 3205 3206 // HANDLE: $(""), $(null), $(undefined), $(false) 3207 if ( !selector ) { 3208 return this; 3209 } 3210 3211 // Method init() accepts an alternate rootjQuery 3212 // so migrate can support jQuery.sub (gh-2101) 3213 root = root || rootjQuery; 3214 3215 // Handle HTML strings 3216 if ( typeof selector === "string" ) { 3217 if ( selector[ 0 ] === "<" && 3218 selector[ selector.length - 1 ] === ">" && 3219 selector.length >= 3 ) { 3220 3221 // Assume that strings that start and end with <> are HTML and skip the regex check 3222 match = [ null, selector, null ]; 3223 3224 } else { 3225 match = rquickExpr.exec( selector ); 3226 } 3227 3228 // Match html or make sure no context is specified for #id 3229 if ( match && ( match[ 1 ] || !context ) ) { 3230 3231 // HANDLE: $(html) -> $(array) 3232 if ( match[ 1 ] ) { 3233 context = context instanceof jQuery ? context[ 0 ] : context; 3234 3235 // Option to run scripts is true for back-compat 3236 // Intentionally let the error be thrown if parseHTML is not present 3237 jQuery.merge( this, jQuery.parseHTML( 3238 match[ 1 ], 3239 context && context.nodeType ? context.ownerDocument || context : document, 3240 true 3241 ) ); 3242 3243 // HANDLE: $(html, props) 3244 if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { 3245 for ( match in context ) { 3246 3247 // Properties of context are called as methods if possible 3248 if ( isFunction( this[ match ] ) ) { 3249 this[ match ]( context[ match ] ); 3250 3251 // ...and otherwise set as attributes 3252 } else { 3253 this.attr( match, context[ match ] ); 3254 } 3255 } 3256 } 3257 3258 return this; 3259 3260 // HANDLE: $(#id) 3261 } else { 3262 elem = document.getElementById( match[ 2 ] ); 3263 3264 if ( elem ) { 3265 3266 // Inject the element directly into the jQuery object 3267 this[ 0 ] = elem; 3268 this.length = 1; 3269 } 3270 return this; 3271 } 3272 3273 // HANDLE: $(expr, $(...)) 3274 } else if ( !context || context.jquery ) { 3275 return ( context || root ).find( selector ); 3276 3277 // HANDLE: $(expr, context) 3278 // (which is just equivalent to: $(context).find(expr) 3279 } else { 3280 return this.constructor( context ).find( selector ); 3281 } 3282 3283 // HANDLE: $(DOMElement) 3284 } else if ( selector.nodeType ) { 3285 this[ 0 ] = selector; 3286 this.length = 1; 3287 return this; 3288 3289 // HANDLE: $(function) 3290 // Shortcut for document ready 3291 } else if ( isFunction( selector ) ) { 3292 return root.ready !== undefined ? 3293 root.ready( selector ) : 3294 3295 // Execute immediately if ready is not present 3296 selector( jQuery ); 3297 } 3298 3299 return jQuery.makeArray( selector, this ); 3300 }; 3301 3302// Give the init function the jQuery prototype for later instantiation 3303init.prototype = jQuery.fn; 3304 3305// Initialize central reference 3306rootjQuery = jQuery( document ); 3307 3308 3309var rparentsprev = /^(?:parents|prev(?:Until|All))/, 3310 3311 // Methods guaranteed to produce a unique set when starting from a unique set 3312 guaranteedUnique = { 3313 children: true, 3314 contents: true, 3315 next: true, 3316 prev: true 3317 }; 3318 3319jQuery.fn.extend( { 3320 has: function( target ) { 3321 var targets = jQuery( target, this ), 3322 l = targets.length; 3323 3324 return this.filter( function() { 3325 var i = 0; 3326 for ( ; i < l; i++ ) { 3327 if ( jQuery.contains( this, targets[ i ] ) ) { 3328 return true; 3329 } 3330 } 3331 } ); 3332 }, 3333 3334 closest: function( selectors, context ) { 3335 var cur, 3336 i = 0, 3337 l = this.length, 3338 matched = [],
vendor: 15,549 bytes, lines 3339-3924
3339 targets = typeof selectors !== "string" && jQuery( selectors ); 3340 3341 // Positional selectors never match, since there's no _selection_ context 3342 if ( !rneedsContext.test( selectors ) ) { 3343 for ( ; i < l; i++ ) { 3344 for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { 3345 3346 // Always skip document fragments 3347 if ( cur.nodeType < 11 && ( targets ? 3348 targets.index( cur ) > -1 : 3349 3350 // Don't pass non-elements to Sizzle 3351 cur.nodeType === 1 && 3352 jQuery.find.matchesSelector( cur, selectors ) ) ) { 3353 3354 matched.push( cur ); 3355 break; 3356 } 3357 } 3358 } 3359 } 3360 3361 return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); 3362 }, 3363 3364 // Determine the position of an element within the set 3365 index: function( elem ) { 3366 3367 // No argument, return index in parent 3368 if ( !elem ) { 3369 return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; 3370 } 3371 3372 // Index in selector 3373 if ( typeof elem === "string" ) { 3374 return indexOf.call( jQuery( elem ), this[ 0 ] ); 3375 } 3376 3377 // Locate the position of the desired element 3378 return indexOf.call( this, 3379 3380 // If it receives a jQuery object, the first element is used 3381 elem.jquery ? elem[ 0 ] : elem 3382 ); 3383 }, 3384 3385 add: function( selector, context ) { 3386 return this.pushStack( 3387 jQuery.uniqueSort( 3388 jQuery.merge( this.get(), jQuery( selector, context ) ) 3389 ) 3390 ); 3391 }, 3392 3393 addBack: function( selector ) { 3394 return this.add( selector == null ? 3395 this.prevObject : this.prevObject.filter( selector ) 3396 ); 3397 } 3398} ); 3399 3400function sibling( cur, dir ) { 3401 while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} 3402 return cur; 3403} 3404 3405jQuery.each( { 3406 parent: function( elem ) { 3407 var parent = elem.parentNode; 3408 return parent && parent.nodeType !== 11 ? parent : null; 3409 }, 3410 parents: function( elem ) { 3411 return dir( elem, "parentNode" ); 3412 }, 3413 parentsUntil: function( elem, _i, until ) { 3414 return dir( elem, "parentNode", until ); 3415 }, 3416 next: function( elem ) { 3417 return sibling( elem, "nextSibling" ); 3418 }, 3419 prev: function( elem ) { 3420 return sibling( elem, "previousSibling" ); 3421 }, 3422 nextAll: function( elem ) { 3423 return dir( elem, "nextSibling" ); 3424 }, 3425 prevAll: function( elem ) { 3426 return dir( elem, "previousSibling" ); 3427 }, 3428 nextUntil: function( elem, _i, until ) { 3429 return dir( elem, "nextSibling", until ); 3430 }, 3431 prevUntil: function( elem, _i, until ) { 3432 return dir( elem, "previousSibling", until ); 3433 }, 3434 siblings: function( elem ) { 3435 return siblings( ( elem.parentNode || {} ).firstChild, elem ); 3436 }, 3437 children: function( elem ) { 3438 return siblings( elem.firstChild ); 3439 }, 3440 contents: function( elem ) { 3441 if ( elem.contentDocument != null && 3442 3443 // Support: IE 11+ 3444 // <object> elements with no `data` attribute has an object 3445 // `contentDocument` with a `null` prototype. 3446 getProto( elem.contentDocument ) ) { 3447 3448 return elem.contentDocument; 3449 } 3450 3451 // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only 3452 // Treat the template element as a regular one in browsers that 3453 // don't support it. 3454 if ( nodeName( elem, "template" ) ) { 3455 elem = elem.content || elem; 3456 } 3457 3458 return jQuery.merge( [], elem.childNodes ); 3459 } 3460}, function( name, fn ) { 3461 jQuery.fn[ name ] = function( until, selector ) { 3462 var matched = jQuery.map( this, fn, until ); 3463 3464 if ( name.slice( -5 ) !== "Until" ) { 3465 selector = until; 3466 } 3467 3468 if ( selector && typeof selector === "string" ) { 3469 matched = jQuery.filter( selector, matched ); 3470 } 3471 3472 if ( this.length > 1 ) { 3473 3474 // Remove duplicates 3475 if ( !guaranteedUnique[ name ] ) { 3476 jQuery.uniqueSort( matched ); 3477 } 3478 3479 // Reverse order for parents* and prev-derivatives 3480 if ( rparentsprev.test( name ) ) { 3481 matched.reverse(); 3482 } 3483 } 3484 3485 return this.pushStack( matched ); 3486 }; 3487} ); 3488var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); 3489 3490 3491 3492// Convert String-formatted options into Object-formatted ones 3493function createOptions( options ) { 3494 var object = {}; 3495 jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { 3496 object[ flag ] = true; 3497 } ); 3498 return object; 3499} 3500 3501/* 3502 * Create a callback list using the following parameters: 3503 * 3504 * options: an optional list of space-separated options that will change how 3505 * the callback list behaves or a more traditional option object 3506 * 3507 * By default a callback list will act like an event callback list and can be 3508 * "fired" multiple times. 3509 * 3510 * Possible options: 3511 * 3512 * once: will ensure the callback list can only be fired once (like a Deferred) 3513 * 3514 * memory: will keep track of previous values and will call any callback added 3515 * after the list has been fired right away with the latest "memorized" 3516 * values (like a Deferred) 3517 * 3518 * unique: will ensure a callback can only be added once (no duplicate in the list) 3519 * 3520 * stopOnFalse: interrupt callings when a callback returns false 3521 * 3522 */ 3523jQuery.Callbacks = function( options ) { 3524 3525 // Convert options from String-formatted to Object-formatted if needed 3526 // (we check in cache first) 3527 options = typeof options === "string" ? 3528 createOptions( options ) : 3529 jQuery.extend( {}, options ); 3530 3531 var // Flag to know if list is currently firing 3532 firing, 3533 3534 // Last fire value for non-forgettable lists 3535 memory, 3536 3537 // Flag to know if list was already fired 3538 fired, 3539 3540 // Flag to prevent firing 3541 locked, 3542 3543 // Actual callback list 3544 list = [], 3545 3546 // Queue of execution data for repeatable lists 3547 queue = [], 3548 3549 // Index of currently firing callback (modified by add/remove as needed) 3550 firingIndex = -1, 3551 3552 // Fire callbacks 3553 fire = function() { 3554 3555 // Enforce single-firing 3556 locked = locked || options.once; 3557 3558 // Execute callbacks for all pending executions, 3559 // respecting firingIndex overrides and runtime changes 3560 fired = firing = true; 3561 for ( ; queue.length; firingIndex = -1 ) { 3562 memory = queue.shift(); 3563 while ( ++firingIndex < list.length ) { 3564 3565 // Run callback and check for early termination 3566 if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && 3567 options.stopOnFalse ) { 3568 3569 // Jump to end and forget the data so .add doesn't re-fire 3570 firingIndex = list.length; 3571 memory = false; 3572 } 3573 } 3574 } 3575 3576 // Forget the data if we're done with it 3577 if ( !options.memory ) { 3578 memory = false; 3579 } 3580 3581 firing = false; 3582 3583 // Clean up if we're done firing for good 3584 if ( locked ) { 3585 3586 // Keep an empty list if we have data for future add calls 3587 if ( memory ) { 3588 list = []; 3589 3590 // Otherwise, this object is spent 3591 } else { 3592 list = ""; 3593 } 3594 } 3595 }, 3596 3597 // Actual Callbacks object 3598 self = { 3599 3600 // Add a callback or a collection of callbacks to the list 3601 add: function() { 3602 if ( list ) { 3603 3604 // If we have memory from a past run, we should fire after adding 3605 if ( memory && !firing ) { 3606 firingIndex = list.length - 1; 3607 queue.push( memory ); 3608 } 3609 3610 ( function add( args ) { 3611 jQuery.each( args, function( _, arg ) { 3612 if ( isFunction( arg ) ) { 3613 if ( !options.unique || !self.has( arg ) ) { 3614 list.push( arg ); 3615 } 3616 } else if ( arg && arg.length && toType( arg ) !== "string" ) { 3617 3618 // Inspect recursively 3619 add( arg ); 3620 } 3621 } ); 3622 } )( arguments ); 3623 3624 if ( memory && !firing ) { 3625 fire(); 3626 } 3627 } 3628 return this; 3629 }, 3630 3631 // Remove a callback from the list 3632 remove: function() { 3633 jQuery.each( arguments, function( _, arg ) { 3634 var index; 3635 while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { 3636 list.splice( index, 1 ); 3637 3638 // Handle firing indexes 3639 if ( index <= firingIndex ) { 3640 firingIndex--; 3641 } 3642 } 3643 } ); 3644 return this; 3645 }, 3646 3647 // Check if a given callback is in the list. 3648 // If no argument is given, return whether or not list has callbacks attached. 3649 has: function( fn ) { 3650 return fn ? 3651 jQuery.inArray( fn, list ) > -1 : 3652 list.length > 0; 3653 }, 3654 3655 // Remove all callbacks from the list 3656 empty: function() { 3657 if ( list ) { 3658 list = []; 3659 } 3660 return this; 3661 }, 3662 3663 // Disable .fire and .add 3664 // Abort any current/pending executions 3665 // Clear all callbacks and values 3666 disable: function() { 3667 locked = queue = []; 3668 list = memory = ""; 3669 return this; 3670 }, 3671 disabled: function() { 3672 return !list; 3673 }, 3674 3675 // Disable .fire 3676 // Also disable .add unless we have memory (since it would have no effect) 3677 // Abort any pending executions 3678 lock: function() { 3679 locked = queue = []; 3680 if ( !memory && !firing ) { 3681 list = memory = ""; 3682 } 3683 return this; 3684 }, 3685 locked: function() { 3686 return !!locked; 3687 }, 3688 3689 // Call all callbacks with the given context and arguments 3690 fireWith: function( context, args ) { 3691 if ( !locked ) { 3692 args = args || []; 3693 args = [ context, args.slice ? args.slice() : args ]; 3694 queue.push( args ); 3695 if ( !firing ) { 3696 fire(); 3697 } 3698 } 3699 return this; 3700 }, 3701 3702 // Call all the callbacks with the given arguments 3703 fire: function() { 3704 self.fireWith( this, arguments ); 3705 return this; 3706 }, 3707 3708 // To know if the callbacks have already been called at least once 3709 fired: function() { 3710 return !!fired; 3711 } 3712 }; 3713 3714 return self; 3715}; 3716 3717 3718function Identity( v ) { 3719 return v; 3720} 3721function Thrower( ex ) { 3722 throw ex; 3723} 3724 3725function adoptValue( value, resolve, reject, noValue ) { 3726 var method; 3727 3728 try { 3729 3730 // Check for promise aspect first to privilege synchronous behavior 3731 if ( value && isFunction( ( method = value.promise ) ) ) { 3732 method.call( value ).done( resolve ).fail( reject ); 3733 3734 // Other thenables 3735 } else if ( value && isFunction( ( method = value.then ) ) ) { 3736 method.call( value, resolve, reject ); 3737 3738 // Other non-thenables 3739 } else { 3740 3741 // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: 3742 // * false: [ value ].slice( 0 ) => resolve( value ) 3743 // * true: [ value ].slice( 1 ) => resolve() 3744 resolve.apply( undefined, [ value ].slice( noValue ) ); 3745 } 3746 3747 // For Promises/A+, convert exceptions into rejections 3748 // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in 3749 // Deferred#then to conditionally suppress rejection. 3750 } catch ( value ) { 3751 3752 // Support: Android 4.0 only 3753 // Strict mode functions invoked without .call/.apply get global-object context 3754 reject.apply( undefined, [ value ] ); 3755 } 3756} 3757 3758jQuery.extend( { 3759 3760 Deferred: function( func ) { 3761 var tuples = [ 3762 3763 // action, add listener, callbacks, 3764 // ... .then handlers, argument index, [final state] 3765 [ "notify", "progress", jQuery.Callbacks( "memory" ), 3766 jQuery.Callbacks( "memory" ), 2 ], 3767 [ "resolve", "done", jQuery.Callbacks( "once memory" ), 3768 jQuery.Callbacks( "once memory" ), 0, "resolved" ], 3769 [ "reject", "fail", jQuery.Callbacks( "once memory" ), 3770 jQuery.Callbacks( "once memory" ), 1, "rejected" ] 3771 ], 3772 state = "pending", 3773 promise = { 3774 state: function() { 3775 return state; 3776 }, 3777 always: function() { 3778 deferred.done( arguments ).fail( arguments ); 3779 return this; 3780 }, 3781 "catch": function( fn ) { 3782 return promise.then( null, fn ); 3783 }, 3784 3785 // Keep pipe for back-compat 3786 pipe: function( /* fnDone, fnFail, fnProgress */ ) { 3787 var fns = arguments; 3788 3789 return jQuery.Deferred( function( newDefer ) { 3790 jQuery.each( tuples, function( _i, tuple ) { 3791 3792 // Map tuples (progress, done, fail) to arguments (done, fail, progress) 3793 var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; 3794 3795 // deferred.progress(function() { bind to newDefer or newDefer.notify }) 3796 // deferred.done(function() { bind to newDefer or newDefer.resolve }) 3797 // deferred.fail(function() { bind to newDefer or newDefer.reject }) 3798 deferred[ tuple[ 1 ] ]( function() { 3799 var returned = fn && fn.apply( this, arguments ); 3800 if ( returned && isFunction( returned.promise ) ) { 3801 returned.promise() 3802 .progress( newDefer.notify ) 3803 .done( newDefer.resolve ) 3804 .fail( newDefer.reject ); 3805 } else { 3806 newDefer[ tuple[ 0 ] + "With" ]( 3807 this, 3808 fn ? [ returned ] : arguments 3809 ); 3810 } 3811 } ); 3812 } ); 3813 fns = null; 3814 } ).promise(); 3815 }, 3816 then: function( onFulfilled, onRejected, onProgress ) { 3817 var maxDepth = 0; 3818 function resolve( depth, deferred, handler, special ) { 3819 return function() { 3820 var that = this, 3821 args = arguments, 3822 mightThrow = function() { 3823 var returned, then; 3824 3825 // Support: Promises/A+ section 2.3.3.3.3 3826 // https://promisesaplus.com/#point-59 3827 // Ignore double-resolution attempts 3828 if ( depth < maxDepth ) { 3829 return; 3830 } 3831 3832 returned = handler.apply( that, args ); 3833 3834 // Support: Promises/A+ section 2.3.1 3835 // https://promisesaplus.com/#point-48 3836 if ( returned === deferred.promise() ) { 3837 throw new TypeError( "Thenable self-resolution" ); 3838 } 3839 3840 // Support: Promises/A+ sections 2.3.3.1, 3.5 3841 // https://promisesaplus.com/#point-54 3842 // https://promisesaplus.com/#point-75 3843 // Retrieve `then` only once 3844 then = returned && 3845 3846 // Support: Promises/A+ section 2.3.4 3847 // https://promisesaplus.com/#point-64 3848 // Only check objects and functions for thenability 3849 ( typeof returned === "object" || 3850 typeof returned === "function" ) && 3851 returned.then; 3852 3853 // Handle a returned thenable 3854 if ( isFunction( then ) ) { 3855 3856 // Special processors (notify) just wait for resolution 3857 if ( special ) { 3858 then.call( 3859 returned, 3860 resolve( maxDepth, deferred, Identity, special ), 3861 resolve( maxDepth, deferred, Thrower, special ) 3862 ); 3863 3864 // Normal processors (resolve) also hook into progress 3865 } else { 3866 3867 // ...and disregard older resolution values 3868 maxDepth++; 3869 3870 then.call( 3871 returned, 3872 resolve( maxDepth, deferred, Identity, special ), 3873 resolve( maxDepth, deferred, Thrower, special ), 3874 resolve( maxDepth, deferred, Identity, 3875 deferred.notifyWith ) 3876 ); 3877 } 3878 3879 // Handle all other returned values 3880 } else { 3881 3882 // Only substitute handlers pass on context 3883 // and multiple values (non-spec behavior) 3884 if ( handler !== Identity ) { 3885 that = undefined; 3886 args = [ returned ]; 3887 } 3888 3889 // Process the value(s) 3890 // Default process is resolve 3891 ( special || deferred.resolveWith )( that, args ); 3892 } 3893 }, 3894 3895 // Only normal processors (resolve) catch and reject exceptions 3896 process = special ? 3897 mightThrow : 3898 function() { 3899 try { 3900 mightThrow(); 3901 } catch ( e ) { 3902 3903 if ( jQuery.Deferred.exceptionHook ) { 3904 jQuery.Deferred.exceptionHook( e, 3905 process.stackTrace ); 3906 } 3907 3908 // Support: Promises/A+ section 2.3.3.3.4.1 3909 // https://promisesaplus.com/#point-61 3910 // Ignore post-resolution exceptions 3911 if ( depth + 1 >= maxDepth ) { 3912 3913 // Only substitute handlers pass on context 3914 // and multiple values (non-spec behavior) 3915 if ( handler !== Thrower ) { 3916 that = undefined; 3917 args = [ e ]; 3918 } 3919 3920 deferred.rejectWith( that, args ); 3921 } 3922 } 3923 }; 3924
vendor: 10,679 bytes, lines 3925-4373
3925 // Support: Promises/A+ section 2.3.3.3.1 3926 // https://promisesaplus.com/#point-57 3927 // Re-resolve promises immediately to dodge false rejection from 3928 // subsequent errors 3929 if ( depth ) { 3930 process(); 3931 } else { 3932 3933 // Call an optional hook to record the stack, in case of exception 3934 // since it's otherwise lost when execution goes async 3935 if ( jQuery.Deferred.getStackHook ) { 3936 process.stackTrace = jQuery.Deferred.getStackHook(); 3937 } 3938 window.setTimeout( process ); 3939 } 3940 }; 3941 } 3942 3943 return jQuery.Deferred( function( newDefer ) { 3944 3945 // progress_handlers.add( ... ) 3946 tuples[ 0 ][ 3 ].add( 3947 resolve( 3948 0, 3949 newDefer, 3950 isFunction( onProgress ) ? 3951 onProgress : 3952 Identity, 3953 newDefer.notifyWith 3954 ) 3955 ); 3956 3957 // fulfilled_handlers.add( ... ) 3958 tuples[ 1 ][ 3 ].add( 3959 resolve( 3960 0, 3961 newDefer, 3962 isFunction( onFulfilled ) ? 3963 onFulfilled : 3964 Identity 3965 ) 3966 ); 3967 3968 // rejected_handlers.add( ... ) 3969 tuples[ 2 ][ 3 ].add( 3970 resolve( 3971 0, 3972 newDefer, 3973 isFunction( onRejected ) ? 3974 onRejected : 3975 Thrower 3976 ) 3977 ); 3978 } ).promise(); 3979 }, 3980 3981 // Get a promise for this deferred 3982 // If obj is provided, the promise aspect is added to the object 3983 promise: function( obj ) { 3984 return obj != null ? jQuery.extend( obj, promise ) : promise; 3985 } 3986 }, 3987 deferred = {}; 3988 3989 // Add list-specific methods 3990 jQuery.each( tuples, function( i, tuple ) { 3991 var list = tuple[ 2 ], 3992 stateString = tuple[ 5 ]; 3993 3994 // promise.progress = list.add 3995 // promise.done = list.add 3996 // promise.fail = list.add 3997 promise[ tuple[ 1 ] ] = list.add; 3998 3999 // Handle state 4000 if ( stateString ) { 4001 list.add( 4002 function() { 4003 4004 // state = "resolved" (i.e., fulfilled) 4005 // state = "rejected" 4006 state = stateString; 4007 }, 4008 4009 // rejected_callbacks.disable 4010 // fulfilled_callbacks.disable 4011 tuples[ 3 - i ][ 2 ].disable, 4012 4013 // rejected_handlers.disable 4014 // fulfilled_handlers.disable 4015 tuples[ 3 - i ][ 3 ].disable, 4016 4017 // progress_callbacks.lock 4018 tuples[ 0 ][ 2 ].lock, 4019 4020 // progress_handlers.lock 4021 tuples[ 0 ][ 3 ].lock 4022 ); 4023 } 4024 4025 // progress_handlers.fire 4026 // fulfilled_handlers.fire 4027 // rejected_handlers.fire 4028 list.add( tuple[ 3 ].fire ); 4029 4030 // deferred.notify = function() { deferred.notifyWith(...) } 4031 // deferred.resolve = function() { deferred.resolveWith(...) } 4032 // deferred.reject = function() { deferred.rejectWith(...) } 4033 deferred[ tuple[ 0 ] ] = function() { 4034 deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); 4035 return this; 4036 }; 4037 4038 // deferred.notifyWith = list.fireWith 4039 // deferred.resolveWith = list.fireWith 4040 // deferred.rejectWith = list.fireWith 4041 deferred[ tuple[ 0 ] + "With" ] = list.fireWith; 4042 } ); 4043 4044 // Make the deferred a promise 4045 promise.promise( deferred ); 4046 4047 // Call given func if any 4048 if ( func ) { 4049 func.call( deferred, deferred ); 4050 } 4051 4052 // All done! 4053 return deferred; 4054 }, 4055 4056 // Deferred helper 4057 when: function( singleValue ) { 4058 var 4059 4060 // count of uncompleted subordinates 4061 remaining = arguments.length, 4062 4063 // count of unprocessed arguments 4064 i = remaining, 4065 4066 // subordinate fulfillment data 4067 resolveContexts = Array( i ), 4068 resolveValues = slice.call( arguments ), 4069 4070 // the primary Deferred 4071 primary = jQuery.Deferred(), 4072 4073 // subordinate callback factory 4074 updateFunc = function( i ) { 4075 return function( value ) { 4076 resolveContexts[ i ] = this; 4077 resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; 4078 if ( !( --remaining ) ) { 4079 primary.resolveWith( resolveContexts, resolveValues ); 4080 } 4081 }; 4082 }; 4083 4084 // Single- and empty arguments are adopted like Promise.resolve 4085 if ( remaining <= 1 ) { 4086 adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, 4087 !remaining ); 4088 4089 // Use .then() to unwrap secondary thenables (cf. gh-3000) 4090 if ( primary.state() === "pending" || 4091 isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { 4092 4093 return primary.then(); 4094 } 4095 } 4096 4097 // Multiple arguments are aggregated like Promise.all array elements 4098 while ( i-- ) { 4099 adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); 4100 } 4101 4102 return primary.promise(); 4103 } 4104} ); 4105 4106 4107// These usually indicate a programmer mistake during development, 4108// warn about them ASAP rather than swallowing them by default. 4109var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 4110 4111jQuery.Deferred.exceptionHook = function( error, stack ) { 4112 4113 // Support: IE 8 - 9 only 4114 // Console exists when dev tools are open, which can happen at any time 4115 if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 4116 window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); 4117 } 4118}; 4119 4120 4121 4122 4123jQuery.readyException = function( error ) { 4124 window.setTimeout( function() { 4125 throw error; 4126 } ); 4127}; 4128 4129 4130 4131 4132// The deferred used on DOM ready 4133var readyList = jQuery.Deferred(); 4134 4135jQuery.fn.ready = function( fn ) { 4136 4137 readyList 4138 .then( fn ) 4139 4140 // Wrap jQuery.readyException in a function so that the lookup 4141 // happens at the time of error handling instead of callback 4142 // registration. 4143 .catch( function( error ) { 4144 jQuery.readyException( error ); 4145 } ); 4146 4147 return this; 4148}; 4149 4150jQuery.extend( { 4151 4152 // Is the DOM ready to be used? Set to true once it occurs. 4153 isReady: false, 4154 4155 // A counter to track how many items to wait for before 4156 // the ready event fires. See trac-6781 4157 readyWait: 1, 4158 4159 // Handle when the DOM is ready 4160 ready: function( wait ) { 4161 4162 // Abort if there are pending holds or we're already ready 4163 if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { 4164 return; 4165 } 4166 4167 // Remember that the DOM is ready 4168 jQuery.isReady = true; 4169 4170 // If a normal DOM Ready event fired, decrement, and wait if need be 4171 if ( wait !== true && --jQuery.readyWait > 0 ) { 4172 return; 4173 } 4174 4175 // If there are functions bound, to execute 4176 readyList.resolveWith( document, [ jQuery ] ); 4177 } 4178} ); 4179 4180jQuery.ready.then = readyList.then; 4181 4182// The ready event handler and self cleanup method 4183function completed() { 4184 document.removeEventListener( "DOMContentLoaded", completed ); 4185 window.removeEventListener( "load", completed ); 4186 jQuery.ready(); 4187} 4188 4189// Catch cases where $(document).ready() is called 4190// after the browser event has already occurred. 4191// Support: IE <=9 - 10 only 4192// Older IE sometimes signals "interactive" too soon 4193if ( document.readyState === "complete" || 4194 ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { 4195 4196 // Handle it asynchronously to allow scripts the opportunity to delay ready 4197 window.setTimeout( jQuery.ready ); 4198 4199} else { 4200 4201 // Use the handy event callback 4202 document.addEventListener( "DOMContentLoaded", completed ); 4203 4204 // A fallback to window.onload, that will always work 4205 window.addEventListener( "load", completed ); 4206} 4207 4208 4209 4210 4211// Multifunctional method to get and set values of a collection 4212// The value/s can optionally be executed if it's a function 4213var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 4214 var i = 0, 4215 len = elems.length, 4216 bulk = key == null; 4217 4218 // Sets many values 4219 if ( toType( key ) === "object" ) { 4220 chainable = true; 4221 for ( i in key ) { 4222 access( elems, fn, i, key[ i ], true, emptyGet, raw ); 4223 } 4224 4225 // Sets one value 4226 } else if ( value !== undefined ) { 4227 chainable = true; 4228 4229 if ( !isFunction( value ) ) { 4230 raw = true; 4231 } 4232 4233 if ( bulk ) { 4234 4235 // Bulk operations run against the entire set 4236 if ( raw ) { 4237 fn.call( elems, value ); 4238 fn = null; 4239 4240 // ...except when executing function values 4241 } else { 4242 bulk = fn; 4243 fn = function( elem, _key, value ) { 4244 return bulk.call( jQuery( elem ), value ); 4245 }; 4246 } 4247 } 4248 4249 if ( fn ) { 4250 for ( ; i < len; i++ ) { 4251 fn( 4252 elems[ i ], key, raw ? 4253 value : 4254 value.call( elems[ i ], i, fn( elems[ i ], key ) ) 4255 ); 4256 } 4257 } 4258 } 4259 4260 if ( chainable ) { 4261 return elems; 4262 } 4263 4264 // Gets 4265 if ( bulk ) { 4266 return fn.call( elems ); 4267 } 4268 4269 return len ? fn( elems[ 0 ], key ) : emptyGet; 4270}; 4271 4272 4273// Matches dashed string for camelizing 4274var rmsPrefix = /^-ms-/, 4275 rdashAlpha = /-([a-z])/g; 4276 4277// Used by camelCase as callback to replace() 4278function fcamelCase( _all, letter ) { 4279 return letter.toUpperCase(); 4280} 4281 4282// Convert dashed to camelCase; used by the css and data modules 4283// Support: IE <=9 - 11, Edge 12 - 15 4284// Microsoft forgot to hump their vendor prefix (trac-9572) 4285function camelCase( string ) { 4286 return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); 4287} 4288var acceptData = function( owner ) { 4289 4290 // Accepts only: 4291 // - Node 4292 // - Node.ELEMENT_NODE 4293 // - Node.DOCUMENT_NODE 4294 // - Object 4295 // - Any 4296 return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 4297}; 4298 4299 4300 4301 4302function Data() { 4303 this.expando = jQuery.expando + Data.uid++; 4304} 4305 4306Data.uid = 1; 4307 4308Data.prototype = { 4309 4310 cache: function( owner ) { 4311 4312 // Check if the owner object already has a cache 4313 var value = owner[ this.expando ]; 4314 4315 // If not, create one 4316 if ( !value ) { 4317 value = {}; 4318 4319 // We can accept data for non-element nodes in modern browsers, 4320 // but we should not, see trac-8335. 4321 // Always return an empty object. 4322 if ( acceptData( owner ) ) { 4323 4324 // If it is a node unlikely to be stringify-ed or looped over 4325 // use plain assignment 4326 if ( owner.nodeType ) { 4327 owner[ this.expando ] = value; 4328 4329 // Otherwise secure it in a non-enumerable property 4330 // configurable must be true to allow the property to be 4331 // deleted when data is removed 4332 } else { 4333 Object.defineProperty( owner, this.expando, { 4334 value: value, 4335 configurable: true 4336 } ); 4337 } 4338 } 4339 } 4340 4341 return value; 4342 }, 4343 set: function( owner, data, value ) { 4344 var prop, 4345 cache = this.cache( owner ); 4346 4347 // Handle: [ owner, key, value ] args 4348 // Always use camelCase key (gh-2257) 4349 if ( typeof data === "string" ) { 4350 cache[ camelCase( data ) ] = value; 4351 4352 // Handle: [ owner, { properties } ] args 4353 } else { 4354 4355 // Copy the properties one-by-one to the cache object 4356 for ( prop in data ) { 4357 cache[ camelCase( prop ) ] = data[ prop ]; 4358 } 4359 } 4360 return cache; 4361 }, 4362 get: function( owner, key ) { 4363 return key === undefined ? 4364 this.cache( owner ) : 4365 4366 // Always use camelCase key (gh-2257) 4367 owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; 4368 }, 4369 access: function( owner, key, value ) { 4370 4371 // In cases where either: 4372 // 4373 // 1. No key was specified
vendor: 4,579 bytes, lines 4374-4557
4374 // 2. A string key was specified, but no value provided 4375 // 4376 // Take the "read" path and allow the get method to determine 4377 // which value to return, respectively either: 4378 // 4379 // 1. The entire cache object 4380 // 2. The data stored at the key 4381 // 4382 if ( key === undefined || 4383 ( ( key && typeof key === "string" ) && value === undefined ) ) { 4384 4385 return this.get( owner, key ); 4386 } 4387 4388 // When the key is not a string, or both a key and value 4389 // are specified, set or extend (existing objects) with either: 4390 // 4391 // 1. An object of properties 4392 // 2. A key and value 4393 // 4394 this.set( owner, key, value ); 4395 4396 // Since the "set" path can have two possible entry points 4397 // return the expected data based on which path was taken[*] 4398 return value !== undefined ? value : key; 4399 }, 4400 remove: function( owner, key ) { 4401 var i, 4402 cache = owner[ this.expando ]; 4403 4404 if ( cache === undefined ) { 4405 return; 4406 } 4407 4408 if ( key !== undefined ) { 4409 4410 // Support array or space separated string of keys 4411 if ( Array.isArray( key ) ) { 4412 4413 // If key is an array of keys... 4414 // We always set camelCase keys, so remove that. 4415 key = key.map( camelCase ); 4416 } else { 4417 key = camelCase( key ); 4418 4419 // If a key with the spaces exists, use it. 4420 // Otherwise, create an array by matching non-whitespace 4421 key = key in cache ? 4422 [ key ] : 4423 ( key.match( rnothtmlwhite ) || [] ); 4424 } 4425 4426 i = key.length; 4427 4428 while ( i-- ) { 4429 delete cache[ key[ i ] ]; 4430 } 4431 } 4432 4433 // Remove the expando if there's no more data 4434 if ( key === undefined || jQuery.isEmptyObject( cache ) ) { 4435 4436 // Support: Chrome <=35 - 45 4437 // Webkit & Blink performance suffers when deleting properties 4438 // from DOM nodes, so set to undefined instead 4439 // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) 4440 if ( owner.nodeType ) { 4441 owner[ this.expando ] = undefined; 4442 } else { 4443 delete owner[ this.expando ]; 4444 } 4445 } 4446 }, 4447 hasData: function( owner ) { 4448 var cache = owner[ this.expando ]; 4449 return cache !== undefined && !jQuery.isEmptyObject( cache ); 4450 } 4451}; 4452var dataPriv = new Data(); 4453 4454var dataUser = new Data(); 4455 4456 4457 4458// Implementation Summary 4459// 4460// 1. Enforce API surface and semantic compatibility with 1.9.x branch 4461// 2. Improve the module's maintainability by reducing the storage 4462// paths to a single mechanism. 4463// 3. Use the same single mechanism to support "private" and "user" data. 4464// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) 4465// 5. Avoid exposing implementation details on user objects (eg. expando properties) 4466// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 4467 4468var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, 4469 rmultiDash = /[A-Z]/g; 4470 4471function getData( data ) { 4472 if ( data === "true" ) { 4473 return true; 4474 } 4475 4476 if ( data === "false" ) { 4477 return false; 4478 } 4479 4480 if ( data === "null" ) { 4481 return null; 4482 } 4483 4484 // Only convert to a number if it doesn't change the string 4485 if ( data === +data + "" ) { 4486 return +data; 4487 } 4488 4489 if ( rbrace.test( data ) ) { 4490 return JSON.parse( data ); 4491 } 4492 4493 return data; 4494} 4495 4496function dataAttr( elem, key, data ) { 4497 var name; 4498 4499 // If nothing was found internally, try to fetch any 4500 // data from the HTML5 data-* attribute 4501 if ( data === undefined && elem.nodeType === 1 ) { 4502 name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); 4503 data = elem.getAttribute( name ); 4504 4505 if ( typeof data === "string" ) { 4506 try { 4507 data = getData( data ); 4508 } catch ( e ) {} 4509 4510 // Make sure we set the data so it isn't changed later 4511 dataUser.set( elem, key, data ); 4512 } else { 4513 data = undefined; 4514 } 4515 } 4516 return data; 4517} 4518 4519jQuery.extend( { 4520 hasData: function( elem ) { 4521 return dataUser.hasData( elem ) || dataPriv.hasData( elem ); 4522 }, 4523 4524 data: function( elem, name, data ) { 4525 return dataUser.access( elem, name, data ); 4526 }, 4527 4528 removeData: function( elem, name ) { 4529 dataUser.remove( elem, name ); 4530 }, 4531 4532 // TODO: Now that all calls to _data and _removeData have been replaced 4533 // with direct calls to dataPriv methods, these can be deprecated. 4534 _data: function( elem, name, data ) { 4535 return dataPriv.access( elem, name, data ); 4536 }, 4537 4538 _removeData: function( elem, name ) { 4539 dataPriv.remove( elem, name ); 4540 } 4541} ); 4542 4543jQuery.fn.extend( { 4544 data: function( key, value ) { 4545 var i, name, data, 4546 elem = this[ 0 ], 4547 attrs = elem && elem.attributes; 4548 4549 // Gets all values 4550 if ( key === undefined ) { 4551 if ( this.length ) { 4552 data = dataUser.get( elem ); 4553 4554 if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { 4555 i = attrs.length; 4556 while ( i-- ) { 4557
vendor: 4,119 bytes, lines 4558-4732
4558 // Support: IE 11 only 4559 // The attrs elements can be null (trac-14894) 4560 if ( attrs[ i ] ) { 4561 name = attrs[ i ].name; 4562 if ( name.indexOf( "data-" ) === 0 ) { 4563 name = camelCase( name.slice( 5 ) ); 4564 dataAttr( elem, name, data[ name ] ); 4565 } 4566 } 4567 } 4568 dataPriv.set( elem, "hasDataAttrs", true ); 4569 } 4570 } 4571 4572 return data; 4573 } 4574 4575 // Sets multiple values 4576 if ( typeof key === "object" ) { 4577 return this.each( function() { 4578 dataUser.set( this, key ); 4579 } ); 4580 } 4581 4582 return access( this, function( value ) { 4583 var data; 4584 4585 // The calling jQuery object (element matches) is not empty 4586 // (and therefore has an element appears at this[ 0 ]) and the 4587 // `value` parameter was not undefined. An empty jQuery object 4588 // will result in `undefined` for elem = this[ 0 ] which will 4589 // throw an exception if an attempt to read a data cache is made. 4590 if ( elem && value === undefined ) { 4591 4592 // Attempt to get data from the cache 4593 // The key will always be camelCased in Data 4594 data = dataUser.get( elem, key ); 4595 if ( data !== undefined ) { 4596 return data; 4597 } 4598 4599 // Attempt to "discover" the data in 4600 // HTML5 custom data-* attrs 4601 data = dataAttr( elem, key ); 4602 if ( data !== undefined ) { 4603 return data; 4604 } 4605 4606 // We tried really hard, but the data doesn't exist. 4607 return; 4608 } 4609 4610 // Set the data... 4611 this.each( function() { 4612 4613 // We always store the camelCased key 4614 dataUser.set( this, key, value ); 4615 } ); 4616 }, null, value, arguments.length > 1, null, true ); 4617 }, 4618 4619 removeData: function( key ) { 4620 return this.each( function() { 4621 dataUser.remove( this, key ); 4622 } ); 4623 } 4624} ); 4625 4626 4627jQuery.extend( { 4628 queue: function( elem, type, data ) { 4629 var queue; 4630 4631 if ( elem ) { 4632 type = ( type || "fx" ) + "queue"; 4633 queue = dataPriv.get( elem, type ); 4634 4635 // Speed up dequeue by getting out quickly if this is just a lookup 4636 if ( data ) { 4637 if ( !queue || Array.isArray( data ) ) { 4638 queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); 4639 } else { 4640 queue.push( data ); 4641 } 4642 } 4643 return queue || []; 4644 } 4645 }, 4646 4647 dequeue: function( elem, type ) { 4648 type = type || "fx"; 4649 4650 var queue = jQuery.queue( elem, type ), 4651 startLength = queue.length, 4652 fn = queue.shift(), 4653 hooks = jQuery._queueHooks( elem, type ), 4654 next = function() { 4655 jQuery.dequeue( elem, type ); 4656 }; 4657 4658 // If the fx queue is dequeued, always remove the progress sentinel 4659 if ( fn === "inprogress" ) { 4660 fn = queue.shift(); 4661 startLength--; 4662 } 4663 4664 if ( fn ) { 4665 4666 // Add a progress sentinel to prevent the fx queue from being 4667 // automatically dequeued 4668 if ( type === "fx" ) { 4669 queue.unshift( "inprogress" ); 4670 } 4671 4672 // Clear up the last queue stop function 4673 delete hooks.stop; 4674 fn.call( elem, next, hooks ); 4675 } 4676 4677 if ( !startLength && hooks ) { 4678 hooks.empty.fire(); 4679 } 4680 }, 4681 4682 // Not public - generate a queueHooks object, or return the current one 4683 _queueHooks: function( elem, type ) { 4684 var key = type + "queueHooks"; 4685 return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { 4686 empty: jQuery.Callbacks( "once memory" ).add( function() { 4687 dataPriv.remove( elem, [ type + "queue", key ] ); 4688 } ) 4689 } ); 4690 } 4691} ); 4692 4693jQuery.fn.extend( { 4694 queue: function( type, data ) { 4695 var setter = 2; 4696 4697 if ( typeof type !== "string" ) { 4698 data = type; 4699 type = "fx"; 4700 setter--; 4701 } 4702 4703 if ( arguments.length < setter ) { 4704 return jQuery.queue( this[ 0 ], type ); 4705 } 4706 4707 return data === undefined ? 4708 this : 4709 this.each( function() { 4710 var queue = jQuery.queue( this, type, data ); 4711 4712 // Ensure a hooks for this queue 4713 jQuery._queueHooks( this, type ); 4714 4715 if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { 4716 jQuery.dequeue( this, type ); 4717 } 4718 } ); 4719 }, 4720 dequeue: function( type ) { 4721 return this.each( function() { 4722 jQuery.dequeue( this, type ); 4723 } ); 4724 }, 4725 clearQueue: function( type ) { 4726 return this.queue( type || "fx", [] ); 4727 }, 4728 4729 // Get a promise resolved when queues of a certain type 4730 // are emptied (fx is the type by default) 4731 promise: function( type, obj ) { 4732 var tmp,
vendor: 6,339 bytes, lines 4733-4981
4733 count = 1, 4734 defer = jQuery.Deferred(), 4735 elements = this, 4736 i = this.length, 4737 resolve = function() { 4738 if ( !( --count ) ) { 4739 defer.resolveWith( elements, [ elements ] ); 4740 } 4741 }; 4742 4743 if ( typeof type !== "string" ) { 4744 obj = type; 4745 type = undefined; 4746 } 4747 type = type || "fx"; 4748 4749 while ( i-- ) { 4750 tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); 4751 if ( tmp && tmp.empty ) { 4752 count++; 4753 tmp.empty.add( resolve ); 4754 } 4755 } 4756 resolve(); 4757 return defer.promise( obj ); 4758 } 4759} ); 4760var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 4761 4762var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 4763 4764 4765var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; 4766 4767var documentElement = document.documentElement; 4768 4769 4770 4771 var isAttached = function( elem ) { 4772 return jQuery.contains( elem.ownerDocument, elem ); 4773 }, 4774 composed = { composed: true }; 4775 4776 // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only 4777 // Check attachment across shadow DOM boundaries when possible (gh-3504) 4778 // Support: iOS 10.0-10.2 only 4779 // Early iOS 10 versions support `attachShadow` but not `getRootNode`, 4780 // leading to errors. We need to check for `getRootNode`. 4781 if ( documentElement.getRootNode ) { 4782 isAttached = function( elem ) { 4783 return jQuery.contains( elem.ownerDocument, elem ) || 4784 elem.getRootNode( composed ) === elem.ownerDocument; 4785 }; 4786 } 4787var isHiddenWithinTree = function( elem, el ) { 4788 4789 // isHiddenWithinTree might be called from jQuery#filter function; 4790 // in that case, element will be second argument 4791 elem = el || elem; 4792 4793 // Inline style trumps all 4794 return elem.style.display === "none" || 4795 elem.style.display === "" && 4796 4797 // Otherwise, check computed style 4798 // Support: Firefox <=43 - 45 4799 // Disconnected elements can have computed display: none, so first confirm that elem is 4800 // in the document. 4801 isAttached( elem ) && 4802 4803 jQuery.css( elem, "display" ) === "none"; 4804 }; 4805 4806 4807 4808function adjustCSS( elem, prop, valueParts, tween ) { 4809 var adjusted, scale, 4810 maxIterations = 20, 4811 currentValue = tween ? 4812 function() { 4813 return tween.cur(); 4814 } : 4815 function() { 4816 return jQuery.css( elem, prop, "" ); 4817 }, 4818 initial = currentValue(), 4819 unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), 4820 4821 // Starting value computation is required for potential unit mismatches 4822 initialInUnit = elem.nodeType && 4823 ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && 4824 rcssNum.exec( jQuery.css( elem, prop ) ); 4825 4826 if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { 4827 4828 // Support: Firefox <=54 4829 // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) 4830 initial = initial / 2; 4831 4832 // Trust units reported by jQuery.css 4833 unit = unit || initialInUnit[ 3 ]; 4834 4835 // Iteratively approximate from a nonzero starting point 4836 initialInUnit = +initial || 1; 4837 4838 while ( maxIterations-- ) { 4839 4840 // Evaluate and update our best guess (doubling guesses that zero out). 4841 // Finish if the scale equals or crosses 1 (making the old*new product non-positive). 4842 jQuery.style( elem, prop, initialInUnit + unit ); 4843 if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { 4844 maxIterations = 0; 4845 } 4846 initialInUnit = initialInUnit / scale; 4847 4848 } 4849 4850 initialInUnit = initialInUnit * 2; 4851 jQuery.style( elem, prop, initialInUnit + unit ); 4852 4853 // Make sure we update the tween properties later on 4854 valueParts = valueParts || []; 4855 } 4856 4857 if ( valueParts ) { 4858 initialInUnit = +initialInUnit || +initial || 0; 4859 4860 // Apply relative offset (+=/-=) if specified 4861 adjusted = valueParts[ 1 ] ? 4862 initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : 4863 +valueParts[ 2 ]; 4864 if ( tween ) { 4865 tween.unit = unit; 4866 tween.start = initialInUnit; 4867 tween.end = adjusted; 4868 } 4869 } 4870 return adjusted; 4871} 4872 4873 4874var defaultDisplayMap = {}; 4875 4876function getDefaultDisplay( elem ) { 4877 var temp, 4878 doc = elem.ownerDocument, 4879 nodeName = elem.nodeName, 4880 display = defaultDisplayMap[ nodeName ]; 4881 4882 if ( display ) { 4883 return display; 4884 } 4885 4886 temp = doc.body.appendChild( doc.createElement( nodeName ) ); 4887 display = jQuery.css( temp, "display" ); 4888 4889 temp.parentNode.removeChild( temp ); 4890 4891 if ( display === "none" ) { 4892 display = "block"; 4893 } 4894 defaultDisplayMap[ nodeName ] = display; 4895 4896 return display; 4897} 4898 4899function showHide( elements, show ) { 4900 var display, elem, 4901 values = [], 4902 index = 0, 4903 length = elements.length; 4904 4905 // Determine new display value for elements that need to change 4906 for ( ; index < length; index++ ) { 4907 elem = elements[ index ]; 4908 if ( !elem.style ) { 4909 continue; 4910 } 4911 4912 display = elem.style.display; 4913 if ( show ) { 4914 4915 // Since we force visibility upon cascade-hidden elements, an immediate (and slow) 4916 // check is required in this first loop unless we have a nonempty display value (either 4917 // inline or about-to-be-restored) 4918 if ( display === "none" ) { 4919 values[ index ] = dataPriv.get( elem, "display" ) || null; 4920 if ( !values[ index ] ) { 4921 elem.style.display = ""; 4922 } 4923 } 4924 if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { 4925 values[ index ] = getDefaultDisplay( elem ); 4926 } 4927 } else { 4928 if ( display !== "none" ) { 4929 values[ index ] = "none"; 4930 4931 // Remember what we're overwriting 4932 dataPriv.set( elem, "display", display ); 4933 } 4934 } 4935 } 4936 4937 // Set the display of the elements in a second loop to avoid constant reflow 4938 for ( index = 0; index < length; index++ ) { 4939 if ( values[ index ] != null ) { 4940 elements[ index ].style.display = values[ index ]; 4941 } 4942 } 4943 4944 return elements; 4945} 4946 4947jQuery.fn.extend( { 4948 show: function() { 4949 return showHide( this, true ); 4950 }, 4951 hide: function() { 4952 return showHide( this ); 4953 }, 4954 toggle: function( state ) { 4955 if ( typeof state === "boolean" ) { 4956 return state ? this.show() : this.hide(); 4957 } 4958 4959 return this.each( function() { 4960 if ( isHiddenWithinTree( this ) ) { 4961 jQuery( this ).show(); 4962 } else { 4963 jQuery( this ).hide(); 4964 } 4965 } ); 4966 } 4967} ); 4968var rcheckableType = ( /^(?:checkbox|radio)$/i ); 4969 4970var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); 4971 4972var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); 4973 4974 4975 4976( function() { 4977 var fragment = document.createDocumentFragment(), 4978 div = fragment.appendChild( document.createElement( "div" ) ), 4979 input = document.createElement( "input" ); 4980 4981 // Support: Android 4.0 - 4.3 only
vendor: 4,796 bytes, lines 4982-5169
4982 // Check state lost if the name is set (trac-11217) 4983 // Support: Windows Web Apps (WWA) 4984 // `name` and `type` must use .setAttribute for WWA (trac-14901) 4985 input.setAttribute( "type", "radio" ); 4986 input.setAttribute( "checked", "checked" ); 4987 input.setAttribute( "name", "t" ); 4988 4989 div.appendChild( input ); 4990 4991 // Support: Android <=4.1 only 4992 // Older WebKit doesn't clone checked state correctly in fragments 4993 support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 4994 4995 // Support: IE <=11 only 4996 // Make sure textarea (and checkbox) defaultValue is properly cloned 4997 div.innerHTML = "<textarea>x</textarea>"; 4998 support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 4999 5000 // Support: IE <=9 only 5001 // IE <=9 replaces <option> tags with their contents when inserted outside of 5002 // the select element. 5003 div.innerHTML = "<option></option>"; 5004 support.option = !!div.lastChild; 5005} )(); 5006 5007 5008// We have to close these tags to support XHTML (trac-13200) 5009var wrapMap = { 5010 5011 // XHTML parsers do not magically insert elements in the 5012 // same way that tag soup parsers do. So we cannot shorten 5013 // this by omitting <tbody> or other required elements. 5014 thead: [ 1, "<table>", "</table>" ], 5015 col: [ 2, "<table><colgroup>", "</colgroup></table>" ], 5016 tr: [ 2, "<table><tbody>", "</tbody></table>" ], 5017 td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], 5018 5019 _default: [ 0, "", "" ] 5020}; 5021 5022wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 5023wrapMap.th = wrapMap.td; 5024 5025// Support: IE <=9 only 5026if ( !support.option ) { 5027 wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; 5028} 5029 5030 5031function getAll( context, tag ) { 5032 5033 // Support: IE <=9 - 11 only 5034 // Use typeof to avoid zero-argument method invocation on host objects (trac-15151) 5035 var ret; 5036 5037 if ( typeof context.getElementsByTagName !== "undefined" ) { 5038 ret = context.getElementsByTagName( tag || "*" ); 5039 5040 } else if ( typeof context.querySelectorAll !== "undefined" ) { 5041 ret = context.querySelectorAll( tag || "*" ); 5042 5043 } else { 5044 ret = []; 5045 } 5046 5047 if ( tag === undefined || tag && nodeName( context, tag ) ) { 5048 return jQuery.merge( [ context ], ret ); 5049 } 5050 5051 return ret; 5052} 5053 5054 5055// Mark scripts as having already been evaluated 5056function setGlobalEval( elems, refElements ) { 5057 var i = 0, 5058 l = elems.length; 5059 5060 for ( ; i < l; i++ ) { 5061 dataPriv.set( 5062 elems[ i ], 5063 "globalEval", 5064 !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 5065 ); 5066 } 5067} 5068 5069 5070var rhtml = /<|&#?\w+;/; 5071 5072function buildFragment( elems, context, scripts, selection, ignored ) { 5073 var elem, tmp, tag, wrap, attached, j, 5074 fragment = context.createDocumentFragment(), 5075 nodes = [], 5076 i = 0, 5077 l = elems.length; 5078 5079 for ( ; i < l; i++ ) { 5080 elem = elems[ i ]; 5081 5082 if ( elem || elem === 0 ) { 5083 5084 // Add nodes directly 5085 if ( toType( elem ) === "object" ) { 5086 5087 // Support: Android <=4.0 only, PhantomJS 1 only 5088 // push.apply(_, arraylike) throws on ancient WebKit 5089 jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); 5090 5091 // Convert non-html into a text node 5092 } else if ( !rhtml.test( elem ) ) { 5093 nodes.push( context.createTextNode( elem ) ); 5094 5095 // Convert html into DOM nodes 5096 } else { 5097 tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); 5098 5099 // Deserialize a standard representation 5100 tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); 5101 wrap = wrapMap[ tag ] || wrapMap._default; 5102 tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; 5103 5104 // Descend through wrappers to the right content 5105 j = wrap[ 0 ]; 5106 while ( j-- ) { 5107 tmp = tmp.lastChild; 5108 } 5109 5110 // Support: Android <=4.0 only, PhantomJS 1 only 5111 // push.apply(_, arraylike) throws on ancient WebKit 5112 jQuery.merge( nodes, tmp.childNodes ); 5113 5114 // Remember the top-level container 5115 tmp = fragment.firstChild; 5116 5117 // Ensure the created nodes are orphaned (trac-12392) 5118 tmp.textContent = ""; 5119 } 5120 } 5121 } 5122 5123 // Remove wrapper from fragment 5124 fragment.textContent = ""; 5125 5126 i = 0; 5127 while ( ( elem = nodes[ i++ ] ) ) { 5128 5129 // Skip elements already in the context collection (trac-4087) 5130 if ( selection && jQuery.inArray( elem, selection ) > -1 ) { 5131 if ( ignored ) { 5132 ignored.push( elem ); 5133 } 5134 continue; 5135 } 5136 5137 attached = isAttached( elem ); 5138 5139 // Append to fragment 5140 tmp = getAll( fragment.appendChild( elem ), "script" ); 5141 5142 // Preserve script evaluation history 5143 if ( attached ) { 5144 setGlobalEval( tmp ); 5145 } 5146 5147 // Capture executables 5148 if ( scripts ) { 5149 j = 0; 5150 while ( ( elem = tmp[ j++ ] ) ) { 5151 if ( rscriptType.test( elem.type || "" ) ) { 5152 scripts.push( elem ); 5153 } 5154 } 5155 } 5156 } 5157 5158 return fragment; 5159} 5160 5161 5162var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; 5163 5164function returnTrue() { 5165 return true; 5166} 5167 5168function returnFalse() { 5169 return false;
vendor: 10,171 bytes, lines 5170-5524
5170} 5171 5172// Support: IE <=9 - 11+ 5173// focus() and blur() are asynchronous, except when they are no-op. 5174// So expect focus to be synchronous when the element is already active, 5175// and blur to be synchronous when the element is not already active. 5176// (focus and blur are always synchronous in other supported browsers, 5177// this just defines when we can count on it). 5178function expectSync( elem, type ) { 5179 return ( elem === safeActiveElement() ) === ( type === "focus" ); 5180} 5181 5182// Support: IE <=9 only 5183// Accessing document.activeElement can throw unexpectedly 5184// https://bugs.jquery.com/ticket/13393 5185function safeActiveElement() { 5186 try { 5187 return document.activeElement; 5188 } catch ( err ) { } 5189} 5190 5191function on( elem, types, selector, data, fn, one ) { 5192 var origFn, type; 5193 5194 // Types can be a map of types/handlers 5195 if ( typeof types === "object" ) { 5196 5197 // ( types-Object, selector, data ) 5198 if ( typeof selector !== "string" ) { 5199 5200 // ( types-Object, data ) 5201 data = data || selector; 5202 selector = undefined; 5203 } 5204 for ( type in types ) { 5205 on( elem, type, selector, data, types[ type ], one ); 5206 } 5207 return elem; 5208 } 5209 5210 if ( data == null && fn == null ) { 5211 5212 // ( types, fn ) 5213 fn = selector; 5214 data = selector = undefined; 5215 } else if ( fn == null ) { 5216 if ( typeof selector === "string" ) { 5217 5218 // ( types, selector, fn ) 5219 fn = data; 5220 data = undefined; 5221 } else { 5222 5223 // ( types, data, fn ) 5224 fn = data; 5225 data = selector; 5226 selector = undefined; 5227 } 5228 } 5229 if ( fn === false ) { 5230 fn = returnFalse; 5231 } else if ( !fn ) { 5232 return elem; 5233 } 5234 5235 if ( one === 1 ) { 5236 origFn = fn; 5237 fn = function( event ) { 5238 5239 // Can use an empty set, since event contains the info 5240 jQuery().off( event ); 5241 return origFn.apply( this, arguments ); 5242 }; 5243 5244 // Use same guid so caller can remove using origFn 5245 fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); 5246 } 5247 return elem.each( function() { 5248 jQuery.event.add( this, types, fn, data, selector ); 5249 } ); 5250} 5251 5252/* 5253 * Helper functions for managing events -- not part of the public interface. 5254 * Props to Dean Edwards' addEvent library for many of the ideas. 5255 */ 5256jQuery.event = { 5257 5258 global: {}, 5259 5260 add: function( elem, types, handler, data, selector ) { 5261 5262 var handleObjIn, eventHandle, tmp, 5263 events, t, handleObj, 5264 special, handlers, type, namespaces, origType, 5265 elemData = dataPriv.get( elem ); 5266 5267 // Only attach events to objects that accept data 5268 if ( !acceptData( elem ) ) { 5269 return; 5270 } 5271 5272 // Caller can pass in an object of custom data in lieu of the handler 5273 if ( handler.handler ) { 5274 handleObjIn = handler; 5275 handler = handleObjIn.handler; 5276 selector = handleObjIn.selector; 5277 } 5278 5279 // Ensure that invalid selectors throw exceptions at attach time 5280 // Evaluate against documentElement in case elem is a non-element node (e.g., document) 5281 if ( selector ) { 5282 jQuery.find.matchesSelector( documentElement, selector ); 5283 } 5284 5285 // Make sure that the handler has a unique ID, used to find/remove it later 5286 if ( !handler.guid ) { 5287 handler.guid = jQuery.guid++; 5288 } 5289 5290 // Init the element's event structure and main handler, if this is the first 5291 if ( !( events = elemData.events ) ) { 5292 events = elemData.events = Object.create( null ); 5293 } 5294 if ( !( eventHandle = elemData.handle ) ) { 5295 eventHandle = elemData.handle = function( e ) { 5296 5297 // Discard the second event of a jQuery.event.trigger() and 5298 // when an event is called after a page has unloaded 5299 return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? 5300 jQuery.event.dispatch.apply( elem, arguments ) : undefined; 5301 }; 5302 } 5303 5304 // Handle multiple events separated by a space 5305 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 5306 t = types.length; 5307 while ( t-- ) { 5308 tmp = rtypenamespace.exec( types[ t ] ) || []; 5309 type = origType = tmp[ 1 ]; 5310 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 5311 5312 // There *must* be a type, no attaching namespace-only handlers 5313 if ( !type ) { 5314 continue; 5315 } 5316 5317 // If event changes its type, use the special event handlers for the changed type 5318 special = jQuery.event.special[ type ] || {}; 5319 5320 // If selector defined, determine special event api type, otherwise given type 5321 type = ( selector ? special.delegateType : special.bindType ) || type; 5322 5323 // Update special based on newly reset type 5324 special = jQuery.event.special[ type ] || {}; 5325 5326 // handleObj is passed to all event handlers 5327 handleObj = jQuery.extend( { 5328 type: type, 5329 origType: origType, 5330 data: data, 5331 handler: handler, 5332 guid: handler.guid, 5333 selector: selector, 5334 needsContext: selector && jQuery.expr.match.needsContext.test( selector ), 5335 namespace: namespaces.join( "." ) 5336 }, handleObjIn ); 5337 5338 // Init the event handler queue if we're the first 5339 if ( !( handlers = events[ type ] ) ) { 5340 handlers = events[ type ] = []; 5341 handlers.delegateCount = 0; 5342 5343 // Only use addEventListener if the special events handler returns false 5344 if ( !special.setup || 5345 special.setup.call( elem, data, namespaces, eventHandle ) === false ) { 5346 5347 if ( elem.addEventListener ) { 5348 elem.addEventListener( type, eventHandle ); 5349 } 5350 } 5351 } 5352 5353 if ( special.add ) { 5354 special.add.call( elem, handleObj ); 5355 5356 if ( !handleObj.handler.guid ) { 5357 handleObj.handler.guid = handler.guid; 5358 } 5359 } 5360 5361 // Add to the element's handler list, delegates in front 5362 if ( selector ) { 5363 handlers.splice( handlers.delegateCount++, 0, handleObj ); 5364 } else { 5365 handlers.push( handleObj ); 5366 } 5367 5368 // Keep track of which events have ever been used, for event optimization 5369 jQuery.event.global[ type ] = true; 5370 } 5371 5372 }, 5373 5374 // Detach an event or set of events from an element 5375 remove: function( elem, types, handler, selector, mappedTypes ) { 5376 5377 var j, origCount, tmp, 5378 events, t, handleObj, 5379 special, handlers, type, namespaces, origType, 5380 elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); 5381 5382 if ( !elemData || !( events = elemData.events ) ) { 5383 return; 5384 } 5385 5386 // Once for each type.namespace in types; type may be omitted 5387 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 5388 t = types.length; 5389 while ( t-- ) { 5390 tmp = rtypenamespace.exec( types[ t ] ) || []; 5391 type = origType = tmp[ 1 ]; 5392 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 5393 5394 // Unbind all events (on this namespace, if provided) for the element 5395 if ( !type ) { 5396 for ( type in events ) { 5397 jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); 5398 } 5399 continue; 5400 } 5401 5402 special = jQuery.event.special[ type ] || {}; 5403 type = ( selector ? special.delegateType : special.bindType ) || type; 5404 handlers = events[ type ] || []; 5405 tmp = tmp[ 2 ] && 5406 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); 5407 5408 // Remove matching events 5409 origCount = j = handlers.length; 5410 while ( j-- ) { 5411 handleObj = handlers[ j ]; 5412 5413 if ( ( mappedTypes || origType === handleObj.origType ) && 5414 ( !handler || handler.guid === handleObj.guid ) && 5415 ( !tmp || tmp.test( handleObj.namespace ) ) && 5416 ( !selector || selector === handleObj.selector || 5417 selector === "**" && handleObj.selector ) ) { 5418 handlers.splice( j, 1 ); 5419 5420 if ( handleObj.selector ) { 5421 handlers.delegateCount--; 5422 } 5423 if ( special.remove ) { 5424 special.remove.call( elem, handleObj ); 5425 } 5426 } 5427 } 5428 5429 // Remove generic event handler if we removed something and no more handlers exist 5430 // (avoids potential for endless recursion during removal of special event handlers) 5431 if ( origCount && !handlers.length ) { 5432 if ( !special.teardown || 5433 special.teardown.call( elem, namespaces, elemData.handle ) === false ) { 5434 5435 jQuery.removeEvent( elem, type, elemData.handle ); 5436 } 5437 5438 delete events[ type ]; 5439 } 5440 } 5441 5442 // Remove data and the expando if it's no longer used 5443 if ( jQuery.isEmptyObject( events ) ) { 5444 dataPriv.remove( elem, "handle events" ); 5445 } 5446 }, 5447 5448 dispatch: function( nativeEvent ) { 5449 5450 var i, j, ret, matched, handleObj, handlerQueue, 5451 args = new Array( arguments.length ), 5452 5453 // Make a writable jQuery.Event from the native event object 5454 event = jQuery.event.fix( nativeEvent ), 5455 5456 handlers = ( 5457 dataPriv.get( this, "events" ) || Object.create( null ) 5458 )[ event.type ] || [], 5459 special = jQuery.event.special[ event.type ] || {}; 5460 5461 // Use the fix-ed jQuery.Event rather than the (read-only) native event 5462 args[ 0 ] = event; 5463 5464 for ( i = 1; i < arguments.length; i++ ) { 5465 args[ i ] = arguments[ i ]; 5466 } 5467 5468 event.delegateTarget = this; 5469 5470 // Call the preDispatch hook for the mapped type, and let it bail if desired 5471 if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { 5472 return; 5473 } 5474 5475 // Determine handlers 5476 handlerQueue = jQuery.event.handlers.call( this, event, handlers ); 5477 5478 // Run delegates first; they may want to stop propagation beneath us 5479 i = 0; 5480 while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { 5481 event.currentTarget = matched.elem; 5482 5483 j = 0; 5484 while ( ( handleObj = matched.handlers[ j++ ] ) && 5485 !event.isImmediatePropagationStopped() ) { 5486 5487 // If the event is namespaced, then each handler is only invoked if it is 5488 // specially universal or its namespaces are a superset of the event's. 5489 if ( !event.rnamespace || handleObj.namespace === false || 5490 event.rnamespace.test( handleObj.namespace ) ) { 5491 5492 event.handleObj = handleObj; 5493 event.data = handleObj.data; 5494 5495 ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || 5496 handleObj.handler ).apply( matched.elem, args ); 5497 5498 if ( ret !== undefined ) { 5499 if ( ( event.result = ret ) === false ) { 5500 event.preventDefault(); 5501 event.stopPropagation(); 5502 } 5503 } 5504 } 5505 } 5506 } 5507 5508 // Call the postDispatch hook for the mapped type 5509 if ( special.postDispatch ) { 5510 special.postDispatch.call( this, event ); 5511 } 5512 5513 return event.result; 5514 }, 5515 5516 handlers: function( event, handlers ) { 5517 var i, handleObj, sel, matchedHandlers, matchedSelectors, 5518 handlerQueue = [], 5519 delegateCount = handlers.delegateCount, 5520 cur = event.target; 5521 5522 // Find delegate handlers 5523 if ( delegateCount && 5524
vendor: 21,304 bytes, lines 5525-6285
5525 // Support: IE <=9 5526 // Black-hole SVG <use> instance trees (trac-13180) 5527 cur.nodeType && 5528 5529 // Support: Firefox <=42 5530 // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) 5531 // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click 5532 // Support: IE 11 only 5533 // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) 5534 !( event.type === "click" && event.button >= 1 ) ) { 5535 5536 for ( ; cur !== this; cur = cur.parentNode || this ) { 5537 5538 // Don't check non-elements (trac-13208) 5539 // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) 5540 if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { 5541 matchedHandlers = []; 5542 matchedSelectors = {}; 5543 for ( i = 0; i < delegateCount; i++ ) { 5544 handleObj = handlers[ i ]; 5545 5546 // Don't conflict with Object.prototype properties (trac-13203) 5547 sel = handleObj.selector + " "; 5548 5549 if ( matchedSelectors[ sel ] === undefined ) { 5550 matchedSelectors[ sel ] = handleObj.needsContext ? 5551 jQuery( sel, this ).index( cur ) > -1 : 5552 jQuery.find( sel, this, null, [ cur ] ).length; 5553 } 5554 if ( matchedSelectors[ sel ] ) { 5555 matchedHandlers.push( handleObj ); 5556 } 5557 } 5558 if ( matchedHandlers.length ) { 5559 handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); 5560 } 5561 } 5562 } 5563 } 5564 5565 // Add the remaining (directly-bound) handlers 5566 cur = this; 5567 if ( delegateCount < handlers.length ) { 5568 handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); 5569 } 5570 5571 return handlerQueue; 5572 }, 5573 5574 addProp: function( name, hook ) { 5575 Object.defineProperty( jQuery.Event.prototype, name, { 5576 enumerable: true, 5577 configurable: true, 5578 5579 get: isFunction( hook ) ? 5580 function() { 5581 if ( this.originalEvent ) { 5582 return hook( this.originalEvent ); 5583 } 5584 } : 5585 function() { 5586 if ( this.originalEvent ) { 5587 return this.originalEvent[ name ]; 5588 } 5589 }, 5590 5591 set: function( value ) { 5592 Object.defineProperty( this, name, { 5593 enumerable: true, 5594 configurable: true, 5595 writable: true, 5596 value: value 5597 } ); 5598 } 5599 } ); 5600 }, 5601 5602 fix: function( originalEvent ) { 5603 return originalEvent[ jQuery.expando ] ? 5604 originalEvent : 5605 new jQuery.Event( originalEvent ); 5606 }, 5607 5608 special: { 5609 load: { 5610 5611 // Prevent triggered image.load events from bubbling to window.load 5612 noBubble: true 5613 }, 5614 click: { 5615 5616 // Utilize native event to ensure correct state for checkable inputs 5617 setup: function( data ) { 5618 5619 // For mutual compressibility with _default, replace `this` access with a local var. 5620 // `|| data` is dead code meant only to preserve the variable through minification. 5621 var el = this || data; 5622 5623 // Claim the first handler 5624 if ( rcheckableType.test( el.type ) && 5625 el.click && nodeName( el, "input" ) ) { 5626 5627 // dataPriv.set( el, "click", ... ) 5628 leverageNative( el, "click", returnTrue ); 5629 } 5630 5631 // Return false to allow normal processing in the caller 5632 return false; 5633 }, 5634 trigger: function( data ) { 5635 5636 // For mutual compressibility with _default, replace `this` access with a local var. 5637 // `|| data` is dead code meant only to preserve the variable through minification. 5638 var el = this || data; 5639 5640 // Force setup before triggering a click 5641 if ( rcheckableType.test( el.type ) && 5642 el.click && nodeName( el, "input" ) ) { 5643 5644 leverageNative( el, "click" ); 5645 } 5646 5647 // Return non-false to allow normal event-path propagation 5648 return true; 5649 }, 5650 5651 // For cross-browser consistency, suppress native .click() on links 5652 // Also prevent it if we're currently inside a leveraged native-event stack 5653 _default: function( event ) { 5654 var target = event.target; 5655 return rcheckableType.test( target.type ) && 5656 target.click && nodeName( target, "input" ) && 5657 dataPriv.get( target, "click" ) || 5658 nodeName( target, "a" ); 5659 } 5660 }, 5661 5662 beforeunload: { 5663 postDispatch: function( event ) { 5664 5665 // Support: Firefox 20+ 5666 // Firefox doesn't alert if the returnValue field is not set. 5667 if ( event.result !== undefined && event.originalEvent ) { 5668 event.originalEvent.returnValue = event.result; 5669 } 5670 } 5671 } 5672 } 5673}; 5674 5675// Ensure the presence of an event listener that handles manually-triggered 5676// synthetic events by interrupting progress until reinvoked in response to 5677// *native* events that it fires directly, ensuring that state changes have 5678// already occurred before other listeners are invoked. 5679function leverageNative( el, type, expectSync ) { 5680 5681 // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add 5682 if ( !expectSync ) { 5683 if ( dataPriv.get( el, type ) === undefined ) { 5684 jQuery.event.add( el, type, returnTrue ); 5685 } 5686 return; 5687 } 5688 5689 // Register the controller as a special universal handler for all event namespaces 5690 dataPriv.set( el, type, false ); 5691 jQuery.event.add( el, type, { 5692 namespace: false, 5693 handler: function( event ) { 5694 var notAsync, result, 5695 saved = dataPriv.get( this, type ); 5696 5697 if ( ( event.isTrigger & 1 ) && this[ type ] ) { 5698 5699 // Interrupt processing of the outer synthetic .trigger()ed event 5700 // Saved data should be false in such cases, but might be a leftover capture object 5701 // from an async native handler (gh-4350) 5702 if ( !saved.length ) { 5703 5704 // Store arguments for use when handling the inner native event 5705 // There will always be at least one argument (an event object), so this array 5706 // will not be confused with a leftover capture object. 5707 saved = slice.call( arguments ); 5708 dataPriv.set( this, type, saved ); 5709 5710 // Trigger the native event and capture its result 5711 // Support: IE <=9 - 11+ 5712 // focus() and blur() are asynchronous 5713 notAsync = expectSync( this, type ); 5714 this[ type ](); 5715 result = dataPriv.get( this, type ); 5716 if ( saved !== result || notAsync ) { 5717 dataPriv.set( this, type, false ); 5718 } else { 5719 result = {}; 5720 } 5721 if ( saved !== result ) { 5722 5723 // Cancel the outer synthetic event 5724 event.stopImmediatePropagation(); 5725 event.preventDefault(); 5726 5727 // Support: Chrome 86+ 5728 // In Chrome, if an element having a focusout handler is blurred by 5729 // clicking outside of it, it invokes the handler synchronously. If 5730 // that handler calls `.remove()` on the element, the data is cleared, 5731 // leaving `result` undefined. We need to guard against this. 5732 return result && result.value; 5733 } 5734 5735 // If this is an inner synthetic event for an event with a bubbling surrogate 5736 // (focus or blur), assume that the surrogate already propagated from triggering the 5737 // native event and prevent that from happening again here. 5738 // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the 5739 // bubbling surrogate propagates *after* the non-bubbling base), but that seems 5740 // less bad than duplication. 5741 } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { 5742 event.stopPropagation(); 5743 } 5744 5745 // If this is a native event triggered above, everything is now in order 5746 // Fire an inner synthetic event with the original arguments 5747 } else if ( saved.length ) { 5748 5749 // ...and capture the result 5750 dataPriv.set( this, type, { 5751 value: jQuery.event.trigger( 5752 5753 // Support: IE <=9 - 11+ 5754 // Extend with the prototype to reset the above stopImmediatePropagation() 5755 jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), 5756 saved.slice( 1 ), 5757 this 5758 ) 5759 } ); 5760 5761 // Abort handling of the native event 5762 event.stopImmediatePropagation(); 5763 } 5764 } 5765 } ); 5766} 5767 5768jQuery.removeEvent = function( elem, type, handle ) { 5769 5770 // This "if" is needed for plain objects 5771 if ( elem.removeEventListener ) { 5772 elem.removeEventListener( type, handle ); 5773 } 5774}; 5775 5776jQuery.Event = function( src, props ) { 5777 5778 // Allow instantiation without the 'new' keyword 5779 if ( !( this instanceof jQuery.Event ) ) { 5780 return new jQuery.Event( src, props ); 5781 } 5782 5783 // Event object 5784 if ( src && src.type ) { 5785 this.originalEvent = src; 5786 this.type = src.type; 5787 5788 // Events bubbling up the document may have been marked as prevented 5789 // by a handler lower down the tree; reflect the correct value. 5790 this.isDefaultPrevented = src.defaultPrevented || 5791 src.defaultPrevented === undefined && 5792 5793 // Support: Android <=2.3 only 5794 src.returnValue === false ? 5795 returnTrue : 5796 returnFalse; 5797 5798 // Create target properties 5799 // Support: Safari <=6 - 7 only 5800 // Target should not be a text node (trac-504, trac-13143) 5801 this.target = ( src.target && src.target.nodeType === 3 ) ? 5802 src.target.parentNode : 5803 src.target; 5804 5805 this.currentTarget = src.currentTarget; 5806 this.relatedTarget = src.relatedTarget; 5807 5808 // Event type 5809 } else { 5810 this.type = src; 5811 } 5812 5813 // Put explicitly provided properties onto the event object 5814 if ( props ) { 5815 jQuery.extend( this, props ); 5816 } 5817 5818 // Create a timestamp if incoming event doesn't have one 5819 this.timeStamp = src && src.timeStamp || Date.now(); 5820 5821 // Mark it as fixed 5822 this[ jQuery.expando ] = true; 5823}; 5824 5825// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding 5826// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html 5827jQuery.Event.prototype = { 5828 constructor: jQuery.Event, 5829 isDefaultPrevented: returnFalse, 5830 isPropagationStopped: returnFalse, 5831 isImmediatePropagationStopped: returnFalse, 5832 isSimulated: false, 5833 5834 preventDefault: function() { 5835 var e = this.originalEvent; 5836 5837 this.isDefaultPrevented = returnTrue; 5838 5839 if ( e && !this.isSimulated ) { 5840 e.preventDefault(); 5841 } 5842 }, 5843 stopPropagation: function() { 5844 var e = this.originalEvent; 5845 5846 this.isPropagationStopped = returnTrue; 5847 5848 if ( e && !this.isSimulated ) { 5849 e.stopPropagation(); 5850 } 5851 }, 5852 stopImmediatePropagation: function() { 5853 var e = this.originalEvent; 5854 5855 this.isImmediatePropagationStopped = returnTrue; 5856 5857 if ( e && !this.isSimulated ) { 5858 e.stopImmediatePropagation(); 5859 } 5860 5861 this.stopPropagation(); 5862 } 5863}; 5864 5865// Includes all common event props including KeyEvent and MouseEvent specific props 5866jQuery.each( { 5867 altKey: true, 5868 bubbles: true, 5869 cancelable: true, 5870 changedTouches: true, 5871 ctrlKey: true, 5872 detail: true, 5873 eventPhase: true, 5874 metaKey: true, 5875 pageX: true, 5876 pageY: true, 5877 shiftKey: true, 5878 view: true, 5879 "char": true, 5880 code: true, 5881 charCode: true, 5882 key: true, 5883 keyCode: true, 5884 button: true, 5885 buttons: true, 5886 clientX: true, 5887 clientY: true, 5888 offsetX: true, 5889 offsetY: true, 5890 pointerId: true, 5891 pointerType: true, 5892 screenX: true, 5893 screenY: true, 5894 targetTouches: true, 5895 toElement: true, 5896 touches: true, 5897 which: true 5898}, jQuery.event.addProp ); 5899 5900jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { 5901 jQuery.event.special[ type ] = { 5902 5903 // Utilize native event if possible so blur/focus sequence is correct 5904 setup: function() { 5905 5906 // Claim the first handler 5907 // dataPriv.set( this, "focus", ... ) 5908 // dataPriv.set( this, "blur", ... ) 5909 leverageNative( this, type, expectSync ); 5910 5911 // Return false to allow normal processing in the caller 5912 return false; 5913 }, 5914 trigger: function() { 5915 5916 // Force setup before trigger 5917 leverageNative( this, type ); 5918 5919 // Return non-false to allow normal event-path propagation 5920 return true; 5921 }, 5922 5923 // Suppress native focus or blur if we're currently inside 5924 // a leveraged native-event stack 5925 _default: function( event ) { 5926 return dataPriv.get( event.target, type ); 5927 }, 5928 5929 delegateType: delegateType 5930 }; 5931} ); 5932 5933// Create mouseenter/leave events using mouseover/out and event-time checks 5934// so that event delegation works in jQuery. 5935// Do the same for pointerenter/pointerleave and pointerover/pointerout 5936// 5937// Support: Safari 7 only 5938// Safari sends mouseenter too often; see: 5939// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 5940// for the description of the bug (it existed in older Chrome versions as well). 5941jQuery.each( { 5942 mouseenter: "mouseover", 5943 mouseleave: "mouseout", 5944 pointerenter: "pointerover", 5945 pointerleave: "pointerout" 5946}, function( orig, fix ) { 5947 jQuery.event.special[ orig ] = { 5948 delegateType: fix, 5949 bindType: fix, 5950 5951 handle: function( event ) { 5952 var ret, 5953 target = this, 5954 related = event.relatedTarget, 5955 handleObj = event.handleObj; 5956 5957 // For mouseenter/leave call the handler if related is outside the target. 5958 // NB: No relatedTarget if the mouse left/entered the browser window 5959 if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { 5960 event.type = handleObj.origType; 5961 ret = handleObj.handler.apply( this, arguments ); 5962 event.type = fix; 5963 } 5964 return ret; 5965 } 5966 }; 5967} ); 5968 5969jQuery.fn.extend( { 5970 5971 on: function( types, selector, data, fn ) { 5972 return on( this, types, selector, data, fn ); 5973 }, 5974 one: function( types, selector, data, fn ) { 5975 return on( this, types, selector, data, fn, 1 ); 5976 }, 5977 off: function( types, selector, fn ) { 5978 var handleObj, type; 5979 if ( types && types.preventDefault && types.handleObj ) { 5980 5981 // ( event ) dispatched jQuery.Event 5982 handleObj = types.handleObj; 5983 jQuery( types.delegateTarget ).off( 5984 handleObj.namespace ? 5985 handleObj.origType + "." + handleObj.namespace : 5986 handleObj.origType, 5987 handleObj.selector, 5988 handleObj.handler 5989 ); 5990 return this; 5991 } 5992 if ( typeof types === "object" ) { 5993 5994 // ( types-object [, selector] ) 5995 for ( type in types ) { 5996 this.off( type, selector, types[ type ] ); 5997 } 5998 return this; 5999 } 6000 if ( selector === false || typeof selector === "function" ) { 6001 6002 // ( types [, fn] ) 6003 fn = selector; 6004 selector = undefined; 6005 } 6006 if ( fn === false ) { 6007 fn = returnFalse; 6008 } 6009 return this.each( function() { 6010 jQuery.event.remove( this, types, fn, selector ); 6011 } ); 6012 } 6013} ); 6014 6015 6016var 6017 6018 // Support: IE <=10 - 11, Edge 12 - 13 only 6019 // In IE/Edge using regex groups here causes severe slowdowns. 6020 // See https://connect.microsoft.com/IE/feedback/details/1736512/ 6021 rnoInnerhtml = /<script|<style|<link/i, 6022 6023 // checked="checked" or checked 6024 rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, 6025 6026 rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g; 6027 6028// Prefer a tbody over its parent table for containing new rows 6029function manipulationTarget( elem, content ) { 6030 if ( nodeName( elem, "table" ) && 6031 nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { 6032 6033 return jQuery( elem ).children( "tbody" )[ 0 ] || elem; 6034 } 6035 6036 return elem; 6037} 6038 6039// Replace/restore the type attribute of script elements for safe DOM manipulation 6040function disableScript( elem ) { 6041 elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; 6042 return elem; 6043} 6044function restoreScript( elem ) { 6045 if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { 6046 elem.type = elem.type.slice( 5 ); 6047 } else { 6048 elem.removeAttribute( "type" ); 6049 } 6050 6051 return elem; 6052} 6053 6054function cloneCopyEvent( src, dest ) { 6055 var i, l, type, pdataOld, udataOld, udataCur, events; 6056 6057 if ( dest.nodeType !== 1 ) { 6058 return; 6059 } 6060 6061 // 1. Copy private data: events, handlers, etc. 6062 if ( dataPriv.hasData( src ) ) { 6063 pdataOld = dataPriv.get( src ); 6064 events = pdataOld.events; 6065 6066 if ( events ) { 6067 dataPriv.remove( dest, "handle events" ); 6068 6069 for ( type in events ) { 6070 for ( i = 0, l = events[ type ].length; i < l; i++ ) { 6071 jQuery.event.add( dest, type, events[ type ][ i ] ); 6072 } 6073 } 6074 } 6075 } 6076 6077 // 2. Copy user data 6078 if ( dataUser.hasData( src ) ) { 6079 udataOld = dataUser.access( src ); 6080 udataCur = jQuery.extend( {}, udataOld ); 6081 6082 dataUser.set( dest, udataCur ); 6083 } 6084} 6085 6086// Fix IE bugs, see support tests 6087function fixInput( src, dest ) { 6088 var nodeName = dest.nodeName.toLowerCase(); 6089 6090 // Fails to persist the checked state of a cloned checkbox or radio button. 6091 if ( nodeName === "input" && rcheckableType.test( src.type ) ) { 6092 dest.checked = src.checked; 6093 6094 // Fails to return the selected option to the default selected state when cloning options 6095 } else if ( nodeName === "input" || nodeName === "textarea" ) { 6096 dest.defaultValue = src.defaultValue; 6097 } 6098} 6099 6100function domManip( collection, args, callback, ignored ) { 6101 6102 // Flatten any nested arrays 6103 args = flat( args ); 6104 6105 var fragment, first, scripts, hasScripts, node, doc, 6106 i = 0, 6107 l = collection.length, 6108 iNoClone = l - 1, 6109 value = args[ 0 ], 6110 valueIsFunction = isFunction( value ); 6111 6112 // We can't cloneNode fragments that contain checked, in WebKit 6113 if ( valueIsFunction || 6114 ( l > 1 && typeof value === "string" && 6115 !support.checkClone && rchecked.test( value ) ) ) { 6116 return collection.each( function( index ) { 6117 var self = collection.eq( index ); 6118 if ( valueIsFunction ) { 6119 args[ 0 ] = value.call( this, index, self.html() ); 6120 } 6121 domManip( self, args, callback, ignored ); 6122 } ); 6123 } 6124 6125 if ( l ) { 6126 fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); 6127 first = fragment.firstChild; 6128 6129 if ( fragment.childNodes.length === 1 ) { 6130 fragment = first; 6131 } 6132 6133 // Require either new content or an interest in ignored elements to invoke the callback 6134 if ( first || ignored ) { 6135 scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); 6136 hasScripts = scripts.length; 6137 6138 // Use the original fragment for the last item 6139 // instead of the first because it can end up 6140 // being emptied incorrectly in certain situations (trac-8070). 6141 for ( ; i < l; i++ ) { 6142 node = fragment; 6143 6144 if ( i !== iNoClone ) { 6145 node = jQuery.clone( node, true, true ); 6146 6147 // Keep references to cloned scripts for later restoration 6148 if ( hasScripts ) { 6149 6150 // Support: Android <=4.0 only, PhantomJS 1 only 6151 // push.apply(_, arraylike) throws on ancient WebKit 6152 jQuery.merge( scripts, getAll( node, "script" ) ); 6153 } 6154 } 6155 6156 callback.call( collection[ i ], node, i ); 6157 } 6158 6159 if ( hasScripts ) { 6160 doc = scripts[ scripts.length - 1 ].ownerDocument; 6161 6162 // Reenable scripts 6163 jQuery.map( scripts, restoreScript ); 6164 6165 // Evaluate executable scripts on first document insertion 6166 for ( i = 0; i < hasScripts; i++ ) { 6167 node = scripts[ i ]; 6168 if ( rscriptType.test( node.type || "" ) && 6169 !dataPriv.access( node, "globalEval" ) && 6170 jQuery.contains( doc, node ) ) { 6171 6172 if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { 6173 6174 // Optional AJAX dependency, but won't run scripts if not present 6175 if ( jQuery._evalUrl && !node.noModule ) { 6176 jQuery._evalUrl( node.src, { 6177 nonce: node.nonce || node.getAttribute( "nonce" ) 6178 }, doc ); 6179 } 6180 } else { 6181 6182 // Unwrap a CDATA section containing script contents. This shouldn't be 6183 // needed as in XML documents they're already not visible when 6184 // inspecting element contents and in HTML documents they have no 6185 // meaning but we're preserving that logic for backwards compatibility. 6186 // This will be removed completely in 4.0. See gh-4904. 6187 DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); 6188 } 6189 } 6190 } 6191 } 6192 } 6193 } 6194 6195 return collection; 6196} 6197 6198function remove( elem, selector, keepData ) { 6199 var node, 6200 nodes = selector ? jQuery.filter( selector, elem ) : elem, 6201 i = 0; 6202 6203 for ( ; ( node = nodes[ i ] ) != null; i++ ) { 6204 if ( !keepData && node.nodeType === 1 ) { 6205 jQuery.cleanData( getAll( node ) ); 6206 } 6207 6208 if ( node.parentNode ) { 6209 if ( keepData && isAttached( node ) ) { 6210 setGlobalEval( getAll( node, "script" ) ); 6211 } 6212 node.parentNode.removeChild( node ); 6213 } 6214 } 6215 6216 return elem; 6217} 6218 6219jQuery.extend( { 6220 htmlPrefilter: function( html ) { 6221 return html; 6222 }, 6223 6224 clone: function( elem, dataAndEvents, deepDataAndEvents ) { 6225 var i, l, srcElements, destElements, 6226 clone = elem.cloneNode( true ), 6227 inPage = isAttached( elem ); 6228 6229 // Fix IE cloning issues 6230 if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && 6231 !jQuery.isXMLDoc( elem ) ) { 6232 6233 // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 6234 destElements = getAll( clone ); 6235 srcElements = getAll( elem ); 6236 6237 for ( i = 0, l = srcElements.length; i < l; i++ ) { 6238 fixInput( srcElements[ i ], destElements[ i ] ); 6239 } 6240 } 6241 6242 // Copy the events from the original to the clone 6243 if ( dataAndEvents ) { 6244 if ( deepDataAndEvents ) { 6245 srcElements = srcElements || getAll( elem ); 6246 destElements = destElements || getAll( clone ); 6247 6248 for ( i = 0, l = srcElements.length; i < l; i++ ) { 6249 cloneCopyEvent( srcElements[ i ], destElements[ i ] ); 6250 } 6251 } else { 6252 cloneCopyEvent( elem, clone ); 6253 } 6254 } 6255 6256 // Preserve script evaluation history 6257 destElements = getAll( clone, "script" ); 6258 if ( destElements.length > 0 ) { 6259 setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); 6260 } 6261 6262 // Return the cloned set 6263 return clone; 6264 }, 6265 6266 cleanData: function( elems ) { 6267 var data, elem, type, 6268 special = jQuery.event.special, 6269 i = 0; 6270 6271 for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { 6272 if ( acceptData( elem ) ) { 6273 if ( ( data = elem[ dataPriv.expando ] ) ) { 6274 if ( data.events ) { 6275 for ( type in data.events ) { 6276 if ( special[ type ] ) { 6277 jQuery.event.remove( elem, type ); 6278 6279 // This is a shortcut to avoid jQuery.event.remove's overhead 6280 } else { 6281 jQuery.removeEvent( elem, type, data.handle ); 6282 } 6283 } 6284 } 6285
vendor: 1,119 bytes, lines 6286-6330
6286 // Support: Chrome <=35 - 45+ 6287 // Assign undefined instead of using delete, see Data#remove 6288 elem[ dataPriv.expando ] = undefined; 6289 } 6290 if ( elem[ dataUser.expando ] ) { 6291 6292 // Support: Chrome <=35 - 45+ 6293 // Assign undefined instead of using delete, see Data#remove 6294 elem[ dataUser.expando ] = undefined; 6295 } 6296 } 6297 } 6298 } 6299} ); 6300 6301jQuery.fn.extend( { 6302 detach: function( selector ) { 6303 return remove( this, selector, true ); 6304 }, 6305 6306 remove: function( selector ) { 6307 return remove( this, selector ); 6308 }, 6309 6310 text: function( value ) { 6311 return access( this, function( value ) { 6312 return value === undefined ? 6313 jQuery.text( this ) : 6314 this.empty().each( function() { 6315 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 6316 this.textContent = value; 6317 } 6318 } ); 6319 }, null, value, arguments.length ); 6320 }, 6321 6322 append: function() { 6323 return domManip( this, arguments, function( elem ) { 6324 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 6325 var target = manipulationTarget( this, elem ); 6326 target.appendChild( elem ); 6327 } 6328 } ); 6329 }, 6330
vendor: 4,664 bytes, lines 6331-6531
6331 prepend: function() { 6332 return domManip( this, arguments, function( elem ) { 6333 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 6334 var target = manipulationTarget( this, elem ); 6335 target.insertBefore( elem, target.firstChild ); 6336 } 6337 } ); 6338 }, 6339 6340 before: function() { 6341 return domManip( this, arguments, function( elem ) { 6342 if ( this.parentNode ) { 6343 this.parentNode.insertBefore( elem, this ); 6344 } 6345 } ); 6346 }, 6347 6348 after: function() { 6349 return domManip( this, arguments, function( elem ) { 6350 if ( this.parentNode ) { 6351 this.parentNode.insertBefore( elem, this.nextSibling ); 6352 } 6353 } ); 6354 }, 6355 6356 empty: function() { 6357 var elem, 6358 i = 0; 6359 6360 for ( ; ( elem = this[ i ] ) != null; i++ ) { 6361 if ( elem.nodeType === 1 ) { 6362 6363 // Prevent memory leaks 6364 jQuery.cleanData( getAll( elem, false ) ); 6365 6366 // Remove any remaining nodes 6367 elem.textContent = ""; 6368 } 6369 } 6370 6371 return this; 6372 }, 6373 6374 clone: function( dataAndEvents, deepDataAndEvents ) { 6375 dataAndEvents = dataAndEvents == null ? false : dataAndEvents; 6376 deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; 6377 6378 return this.map( function() { 6379 return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); 6380 } ); 6381 }, 6382 6383 html: function( value ) { 6384 return access( this, function( value ) { 6385 var elem = this[ 0 ] || {}, 6386 i = 0, 6387 l = this.length; 6388 6389 if ( value === undefined && elem.nodeType === 1 ) { 6390 return elem.innerHTML; 6391 } 6392 6393 // See if we can take a shortcut and just use innerHTML 6394 if ( typeof value === "string" && !rnoInnerhtml.test( value ) && 6395 !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { 6396 6397 value = jQuery.htmlPrefilter( value ); 6398 6399 try { 6400 for ( ; i < l; i++ ) { 6401 elem = this[ i ] || {}; 6402 6403 // Remove element nodes and prevent memory leaks 6404 if ( elem.nodeType === 1 ) { 6405 jQuery.cleanData( getAll( elem, false ) ); 6406 elem.innerHTML = value; 6407 } 6408 } 6409 6410 elem = 0; 6411 6412 // If using innerHTML throws an exception, use the fallback method 6413 } catch ( e ) {} 6414 } 6415 6416 if ( elem ) { 6417 this.empty().append( value ); 6418 } 6419 }, null, value, arguments.length ); 6420 }, 6421 6422 replaceWith: function() { 6423 var ignored = []; 6424 6425 // Make the changes, replacing each non-ignored context element with the new content 6426 return domManip( this, arguments, function( elem ) { 6427 var parent = this.parentNode; 6428 6429 if ( jQuery.inArray( this, ignored ) < 0 ) { 6430 jQuery.cleanData( getAll( this ) ); 6431 if ( parent ) { 6432 parent.replaceChild( elem, this ); 6433 } 6434 } 6435 6436 // Force callback invocation 6437 }, ignored ); 6438 } 6439} ); 6440 6441jQuery.each( { 6442 appendTo: "append", 6443 prependTo: "prepend", 6444 insertBefore: "before", 6445 insertAfter: "after", 6446 replaceAll: "replaceWith" 6447}, function( name, original ) { 6448 jQuery.fn[ name ] = function( selector ) { 6449 var elems, 6450 ret = [], 6451 insert = jQuery( selector ), 6452 last = insert.length - 1, 6453 i = 0; 6454 6455 for ( ; i <= last; i++ ) { 6456 elems = i === last ? this : this.clone( true ); 6457 jQuery( insert[ i ] )[ original ]( elems ); 6458 6459 // Support: Android <=4.0 only, PhantomJS 1 only 6460 // .get() because push.apply(_, arraylike) throws on ancient WebKit 6461 push.apply( ret, elems.get() ); 6462 } 6463 6464 return this.pushStack( ret ); 6465 }; 6466} ); 6467var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 6468 6469var rcustomProp = /^--/; 6470 6471 6472var getStyles = function( elem ) { 6473 6474 // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150) 6475 // IE throws on elements created in popups 6476 // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 6477 var view = elem.ownerDocument.defaultView; 6478 6479 if ( !view || !view.opener ) { 6480 view = window; 6481 } 6482 6483 return view.getComputedStyle( elem ); 6484 }; 6485 6486var swap = function( elem, options, callback ) { 6487 var ret, name, 6488 old = {}; 6489 6490 // Remember the old values, and insert the new ones 6491 for ( name in options ) { 6492 old[ name ] = elem.style[ name ]; 6493 elem.style[ name ] = options[ name ]; 6494 } 6495 6496 ret = callback.call( elem ); 6497 6498 // Revert the old values 6499 for ( name in options ) { 6500 elem.style[ name ] = old[ name ]; 6501 } 6502 6503 return ret; 6504}; 6505 6506 6507var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 6508 6509var whitespace = "[\\x20\\t\\r\\n\\f]"; 6510 6511 6512var rtrimCSS = new RegExp( 6513 "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", 6514 "g" 6515); 6516 6517 6518 6519 6520( function() { 6521 6522 // Executing both pixelPosition & boxSizingReliable tests require only one layout 6523 // so they're executed at the same time to save the second computation. 6524 function computeStyleTests() { 6525 6526 // This is a singleton, we need to execute it only once 6527 if ( !div ) { 6528 return; 6529 } 6530 6531 container.style.cssText = "position:absolute;
vendor: 9,426 bytes, lines 6531-6826
6531left:-11111px;width:60px;" + 6532 "margin-top:1px;padding:0;border:0"; 6533 div.style.cssText = 6534 "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + 6535 "margin:auto;border:1px;padding:1px;" + 6536 "width:60%;top:1%"; 6537 documentElement.appendChild( container ).appendChild( div ); 6538 6539 var divStyle = window.getComputedStyle( div ); 6540 pixelPositionVal = divStyle.top !== "1%"; 6541 6542 // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 6543 reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; 6544 6545 // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 6546 // Some styles come back with percentage values, even though they shouldn't 6547 div.style.right = "60%"; 6548 pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; 6549 6550 // Support: IE 9 - 11 only 6551 // Detect misreporting of content dimensions for box-sizing:border-box elements 6552 boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; 6553 6554 // Support: IE 9 only 6555 // Detect overflow:scroll screwiness (gh-3699) 6556 // Support: Chrome <=64 6557 // Don't get tricked when zoom affects offsetWidth (gh-4029) 6558 div.style.position = "absolute"; 6559 scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; 6560 6561 documentElement.removeChild( container ); 6562 6563 // Nullify the div so it wouldn't be stored in the memory and 6564 // it will also be a sign that checks already performed 6565 div = null; 6566 } 6567 6568 function roundPixelMeasures( measure ) { 6569 return Math.round( parseFloat( measure ) ); 6570 } 6571 6572 var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, 6573 reliableTrDimensionsVal, reliableMarginLeftVal, 6574 container = document.createElement( "div" ), 6575 div = document.createElement( "div" ); 6576 6577 // Finish early in limited (non-browser) environments 6578 if ( !div.style ) { 6579 return; 6580 } 6581 6582 // Support: IE <=9 - 11 only 6583 // Style of cloned element affects source element cloned (trac-8908) 6584 div.style.backgroundClip = "content-box"; 6585 div.cloneNode( true ).style.backgroundClip = ""; 6586 support.clearCloneStyle = div.style.backgroundClip === "content-box"; 6587 6588 jQuery.extend( support, { 6589 boxSizingReliable: function() { 6590 computeStyleTests(); 6591 return boxSizingReliableVal; 6592 }, 6593 pixelBoxStyles: function() { 6594 computeStyleTests(); 6595 return pixelBoxStylesVal; 6596 }, 6597 pixelPosition: function() { 6598 computeStyleTests(); 6599 return pixelPositionVal; 6600 }, 6601 reliableMarginLeft: function() { 6602 computeStyleTests(); 6603 return reliableMarginLeftVal; 6604 }, 6605 scrollboxSize: function() { 6606 computeStyleTests(); 6607 return scrollboxSizeVal; 6608 }, 6609 6610 // Support: IE 9 - 11+, Edge 15 - 18+ 6611 // IE/Edge misreport `getComputedStyle` of table rows with width/height 6612 // set in CSS while `offset*` properties report correct values. 6613 // Behavior in IE 9 is more subtle than in newer versions & it passes 6614 // some versions of this test; make sure not to make it pass there! 6615 // 6616 // Support: Firefox 70+ 6617 // Only Firefox includes border widths 6618 // in computed dimensions. (gh-4529) 6619 reliableTrDimensions: function() { 6620 var table, tr, trChild, trStyle; 6621 if ( reliableTrDimensionsVal == null ) { 6622 table = document.createElement( "table" ); 6623 tr = document.createElement( "tr" ); 6624 trChild = document.createElement( "div" ); 6625 6626 table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; 6627 tr.style.cssText = "border:1px solid"; 6628 6629 // Support: Chrome 86+ 6630 // Height set through cssText does not get applied. 6631 // Computed height then comes back as 0. 6632 tr.style.height = "1px"; 6633 trChild.style.height = "9px"; 6634 6635 // Support: Android 8 Chrome 86+ 6636 // In our bodyBackground.html iframe, 6637 // display for all div elements is set to "inline", 6638 // which causes a problem only in Android 8 Chrome 86. 6639 // Ensuring the div is display: block 6640 // gets around this issue. 6641 trChild.style.display = "block"; 6642 6643 documentElement 6644 .appendChild( table ) 6645 .appendChild( tr ) 6646 .appendChild( trChild ); 6647 6648 trStyle = window.getComputedStyle( tr ); 6649 reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + 6650 parseInt( trStyle.borderTopWidth, 10 ) + 6651 parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; 6652 6653 documentElement.removeChild( table ); 6654 } 6655 return reliableTrDimensionsVal; 6656 } 6657 } ); 6658} )(); 6659 6660 6661function curCSS( elem, name, computed ) { 6662 var width, minWidth, maxWidth, ret, 6663 isCustomProp = rcustomProp.test( name ), 6664 6665 // Support: Firefox 51+ 6666 // Retrieving style before computed somehow 6667 // fixes an issue with getting wrong values 6668 // on detached elements 6669 style = elem.style; 6670 6671 computed = computed || getStyles( elem ); 6672 6673 // getPropertyValue is needed for: 6674 // .css('filter') (IE 9 only, trac-12537) 6675 // .css('--customProperty) (gh-3144) 6676 if ( computed ) { 6677 6678 // Support: IE <=9 - 11+ 6679 // IE only supports `"float"` in `getPropertyValue`; in computed styles 6680 // it's only available as `"cssFloat"`. We no longer modify properties 6681 // sent to `.css()` apart from camelCasing, so we need to check both. 6682 // Normally, this would create difference in behavior: if 6683 // `getPropertyValue` returns an empty string, the value returned 6684 // by `.css()` would be `undefined`. This is usually the case for 6685 // disconnected elements. However, in IE even disconnected elements 6686 // with no styles return `"none"` for `getPropertyValue( "float" )` 6687 ret = computed.getPropertyValue( name ) || computed[ name ]; 6688 6689 if ( isCustomProp && ret ) { 6690 6691 // Support: Firefox 105+, Chrome <=105+ 6692 // Spec requires trimming whitespace for custom properties (gh-4926). 6693 // Firefox only trims leading whitespace. Chrome just collapses 6694 // both leading & trailing whitespace to a single space. 6695 // 6696 // Fall back to `undefined` if empty string returned. 6697 // This collapses a missing definition with property defined 6698 // and set to an empty string but there's no standard API 6699 // allowing us to differentiate them without a performance penalty 6700 // and returning `undefined` aligns with older jQuery. 6701 // 6702 // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED 6703 // as whitespace while CSS does not, but this is not a problem 6704 // because CSS preprocessing replaces them with U+000A LINE FEED 6705 // (which *is* CSS whitespace) 6706 // https://www.w3.org/TR/css-syntax-3/#input-preprocessing 6707 ret = ret.replace( rtrimCSS, "$1" ) || undefined; 6708 } 6709 6710 if ( ret === "" && !isAttached( elem ) ) { 6711 ret = jQuery.style( elem, name ); 6712 } 6713 6714 // A tribute to the "awesome hack by Dean Edwards" 6715 // Android Browser returns percentage for some values, 6716 // but width seems to be reliably pixels. 6717 // This is against the CSSOM draft spec: 6718 // https://drafts.csswg.org/cssom/#resolved-values 6719 if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { 6720 6721 // Remember the original values 6722 width = style.width; 6723 minWidth = style.minWidth; 6724 maxWidth = style.maxWidth; 6725 6726 // Put in the new values to get a computed value out 6727 style.minWidth = style.maxWidth = style.width = ret; 6728 ret = computed.width; 6729 6730 // Revert the changed values 6731 style.width = width; 6732 style.minWidth = minWidth; 6733 style.maxWidth = maxWidth; 6734 } 6735 } 6736 6737 return ret !== undefined ? 6738 6739 // Support: IE <=9 - 11 only 6740 // IE returns zIndex value as an integer. 6741 ret + "" : 6742 ret; 6743} 6744 6745 6746function addGetHookIf( conditionFn, hookFn ) { 6747 6748 // Define the hook, we'll check on the first run if it's really needed. 6749 return { 6750 get: function() { 6751 if ( conditionFn() ) { 6752 6753 // Hook not needed (or it's not possible to use it due 6754 // to missing dependency), remove it. 6755 delete this.get; 6756 return; 6757 } 6758 6759 // Hook needed; redefine it so that the support test is not executed again. 6760 return ( this.get = hookFn ).apply( this, arguments ); 6761 } 6762 }; 6763} 6764 6765 6766var cssPrefixes = [ "Webkit", "Moz", "ms" ], 6767 emptyStyle = document.createElement( "div" ).style, 6768 vendorProps = {}; 6769 6770// Return a vendor-prefixed property or undefined 6771function vendorPropName( name ) { 6772 6773 // Check for vendor prefixed names 6774 var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), 6775 i = cssPrefixes.length; 6776 6777 while ( i-- ) { 6778 name = cssPrefixes[ i ] + capName; 6779 if ( name in emptyStyle ) { 6780 return name; 6781 } 6782 } 6783} 6784 6785// Return a potentially-mapped jQuery.cssProps or vendor prefixed property 6786function finalPropName( name ) { 6787 var final = jQuery.cssProps[ name ] || vendorProps[ name ]; 6788 6789 if ( final ) { 6790 return final; 6791 } 6792 if ( name in emptyStyle ) { 6793 return name; 6794 } 6795 return vendorProps[ name ] = vendorPropName( name ) || name; 6796} 6797 6798 6799var 6800 6801 // Swappable if display is none or starts with table 6802 // except "table", "table-cell", or "table-caption" 6803 // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display 6804 rdisplayswap = /^(none|table(?!-c[ea]).+)/, 6805 cssShow = { position: "absolute", visibility: "hidden", display: "block" }, 6806 cssNormalTransform = { 6807 letterSpacing: "0", 6808 fontWeight: "400" 6809 }; 6810 6811function setPositiveNumber( _elem, value, subtract ) { 6812 6813 // Any relative (+/-) values have already been 6814 // normalized at this point 6815 var matches = rcssNum.exec( value ); 6816 return matches ? 6817 6818 // Guard against undefined "subtract", e.g., when used as in cssHooks 6819 Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : 6820 value; 6821} 6822 6823function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { 6824 var i = dimension === "width" ? 1 : 0, 6825 extra = 0, 6826 delta = 0
vendor: 6,571 bytes, lines 6826-7048
6826; 6827 6828 // Adjustment may not be necessary 6829 if ( box === ( isBorderBox ? "border" : "content" ) ) { 6830 return 0; 6831 } 6832 6833 for ( ; i < 4; i += 2 ) { 6834 6835 // Both box models exclude margin 6836 if ( box === "margin" ) { 6837 delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); 6838 } 6839 6840 // If we get here with a content-box, we're seeking "padding" or "border" or "margin" 6841 if ( !isBorderBox ) { 6842 6843 // Add padding 6844 delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 6845 6846 // For "border" or "margin", add border 6847 if ( box !== "padding" ) { 6848 delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 6849 6850 // But still keep track of it otherwise 6851 } else { 6852 extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 6853 } 6854 6855 // If we get here with a border-box (content + padding + border), we're seeking "content" or 6856 // "padding" or "margin" 6857 } else { 6858 6859 // For "content", subtract padding 6860 if ( box === "content" ) { 6861 delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 6862 } 6863 6864 // For "content" or "padding", subtract border 6865 if ( box !== "margin" ) { 6866 delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 6867 } 6868 } 6869 } 6870 6871 // Account for positive content-box scroll gutter when requested by providing computedVal 6872 if ( !isBorderBox && computedVal >= 0 ) { 6873 6874 // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border 6875 // Assuming integer scroll gutter, subtract the rest and round down 6876 delta += Math.max( 0, Math.ceil( 6877 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 6878 computedVal - 6879 delta - 6880 extra - 6881 0.5 6882 6883 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter 6884 // Use an explicit zero to avoid NaN (gh-3964) 6885 ) ) || 0; 6886 } 6887 6888 return delta; 6889} 6890 6891function getWidthOrHeight( elem, dimension, extra ) { 6892 6893 // Start with computed style 6894 var styles = getStyles( elem ), 6895 6896 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). 6897 // Fake content-box until we know it's needed to know the true value. 6898 boxSizingNeeded = !support.boxSizingReliable() || extra, 6899 isBorderBox = boxSizingNeeded && 6900 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 6901 valueIsBorderBox = isBorderBox, 6902 6903 val = curCSS( elem, dimension, styles ), 6904 offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); 6905 6906 // Support: Firefox <=54 6907 // Return a confounding non-pixel value or feign ignorance, as appropriate. 6908 if ( rnumnonpx.test( val ) ) { 6909 if ( !extra ) { 6910 return val; 6911 } 6912 val = "auto"; 6913 } 6914 6915 6916 // Support: IE 9 - 11 only 6917 // Use offsetWidth/offsetHeight for when box sizing is unreliable. 6918 // In those cases, the computed value can be trusted to be border-box. 6919 if ( ( !support.boxSizingReliable() && isBorderBox || 6920 6921 // Support: IE 10 - 11+, Edge 15 - 18+ 6922 // IE/Edge misreport `getComputedStyle` of table rows with width/height 6923 // set in CSS while `offset*` properties report correct values. 6924 // Interestingly, in some cases IE 9 doesn't suffer from this issue. 6925 !support.reliableTrDimensions() && nodeName( elem, "tr" ) || 6926 6927 // Fall back to offsetWidth/offsetHeight when value is "auto" 6928 // This happens for inline elements with no explicit setting (gh-3571) 6929 val === "auto" || 6930 6931 // Support: Android <=4.1 - 4.3 only 6932 // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) 6933 !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && 6934 6935 // Make sure the element is visible & connected 6936 elem.getClientRects().length ) { 6937 6938 isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; 6939 6940 // Where available, offsetWidth/offsetHeight approximate border box dimensions. 6941 // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the 6942 // retrieved value as a content box dimension. 6943 valueIsBorderBox = offsetProp in elem; 6944 if ( valueIsBorderBox ) { 6945 val = elem[ offsetProp ]; 6946 } 6947 } 6948 6949 // Normalize "" and auto 6950 val = parseFloat( val ) || 0; 6951 6952 // Adjust for the element's box model 6953 return ( val + 6954 boxModelAdjustment( 6955 elem, 6956 dimension, 6957 extra || ( isBorderBox ? "border" : "content" ), 6958 valueIsBorderBox, 6959 styles, 6960 6961 // Provide the current computed size to request scroll gutter calculation (gh-3589) 6962 val 6963 ) 6964 ) + "px"; 6965} 6966 6967jQuery.extend( { 6968 6969 // Add in style property hooks for overriding the default 6970 // behavior of getting and setting a style property 6971 cssHooks: { 6972 opacity: { 6973 get: function( elem, computed ) { 6974 if ( computed ) { 6975 6976 // We should always get a number back from opacity 6977 var ret = curCSS( elem, "opacity" ); 6978 return ret === "" ? "1" : ret; 6979 } 6980 } 6981 } 6982 }, 6983 6984 // Don't automatically add "px" to these possibly-unitless properties 6985 cssNumber: { 6986 "animationIterationCount": true, 6987 "columnCount": true, 6988 "fillOpacity": true, 6989 "flexGrow": true, 6990 "flexShrink": true, 6991 "fontWeight": true, 6992 "gridArea": true, 6993 "gridColumn": true, 6994 "gridColumnEnd": true, 6995 "gridColumnStart": true, 6996 "gridRow": true, 6997 "gridRowEnd": true, 6998 "gridRowStart": true, 6999 "lineHeight": true, 7000 "opacity": true, 7001 "order": true, 7002 "orphans": true, 7003 "widows": true, 7004 "zIndex": true, 7005 "zoom": true 7006 }, 7007 7008 // Add in properties whose names you wish to fix before 7009 // setting or getting the value 7010 cssProps: {}, 7011 7012 // Get and set the style property on a DOM Node 7013 style: function( elem, name, value, extra ) { 7014 7015 // Don't set styles on text and comment nodes 7016 if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { 7017 return; 7018 } 7019 7020 // Make sure that we're working with the right name 7021 var ret, type, hooks, 7022 origName = camelCase( name ), 7023 isCustomProp = rcustomProp.test( name ), 7024 style = elem.style; 7025 7026 // Make sure that we're working with the right name. We don't 7027 // want to query the value if it is a CSS custom property 7028 // since they are user-defined. 7029 if ( !isCustomProp ) { 7030 name = finalPropName( origName ); 7031 } 7032 7033 // Gets hook for the prefixed version, then unprefixed version 7034 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 7035 7036 // Check if we're setting a value 7037 if ( value !== undefined ) { 7038 type = typeof value; 7039 7040 // Convert "+=" or "-=" to relative numbers (trac-7345) 7041 if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { 7042 value = adjustCSS( elem, name, ret ); 7043 7044 // Fixes bug trac-9237 7045 type = "number"; 7046 } 7047 7048 // Make sure that null and NaN values aren't set (trac-
vendor: 16,724 bytes, lines 7048-7670
70487116) 7049 if ( value == null || value !== value ) { 7050 return; 7051 } 7052 7053 // If a number was passed in, add the unit (except for certain CSS properties) 7054 // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append 7055 // "px" to a few hardcoded values. 7056 if ( type === "number" && !isCustomProp ) { 7057 value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); 7058 } 7059 7060 // background-* props affect original clone's values 7061 if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { 7062 style[ name ] = "inherit"; 7063 } 7064 7065 // If a hook was provided, use that value, otherwise just set the specified value 7066 if ( !hooks || !( "set" in hooks ) || 7067 ( value = hooks.set( elem, value, extra ) ) !== undefined ) { 7068 7069 if ( isCustomProp ) { 7070 style.setProperty( name, value ); 7071 } else { 7072 style[ name ] = value; 7073 } 7074 } 7075 7076 } else { 7077 7078 // If a hook was provided get the non-computed value from there 7079 if ( hooks && "get" in hooks && 7080 ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { 7081 7082 return ret; 7083 } 7084 7085 // Otherwise just get the value from the style object 7086 return style[ name ]; 7087 } 7088 }, 7089 7090 css: function( elem, name, extra, styles ) { 7091 var val, num, hooks, 7092 origName = camelCase( name ), 7093 isCustomProp = rcustomProp.test( name ); 7094 7095 // Make sure that we're working with the right name. We don't 7096 // want to modify the value if it is a CSS custom property 7097 // since they are user-defined. 7098 if ( !isCustomProp ) { 7099 name = finalPropName( origName ); 7100 } 7101 7102 // Try prefixed name followed by the unprefixed name 7103 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 7104 7105 // If a hook was provided get the computed value from there 7106 if ( hooks && "get" in hooks ) { 7107 val = hooks.get( elem, true, extra ); 7108 } 7109 7110 // Otherwise, if a way to get the computed value exists, use that 7111 if ( val === undefined ) { 7112 val = curCSS( elem, name, styles ); 7113 } 7114 7115 // Convert "normal" to computed value 7116 if ( val === "normal" && name in cssNormalTransform ) { 7117 val = cssNormalTransform[ name ]; 7118 } 7119 7120 // Make numeric if forced or a qualifier was provided and val looks numeric 7121 if ( extra === "" || extra ) { 7122 num = parseFloat( val ); 7123 return extra === true || isFinite( num ) ? num || 0 : val; 7124 } 7125 7126 return val; 7127 } 7128} ); 7129 7130jQuery.each( [ "height", "width" ], function( _i, dimension ) { 7131 jQuery.cssHooks[ dimension ] = { 7132 get: function( elem, computed, extra ) { 7133 if ( computed ) { 7134 7135 // Certain elements can have dimension info if we invisibly show them 7136 // but it must have a current display style that would benefit 7137 return rdisplayswap.test( jQuery.css( elem, "display" ) ) && 7138 7139 // Support: Safari 8+ 7140 // Table columns in Safari have non-zero offsetWidth & zero 7141 // getBoundingClientRect().width unless display is changed. 7142 // Support: IE <=11 only 7143 // Running getBoundingClientRect on a disconnected node 7144 // in IE throws an error. 7145 ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? 7146 swap( elem, cssShow, function() { 7147 return getWidthOrHeight( elem, dimension, extra ); 7148 } ) : 7149 getWidthOrHeight( elem, dimension, extra ); 7150 } 7151 }, 7152 7153 set: function( elem, value, extra ) { 7154 var matches, 7155 styles = getStyles( elem ), 7156 7157 // Only read styles.position if the test has a chance to fail 7158 // to avoid forcing a reflow. 7159 scrollboxSizeBuggy = !support.scrollboxSize() && 7160 styles.position === "absolute", 7161 7162 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) 7163 boxSizingNeeded = scrollboxSizeBuggy || extra, 7164 isBorderBox = boxSizingNeeded && 7165 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 7166 subtract = extra ? 7167 boxModelAdjustment( 7168 elem, 7169 dimension, 7170 extra, 7171 isBorderBox, 7172 styles 7173 ) : 7174 0; 7175 7176 // Account for unreliable border-box dimensions by comparing offset* to computed and 7177 // faking a content-box to get border and padding (gh-3699) 7178 if ( isBorderBox && scrollboxSizeBuggy ) { 7179 subtract -= Math.ceil( 7180 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 7181 parseFloat( styles[ dimension ] ) - 7182 boxModelAdjustment( elem, dimension, "border", false, styles ) - 7183 0.5 7184 ); 7185 } 7186 7187 // Convert to pixels if value adjustment is needed 7188 if ( subtract && ( matches = rcssNum.exec( value ) ) && 7189 ( matches[ 3 ] || "px" ) !== "px" ) { 7190 7191 elem.style[ dimension ] = value; 7192 value = jQuery.css( elem, dimension ); 7193 } 7194 7195 return setPositiveNumber( elem, value, subtract ); 7196 } 7197 }; 7198} ); 7199 7200jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, 7201 function( elem, computed ) { 7202 if ( computed ) { 7203 return ( parseFloat( curCSS( elem, "marginLeft" ) ) || 7204 elem.getBoundingClientRect().left - 7205 swap( elem, { marginLeft: 0 }, function() { 7206 return elem.getBoundingClientRect().left; 7207 } ) 7208 ) + "px"; 7209 } 7210 } 7211); 7212 7213// These hooks are used by animate to expand properties 7214jQuery.each( { 7215 margin: "", 7216 padding: "", 7217 border: "Width" 7218}, function( prefix, suffix ) { 7219 jQuery.cssHooks[ prefix + suffix ] = { 7220 expand: function( value ) { 7221 var i = 0, 7222 expanded = {}, 7223 7224 // Assumes a single number if not a string 7225 parts = typeof value === "string" ? value.split( " " ) : [ value ]; 7226 7227 for ( ; i < 4; i++ ) { 7228 expanded[ prefix + cssExpand[ i ] + suffix ] = 7229 parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; 7230 } 7231 7232 return expanded; 7233 } 7234 }; 7235 7236 if ( prefix !== "margin" ) { 7237 jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; 7238 } 7239} ); 7240 7241jQuery.fn.extend( { 7242 css: function( name, value ) { 7243 return access( this, function( elem, name, value ) { 7244 var styles, len, 7245 map = {}, 7246 i = 0; 7247 7248 if ( Array.isArray( name ) ) { 7249 styles = getStyles( elem ); 7250 len = name.length; 7251 7252 for ( ; i < len; i++ ) { 7253 map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); 7254 } 7255 7256 return map; 7257 } 7258 7259 return value !== undefined ? 7260 jQuery.style( elem, name, value ) : 7261 jQuery.css( elem, name ); 7262 }, name, value, arguments.length > 1 ); 7263 } 7264} ); 7265 7266 7267function Tween( elem, options, prop, end, easing ) { 7268 return new Tween.prototype.init( elem, options, prop, end, easing ); 7269} 7270jQuery.Tween = Tween; 7271 7272Tween.prototype = { 7273 constructor: Tween, 7274 init: function( elem, options, prop, end, easing, unit ) { 7275 this.elem = elem; 7276 this.prop = prop; 7277 this.easing = easing || jQuery.easing._default; 7278 this.options = options; 7279 this.start = this.now = this.cur(); 7280 this.end = end; 7281 this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); 7282 }, 7283 cur: function() { 7284 var hooks = Tween.propHooks[ this.prop ]; 7285 7286 return hooks && hooks.get ? 7287 hooks.get( this ) : 7288 Tween.propHooks._default.get( this ); 7289 }, 7290 run: function( percent ) { 7291 var eased, 7292 hooks = Tween.propHooks[ this.prop ]; 7293 7294 if ( this.options.duration ) { 7295 this.pos = eased = jQuery.easing[ this.easing ]( 7296 percent, this.options.duration * percent, 0, 1, this.options.duration 7297 ); 7298 } else { 7299 this.pos = eased = percent; 7300 } 7301 this.now = ( this.end - this.start ) * eased + this.start; 7302 7303 if ( this.options.step ) { 7304 this.options.step.call( this.elem, this.now, this ); 7305 } 7306 7307 if ( hooks && hooks.set ) { 7308 hooks.set( this ); 7309 } else { 7310 Tween.propHooks._default.set( this ); 7311 } 7312 return this; 7313 } 7314}; 7315 7316Tween.prototype.init.prototype = Tween.prototype; 7317 7318Tween.propHooks = { 7319 _default: { 7320 get: function( tween ) { 7321 var result; 7322 7323 // Use a property on the element directly when it is not a DOM element, 7324 // or when there is no matching style property that exists. 7325 if ( tween.elem.nodeType !== 1 || 7326 tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { 7327 return tween.elem[ tween.prop ]; 7328 } 7329 7330 // Passing an empty string as a 3rd parameter to .css will automatically 7331 // attempt a parseFloat and fallback to a string if the parse fails. 7332 // Simple values such as "10px" are parsed to Float; 7333 // complex values such as "rotate(1rad)" are returned as-is. 7334 result = jQuery.css( tween.elem, tween.prop, "" ); 7335 7336 // Empty strings, null, undefined and "auto" are converted to 0. 7337 return !result || result === "auto" ? 0 : result; 7338 }, 7339 set: function( tween ) { 7340 7341 // Use step hook for back compat. 7342 // Use cssHook if its there. 7343 // Use .style if available and use plain properties where available. 7344 if ( jQuery.fx.step[ tween.prop ] ) { 7345 jQuery.fx.step[ tween.prop ]( tween ); 7346 } else if ( tween.elem.nodeType === 1 && ( 7347 jQuery.cssHooks[ tween.prop ] || 7348 tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { 7349 jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); 7350 } else { 7351 tween.elem[ tween.prop ] = tween.now; 7352 } 7353 } 7354 } 7355}; 7356 7357// Support: IE <=9 only 7358// Panic based approach to setting things on disconnected nodes 7359Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { 7360 set: function( tween ) { 7361 if ( tween.elem.nodeType && tween.elem.parentNode ) { 7362 tween.elem[ tween.prop ] = tween.now; 7363 } 7364 } 7365}; 7366 7367jQuery.easing = { 7368 linear: function( p ) { 7369 return p; 7370 }, 7371 swing: function( p ) { 7372 return 0.5 - Math.cos( p * Math.PI ) / 2; 7373 }, 7374 _default: "swing" 7375}; 7376 7377jQuery.fx = Tween.prototype.init; 7378 7379// Back compat <1.8 extension point 7380jQuery.fx.step = {}; 7381 7382 7383 7384 7385var 7386 fxNow, inProgress, 7387 rfxtypes = /^(?:toggle|show|hide)$/, 7388 rrun = /queueHooks$/; 7389 7390function schedule() { 7391 if ( inProgress ) { 7392 if ( document.hidden === false && window.requestAnimationFrame ) { 7393 window.requestAnimationFrame( schedule ); 7394 } else { 7395 window.setTimeout( schedule, jQuery.fx.interval ); 7396 } 7397 7398 jQuery.fx.tick(); 7399 } 7400} 7401 7402// Animations created synchronously will run synchronously 7403function createFxNow() { 7404 window.setTimeout( function() { 7405 fxNow = undefined; 7406 } ); 7407 return ( fxNow = Date.now() ); 7408} 7409 7410// Generate parameters to create a standard animation 7411function genFx( type, includeWidth ) { 7412 var which, 7413 i = 0, 7414 attrs = { height: type }; 7415 7416 // If we include width, step value is 1 to do all cssExpand values, 7417 // otherwise step value is 2 to skip over Left and Right 7418 includeWidth = includeWidth ? 1 : 0; 7419 for ( ; i < 4; i += 2 - includeWidth ) { 7420 which = cssExpand[ i ]; 7421 attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; 7422 } 7423 7424 if ( includeWidth ) { 7425 attrs.opacity = attrs.width = type; 7426 } 7427 7428 return attrs; 7429} 7430 7431function createTween( value, prop, animation ) { 7432 var tween, 7433 collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), 7434 index = 0, 7435 length = collection.length; 7436 for ( ; index < length; index++ ) { 7437 if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { 7438 7439 // We're done with this property 7440 return tween; 7441 } 7442 } 7443} 7444 7445function defaultPrefilter( elem, props, opts ) { 7446 var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, 7447 isBox = "width" in props || "height" in props, 7448 anim = this, 7449 orig = {}, 7450 style = elem.style, 7451 hidden = elem.nodeType && isHiddenWithinTree( elem ), 7452 dataShow = dataPriv.get( elem, "fxshow" ); 7453 7454 // Queue-skipping animations hijack the fx hooks 7455 if ( !opts.queue ) { 7456 hooks = jQuery._queueHooks( elem, "fx" ); 7457 if ( hooks.unqueued == null ) { 7458 hooks.unqueued = 0; 7459 oldfire = hooks.empty.fire; 7460 hooks.empty.fire = function() { 7461 if ( !hooks.unqueued ) { 7462 oldfire(); 7463 } 7464 }; 7465 } 7466 hooks.unqueued++; 7467 7468 anim.always( function() { 7469 7470 // Ensure the complete handler is called before this completes 7471 anim.always( function() { 7472 hooks.unqueued--; 7473 if ( !jQuery.queue( elem, "fx" ).length ) { 7474 hooks.empty.fire(); 7475 } 7476 } ); 7477 } ); 7478 } 7479 7480 // Detect show/hide animations 7481 for ( prop in props ) { 7482 value = props[ prop ]; 7483 if ( rfxtypes.test( value ) ) { 7484 delete props[ prop ]; 7485 toggle = toggle || value === "toggle"; 7486 if ( value === ( hidden ? "hide" : "show" ) ) { 7487 7488 // Pretend to be hidden if this is a "show" and 7489 // there is still data from a stopped show/hide 7490 if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { 7491 hidden = true; 7492 7493 // Ignore all other no-op show/hide data 7494 } else { 7495 continue; 7496 } 7497 } 7498 orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); 7499 } 7500 } 7501 7502 // Bail out if this is a no-op like .hide().hide() 7503 propTween = !jQuery.isEmptyObject( props ); 7504 if ( !propTween && jQuery.isEmptyObject( orig ) ) { 7505 return; 7506 } 7507 7508 // Restrict "overflow" and "display" styles during box animations 7509 if ( isBox && elem.nodeType === 1 ) { 7510 7511 // Support: IE <=9 - 11, Edge 12 - 15 7512 // Record all 3 overflow attributes because IE does not infer the shorthand 7513 // from identically-valued overflowX and overflowY and Edge just mirrors 7514 // the overflowX value there. 7515 opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; 7516 7517 // Identify a display type, preferring old show/hide data over the CSS cascade 7518 restoreDisplay = dataShow && dataShow.display; 7519 if ( restoreDisplay == null ) { 7520 restoreDisplay = dataPriv.get( elem, "display" ); 7521 } 7522 display = jQuery.css( elem, "display" ); 7523 if ( display === "none" ) { 7524 if ( restoreDisplay ) { 7525 display = restoreDisplay; 7526 } else { 7527 7528 // Get nonempty value(s) by temporarily forcing visibility 7529 showHide( [ elem ], true ); 7530 restoreDisplay = elem.style.display || restoreDisplay; 7531 display = jQuery.css( elem, "display" ); 7532 showHide( [ elem ] ); 7533 } 7534 } 7535 7536 // Animate inline elements as inline-block 7537 if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { 7538 if ( jQuery.css( elem, "float" ) === "none" ) { 7539 7540 // Restore the original display value at the end of pure show/hide animations 7541 if ( !propTween ) { 7542 anim.done( function() { 7543 style.display = restoreDisplay; 7544 } ); 7545 if ( restoreDisplay == null ) { 7546 display = style.display; 7547 restoreDisplay = display === "none" ? "" : display; 7548 } 7549 } 7550 style.display = "inline-block"; 7551 } 7552 } 7553 } 7554 7555 if ( opts.overflow ) { 7556 style.overflow = "hidden"; 7557 anim.always( function() { 7558 style.overflow = opts.overflow[ 0 ]; 7559 style.overflowX = opts.overflow[ 1 ]; 7560 style.overflowY = opts.overflow[ 2 ]; 7561 } ); 7562 } 7563 7564 // Implement show/hide animations 7565 propTween = false; 7566 for ( prop in orig ) { 7567 7568 // General show/hide setup for this element animation 7569 if ( !propTween ) { 7570 if ( dataShow ) { 7571 if ( "hidden" in dataShow ) { 7572 hidden = dataShow.hidden; 7573 } 7574 } else { 7575 dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); 7576 } 7577 7578 // Store hidden/visible for toggle so `.stop().toggle()` "reverses" 7579 if ( toggle ) { 7580 dataShow.hidden = !hidden; 7581 } 7582 7583 // Show elements before animating them 7584 if ( hidden ) { 7585 showHide( [ elem ], true ); 7586 } 7587 7588 /* eslint-disable no-loop-func */ 7589 7590 anim.done( function() { 7591 7592 /* eslint-enable no-loop-func */ 7593 7594 // The final step of a "hide" animation is actually hiding the element 7595 if ( !hidden ) { 7596 showHide( [ elem ] ); 7597 } 7598 dataPriv.remove( elem, "fxshow" ); 7599 for ( prop in orig ) { 7600 jQuery.style( elem, prop, orig[ prop ] ); 7601 } 7602 } ); 7603 } 7604 7605 // Per-property setup 7606 propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); 7607 if ( !( prop in dataShow ) ) { 7608 dataShow[ prop ] = propTween.start; 7609 if ( hidden ) { 7610 propTween.end = propTween.start; 7611 propTween.start = 0; 7612 } 7613 } 7614 } 7615} 7616 7617function propFilter( props, specialEasing ) { 7618 var index, name, easing, value, hooks; 7619 7620 // camelCase, specialEasing and expand cssHook pass 7621 for ( index in props ) { 7622 name = camelCase( index ); 7623 easing = specialEasing[ name ]; 7624 value = props[ index ]; 7625 if ( Array.isArray( value ) ) { 7626 easing = value[ 1 ]; 7627 value = props[ index ] = value[ 0 ]; 7628 } 7629 7630 if ( index !== name ) { 7631 props[ name ] = value; 7632 delete props[ index ]; 7633 } 7634 7635 hooks = jQuery.cssHooks[ name ]; 7636 if ( hooks && "expand" in hooks ) { 7637 value = hooks.expand( value ); 7638 delete props[ name ]; 7639 7640 // Not quite $.extend, this won't overwrite existing keys. 7641 // Reusing 'index' because we have the correct "name" 7642 for ( index in value ) { 7643 if ( !( index in props ) ) { 7644 props[ index ] = value[ index ]; 7645 specialEasing[ index ] = easing; 7646 } 7647 } 7648 } else { 7649 specialEasing[ name ] = easing; 7650 } 7651 } 7652} 7653 7654function Animation( elem, properties, options ) { 7655 var result, 7656 stopped, 7657 index = 0, 7658 length = Animation.prefilters.length, 7659 deferred = jQuery.Deferred().always( function() { 7660 7661 // Don't match elem in the :animated selector 7662 delete tick.elem; 7663 } ), 7664 tick = function() { 7665 if ( stopped ) { 7666 return false; 7667 } 7668 var currentTime = fxNow || createFxNow(), 7669 remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), 7670
vendor: 9,542 bytes, lines 7671-8061
7671 // Support: Android 2.3 only 7672 // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497) 7673 temp = remaining / animation.duration || 0, 7674 percent = 1 - temp, 7675 index = 0, 7676 length = animation.tweens.length; 7677 7678 for ( ; index < length; index++ ) { 7679 animation.tweens[ index ].run( percent ); 7680 } 7681 7682 deferred.notifyWith( elem, [ animation, percent, remaining ] ); 7683 7684 // If there's more to do, yield 7685 if ( percent < 1 && length ) { 7686 return remaining; 7687 } 7688 7689 // If this was an empty animation, synthesize a final progress notification 7690 if ( !length ) { 7691 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 7692 } 7693 7694 // Resolve the animation and report its conclusion 7695 deferred.resolveWith( elem, [ animation ] ); 7696 return false; 7697 }, 7698 animation = deferred.promise( { 7699 elem: elem, 7700 props: jQuery.extend( {}, properties ), 7701 opts: jQuery.extend( true, { 7702 specialEasing: {}, 7703 easing: jQuery.easing._default 7704 }, options ), 7705 originalProperties: properties, 7706 originalOptions: options, 7707 startTime: fxNow || createFxNow(), 7708 duration: options.duration, 7709 tweens: [], 7710 createTween: function( prop, end ) { 7711 var tween = jQuery.Tween( elem, animation.opts, prop, end, 7712 animation.opts.specialEasing[ prop ] || animation.opts.easing ); 7713 animation.tweens.push( tween ); 7714 return tween; 7715 }, 7716 stop: function( gotoEnd ) { 7717 var index = 0, 7718 7719 // If we are going to the end, we want to run all the tweens 7720 // otherwise we skip this part 7721 length = gotoEnd ? animation.tweens.length : 0; 7722 if ( stopped ) { 7723 return this; 7724 } 7725 stopped = true; 7726 for ( ; index < length; index++ ) { 7727 animation.tweens[ index ].run( 1 ); 7728 } 7729 7730 // Resolve when we played the last frame; otherwise, reject 7731 if ( gotoEnd ) { 7732 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 7733 deferred.resolveWith( elem, [ animation, gotoEnd ] ); 7734 } else { 7735 deferred.rejectWith( elem, [ animation, gotoEnd ] ); 7736 } 7737 return this; 7738 } 7739 } ), 7740 props = animation.props; 7741 7742 propFilter( props, animation.opts.specialEasing ); 7743 7744 for ( ; index < length; index++ ) { 7745 result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); 7746 if ( result ) { 7747 if ( isFunction( result.stop ) ) { 7748 jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = 7749 result.stop.bind( result ); 7750 } 7751 return result; 7752 } 7753 } 7754 7755 jQuery.map( props, createTween, animation ); 7756 7757 if ( isFunction( animation.opts.start ) ) { 7758 animation.opts.start.call( elem, animation ); 7759 } 7760 7761 // Attach callbacks from options 7762 animation 7763 .progress( animation.opts.progress ) 7764 .done( animation.opts.done, animation.opts.complete ) 7765 .fail( animation.opts.fail ) 7766 .always( animation.opts.always ); 7767 7768 jQuery.fx.timer( 7769 jQuery.extend( tick, { 7770 elem: elem, 7771 anim: animation, 7772 queue: animation.opts.queue 7773 } ) 7774 ); 7775 7776 return animation; 7777} 7778 7779jQuery.Animation = jQuery.extend( Animation, { 7780 7781 tweeners: { 7782 "*": [ function( prop, value ) { 7783 var tween = this.createTween( prop, value ); 7784 adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); 7785 return tween; 7786 } ] 7787 }, 7788 7789 tweener: function( props, callback ) { 7790 if ( isFunction( props ) ) { 7791 callback = props; 7792 props = [ "*" ]; 7793 } else { 7794 props = props.match( rnothtmlwhite ); 7795 } 7796 7797 var prop, 7798 index = 0, 7799 length = props.length; 7800 7801 for ( ; index < length; index++ ) { 7802 prop = props[ index ]; 7803 Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; 7804 Animation.tweeners[ prop ].unshift( callback ); 7805 } 7806 }, 7807 7808 prefilters: [ defaultPrefilter ], 7809 7810 prefilter: function( callback, prepend ) { 7811 if ( prepend ) { 7812 Animation.prefilters.unshift( callback ); 7813 } else { 7814 Animation.prefilters.push( callback ); 7815 } 7816 } 7817} ); 7818 7819jQuery.speed = function( speed, easing, fn ) { 7820 var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { 7821 complete: fn || !fn && easing || 7822 isFunction( speed ) && speed, 7823 duration: speed, 7824 easing: fn && easing || easing && !isFunction( easing ) && easing 7825 }; 7826 7827 // Go to the end state if fx are off 7828 if ( jQuery.fx.off ) { 7829 opt.duration = 0; 7830 7831 } else { 7832 if ( typeof opt.duration !== "number" ) { 7833 if ( opt.duration in jQuery.fx.speeds ) { 7834 opt.duration = jQuery.fx.speeds[ opt.duration ]; 7835 7836 } else { 7837 opt.duration = jQuery.fx.speeds._default; 7838 } 7839 } 7840 } 7841 7842 // Normalize opt.queue - true/undefined/null -> "fx" 7843 if ( opt.queue == null || opt.queue === true ) { 7844 opt.queue = "fx"; 7845 } 7846 7847 // Queueing 7848 opt.old = opt.complete; 7849 7850 opt.complete = function() { 7851 if ( isFunction( opt.old ) ) { 7852 opt.old.call( this ); 7853 } 7854 7855 if ( opt.queue ) { 7856 jQuery.dequeue( this, opt.queue ); 7857 } 7858 }; 7859 7860 return opt; 7861}; 7862 7863jQuery.fn.extend( { 7864 fadeTo: function( speed, to, easing, callback ) { 7865 7866 // Show any hidden elements after setting opacity to 0 7867 return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() 7868 7869 // Animate to the value specified 7870 .end().animate( { opacity: to }, speed, easing, callback ); 7871 }, 7872 animate: function( prop, speed, easing, callback ) { 7873 var empty = jQuery.isEmptyObject( prop ), 7874 optall = jQuery.speed( speed, easing, callback ), 7875 doAnimation = function() { 7876 7877 // Operate on a copy of prop so per-property easing won't be lost 7878 var anim = Animation( this, jQuery.extend( {}, prop ), optall ); 7879 7880 // Empty animations, or finishing resolves immediately 7881 if ( empty || dataPriv.get( this, "finish" ) ) { 7882 anim.stop( true ); 7883 } 7884 }; 7885 7886 doAnimation.finish = doAnimation; 7887 7888 return empty || optall.queue === false ? 7889 this.each( doAnimation ) : 7890 this.queue( optall.queue, doAnimation ); 7891 }, 7892 stop: function( type, clearQueue, gotoEnd ) { 7893 var stopQueue = function( hooks ) { 7894 var stop = hooks.stop; 7895 delete hooks.stop; 7896 stop( gotoEnd ); 7897 }; 7898 7899 if ( typeof type !== "string" ) { 7900 gotoEnd = clearQueue; 7901 clearQueue = type; 7902 type = undefined; 7903 } 7904 if ( clearQueue ) { 7905 this.queue( type || "fx", [] ); 7906 } 7907 7908 return this.each( function() { 7909 var dequeue = true, 7910 index = type != null && type + "queueHooks", 7911 timers = jQuery.timers, 7912 data = dataPriv.get( this ); 7913 7914 if ( index ) { 7915 if ( data[ index ] && data[ index ].stop ) { 7916 stopQueue( data[ index ] ); 7917 } 7918 } else { 7919 for ( index in data ) { 7920 if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { 7921 stopQueue( data[ index ] ); 7922 } 7923 } 7924 } 7925 7926 for ( index = timers.length; index--; ) { 7927 if ( timers[ index ].elem === this && 7928 ( type == null || timers[ index ].queue === type ) ) { 7929 7930 timers[ index ].anim.stop( gotoEnd ); 7931 dequeue = false; 7932 timers.splice( index, 1 ); 7933 } 7934 } 7935 7936 // Start the next in the queue if the last step wasn't forced. 7937 // Timers currently will call their complete callbacks, which 7938 // will dequeue but only if they were gotoEnd. 7939 if ( dequeue || !gotoEnd ) { 7940 jQuery.dequeue( this, type ); 7941 } 7942 } ); 7943 }, 7944 finish: function( type ) { 7945 if ( type !== false ) { 7946 type = type || "fx"; 7947 } 7948 return this.each( function() { 7949 var index, 7950 data = dataPriv.get( this ), 7951 queue = data[ type + "queue" ], 7952 hooks = data[ type + "queueHooks" ], 7953 timers = jQuery.timers, 7954 length = queue ? queue.length : 0; 7955 7956 // Enable finishing flag on private data 7957 data.finish = true; 7958 7959 // Empty the queue first 7960 jQuery.queue( this, type, [] ); 7961 7962 if ( hooks && hooks.stop ) { 7963 hooks.stop.call( this, true ); 7964 } 7965 7966 // Look for any active animations, and finish them 7967 for ( index = timers.length; index--; ) { 7968 if ( timers[ index ].elem === this && timers[ index ].queue === type ) { 7969 timers[ index ].anim.stop( true ); 7970 timers.splice( index, 1 ); 7971 } 7972 } 7973 7974 // Look for any animations in the old queue and finish them 7975 for ( index = 0; index < length; index++ ) { 7976 if ( queue[ index ] && queue[ index ].finish ) { 7977 queue[ index ].finish.call( this ); 7978 } 7979 } 7980 7981 // Turn off finishing flag 7982 delete data.finish; 7983 } ); 7984 } 7985} ); 7986 7987jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { 7988 var cssFn = jQuery.fn[ name ]; 7989 jQuery.fn[ name ] = function( speed, easing, callback ) { 7990 return speed == null || typeof speed === "boolean" ? 7991 cssFn.apply( this, arguments ) : 7992 this.animate( genFx( name, true ), speed, easing, callback ); 7993 }; 7994} ); 7995 7996// Generate shortcuts for custom animations 7997jQuery.each( { 7998 slideDown: genFx( "show" ), 7999 slideUp: genFx( "hide" ), 8000 slideToggle: genFx( "toggle" ), 8001 fadeIn: { opacity: "show" }, 8002 fadeOut: { opacity: "hide" }, 8003 fadeToggle: { opacity: "toggle" } 8004}, function( name, props ) { 8005 jQuery.fn[ name ] = function( speed, easing, callback ) { 8006 return this.animate( props, speed, easing, callback ); 8007 }; 8008} ); 8009 8010jQuery.timers = []; 8011jQuery.fx.tick = function() { 8012 var timer, 8013 i = 0, 8014 timers = jQuery.timers; 8015 8016 fxNow = Date.now(); 8017 8018 for ( ; i < timers.length; i++ ) { 8019 timer = timers[ i ]; 8020 8021 // Run the timer and safely remove it when done (allowing for external removal) 8022 if ( !timer() && timers[ i ] === timer ) { 8023 timers.splice( i--, 1 ); 8024 } 8025 } 8026 8027 if ( !timers.length ) { 8028 jQuery.fx.stop(); 8029 } 8030 fxNow = undefined; 8031}; 8032 8033jQuery.fx.timer = function( timer ) { 8034 jQuery.timers.push( timer ); 8035 jQuery.fx.start(); 8036}; 8037 8038jQuery.fx.interval = 13; 8039jQuery.fx.start = function() { 8040 if ( inProgress ) { 8041 return; 8042 } 8043 8044 inProgress = true; 8045 schedule(); 8046}; 8047 8048jQuery.fx.stop = function() { 8049 inProgress = null; 8050}; 8051 8052jQuery.fx.speeds = { 8053 slow: 600, 8054 fast: 200, 8055 8056 // Default speed 8057 _default: 400 8058}; 8059 8060 8061// Based off of the plugin by Clint Helfers, with permission.
vendor: 5,177 bytes, lines 8062-8282
8062jQuery.fn.delay = function( time, type ) { 8063 time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 8064 type = type || "fx"; 8065 8066 return this.queue( type, function( next, hooks ) { 8067 var timeout = window.setTimeout( next, time ); 8068 hooks.stop = function() { 8069 window.clearTimeout( timeout ); 8070 }; 8071 } ); 8072}; 8073 8074 8075( function() { 8076 var input = document.createElement( "input" ), 8077 select = document.createElement( "select" ), 8078 opt = select.appendChild( document.createElement( "option" ) ); 8079 8080 input.type = "checkbox"; 8081 8082 // Support: Android <=4.3 only 8083 // Default value for a checkbox should be "on" 8084 support.checkOn = input.value !== ""; 8085 8086 // Support: IE <=11 only 8087 // Must access selectedIndex to make default options select 8088 support.optSelected = opt.selected; 8089 8090 // Support: IE <=11 only 8091 // An input loses its value after becoming a radio 8092 input = document.createElement( "input" ); 8093 input.value = "t"; 8094 input.type = "radio"; 8095 support.radioValue = input.value === "t"; 8096} )(); 8097 8098 8099var boolHook, 8100 attrHandle = jQuery.expr.attrHandle; 8101 8102jQuery.fn.extend( { 8103 attr: function( name, value ) { 8104 return access( this, jQuery.attr, name, value, arguments.length > 1 ); 8105 }, 8106 8107 removeAttr: function( name ) { 8108 return this.each( function() { 8109 jQuery.removeAttr( this, name ); 8110 } ); 8111 } 8112} ); 8113 8114jQuery.extend( { 8115 attr: function( elem, name, value ) { 8116 var ret, hooks, 8117 nType = elem.nodeType; 8118 8119 // Don't get/set attributes on text, comment and attribute nodes 8120 if ( nType === 3 || nType === 8 || nType === 2 ) { 8121 return; 8122 } 8123 8124 // Fallback to prop when attributes are not supported 8125 if ( typeof elem.getAttribute === "undefined" ) { 8126 return jQuery.prop( elem, name, value ); 8127 } 8128 8129 // Attribute hooks are determined by the lowercase version 8130 // Grab necessary hook if one is defined 8131 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 8132 hooks = jQuery.attrHooks[ name.toLowerCase() ] || 8133 ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); 8134 } 8135 8136 if ( value !== undefined ) { 8137 if ( value === null ) { 8138 jQuery.removeAttr( elem, name ); 8139 return; 8140 } 8141 8142 if ( hooks && "set" in hooks && 8143 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 8144 return ret; 8145 } 8146 8147 elem.setAttribute( name, value + "" ); 8148 return value; 8149 } 8150 8151 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 8152 return ret; 8153 } 8154 8155 ret = jQuery.find.attr( elem, name ); 8156 8157 // Non-existent attributes return null, we normalize to undefined 8158 return ret == null ? undefined : ret; 8159 }, 8160 8161 attrHooks: { 8162 type: { 8163 set: function( elem, value ) { 8164 if ( !support.radioValue && value === "radio" && 8165 nodeName( elem, "input" ) ) { 8166 var val = elem.value; 8167 elem.setAttribute( "type", value ); 8168 if ( val ) { 8169 elem.value = val; 8170 } 8171 return value; 8172 } 8173 } 8174 } 8175 }, 8176 8177 removeAttr: function( elem, value ) { 8178 var name, 8179 i = 0, 8180 8181 // Attribute names can contain non-HTML whitespace characters 8182 // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 8183 attrNames = value && value.match( rnothtmlwhite ); 8184 8185 if ( attrNames && elem.nodeType === 1 ) { 8186 while ( ( name = attrNames[ i++ ] ) ) { 8187 elem.removeAttribute( name ); 8188 } 8189 } 8190 } 8191} ); 8192 8193// Hooks for boolean attributes 8194boolHook = { 8195 set: function( elem, value, name ) { 8196 if ( value === false ) { 8197 8198 // Remove boolean attributes when set to false 8199 jQuery.removeAttr( elem, name ); 8200 } else { 8201 elem.setAttribute( name, name ); 8202 } 8203 return name; 8204 } 8205}; 8206 8207jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { 8208 var getter = attrHandle[ name ] || jQuery.find.attr; 8209 8210 attrHandle[ name ] = function( elem, name, isXML ) { 8211 var ret, handle, 8212 lowercaseName = name.toLowerCase(); 8213 8214 if ( !isXML ) { 8215 8216 // Avoid an infinite loop by temporarily removing this function from the getter 8217 handle = attrHandle[ lowercaseName ]; 8218 attrHandle[ lowercaseName ] = ret; 8219 ret = getter( elem, name, isXML ) != null ? 8220 lowercaseName : 8221 null; 8222 attrHandle[ lowercaseName ] = handle; 8223 } 8224 return ret; 8225 }; 8226} ); 8227 8228 8229 8230 8231var rfocusable = /^(?:input|select|textarea|button)$/i, 8232 rclickable = /^(?:a|area)$/i; 8233 8234jQuery.fn.extend( { 8235 prop: function( name, value ) { 8236 return access( this, jQuery.prop, name, value, arguments.length > 1 ); 8237 }, 8238 8239 removeProp: function( name ) { 8240 return this.each( function() { 8241 delete this[ jQuery.propFix[ name ] || name ]; 8242 } ); 8243 } 8244} ); 8245 8246jQuery.extend( { 8247 prop: function( elem, name, value ) { 8248 var ret, hooks, 8249 nType = elem.nodeType; 8250 8251 // Don't get/set properties on text, comment and attribute nodes 8252 if ( nType === 3 || nType === 8 || nType === 2 ) { 8253 return; 8254 } 8255 8256 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 8257 8258 // Fix name and attach hooks 8259 name = jQuery.propFix[ name ] || name; 8260 hooks = jQuery.propHooks[ name ]; 8261 } 8262 8263 if ( value !== undefined ) { 8264 if ( hooks && "set" in hooks && 8265 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 8266 return ret; 8267 } 8268 8269 return ( elem[ name ] = value ); 8270 } 8271 8272 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 8273 return ret; 8274 } 8275 8276 return elem[ name ]; 8277 }, 8278 8279 propHooks: { 8280 tabIndex: { 8281 get: function( elem ) { 8282
vendor: 6,126 bytes, lines 8283-8542
8283 // Support: IE <=9 - 11 only 8284 // elem.tabIndex doesn't always return the 8285 // correct value when it hasn't been explicitly set 8286 // Use proper attribute retrieval (trac-12072) 8287 var tabindex = jQuery.find.attr( elem, "tabindex" ); 8288 8289 if ( tabindex ) { 8290 return parseInt( tabindex, 10 ); 8291 } 8292 8293 if ( 8294 rfocusable.test( elem.nodeName ) || 8295 rclickable.test( elem.nodeName ) && 8296 elem.href 8297 ) { 8298 return 0; 8299 } 8300 8301 return -1; 8302 } 8303 } 8304 }, 8305 8306 propFix: { 8307 "for": "htmlFor", 8308 "class": "className" 8309 } 8310} ); 8311 8312// Support: IE <=11 only 8313// Accessing the selectedIndex property 8314// forces the browser to respect setting selected 8315// on the option 8316// The getter ensures a default option is selected 8317// when in an optgroup 8318// eslint rule "no-unused-expressions" is disabled for this code 8319// since it considers such accessions noop 8320if ( !support.optSelected ) { 8321 jQuery.propHooks.selected = { 8322 get: function( elem ) { 8323 8324 /* eslint no-unused-expressions: "off" */ 8325 8326 var parent = elem.parentNode; 8327 if ( parent && parent.parentNode ) { 8328 parent.parentNode.selectedIndex; 8329 } 8330 return null; 8331 }, 8332 set: function( elem ) { 8333 8334 /* eslint no-unused-expressions: "off" */ 8335 8336 var parent = elem.parentNode; 8337 if ( parent ) { 8338 parent.selectedIndex; 8339 8340 if ( parent.parentNode ) { 8341 parent.parentNode.selectedIndex; 8342 } 8343 } 8344 } 8345 }; 8346} 8347 8348jQuery.each( [ 8349 "tabIndex", 8350 "readOnly", 8351 "maxLength", 8352 "cellSpacing", 8353 "cellPadding", 8354 "rowSpan", 8355 "colSpan", 8356 "useMap", 8357 "frameBorder", 8358 "contentEditable" 8359], function() { 8360 jQuery.propFix[ this.toLowerCase() ] = this; 8361} ); 8362 8363 8364 8365 8366 // Strip and collapse whitespace according to HTML spec 8367 // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 8368 function stripAndCollapse( value ) { 8369 var tokens = value.match( rnothtmlwhite ) || []; 8370 return tokens.join( " " ); 8371 } 8372 8373 8374function getClass( elem ) { 8375 return elem.getAttribute && elem.getAttribute( "class" ) || ""; 8376} 8377 8378function classesToArray( value ) { 8379 if ( Array.isArray( value ) ) { 8380 return value; 8381 } 8382 if ( typeof value === "string" ) { 8383 return value.match( rnothtmlwhite ) || []; 8384 } 8385 return []; 8386} 8387 8388jQuery.fn.extend( { 8389 addClass: function( value ) { 8390 var classNames, cur, curValue, className, i, finalValue; 8391 8392 if ( isFunction( value ) ) { 8393 return this.each( function( j ) { 8394 jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); 8395 } ); 8396 } 8397 8398 classNames = classesToArray( value ); 8399 8400 if ( classNames.length ) { 8401 return this.each( function() { 8402 curValue = getClass( this ); 8403 cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 8404 8405 if ( cur ) { 8406 for ( i = 0; i < classNames.length; i++ ) { 8407 className = classNames[ i ]; 8408 if ( cur.indexOf( " " + className + " " ) < 0 ) { 8409 cur += className + " "; 8410 } 8411 } 8412 8413 // Only assign if different to avoid unneeded rendering. 8414 finalValue = stripAndCollapse( cur ); 8415 if ( curValue !== finalValue ) { 8416 this.setAttribute( "class", finalValue ); 8417 } 8418 } 8419 } ); 8420 } 8421 8422 return this; 8423 }, 8424 8425 removeClass: function( value ) { 8426 var classNames, cur, curValue, className, i, finalValue; 8427 8428 if ( isFunction( value ) ) { 8429 return this.each( function( j ) { 8430 jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); 8431 } ); 8432 } 8433 8434 if ( !arguments.length ) { 8435 return this.attr( "class", "" ); 8436 } 8437 8438 classNames = classesToArray( value ); 8439 8440 if ( classNames.length ) { 8441 return this.each( function() { 8442 curValue = getClass( this ); 8443 8444 // This expression is here for better compressibility (see addClass) 8445 cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 8446 8447 if ( cur ) { 8448 for ( i = 0; i < classNames.length; i++ ) { 8449 className = classNames[ i ]; 8450 8451 // Remove *all* instances 8452 while ( cur.indexOf( " " + className + " " ) > -1 ) { 8453 cur = cur.replace( " " + className + " ", " " ); 8454 } 8455 } 8456 8457 // Only assign if different to avoid unneeded rendering. 8458 finalValue = stripAndCollapse( cur ); 8459 if ( curValue !== finalValue ) { 8460 this.setAttribute( "class", finalValue ); 8461 } 8462 } 8463 } ); 8464 } 8465 8466 return this; 8467 }, 8468 8469 toggleClass: function( value, stateVal ) { 8470 var classNames, className, i, self, 8471 type = typeof value, 8472 isValidValue = type === "string" || Array.isArray( value ); 8473 8474 if ( isFunction( value ) ) { 8475 return this.each( function( i ) { 8476 jQuery( this ).toggleClass( 8477 value.call( this, i, getClass( this ), stateVal ), 8478 stateVal 8479 ); 8480 } ); 8481 } 8482 8483 if ( typeof stateVal === "boolean" && isValidValue ) { 8484 return stateVal ? this.addClass( value ) : this.removeClass( value ); 8485 } 8486 8487 classNames = classesToArray( value ); 8488 8489 return this.each( function() { 8490 if ( isValidValue ) { 8491 8492 // Toggle individual class names 8493 self = jQuery( this ); 8494 8495 for ( i = 0; i < classNames.length; i++ ) { 8496 className = classNames[ i ]; 8497 8498 // Check each className given, space separated list 8499 if ( self.hasClass( className ) ) { 8500 self.removeClass( className ); 8501 } else { 8502 self.addClass( className ); 8503 } 8504 } 8505 8506 // Toggle whole class name 8507 } else if ( value === undefined || type === "boolean" ) { 8508 className = getClass( this ); 8509 if ( className ) { 8510 8511 // Store className if set 8512 dataPriv.set( this, "__className__", className ); 8513 } 8514 8515 // If the element has a class name or if we're passed `false`, 8516 // then remove the whole classname (if there was one, the above saved it). 8517 // Otherwise bring back whatever was previously saved (if anything), 8518 // falling back to the empty string if nothing was stored. 8519 if ( this.setAttribute ) { 8520 this.setAttribute( "class", 8521 className || value === false ? 8522 "" : 8523 dataPriv.get( this, "__className__" ) || "" 8524 ); 8525 } 8526 } 8527 } ); 8528 }, 8529 8530 hasClass: function( selector ) { 8531 var className, elem, 8532 i = 0; 8533 8534 className = " " + selector + " "; 8535 while ( ( elem = this[ i++ ] ) ) { 8536 if ( elem.nodeType === 1 && 8537 ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { 8538 return true; 8539 } 8540 } 8541 8542 return false;
vendor: 1,385 bytes, lines 8543-8612
8543 } 8544} ); 8545 8546 8547 8548 8549var rreturn = /\r/g; 8550 8551jQuery.fn.extend( { 8552 val: function( value ) { 8553 var hooks, ret, valueIsFunction, 8554 elem = this[ 0 ]; 8555 8556 if ( !arguments.length ) { 8557 if ( elem ) { 8558 hooks = jQuery.valHooks[ elem.type ] || 8559 jQuery.valHooks[ elem.nodeName.toLowerCase() ]; 8560 8561 if ( hooks && 8562 "get" in hooks && 8563 ( ret = hooks.get( elem, "value" ) ) !== undefined 8564 ) { 8565 return ret; 8566 } 8567 8568 ret = elem.value; 8569 8570 // Handle most common string cases 8571 if ( typeof ret === "string" ) { 8572 return ret.replace( rreturn, "" ); 8573 } 8574 8575 // Handle cases where value is null/undef or number 8576 return ret == null ? "" : ret; 8577 } 8578 8579 return; 8580 } 8581 8582 valueIsFunction = isFunction( value ); 8583 8584 return this.each( function( i ) { 8585 var val; 8586 8587 if ( this.nodeType !== 1 ) { 8588 return; 8589 } 8590 8591 if ( valueIsFunction ) { 8592 val = value.call( this, i, jQuery( this ).val() ); 8593 } else { 8594 val = value; 8595 } 8596 8597 // Treat null/undefined as ""; convert numbers to string 8598 if ( val == null ) { 8599 val = ""; 8600 8601 } else if ( typeof val === "number" ) { 8602 val += ""; 8603 8604 } else if ( Array.isArray( val ) ) { 8605 val = jQuery.map( val, function( value ) { 8606 return value == null ? "" : value + ""; 8607 } ); 8608 } 8609 8610 hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; 8611 8612 // If set returns undefined, fall back to normal setting
vendor: 8,269 bytes, lines 8613-8927
8613 if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { 8614 this.value = val; 8615 } 8616 } ); 8617 } 8618} ); 8619 8620jQuery.extend( { 8621 valHooks: { 8622 option: { 8623 get: function( elem ) { 8624 8625 var val = jQuery.find.attr( elem, "value" ); 8626 return val != null ? 8627 val : 8628 8629 // Support: IE <=10 - 11 only 8630 // option.text throws exceptions (trac-14686, trac-14858) 8631 // Strip and collapse whitespace 8632 // https://html.spec.whatwg.org/#strip-and-collapse-whitespace 8633 stripAndCollapse( jQuery.text( elem ) ); 8634 } 8635 }, 8636 select: { 8637 get: function( elem ) { 8638 var value, option, i, 8639 options = elem.options, 8640 index = elem.selectedIndex, 8641 one = elem.type === "select-one", 8642 values = one ? null : [], 8643 max = one ? index + 1 : options.length; 8644 8645 if ( index < 0 ) { 8646 i = max; 8647 8648 } else { 8649 i = one ? index : 0; 8650 } 8651 8652 // Loop through all the selected options 8653 for ( ; i < max; i++ ) { 8654 option = options[ i ]; 8655 8656 // Support: IE <=9 only 8657 // IE8-9 doesn't update selected after form reset (trac-2551) 8658 if ( ( option.selected || i === index ) && 8659 8660 // Don't return options that are disabled or in a disabled optgroup 8661 !option.disabled && 8662 ( !option.parentNode.disabled || 8663 !nodeName( option.parentNode, "optgroup" ) ) ) { 8664 8665 // Get the specific value for the option 8666 value = jQuery( option ).val(); 8667 8668 // We don't need an array for one selects 8669 if ( one ) { 8670 return value; 8671 } 8672 8673 // Multi-Selects return an array 8674 values.push( value ); 8675 } 8676 } 8677 8678 return values; 8679 }, 8680 8681 set: function( elem, value ) { 8682 var optionSet, option, 8683 options = elem.options, 8684 values = jQuery.makeArray( value ), 8685 i = options.length; 8686 8687 while ( i-- ) { 8688 option = options[ i ]; 8689 8690 /* eslint-disable no-cond-assign */ 8691 8692 if ( option.selected = 8693 jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 8694 ) { 8695 optionSet = true; 8696 } 8697 8698 /* eslint-enable no-cond-assign */ 8699 } 8700 8701 // Force browsers to behave consistently when non-matching value is set 8702 if ( !optionSet ) { 8703 elem.selectedIndex = -1; 8704 } 8705 return values; 8706 } 8707 } 8708 } 8709} ); 8710 8711// Radios and checkboxes getter/setter 8712jQuery.each( [ "radio", "checkbox" ], function() { 8713 jQuery.valHooks[ this ] = { 8714 set: function( elem, value ) { 8715 if ( Array.isArray( value ) ) { 8716 return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); 8717 } 8718 } 8719 }; 8720 if ( !support.checkOn ) { 8721 jQuery.valHooks[ this ].get = function( elem ) { 8722 return elem.getAttribute( "value" ) === null ? "on" : elem.value; 8723 }; 8724 } 8725} ); 8726 8727 8728 8729 8730// Return jQuery for attributes-only inclusion 8731 8732 8733support.focusin = "onfocusin" in window; 8734 8735 8736var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, 8737 stopPropagationCallback = function( e ) { 8738 e.stopPropagation(); 8739 }; 8740 8741jQuery.extend( jQuery.event, { 8742 8743 trigger: function( event, data, elem, onlyHandlers ) { 8744 8745 var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, 8746 eventPath = [ elem || document ], 8747 type = hasOwn.call( event, "type" ) ? event.type : event, 8748 namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; 8749 8750 cur = lastElement = tmp = elem = elem || document; 8751 8752 // Don't do events on text and comment nodes 8753 if ( elem.nodeType === 3 || elem.nodeType === 8 ) { 8754 return; 8755 } 8756 8757 // focus/blur morphs to focusin/out; ensure we're not firing them right now 8758 if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { 8759 return; 8760 } 8761 8762 if ( type.indexOf( "." ) > -1 ) { 8763 8764 // Namespaced trigger; create a regexp to match event type in handle() 8765 namespaces = type.split( "." ); 8766 type = namespaces.shift(); 8767 namespaces.sort(); 8768 } 8769 ontype = type.indexOf( ":" ) < 0 && "on" + type; 8770 8771 // Caller can pass in a jQuery.Event object, Object, or just an event type string 8772 event = event[ jQuery.expando ] ? 8773 event : 8774 new jQuery.Event( type, typeof event === "object" && event ); 8775 8776 // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) 8777 event.isTrigger = onlyHandlers ? 2 : 3; 8778 event.namespace = namespaces.join( "." ); 8779 event.rnamespace = event.namespace ? 8780 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : 8781 null; 8782 8783 // Clean up the event in case it is being reused 8784 event.result = undefined; 8785 if ( !event.target ) { 8786 event.target = elem; 8787 } 8788 8789 // Clone any incoming data and prepend the event, creating the handler arg list 8790 data = data == null ? 8791 [ event ] : 8792 jQuery.makeArray( data, [ event ] ); 8793 8794 // Allow special events to draw outside the lines 8795 special = jQuery.event.special[ type ] || {}; 8796 if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { 8797 return; 8798 } 8799 8800 // Determine event propagation path in advance, per W3C events spec (trac-9951) 8801 // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724) 8802 if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { 8803 8804 bubbleType = special.delegateType || type; 8805 if ( !rfocusMorph.test( bubbleType + type ) ) { 8806 cur = cur.parentNode; 8807 } 8808 for ( ; cur; cur = cur.parentNode ) { 8809 eventPath.push( cur ); 8810 tmp = cur; 8811 } 8812 8813 // Only add window if we got to document (e.g., not plain obj or detached DOM) 8814 if ( tmp === ( elem.ownerDocument || document ) ) { 8815 eventPath.push( tmp.defaultView || tmp.parentWindow || window ); 8816 } 8817 } 8818 8819 // Fire handlers on the event path 8820 i = 0; 8821 while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { 8822 lastElement = cur; 8823 event.type = i > 1 ? 8824 bubbleType : 8825 special.bindType || type; 8826 8827 // jQuery handler 8828 handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && 8829 dataPriv.get( cur, "handle" ); 8830 if ( handle ) { 8831 handle.apply( cur, data ); 8832 } 8833 8834 // Native handler 8835 handle = ontype && cur[ ontype ]; 8836 if ( handle && handle.apply && acceptData( cur ) ) { 8837 event.result = handle.apply( cur, data ); 8838 if ( event.result === false ) { 8839 event.preventDefault(); 8840 } 8841 } 8842 } 8843 event.type = type; 8844 8845 // If nobody prevented the default action, do it now 8846 if ( !onlyHandlers && !event.isDefaultPrevented() ) { 8847 8848 if ( ( !special._default || 8849 special._default.apply( eventPath.pop(), data ) === false ) && 8850 acceptData( elem ) ) { 8851 8852 // Call a native DOM method on the target with the same name as the event. 8853 // Don't do default actions on window, that's where global variables be (trac-6170) 8854 if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { 8855 8856 // Don't re-trigger an onFOO event when we call its FOO() method 8857 tmp = elem[ ontype ]; 8858 8859 if ( tmp ) { 8860 elem[ ontype ] = null; 8861 } 8862 8863 // Prevent re-triggering of the same event, since we already bubbled it above 8864 jQuery.event.triggered = type; 8865 8866 if ( event.isPropagationStopped() ) { 8867 lastElement.addEventListener( type, stopPropagationCallback ); 8868 } 8869 8870 elem[ type ](); 8871 8872 if ( event.isPropagationStopped() ) { 8873 lastElement.removeEventListener( type, stopPropagationCallback ); 8874 } 8875 8876 jQuery.event.triggered = undefined; 8877 8878 if ( tmp ) { 8879 elem[ ontype ] = tmp; 8880 } 8881 } 8882 } 8883 } 8884 8885 return event.result; 8886 }, 8887 8888 // Piggyback on a donor event to simulate a different one 8889 // Used only for `focus(in | out)` events 8890 simulate: function( type, elem, event ) { 8891 var e = jQuery.extend( 8892 new jQuery.Event(), 8893 event, 8894 { 8895 type: type, 8896 isSimulated: true 8897 } 8898 ); 8899 8900 jQuery.event.trigger( e, null, elem ); 8901 } 8902 8903} ); 8904 8905jQuery.fn.extend( { 8906 8907 trigger: function( type, data ) { 8908 return this.each( function() { 8909 jQuery.event.trigger( type, data, this ); 8910 } ); 8911 }, 8912 triggerHandler: function( type, data ) { 8913 var elem = this[ 0 ]; 8914 if ( elem ) { 8915 return jQuery.event.trigger( type, data, elem, true ); 8916 } 8917 } 8918} ); 8919 8920 8921// Support: Firefox <=44 8922// Firefox doesn't have focus(in | out) events 8923// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 8924// 8925// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 8926// focus(in | out) events fire after focus & blur events, 8927// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
vendor: 4,255 bytes, lines 8928-9097
8928// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 8929if ( !support.focusin ) { 8930 jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { 8931 8932 // Attach a single capturing handler on the document while someone wants focusin/focusout 8933 var handler = function( event ) { 8934 jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); 8935 }; 8936 8937 jQuery.event.special[ fix ] = { 8938 setup: function() { 8939 8940 // Handle: regular nodes (via `this.ownerDocument`), window 8941 // (via `this.document`) & document (via `this`). 8942 var doc = this.ownerDocument || this.document || this, 8943 attaches = dataPriv.access( doc, fix ); 8944 8945 if ( !attaches ) { 8946 doc.addEventListener( orig, handler, true ); 8947 } 8948 dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); 8949 }, 8950 teardown: function() { 8951 var doc = this.ownerDocument || this.document || this, 8952 attaches = dataPriv.access( doc, fix ) - 1; 8953 8954 if ( !attaches ) { 8955 doc.removeEventListener( orig, handler, true ); 8956 dataPriv.remove( doc, fix ); 8957 8958 } else { 8959 dataPriv.access( doc, fix, attaches ); 8960 } 8961 } 8962 }; 8963 } ); 8964} 8965var location = window.location; 8966 8967var nonce = { guid: Date.now() }; 8968 8969var rquery = ( /\?/ ); 8970 8971 8972 8973// Cross-browser xml parsing 8974jQuery.parseXML = function( data ) { 8975 var xml, parserErrorElem; 8976 if ( !data || typeof data !== "string" ) { 8977 return null; 8978 } 8979 8980 // Support: IE 9 - 11 only 8981 // IE throws on parseFromString with invalid input. 8982 try { 8983 xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 8984 } catch ( e ) {} 8985 8986 parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; 8987 if ( !xml || parserErrorElem ) { 8988 jQuery.error( "Invalid XML: " + ( 8989 parserErrorElem ? 8990 jQuery.map( parserErrorElem.childNodes, function( el ) { 8991 return el.textContent; 8992 } ).join( "\n" ) : 8993 data 8994 ) ); 8995 } 8996 return xml; 8997}; 8998 8999 9000var 9001 rbracket = /\[\]$/, 9002 rCRLF = /\r?\n/g, 9003 rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, 9004 rsubmittable = /^(?:input|select|textarea|keygen)/i; 9005 9006function buildParams( prefix, obj, traditional, add ) { 9007 var name; 9008 9009 if ( Array.isArray( obj ) ) { 9010 9011 // Serialize array item. 9012 jQuery.each( obj, function( i, v ) { 9013 if ( traditional || rbracket.test( prefix ) ) { 9014 9015 // Treat each array item as a scalar. 9016 add( prefix, v ); 9017 9018 } else { 9019 9020 // Item is non-scalar (array or object), encode its numeric index. 9021 buildParams( 9022 prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", 9023 v, 9024 traditional, 9025 add 9026 ); 9027 } 9028 } ); 9029 9030 } else if ( !traditional && toType( obj ) === "object" ) { 9031 9032 // Serialize object item. 9033 for ( name in obj ) { 9034 buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); 9035 } 9036 9037 } else { 9038 9039 // Serialize scalar item. 9040 add( prefix, obj ); 9041 } 9042} 9043 9044// Serialize an array of form elements or a set of 9045// key/values into a query string 9046jQuery.param = function( a, traditional ) { 9047 var prefix, 9048 s = [], 9049 add = function( key, valueOrFunction ) { 9050 9051 // If value is a function, invoke it and use its return value 9052 var value = isFunction( valueOrFunction ) ? 9053 valueOrFunction() : 9054 valueOrFunction; 9055 9056 s[ s.length ] = encodeURIComponent( key ) + "=" + 9057 encodeURIComponent( value == null ? "" : value ); 9058 }; 9059 9060 if ( a == null ) { 9061 return ""; 9062 } 9063 9064 // If an array was passed in, assume that it is an array of form elements. 9065 if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { 9066 9067 // Serialize the form elements 9068 jQuery.each( a, function() { 9069 add( this.name, this.value ); 9070 } ); 9071 9072 } else { 9073 9074 // If traditional, encode the "old" way (the way 1.3.2 or older 9075 // did it), otherwise encode params recursively. 9076 for ( prefix in a ) { 9077 buildParams( prefix, a[ prefix ], traditional, add ); 9078 } 9079 } 9080 9081 // Return the resulting serialization 9082 return s.join( "&" ); 9083}; 9084 9085jQuery.fn.extend( { 9086 serialize: function() { 9087 return jQuery.param( this.serializeArray() ); 9088 }, 9089 serializeArray: function() { 9090 return this.map( function() { 9091 9092 // Can add propHook for "elements" to filter or add form elements 9093 var elements = jQuery.prop( this, "elements" ); 9094 return elements ? jQuery.makeArray( elements ) : this; 9095 } ).filter( function() { 9096 var type = this.type; 9097
vendor: 32,437 bytes, lines 9098-10351
9098 // Use .is( ":disabled" ) so that fieldset[disabled] works 9099 return this.name && !jQuery( this ).is( ":disabled" ) && 9100 rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && 9101 ( this.checked || !rcheckableType.test( type ) ); 9102 } ).map( function( _i, elem ) { 9103 var val = jQuery( this ).val(); 9104 9105 if ( val == null ) { 9106 return null; 9107 } 9108 9109 if ( Array.isArray( val ) ) { 9110 return jQuery.map( val, function( val ) { 9111 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 9112 } ); 9113 } 9114 9115 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 9116 } ).get(); 9117 } 9118} ); 9119 9120 9121var 9122 r20 = /%20/g, 9123 rhash = /#.*$/, 9124 rantiCache = /([?&])_=[^&]*/, 9125 rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, 9126 9127 // trac-7653, trac-8125, trac-8152: local protocol detection 9128 rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, 9129 rnoContent = /^(?:GET|HEAD)$/, 9130 rprotocol = /^\/\//, 9131 9132 /* Prefilters 9133 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) 9134 * 2) These are called: 9135 * - BEFORE asking for a transport 9136 * - AFTER param serialization (s.data is a string if s.processData is true) 9137 * 3) key is the dataType 9138 * 4) the catchall symbol "*" can be used 9139 * 5) execution will start with transport dataType and THEN continue down to "*" if needed 9140 */ 9141 prefilters = {}, 9142 9143 /* Transports bindings 9144 * 1) key is the dataType 9145 * 2) the catchall symbol "*" can be used 9146 * 3) selection will start with transport dataType and THEN go to "*" if needed 9147 */ 9148 transports = {}, 9149 9150 // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression 9151 allTypes = "*/".concat( "*" ), 9152 9153 // Anchor tag for parsing the document origin 9154 originAnchor = document.createElement( "a" ); 9155 9156originAnchor.href = location.href; 9157 9158// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport 9159function addToPrefiltersOrTransports( structure ) { 9160 9161 // dataTypeExpression is optional and defaults to "*" 9162 return function( dataTypeExpression, func ) { 9163 9164 if ( typeof dataTypeExpression !== "string" ) { 9165 func = dataTypeExpression; 9166 dataTypeExpression = "*"; 9167 } 9168 9169 var dataType, 9170 i = 0, 9171 dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; 9172 9173 if ( isFunction( func ) ) { 9174 9175 // For each dataType in the dataTypeExpression 9176 while ( ( dataType = dataTypes[ i++ ] ) ) { 9177 9178 // Prepend if requested 9179 if ( dataType[ 0 ] === "+" ) { 9180 dataType = dataType.slice( 1 ) || "*"; 9181 ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); 9182 9183 // Otherwise append 9184 } else { 9185 ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); 9186 } 9187 } 9188 } 9189 }; 9190} 9191 9192// Base inspection function for prefilters and transports 9193function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { 9194 9195 var inspected = {}, 9196 seekingTransport = ( structure === transports ); 9197 9198 function inspect( dataType ) { 9199 var selected; 9200 inspected[ dataType ] = true; 9201 jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { 9202 var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); 9203 if ( typeof dataTypeOrTransport === "string" && 9204 !seekingTransport && !inspected[ dataTypeOrTransport ] ) { 9205 9206 options.dataTypes.unshift( dataTypeOrTransport ); 9207 inspect( dataTypeOrTransport ); 9208 return false; 9209 } else if ( seekingTransport ) { 9210 return !( selected = dataTypeOrTransport ); 9211 } 9212 } ); 9213 return selected; 9214 } 9215 9216 return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); 9217} 9218 9219// A special extend for ajax options 9220// that takes "flat" options (not to be deep extended) 9221// Fixes trac-9887 9222function ajaxExtend( target, src ) { 9223 var key, deep, 9224 flatOptions = jQuery.ajaxSettings.flatOptions || {}; 9225 9226 for ( key in src ) { 9227 if ( src[ key ] !== undefined ) { 9228 ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; 9229 } 9230 } 9231 if ( deep ) { 9232 jQuery.extend( true, target, deep ); 9233 } 9234 9235 return target; 9236} 9237 9238/* Handles responses to an ajax request: 9239 * - finds the right dataType (mediates between content-type and expected dataType) 9240 * - returns the corresponding response 9241 */ 9242function ajaxHandleResponses( s, jqXHR, responses ) { 9243 9244 var ct, type, finalDataType, firstDataType, 9245 contents = s.contents, 9246 dataTypes = s.dataTypes; 9247 9248 // Remove auto dataType and get content-type in the process 9249 while ( dataTypes[ 0 ] === "*" ) { 9250 dataTypes.shift(); 9251 if ( ct === undefined ) { 9252 ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); 9253 } 9254 } 9255 9256 // Check if we're dealing with a known content-type 9257 if ( ct ) { 9258 for ( type in contents ) { 9259 if ( contents[ type ] && contents[ type ].test( ct ) ) { 9260 dataTypes.unshift( type ); 9261 break; 9262 } 9263 } 9264 } 9265 9266 // Check to see if we have a response for the expected dataType 9267 if ( dataTypes[ 0 ] in responses ) { 9268 finalDataType = dataTypes[ 0 ]; 9269 } else { 9270 9271 // Try convertible dataTypes 9272 for ( type in responses ) { 9273 if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { 9274 finalDataType = type; 9275 break; 9276 } 9277 if ( !firstDataType ) { 9278 firstDataType = type; 9279 } 9280 } 9281 9282 // Or just use first one 9283 finalDataType = finalDataType || firstDataType; 9284 } 9285 9286 // If we found a dataType 9287 // We add the dataType to the list if needed 9288 // and return the corresponding response 9289 if ( finalDataType ) { 9290 if ( finalDataType !== dataTypes[ 0 ] ) { 9291 dataTypes.unshift( finalDataType ); 9292 } 9293 return responses[ finalDataType ]; 9294 } 9295} 9296 9297/* Chain conversions given the request and the original response 9298 * Also sets the responseXXX fields on the jqXHR instance 9299 */ 9300function ajaxConvert( s, response, jqXHR, isSuccess ) { 9301 var conv2, current, conv, tmp, prev, 9302 converters = {}, 9303 9304 // Work with a copy of dataTypes in case we need to modify it for conversion 9305 dataTypes = s.dataTypes.slice(); 9306 9307 // Create converters map with lowercased keys 9308 if ( dataTypes[ 1 ] ) { 9309 for ( conv in s.converters ) { 9310 converters[ conv.toLowerCase() ] = s.converters[ conv ]; 9311 } 9312 } 9313 9314 current = dataTypes.shift(); 9315 9316 // Convert to each sequential dataType 9317 while ( current ) { 9318 9319 if ( s.responseFields[ current ] ) { 9320 jqXHR[ s.responseFields[ current ] ] = response; 9321 } 9322 9323 // Apply the dataFilter if provided 9324 if ( !prev && isSuccess && s.dataFilter ) { 9325 response = s.dataFilter( response, s.dataType ); 9326 } 9327 9328 prev = current; 9329 current = dataTypes.shift(); 9330 9331 if ( current ) { 9332 9333 // There's only work to do if current dataType is non-auto 9334 if ( current === "*" ) { 9335 9336 current = prev; 9337 9338 // Convert response if prev dataType is non-auto and differs from current 9339 } else if ( prev !== "*" && prev !== current ) { 9340 9341 // Seek a direct converter 9342 conv = converters[ prev + " " + current ] || converters[ "* " + current ]; 9343 9344 // If none found, seek a pair 9345 if ( !conv ) { 9346 for ( conv2 in converters ) { 9347 9348 // If conv2 outputs current 9349 tmp = conv2.split( " " ); 9350 if ( tmp[ 1 ] === current ) { 9351 9352 // If prev can be converted to accepted input 9353 conv = converters[ prev + " " + tmp[ 0 ] ] || 9354 converters[ "* " + tmp[ 0 ] ]; 9355 if ( conv ) { 9356 9357 // Condense equivalence converters 9358 if ( conv === true ) { 9359 conv = converters[ conv2 ]; 9360 9361 // Otherwise, insert the intermediate dataType 9362 } else if ( converters[ conv2 ] !== true ) { 9363 current = tmp[ 0 ]; 9364 dataTypes.unshift( tmp[ 1 ] ); 9365 } 9366 break; 9367 } 9368 } 9369 } 9370 } 9371 9372 // Apply converter (if not an equivalence) 9373 if ( conv !== true ) { 9374 9375 // Unless errors are allowed to bubble, catch and return them 9376 if ( conv && s.throws ) { 9377 response = conv( response ); 9378 } else { 9379 try { 9380 response = conv( response ); 9381 } catch ( e ) { 9382 return { 9383 state: "parsererror", 9384 error: conv ? e : "No conversion from " + prev + " to " + current 9385 }; 9386 } 9387 } 9388 } 9389 } 9390 } 9391 } 9392 9393 return { state: "success", data: response }; 9394} 9395 9396jQuery.extend( { 9397 9398 // Counter for holding the number of active queries 9399 active: 0, 9400 9401 // Last-Modified header cache for next request 9402 lastModified: {}, 9403 etag: {}, 9404 9405 ajaxSettings: { 9406 url: location.href, 9407 type: "GET", 9408 isLocal: rlocalProtocol.test( location.protocol ), 9409 global: true, 9410 processData: true, 9411 async: true, 9412 contentType: "application/x-www-form-urlencoded; charset=UTF-8", 9413 9414 /* 9415 timeout: 0, 9416 data: null, 9417 dataType: null, 9418 username: null, 9419 password: null, 9420 cache: null, 9421 throws: false, 9422 traditional: false, 9423 headers: {}, 9424 */ 9425 9426 accepts: { 9427 "*": allTypes, 9428 text: "text/plain", 9429 html: "text/html", 9430 xml: "application/xml, text/xml", 9431 json: "application/json, text/javascript" 9432 }, 9433 9434 contents: { 9435 xml: /\bxml\b/, 9436 html: /\bhtml/, 9437 json: /\bjson\b/ 9438 }, 9439 9440 responseFields: { 9441 xml: "responseXML", 9442 text: "responseText", 9443 json: "responseJSON" 9444 }, 9445 9446 // Data converters 9447 // Keys separate source (or catchall "*") and destination types with a single space 9448 converters: { 9449 9450 // Convert anything to text 9451 "* text": String, 9452 9453 // Text to html (true = no transformation) 9454 "text html": true, 9455 9456 // Evaluate text as a json expression 9457 "text json": JSON.parse, 9458 9459 // Parse text as xml 9460 "text xml": jQuery.parseXML 9461 }, 9462 9463 // For options that shouldn't be deep extended: 9464 // you can add your own custom options here if 9465 // and when you create one that shouldn't be 9466 // deep extended (see ajaxExtend) 9467 flatOptions: { 9468 url: true, 9469 context: true 9470 } 9471 }, 9472 9473 // Creates a full fledged settings object into target 9474 // with both ajaxSettings and settings fields. 9475 // If target is omitted, writes into ajaxSettings. 9476 ajaxSetup: function( target, settings ) { 9477 return settings ? 9478 9479 // Building a settings object 9480 ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : 9481 9482 // Extending ajaxSettings 9483 ajaxExtend( jQuery.ajaxSettings, target ); 9484 }, 9485 9486 ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), 9487 ajaxTransport: addToPrefiltersOrTransports( transports ), 9488 9489 // Main method 9490 ajax: function( url, options ) { 9491 9492 // If url is an object, simulate pre-1.5 signature 9493 if ( typeof url === "object" ) { 9494 options = url; 9495 url = undefined; 9496 } 9497 9498 // Force options to be an object 9499 options = options || {}; 9500 9501 var transport, 9502 9503 // URL without anti-cache param 9504 cacheURL, 9505 9506 // Response headers 9507 responseHeadersString, 9508 responseHeaders, 9509 9510 // timeout handle 9511 timeoutTimer, 9512 9513 // Url cleanup var 9514 urlAnchor, 9515 9516 // Request state (becomes false upon send and true upon completion) 9517 completed, 9518 9519 // To know if global events are to be dispatched 9520 fireGlobals, 9521 9522 // Loop variable 9523 i, 9524 9525 // uncached part of the url 9526 uncached, 9527 9528 // Create the final options object 9529 s = jQuery.ajaxSetup( {}, options ), 9530 9531 // Callbacks context 9532 callbackContext = s.context || s, 9533 9534 // Context for global events is callbackContext if it is a DOM node or jQuery collection 9535 globalEventContext = s.context && 9536 ( callbackContext.nodeType || callbackContext.jquery ) ? 9537 jQuery( callbackContext ) : 9538 jQuery.event, 9539 9540 // Deferreds 9541 deferred = jQuery.Deferred(), 9542 completeDeferred = jQuery.Callbacks( "once memory" ), 9543 9544 // Status-dependent callbacks 9545 statusCode = s.statusCode || {}, 9546 9547 // Headers (they are sent all at once) 9548 requestHeaders = {}, 9549 requestHeadersNames = {}, 9550 9551 // Default abort message 9552 strAbort = "canceled", 9553 9554 // Fake xhr 9555 jqXHR = { 9556 readyState: 0, 9557 9558 // Builds headers hashtable if needed 9559 getResponseHeader: function( key ) { 9560 var match; 9561 if ( completed ) { 9562 if ( !responseHeaders ) { 9563 responseHeaders = {}; 9564 while ( ( match = rheaders.exec( responseHeadersString ) ) ) { 9565 responseHeaders[ match[ 1 ].toLowerCase() + " " ] = 9566 ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) 9567 .concat( match[ 2 ] ); 9568 } 9569 } 9570 match = responseHeaders[ key.toLowerCase() + " " ]; 9571 } 9572 return match == null ? null : match.join( ", " ); 9573 }, 9574 9575 // Raw string 9576 getAllResponseHeaders: function() { 9577 return completed ? responseHeadersString : null; 9578 }, 9579 9580 // Caches the header 9581 setRequestHeader: function( name, value ) { 9582 if ( completed == null ) { 9583 name = requestHeadersNames[ name.toLowerCase() ] = 9584 requestHeadersNames[ name.toLowerCase() ] || name; 9585 requestHeaders[ name ] = value; 9586 } 9587 return this; 9588 }, 9589 9590 // Overrides response content-type header 9591 overrideMimeType: function( type ) { 9592 if ( completed == null ) { 9593 s.mimeType = type; 9594 } 9595 return this; 9596 }, 9597 9598 // Status-dependent callbacks 9599 statusCode: function( map ) { 9600 var code; 9601 if ( map ) { 9602 if ( completed ) { 9603 9604 // Execute the appropriate callbacks 9605 jqXHR.always( map[ jqXHR.status ] ); 9606 } else { 9607 9608 // Lazy-add the new callbacks in a way that preserves old ones 9609 for ( code in map ) { 9610 statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; 9611 } 9612 } 9613 } 9614 return this; 9615 }, 9616 9617 // Cancel the request 9618 abort: function( statusText ) { 9619 var finalText = statusText || strAbort; 9620 if ( transport ) { 9621 transport.abort( finalText ); 9622 } 9623 done( 0, finalText ); 9624 return this; 9625 } 9626 }; 9627 9628 // Attach deferreds 9629 deferred.promise( jqXHR ); 9630 9631 // Add protocol if not provided (prefilters might expect it) 9632 // Handle falsy url in the settings object (trac-10093: consistency with old signature) 9633 // We also use the url parameter if available 9634 s.url = ( ( url || s.url || location.href ) + "" ) 9635 .replace( rprotocol, location.protocol + "//" ); 9636 9637 // Alias method option to type as per ticket trac-12004 9638 s.type = options.method || options.type || s.method || s.type; 9639 9640 // Extract dataTypes list 9641 s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; 9642 9643 // A cross-domain request is in order when the origin doesn't match the current origin. 9644 if ( s.crossDomain == null ) { 9645 urlAnchor = document.createElement( "a" ); 9646 9647 // Support: IE <=8 - 11, Edge 12 - 15 9648 // IE throws exception on accessing the href property if url is malformed, 9649 // e.g. http://example.com:80x/ 9650 try { 9651 urlAnchor.href = s.url; 9652 9653 // Support: IE <=8 - 11 only 9654 // Anchor's host property isn't correctly set when s.url is relative 9655 urlAnchor.href = urlAnchor.href; 9656 s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== 9657 urlAnchor.protocol + "//" + urlAnchor.host; 9658 } catch ( e ) { 9659 9660 // If there is an error parsing the URL, assume it is crossDomain, 9661 // it can be rejected by the transport if it is invalid 9662 s.crossDomain = true; 9663 } 9664 } 9665 9666 // Convert data if not already a string 9667 if ( s.data && s.processData && typeof s.data !== "string" ) { 9668 s.data = jQuery.param( s.data, s.traditional ); 9669 } 9670 9671 // Apply prefilters 9672 inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); 9673 9674 // If request was aborted inside a prefilter, stop there 9675 if ( completed ) { 9676 return jqXHR; 9677 } 9678 9679 // We can fire global events as of now if asked to 9680 // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118) 9681 fireGlobals = jQuery.event && s.global; 9682 9683 // Watch for a new set of requests 9684 if ( fireGlobals && jQuery.active++ === 0 ) { 9685 jQuery.event.trigger( "ajaxStart" ); 9686 } 9687 9688 // Uppercase the type 9689 s.type = s.type.toUpperCase(); 9690 9691 // Determine if request has content 9692 s.hasContent = !rnoContent.test( s.type ); 9693 9694 // Save the URL in case we're toying with the If-Modified-Since 9695 // and/or If-None-Match header later on 9696 // Remove hash to simplify url manipulation 9697 cacheURL = s.url.replace( rhash, "" ); 9698 9699 // More options handling for requests with no content 9700 if ( !s.hasContent ) { 9701 9702 // Remember the hash so we can put it back 9703 uncached = s.url.slice( cacheURL.length ); 9704 9705 // If data is available and should be processed, append data to url 9706 if ( s.data && ( s.processData || typeof s.data === "string" ) ) { 9707 cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; 9708 9709 // trac-9682: remove data so that it's not used in an eventual retry 9710 delete s.data; 9711 } 9712 9713 // Add or update anti-cache param if needed 9714 if ( s.cache === false ) { 9715 cacheURL = cacheURL.replace( rantiCache, "$1" ); 9716 uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + 9717 uncached; 9718 } 9719 9720 // Put hash and anti-cache on the URL that will be requested (gh-1732) 9721 s.url = cacheURL + uncached; 9722 9723 // Change '%20' to '+' if this is encoded form body content (gh-2658) 9724 } else if ( s.data && s.processData && 9725 ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { 9726 s.data = s.data.replace( r20, "+" ); 9727 } 9728 9729 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 9730 if ( s.ifModified ) { 9731 if ( jQuery.lastModified[ cacheURL ] ) { 9732 jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); 9733 } 9734 if ( jQuery.etag[ cacheURL ] ) { 9735 jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); 9736 } 9737 } 9738 9739 // Set the correct header, if data is being sent 9740 if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { 9741 jqXHR.setRequestHeader( "Content-Type", s.contentType ); 9742 } 9743 9744 // Set the Accepts header for the server, depending on the dataType 9745 jqXHR.setRequestHeader( 9746 "Accept", 9747 s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? 9748 s.accepts[ s.dataTypes[ 0 ] ] + 9749 ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : 9750 s.accepts[ "*" ] 9751 ); 9752 9753 // Check for headers option 9754 for ( i in s.headers ) { 9755 jqXHR.setRequestHeader( i, s.headers[ i ] ); 9756 } 9757 9758 // Allow custom headers/mimetypes and early abort 9759 if ( s.beforeSend && 9760 ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { 9761 9762 // Abort if not done already and return 9763 return jqXHR.abort(); 9764 } 9765 9766 // Aborting is no longer a cancellation 9767 strAbort = "abort"; 9768 9769 // Install callbacks on deferreds 9770 completeDeferred.add( s.complete ); 9771 jqXHR.done( s.success ); 9772 jqXHR.fail( s.error ); 9773 9774 // Get transport 9775 transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); 9776 9777 // If no transport, we auto-abort 9778 if ( !transport ) { 9779 done( -1, "No Transport" ); 9780 } else { 9781 jqXHR.readyState = 1; 9782 9783 // Send global event 9784 if ( fireGlobals ) { 9785 globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); 9786 } 9787 9788 // If request was aborted inside ajaxSend, stop there 9789 if ( completed ) { 9790 return jqXHR; 9791 } 9792 9793 // Timeout 9794 if ( s.async && s.timeout > 0 ) { 9795 timeoutTimer = window.setTimeout( function() { 9796 jqXHR.abort( "timeout" ); 9797 }, s.timeout ); 9798 } 9799 9800 try { 9801 completed = false; 9802 transport.send( requestHeaders, done ); 9803 } catch ( e ) { 9804 9805 // Rethrow post-completion exceptions 9806 if ( completed ) { 9807 throw e; 9808 } 9809 9810 // Propagate others as results 9811 done( -1, e ); 9812 } 9813 } 9814 9815 // Callback for when everything is done 9816 function done( status, nativeStatusText, responses, headers ) { 9817 var isSuccess, success, error, response, modified, 9818 statusText = nativeStatusText; 9819 9820 // Ignore repeat invocations 9821 if ( completed ) { 9822 return; 9823 } 9824 9825 completed = true; 9826 9827 // Clear timeout if it exists 9828 if ( timeoutTimer ) { 9829 window.clearTimeout( timeoutTimer ); 9830 } 9831 9832 // Dereference transport for early garbage collection 9833 // (no matter how long the jqXHR object will be used) 9834 transport = undefined; 9835 9836 // Cache response headers 9837 responseHeadersString = headers || ""; 9838 9839 // Set readyState 9840 jqXHR.readyState = status > 0 ? 4 : 0; 9841 9842 // Determine if successful 9843 isSuccess = status >= 200 && status < 300 || status === 304; 9844 9845 // Get response data 9846 if ( responses ) { 9847 response = ajaxHandleResponses( s, jqXHR, responses ); 9848 } 9849 9850 // Use a noop converter for missing script but not if jsonp 9851 if ( !isSuccess && 9852 jQuery.inArray( "script", s.dataTypes ) > -1 && 9853 jQuery.inArray( "json", s.dataTypes ) < 0 ) { 9854 s.converters[ "text script" ] = function() {}; 9855 } 9856 9857 // Convert no matter what (that way responseXXX fields are always set) 9858 response = ajaxConvert( s, response, jqXHR, isSuccess ); 9859 9860 // If successful, handle type chaining 9861 if ( isSuccess ) { 9862 9863 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 9864 if ( s.ifModified ) { 9865 modified = jqXHR.getResponseHeader( "Last-Modified" ); 9866 if ( modified ) { 9867 jQuery.lastModified[ cacheURL ] = modified; 9868 } 9869 modified = jqXHR.getResponseHeader( "etag" ); 9870 if ( modified ) { 9871 jQuery.etag[ cacheURL ] = modified; 9872 } 9873 } 9874 9875 // if no content 9876 if ( status === 204 || s.type === "HEAD" ) { 9877 statusText = "nocontent"; 9878 9879 // if not modified 9880 } else if ( status === 304 ) { 9881 statusText = "notmodified"; 9882 9883 // If we have data, let's convert it 9884 } else { 9885 statusText = response.state; 9886 success = response.data; 9887 error = response.error; 9888 isSuccess = !error; 9889 } 9890 } else { 9891 9892 // Extract error from statusText and normalize for non-aborts 9893 error = statusText; 9894 if ( status || !statusText ) { 9895 statusText = "error"; 9896 if ( status < 0 ) { 9897 status = 0; 9898 } 9899 } 9900 } 9901 9902 // Set data for the fake xhr object 9903 jqXHR.status = status; 9904 jqXHR.statusText = ( nativeStatusText || statusText ) + ""; 9905 9906 // Success/Error 9907 if ( isSuccess ) { 9908 deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); 9909 } else { 9910 deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); 9911 } 9912 9913 // Status-dependent callbacks 9914 jqXHR.statusCode( statusCode ); 9915 statusCode = undefined; 9916 9917 if ( fireGlobals ) { 9918 globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", 9919 [ jqXHR, s, isSuccess ? success : error ] ); 9920 } 9921 9922 // Complete 9923 completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); 9924 9925 if ( fireGlobals ) { 9926 globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); 9927 9928 // Handle the global AJAX counter 9929 if ( !( --jQuery.active ) ) { 9930 jQuery.event.trigger( "ajaxStop" ); 9931 } 9932 } 9933 } 9934 9935 return jqXHR; 9936 }, 9937 9938 getJSON: function( url, data, callback ) { 9939 return jQuery.get( url, data, callback, "json" ); 9940 }, 9941 9942 getScript: function( url, callback ) { 9943 return jQuery.get( url, undefined, callback, "script" ); 9944 } 9945} ); 9946 9947jQuery.each( [ "get", "post" ], function( _i, method ) { 9948 jQuery[ method ] = function( url, data, callback, type ) { 9949 9950 // Shift arguments if data argument was omitted 9951 if ( isFunction( data ) ) { 9952 type = type || callback; 9953 callback = data; 9954 data = undefined; 9955 } 9956 9957 // The url can be an options object (which then must have .url) 9958 return jQuery.ajax( jQuery.extend( { 9959 url: url, 9960 type: method, 9961 dataType: type, 9962 data: data, 9963 success: callback 9964 }, jQuery.isPlainObject( url ) && url ) ); 9965 }; 9966} ); 9967 9968jQuery.ajaxPrefilter( function( s ) { 9969 var i; 9970 for ( i in s.headers ) { 9971 if ( i.toLowerCase() === "content-type" ) { 9972 s.contentType = s.headers[ i ] || ""; 9973 } 9974 } 9975} ); 9976 9977 9978jQuery._evalUrl = function( url, options, doc ) { 9979 return jQuery.ajax( { 9980 url: url, 9981 9982 // Make this explicit, since user can override this through ajaxSetup (trac-11264) 9983 type: "GET", 9984 dataType: "script", 9985 cache: true, 9986 async: false, 9987 global: false, 9988 9989 // Only evaluate the response if it is successful (gh-4126) 9990 // dataFilter is not invoked for failure responses, so using it instead 9991 // of the default converter is kludgy but it works. 9992 converters: { 9993 "text script": function() {} 9994 }, 9995 dataFilter: function( response ) { 9996 jQuery.globalEval( response, options, doc ); 9997 } 9998 } ); 9999}; 10000 10001 10002jQuery.fn.extend( { 10003 wrapAll: function( html ) { 10004 var wrap; 10005 10006 if ( this[ 0 ] ) { 10007 if ( isFunction( html ) ) { 10008 html = html.call( this[ 0 ] ); 10009 } 10010 10011 // The elements to wrap the target around 10012 wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); 10013 10014 if ( this[ 0 ].parentNode ) { 10015 wrap.insertBefore( this[ 0 ] ); 10016 } 10017 10018 wrap.map( function() { 10019 var elem = this; 10020 10021 while ( elem.firstElementChild ) { 10022 elem = elem.firstElementChild; 10023 } 10024 10025 return elem; 10026 } ).append( this ); 10027 } 10028 10029 return this; 10030 }, 10031 10032 wrapInner: function( html ) { 10033 if ( isFunction( html ) ) { 10034 return this.each( function( i ) { 10035 jQuery( this ).wrapInner( html.call( this, i ) ); 10036 } ); 10037 } 10038 10039 return this.each( function() { 10040 var self = jQuery( this ), 10041 contents = self.contents(); 10042 10043 if ( contents.length ) { 10044 contents.wrapAll( html ); 10045 10046 } else { 10047 self.append( html ); 10048 } 10049 } ); 10050 }, 10051 10052 wrap: function( html ) { 10053 var htmlIsFunction = isFunction( html ); 10054 10055 return this.each( function( i ) { 10056 jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); 10057 } ); 10058 }, 10059 10060 unwrap: function( selector ) { 10061 this.parent( selector ).not( "body" ).each( function() { 10062 jQuery( this ).replaceWith( this.childNodes ); 10063 } ); 10064 return this; 10065 } 10066} ); 10067 10068 10069jQuery.expr.pseudos.hidden = function( elem ) { 10070 return !jQuery.expr.pseudos.visible( elem ); 10071}; 10072jQuery.expr.pseudos.visible = function( elem ) { 10073 return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); 10074}; 10075 10076 10077 10078 10079jQuery.ajaxSettings.xhr = function() { 10080 try { 10081 return new window.XMLHttpRequest(); 10082 } catch ( e ) {} 10083}; 10084 10085var xhrSuccessStatus = { 10086 10087 // File protocol always yields status code 0, assume 200 10088 0: 200, 10089 10090 // Support: IE <=9 only 10091 // trac-1450: sometimes IE returns 1223 when it should be 204 10092 1223: 204 10093 }, 10094 xhrSupported = jQuery.ajaxSettings.xhr(); 10095 10096support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); 10097support.ajax = xhrSupported = !!xhrSupported; 10098 10099jQuery.ajaxTransport( function( options ) { 10100 var callback, errorCallback; 10101 10102 // Cross domain only allowed if supported through XMLHttpRequest 10103 if ( support.cors || xhrSupported && !options.crossDomain ) { 10104 return { 10105 send: function( headers, complete ) { 10106 var i, 10107 xhr = options.xhr(); 10108 10109 xhr.open( 10110 options.type, 10111 options.url, 10112 options.async, 10113 options.username, 10114 options.password 10115 ); 10116 10117 // Apply custom fields if provided 10118 if ( options.xhrFields ) { 10119 for ( i in options.xhrFields ) { 10120 xhr[ i ] = options.xhrFields[ i ]; 10121 } 10122 } 10123 10124 // Override mime type if needed 10125 if ( options.mimeType && xhr.overrideMimeType ) { 10126 xhr.overrideMimeType( options.mimeType ); 10127 } 10128 10129 // X-Requested-With header 10130 // For cross-domain requests, seeing as conditions for a preflight are 10131 // akin to a jigsaw puzzle, we simply never set it to be sure. 10132 // (it can always be set on a per-request basis or even using ajaxSetup) 10133 // For same-domain requests, won't change header if already provided. 10134 if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { 10135 headers[ "X-Requested-With" ] = "XMLHttpRequest"; 10136 } 10137 10138 // Set headers 10139 for ( i in headers ) { 10140 xhr.setRequestHeader( i, headers[ i ] ); 10141 } 10142 10143 // Callback 10144 callback = function( type ) { 10145 return function() { 10146 if ( callback ) { 10147 callback = errorCallback = xhr.onload = 10148 xhr.onerror = xhr.onabort = xhr.ontimeout = 10149 xhr.onreadystatechange = null; 10150 10151 if ( type === "abort" ) { 10152 xhr.abort(); 10153 } else if ( type === "error" ) { 10154 10155 // Support: IE <=9 only 10156 // On a manual native abort, IE9 throws 10157 // errors on any property access that is not readyState 10158 if ( typeof xhr.status !== "number" ) { 10159 complete( 0, "error" ); 10160 } else { 10161 complete( 10162 10163 // File: protocol always yields status 0; see trac-8605, trac-14207 10164 xhr.status, 10165 xhr.statusText 10166 ); 10167 } 10168 } else { 10169 complete( 10170 xhrSuccessStatus[ xhr.status ] || xhr.status, 10171 xhr.statusText, 10172 10173 // Support: IE <=9 only 10174 // IE9 has no XHR2 but throws on binary (trac-11426) 10175 // For XHR2 non-text, let the caller handle it (gh-2498) 10176 ( xhr.responseType || "text" ) !== "text" || 10177 typeof xhr.responseText !== "string" ? 10178 { binary: xhr.response } : 10179 { text: xhr.responseText }, 10180 xhr.getAllResponseHeaders() 10181 ); 10182 } 10183 } 10184 }; 10185 }; 10186 10187 // Listen to events 10188 xhr.onload = callback(); 10189 errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); 10190 10191 // Support: IE 9 only 10192 // Use onreadystatechange to replace onabort 10193 // to handle uncaught aborts 10194 if ( xhr.onabort !== undefined ) { 10195 xhr.onabort = errorCallback; 10196 } else { 10197 xhr.onreadystatechange = function() { 10198 10199 // Check readyState before timeout as it changes 10200 if ( xhr.readyState === 4 ) { 10201 10202 // Allow onerror to be called first, 10203 // but that will not handle a native abort 10204 // Also, save errorCallback to a variable 10205 // as xhr.onerror cannot be accessed 10206 window.setTimeout( function() { 10207 if ( callback ) { 10208 errorCallback(); 10209 } 10210 } ); 10211 } 10212 }; 10213 } 10214 10215 // Create the abort callback 10216 callback = callback( "abort" ); 10217 10218 try { 10219 10220 // Do send the request (this may raise an exception) 10221 xhr.send( options.hasContent && options.data || null ); 10222 } catch ( e ) { 10223 10224 // trac-14683: Only rethrow if this hasn't been notified as an error yet 10225 if ( callback ) { 10226 throw e; 10227 } 10228 } 10229 }, 10230 10231 abort: function() { 10232 if ( callback ) { 10233 callback(); 10234 } 10235 } 10236 }; 10237 } 10238} ); 10239 10240 10241 10242 10243// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) 10244jQuery.ajaxPrefilter( function( s ) { 10245 if ( s.crossDomain ) { 10246 s.contents.script = false; 10247 } 10248} ); 10249 10250// Install script dataType 10251jQuery.ajaxSetup( { 10252 accepts: { 10253 script: "text/javascript, application/javascript, " + 10254 "application/ecmascript, application/x-ecmascript" 10255 }, 10256 contents: { 10257 script: /\b(?:java|ecma)script\b/ 10258 }, 10259 converters: { 10260 "text script": function( text ) { 10261 jQuery.globalEval( text ); 10262 return text; 10263 } 10264 } 10265} ); 10266 10267// Handle cache's special case and crossDomain 10268jQuery.ajaxPrefilter( "script", function( s ) { 10269 if ( s.cache === undefined ) { 10270 s.cache = false; 10271 } 10272 if ( s.crossDomain ) { 10273 s.type = "GET"; 10274 } 10275} ); 10276 10277// Bind script tag hack transport 10278jQuery.ajaxTransport( "script", function( s ) { 10279 10280 // This transport only deals with cross domain or forced-by-attrs requests 10281 if ( s.crossDomain || s.scriptAttrs ) { 10282 var script, callback; 10283 return { 10284 send: function( _, complete ) { 10285 script = jQuery( "<script>" ) 10286 .attr( s.scriptAttrs || {} ) 10287 .prop( { charset: s.scriptCharset, src: s.url } ) 10288 .on( "load error", callback = function( evt ) { 10289 script.remove(); 10290 callback = null; 10291 if ( evt ) { 10292 complete( evt.type === "error" ? 404 : 200, evt.type ); 10293 } 10294 } ); 10295 10296 // Use native DOM manipulation to avoid our domManip AJAX trickery 10297 document.head.appendChild( script[ 0 ] ); 10298 }, 10299 abort: function() { 10300 if ( callback ) { 10301 callback(); 10302 } 10303 } 10304 }; 10305 } 10306} ); 10307 10308 10309 10310 10311var oldCallbacks = [], 10312 rjsonp = /(=)\?(?=&|$)|\?\?/; 10313 10314// Default jsonp settings 10315jQuery.ajaxSetup( { 10316 jsonp: "callback", 10317 jsonpCallback: function() { 10318 var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); 10319 this[ callback ] = true; 10320 return callback; 10321 } 10322} ); 10323 10324// Detect, normalize options and install callbacks for jsonp requests 10325jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { 10326 10327 var callbackName, overwritten, responseContainer, 10328 jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? 10329 "url" : 10330 typeof s.data === "string" && 10331 ( s.contentType || "" ) 10332 .indexOf( "application/x-www-form-urlencoded" ) === 0 && 10333 rjsonp.test( s.data ) && "data" 10334 ); 10335 10336 // Handle iff the expected data type is "jsonp" or we have a parameter to set 10337 if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { 10338 10339 // Get callback name, remembering preexisting value associated with it 10340 callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? 10341 s.jsonpCallback() : 10342 s.jsonpCallback; 10343 10344 // Insert callback into url or form data 10345 if ( jsonProp ) { 10346 s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); 10347 } else if ( s.jsonp !== false ) { 10348 s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; 10349 } 10350 10351 // Use data converter to retrieve json after script execution
vendor: 8,362 bytes, lines 10352-10663
10352 s.converters[ "script json" ] = function() { 10353 if ( !responseContainer ) { 10354 jQuery.error( callbackName + " was not called" ); 10355 } 10356 return responseContainer[ 0 ]; 10357 }; 10358 10359 // Force json dataType 10360 s.dataTypes[ 0 ] = "json"; 10361 10362 // Install callback 10363 overwritten = window[ callbackName ]; 10364 window[ callbackName ] = function() { 10365 responseContainer = arguments; 10366 }; 10367 10368 // Clean-up function (fires after converters) 10369 jqXHR.always( function() { 10370 10371 // If previous value didn't exist - remove it 10372 if ( overwritten === undefined ) { 10373 jQuery( window ).removeProp( callbackName ); 10374 10375 // Otherwise restore preexisting value 10376 } else { 10377 window[ callbackName ] = overwritten; 10378 } 10379 10380 // Save back as free 10381 if ( s[ callbackName ] ) { 10382 10383 // Make sure that re-using the options doesn't screw things around 10384 s.jsonpCallback = originalSettings.jsonpCallback; 10385 10386 // Save the callback name for future use 10387 oldCallbacks.push( callbackName ); 10388 } 10389 10390 // Call if it was a function and we have a response 10391 if ( responseContainer && isFunction( overwritten ) ) { 10392 overwritten( responseContainer[ 0 ] ); 10393 } 10394 10395 responseContainer = overwritten = undefined; 10396 } ); 10397 10398 // Delegate to script 10399 return "script"; 10400 } 10401} ); 10402 10403 10404 10405 10406// Support: Safari 8 only 10407// In Safari 8 documents created via document.implementation.createHTMLDocument 10408// collapse sibling forms: the second one becomes a child of the first one. 10409// Because of that, this security measure has to be disabled in Safari 8. 10410// https://bugs.webkit.org/show_bug.cgi?id=137337 10411support.createHTMLDocument = ( function() { 10412 var body = document.implementation.createHTMLDocument( "" ).body; 10413 body.innerHTML = "<form></form><form></form>"; 10414 return body.childNodes.length === 2; 10415} )(); 10416 10417 10418// Argument "data" should be string of html 10419// context (optional): If specified, the fragment will be created in this context, 10420// defaults to document 10421// keepScripts (optional): If true, will include scripts passed in the html string 10422jQuery.parseHTML = function( data, context, keepScripts ) { 10423 if ( typeof data !== "string" ) { 10424 return []; 10425 } 10426 if ( typeof context === "boolean" ) { 10427 keepScripts = context; 10428 context = false; 10429 } 10430 10431 var base, parsed, scripts; 10432 10433 if ( !context ) { 10434 10435 // Stop scripts or inline event handlers from being executed immediately 10436 // by using document.implementation 10437 if ( support.createHTMLDocument ) { 10438 context = document.implementation.createHTMLDocument( "" ); 10439 10440 // Set the base href for the created document 10441 // so any parsed elements with URLs 10442 // are based on the document's URL (gh-2965) 10443 base = context.createElement( "base" ); 10444 base.href = document.location.href; 10445 context.head.appendChild( base ); 10446 } else { 10447 context = document; 10448 } 10449 } 10450 10451 parsed = rsingleTag.exec( data ); 10452 scripts = !keepScripts && []; 10453 10454 // Single tag 10455 if ( parsed ) { 10456 return [ context.createElement( parsed[ 1 ] ) ]; 10457 } 10458 10459 parsed = buildFragment( [ data ], context, scripts ); 10460 10461 if ( scripts && scripts.length ) { 10462 jQuery( scripts ).remove(); 10463 } 10464 10465 return jQuery.merge( [], parsed.childNodes ); 10466}; 10467 10468 10469/** 10470 * Load a url into a page 10471 */ 10472jQuery.fn.load = function( url, params, callback ) { 10473 var selector, type, response, 10474 self = this, 10475 off = url.indexOf( " " ); 10476 10477 if ( off > -1 ) { 10478 selector = stripAndCollapse( url.slice( off ) ); 10479 url = url.slice( 0, off ); 10480 } 10481 10482 // If it's a function 10483 if ( isFunction( params ) ) { 10484 10485 // We assume that it's the callback 10486 callback = params; 10487 params = undefined; 10488 10489 // Otherwise, build a param string 10490 } else if ( params && typeof params === "object" ) { 10491 type = "POST"; 10492 } 10493 10494 // If we have elements to modify, make the request 10495 if ( self.length > 0 ) { 10496 jQuery.ajax( { 10497 url: url, 10498 10499 // If "type" variable is undefined, then "GET" method will be used. 10500 // Make value of this field explicit since 10501 // user can override it through ajaxSetup method 10502 type: type || "GET", 10503 dataType: "html", 10504 data: params 10505 } ).done( function( responseText ) { 10506 10507 // Save response for use in complete callback 10508 response = arguments; 10509 10510 self.html( selector ? 10511 10512 // If a selector was specified, locate the right elements in a dummy div 10513 // Exclude scripts to avoid IE 'Permission Denied' errors 10514 jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : 10515 10516 // Otherwise use the full result 10517 responseText ); 10518 10519 // If the request succeeds, this function gets "data", "status", "jqXHR" 10520 // but they are ignored because response was set above. 10521 // If it fails, this function gets "jqXHR", "status", "error" 10522 } ).always( callback && function( jqXHR, status ) { 10523 self.each( function() { 10524 callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); 10525 } ); 10526 } ); 10527 } 10528 10529 return this; 10530}; 10531 10532 10533 10534 10535jQuery.expr.pseudos.animated = function( elem ) { 10536 return jQuery.grep( jQuery.timers, function( fn ) { 10537 return elem === fn.elem; 10538 } ).length; 10539}; 10540 10541 10542 10543 10544jQuery.offset = { 10545 setOffset: function( elem, options, i ) { 10546 var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, 10547 position = jQuery.css( elem, "position" ), 10548 curElem = jQuery( elem ), 10549 props = {}; 10550 10551 // Set position first, in-case top/left are set even on static elem 10552 if ( position === "static" ) { 10553 elem.style.position = "relative"; 10554 } 10555 10556 curOffset = curElem.offset(); 10557 curCSSTop = jQuery.css( elem, "top" ); 10558 curCSSLeft = jQuery.css( elem, "left" ); 10559 calculatePosition = ( position === "absolute" || position === "fixed" ) && 10560 ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; 10561 10562 // Need to be able to calculate position if either 10563 // top or left is auto and position is either absolute or fixed 10564 if ( calculatePosition ) { 10565 curPosition = curElem.position(); 10566 curTop = curPosition.top; 10567 curLeft = curPosition.left; 10568 10569 } else { 10570 curTop = parseFloat( curCSSTop ) || 0; 10571 curLeft = parseFloat( curCSSLeft ) || 0; 10572 } 10573 10574 if ( isFunction( options ) ) { 10575 10576 // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) 10577 options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); 10578 } 10579 10580 if ( options.top != null ) { 10581 props.top = ( options.top - curOffset.top ) + curTop; 10582 } 10583 if ( options.left != null ) { 10584 props.left = ( options.left - curOffset.left ) + curLeft; 10585 } 10586 10587 if ( "using" in options ) { 10588 options.using.call( elem, props ); 10589 10590 } else { 10591 curElem.css( props ); 10592 } 10593 } 10594}; 10595 10596jQuery.fn.extend( { 10597 10598 // offset() relates an element's border box to the document origin 10599 offset: function( options ) { 10600 10601 // Preserve chaining for setter 10602 if ( arguments.length ) { 10603 return options === undefined ? 10604 this : 10605 this.each( function( i ) { 10606 jQuery.offset.setOffset( this, options, i ); 10607 } ); 10608 } 10609 10610 var rect, win, 10611 elem = this[ 0 ]; 10612 10613 if ( !elem ) { 10614 return; 10615 } 10616 10617 // Return zeros for disconnected and hidden (display: none) elements (gh-2310) 10618 // Support: IE <=11 only 10619 // Running getBoundingClientRect on a 10620 // disconnected node in IE throws an error 10621 if ( !elem.getClientRects().length ) { 10622 return { top: 0, left: 0 }; 10623 } 10624 10625 // Get document-relative position by adding viewport scroll to viewport-relative gBCR 10626 rect = elem.getBoundingClientRect(); 10627 win = elem.ownerDocument.defaultView; 10628 return { 10629 top: rect.top + win.pageYOffset, 10630 left: rect.left + win.pageXOffset 10631 }; 10632 }, 10633 10634 // position() relates an element's margin box to its offset parent's padding box 10635 // This corresponds to the behavior of CSS absolute positioning 10636 position: function() { 10637 if ( !this[ 0 ] ) { 10638 return; 10639 } 10640 10641 var offsetParent, offset, doc, 10642 elem = this[ 0 ], 10643 parentOffset = { top: 0, left: 0 }; 10644 10645 // position:fixed elements are offset from the viewport, which itself always has zero offset 10646 if ( jQuery.css( elem, "position" ) === "fixed" ) { 10647 10648 // Assume position:fixed implies availability of getBoundingClientRect 10649 offset = elem.getBoundingClientRect(); 10650 10651 } else { 10652 offset = this.offset(); 10653 10654 // Account for the *real* offset parent, which can be the document or its root element 10655 // when a statically positioned element is identified 10656 doc = elem.ownerDocument; 10657 offsetParent = elem.offsetParent || doc.documentElement; 10658 while ( offsetParent && 10659 ( offsetParent === doc.body || offsetParent === doc.documentElement ) && 10660 jQuery.css( offsetParent, "position" ) === "static" ) { 10661 10662 offsetParent = offsetParent.parentNode; 10663 }
vendor: 9,494 bytes, lines 10664-10995
10664 if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { 10665 10666 // Incorporate borders into its offset, since they are outside its content origin 10667 parentOffset = jQuery( offsetParent ).offset(); 10668 parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); 10669 parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); 10670 } 10671 } 10672 10673 // Subtract parent offsets and element margins 10674 return { 10675 top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), 10676 left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) 10677 }; 10678 }, 10679 10680 // This method will return documentElement in the following cases: 10681 // 1) For the element inside the iframe without offsetParent, this method will return 10682 // documentElement of the parent window 10683 // 2) For the hidden or detached element 10684 // 3) For body or html element, i.e. in case of the html node - it will return itself 10685 // 10686 // but those exceptions were never presented as a real life use-cases 10687 // and might be considered as more preferable results. 10688 // 10689 // This logic, however, is not guaranteed and can change at any point in the future 10690 offsetParent: function() { 10691 return this.map( function() { 10692 var offsetParent = this.offsetParent; 10693 10694 while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { 10695 offsetParent = offsetParent.offsetParent; 10696 } 10697 10698 return offsetParent || documentElement; 10699 } ); 10700 } 10701} ); 10702 10703// Create scrollLeft and scrollTop methods 10704jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { 10705 var top = "pageYOffset" === prop; 10706 10707 jQuery.fn[ method ] = function( val ) { 10708 return access( this, function( elem, method, val ) { 10709 10710 // Coalesce documents and windows 10711 var win; 10712 if ( isWindow( elem ) ) { 10713 win = elem; 10714 } else if ( elem.nodeType === 9 ) { 10715 win = elem.defaultView; 10716 } 10717 10718 if ( val === undefined ) { 10719 return win ? win[ prop ] : elem[ method ]; 10720 } 10721 10722 if ( win ) { 10723 win.scrollTo( 10724 !top ? val : win.pageXOffset, 10725 top ? val : win.pageYOffset 10726 ); 10727 10728 } else { 10729 elem[ method ] = val; 10730 } 10731 }, method, val, arguments.length ); 10732 }; 10733} ); 10734 10735// Support: Safari <=7 - 9.1, Chrome <=37 - 49 10736// Add the top/left cssHooks using jQuery.fn.position 10737// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 10738// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 10739// getComputedStyle returns percent when specified for top/left/bottom/right; 10740// rather than make the css module depend on the offset module, just check for it here 10741jQuery.each( [ "top", "left" ], function( _i, prop ) { 10742 jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, 10743 function( elem, computed ) { 10744 if ( computed ) { 10745 computed = curCSS( elem, prop ); 10746 10747 // If curCSS returns percentage, fallback to offset 10748 return rnumnonpx.test( computed ) ? 10749 jQuery( elem ).position()[ prop ] + "px" : 10750 computed; 10751 } 10752 } 10753 ); 10754} ); 10755 10756 10757// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods 10758jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 10759 jQuery.each( { 10760 padding: "inner" + name, 10761 content: type, 10762 "": "outer" + name 10763 }, function( defaultExtra, funcName ) { 10764 10765 // Margin is only for outerHeight, outerWidth 10766 jQuery.fn[ funcName ] = function( margin, value ) { 10767 var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), 10768 extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); 10769 10770 return access( this, function( elem, type, value ) { 10771 var doc; 10772 10773 if ( isWindow( elem ) ) { 10774 10775 // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) 10776 return funcName.indexOf( "outer" ) === 0 ? 10777 elem[ "inner" + name ] : 10778 elem.document.documentElement[ "client" + name ]; 10779 } 10780 10781 // Get document width or height 10782 if ( elem.nodeType === 9 ) { 10783 doc = elem.documentElement; 10784 10785 // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], 10786 // whichever is greatest 10787 return Math.max( 10788 elem.body[ "scroll" + name ], doc[ "scroll" + name ], 10789 elem.body[ "offset" + name ], doc[ "offset" + name ], 10790 doc[ "client" + name ] 10791 ); 10792 } 10793 10794 return value === undefined ? 10795 10796 // Get width or height on the element, requesting but not forcing parseFloat 10797 jQuery.css( elem, type, extra ) : 10798 10799 // Set width or height on the element 10800 jQuery.style( elem, type, value, extra ); 10801 }, type, chainable ? margin : undefined, chainable ); 10802 }; 10803 } ); 10804} ); 10805 10806 10807jQuery.each( [ 10808 "ajaxStart", 10809 "ajaxStop", 10810 "ajaxComplete", 10811 "ajaxError", 10812 "ajaxSuccess", 10813 "ajaxSend" 10814], function( _i, type ) { 10815 jQuery.fn[ type ] = function( fn ) { 10816 return this.on( type, fn ); 10817 }; 10818} ); 10819 10820 10821 10822 10823jQuery.fn.extend( { 10824 10825 bind: function( types, data, fn ) { 10826 return this.on( types, null, data, fn ); 10827 }, 10828 unbind: function( types, fn ) { 10829 return this.off( types, null, fn ); 10830 }, 10831 10832 delegate: function( selector, types, data, fn ) { 10833 return this.on( types, selector, data, fn ); 10834 }, 10835 undelegate: function( selector, types, fn ) { 10836 10837 // ( namespace ) or ( selector, types [, fn] ) 10838 return arguments.length === 1 ? 10839 this.off( selector, "**" ) : 10840 this.off( types, selector || "**", fn ); 10841 }, 10842 10843 hover: function( fnOver, fnOut ) { 10844 return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 10845 } 10846} ); 10847 10848jQuery.each( 10849 ( "blur focus focusin focusout resize scroll click dblclick " + 10850 "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 10851 "change select submit keydown keypress keyup contextmenu" ).split( " " ), 10852 function( _i, name ) { 10853 10854 // Handle event binding 10855 jQuery.fn[ name ] = function( data, fn ) { 10856 return arguments.length > 0 ? 10857 this.on( name, null, data, fn ) : 10858 this.trigger( name ); 10859 }; 10860 } 10861); 10862 10863 10864 10865 10866// Support: Android <=4.0 only 10867// Make sure we trim BOM and NBSP 10868// Require that the "whitespace run" starts from a non-whitespace 10869// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position. 10870var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; 10871 10872// Bind a function to a context, optionally partially applying any 10873// arguments. 10874// jQuery.proxy is deprecated to promote standards (specifically Function#bind) 10875// However, it is not slated for removal any time soon 10876jQuery.proxy = function( fn, context ) { 10877 var tmp, args, proxy; 10878 10879 if ( typeof context === "string" ) { 10880 tmp = fn[ context ]; 10881 context = fn; 10882 fn = tmp; 10883 } 10884 10885 // Quick check to determine if target is callable, in the spec 10886 // this throws a TypeError, but we will just return undefined. 10887 if ( !isFunction( fn ) ) { 10888 return undefined; 10889 } 10890 10891 // Simulated bind 10892 args = slice.call( arguments, 2 ); 10893 proxy = function() { 10894 return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); 10895 }; 10896 10897 // Set the guid of unique handler to the same of original handler, so it can be removed 10898 proxy.guid = fn.guid = fn.guid || jQuery.guid++; 10899 10900 return proxy; 10901}; 10902 10903jQuery.holdReady = function( hold ) { 10904 if ( hold ) { 10905 jQuery.readyWait++; 10906 } else { 10907 jQuery.ready( true ); 10908 } 10909}; 10910jQuery.isArray = Array.isArray; 10911jQuery.parseJSON = JSON.parse; 10912jQuery.nodeName = nodeName; 10913jQuery.isFunction = isFunction; 10914jQuery.isWindow = isWindow; 10915jQuery.camelCase = camelCase; 10916jQuery.type = toType; 10917 10918jQuery.now = Date.now; 10919 10920jQuery.isNumeric = function( obj ) { 10921 10922 // As of jQuery 3.0, isNumeric is limited to 10923 // strings and numbers (primitives or objects) 10924 // that can be coerced to finite numbers (gh-2662) 10925 var type = jQuery.type( obj ); 10926 return ( type === "number" || type === "string" ) && 10927 10928 // parseFloat NaNs numeric-cast false positives ("") 10929 // ...but misinterprets leading-number strings, particularly hex literals ("0x...") 10930 // subtraction forces infinities to NaN 10931 !isNaN( obj - parseFloat( obj ) ); 10932}; 10933 10934jQuery.trim = function( text ) { 10935 return text == null ? 10936 "" : 10937 ( text + "" ).replace( rtrim, "$1" ); 10938}; 10939 10940 10941 10942// Register as a named AMD module, since jQuery can be concatenated with other 10943// files that may use define, but not via a proper concatenation script that 10944// understands anonymous AMD modules. A named AMD is safest and most robust 10945// way to register. Lowercase jquery is used because AMD module names are 10946// derived from file names, and jQuery is normally delivered in a lowercase 10947// file name. Do this after creating the global so that if an AMD module wants 10948// to call noConflict to hide this version of jQuery, it will work. 10949 10950// Note that for maximum portability, libraries that are not jQuery should 10951// declare themselves as anonymous modules, and avoid setting a global if an 10952// AMD loader is present. jQuery is a special case. For more information, see 10953// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 10954 10955if ( typeof define === "function" && define.amd ) { 10956 define( "jquery", [], function() { 10957 return jQuery; 10958 } ); 10959} 10960 10961 10962 10963 10964var 10965 10966 // Map over jQuery in case of overwrite 10967 _jQuery = window.jQuery, 10968 10969 // Map over the $ in case of overwrite 10970 _$ = window.$; 10971 10972jQuery.noConflict = function( deep ) { 10973 if ( window.$ === jQuery ) { 10974 window.$ = _$; 10975 } 10976 10977 if ( deep && window.jQuery === jQuery ) { 10978 window.jQuery = _jQuery; 10979 } 10980 10981 return jQuery; 10982}; 10983 10984// Expose jQuery and $ identifiers, even in AMD 10985// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557) 10986// and CommonJS for browser emulators (trac-13566) 10987if ( typeof noGlobal === "undefined" ) { 10988 window.jQuery = window.$ = jQuery; 10989} 10990 10991 10992 10993 10994return jQuery; 10995} );
vendor: 3,144 bytes, lines 10996-11005
10996 10997/* End */ 10998; 10999; /* Start:"a:4:{s:4:"full";s:77:"/local/templates/culture/build/js/jquery-ui-datapicker.min.js?176656724436325";s:6:"source";s:61:"/local/templates/culture/build/js/jquery-ui-datapicker.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 11000/*! jQuery UI - v1.12.1 - 2021-07-04 11001* http://jqueryui.com 11002* Includes: keycode.js, widgets/datepicker.js 11003* Copyright jQuery Foundation and other contributors; Licensed MIT */ 11004 11005!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(M){M.ui=M.ui||{};var r;M.ui.version="1.12.1",M.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38};function e(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},M.extend(this._defaults,this.regional[""]),this.regional.en=M.extend(!0,{},this.regional[""]),this.regional["en-US"]=M.extend(!0,{},this.regional.en),this.dpDiv=a(M("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(e){var t="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",t,function(){M(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&M(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&M(this).removeClass("ui-datepicker-next-hover")}
vendor: 16,562 bytes, line 11005
11005).on("mouseover",t,n)}function n(){M.datepicker._isDisabledDatepicker((r.inline?r.dpDiv.parent():r.input)[0])||(M(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),M(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&M(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&M(this).addClass("ui-datepicker-next-hover"))}function o(e,t){for(var a in M.extend(e,t),t)null==t[a]&&(e[a]=t[a]);return e}M.extend(M.ui,{datepicker:{version:"1.12.1"}}),M.extend(e.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return o(this._defaults,e||{}),this},_attachDatepicker:function(e,t){var a,i=e.nodeName.toLowerCase(),s="div"===i||"span"===i;e.id||(this.uuid+=1,e.id="dp"+this.uuid),(a=this._newInst(M(e),s)).settings=M.extend({},t||{}),"input"===i?this._connectDatepicker(e,a):s&&this._inlineDatepicker(e,a)},_newInst:function(e,t){return{id:e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1"),input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:t,dpDiv:t?a(M("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,t){var a=M(e);t.append=M([]),t.trigger=M([]),a.hasClass(this.markerClassName)||(this._attachments(a,t),a.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(t),M.data(e,"datepicker",t),t.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,t){var a,i=this._get(t,"appendText"),s=this._get(t,"isRTL");t.append&&t.append.remove(),i&&(t.append=M("<span class='"+this._appendClass+"'>"+i+"</span>"),e[s?"before":"after"](t.append)),e.off("focus",this._showDatepicker),t.trigger&&t.trigger.remove(),"focus"!==(a=this._get(t,"showOn"))&&"both"!==a||e.on("focus",this._showDatepicker),"button"!==a&&"both"!==a||(i=this._get(t,"buttonText"),a=this._get(t,"buttonImage"),t.trigger=M(this._get(t,"buttonImageOnly")?M("<img/>").addClass(this._triggerClass).attr({src:a,alt:i,title:i}):M("<button type='button'></button>").addClass(this._triggerClass).html(a?M("<img/>").attr({src:a,alt:i,title:i}):i)),e[s?"before":"after"](t.trigger),t.trigger.on("click",function(){return M.datepicker._datepickerShowing&&M.datepicker._lastInput===e[0]?M.datepicker._hideDatepicker():(M.datepicker._datepickerShowing&&M.datepicker._lastInput!==e[0]&&M.datepicker._hideDatepicker(),M.datepicker._showDatepicker(e[0])),!1}))},_autoSize:function(e){var t,a,i,s,r,n;this._get(e,"autoSize")&&!e.inline&&(r=new Date(2009,11,20),(n=this._get(e,"dateFormat")).match(/[DM]/)&&(t=function(e){for(s=i=a=0;s<e.length;s++)e[s].length>a&&(a=e[s].length,i=s);return i},r.setMonth(t(this._get(e,n.match(/MM/)?"monthNames":"monthNamesShort"))),r.setDate(t(this._get(e,n.match(/DD/)?"dayNames":"dayNamesShort"))+20-r.getDay())),e.input.attr("size",this._formatDate(e,r).length))},_inlineDatepicker:function(e,t){var a=M(e);a.hasClass(this.markerClassName)||(a.addClass(this.markerClassName).append(t.dpDiv),M.data(e,"datepicker",t),this._setDate(t,this._getDefaultDate(t),!0),this._updateDatepicker(t),this._updateAlternate(t),t.settings.disabled&&this._disableDatepicker(e),t.dpDiv.css("display","block"))},_dialogDatepicker:function(e,t,a,i,s){var r,n=this._dialogInst;return n||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=M("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),M("body").append(this._dialogInput),(n=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},M.data(this._dialogInput[0],"datepicker",n)),o(n.settings,i||{}),t=t&&t.constructor===Date?this._formatDate(n,t):t,this._dialogInput.val(t),this._pos=s?s.length?s:[s.pageX,s.pageY]:null,this._pos||(r=document.documentElement.clientWidth,i=document.documentElement.clientHeight,t=document.documentElement.scrollLeft||document.body.scrollLeft,s=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[r/2-100+t,i/2-150+s]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),n.settings.onSelect=a,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),M.blockUI&&M.blockUI(this.dpDiv),M.data(this._dialogInput[0],"datepicker",n),this},_destroyDatepicker:function(e){var t,a=M(e),i=M.data(e,"datepicker");a.hasClass(this.markerClassName)&&(t=e.nodeName.toLowerCase(),M.removeData(e,"datepicker"),"input"===t?(i.append.remove(),i.trigger.remove(),a.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==t&&"span"!==t||a.removeClass(this.markerClassName).empty(),r===i&&(r=null))},_enableDatepicker:function(t){var e,a=M(t),i=M.data(t,"datepicker");a.hasClass(this.markerClassName)&&("input"===(e=t.nodeName.toLowerCase())?(t.disabled=!1,i.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==e&&"span"!==e||((a=a.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=M.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var e,a=M(t),i=M.data(t,"datepicker");a.hasClass(this.markerClassName)&&("input"===(e=t.nodeName.toLowerCase())?(t.disabled=!0,i.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==e&&"span"!==e||((a=a.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=M.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;t<this._disabledInputs.length;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(e){try{return M.data(e,"datepicker")}catch(e){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,t,a){var i,s,r,n,d=this._getInst(e);if(2===arguments.length&&"string"==typeof t)return"defaults"===t?M.extend({},M.datepicker._defaults):d?"all"===t?M.extend({},d.settings):this._get(d,t):null;i=t||{},"string"==typeof t&&((i={})[t]=a),d&&(this._curInst===d&&this._hideDatepicker(),s=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(d,"min"),n=this._getMinMaxDate(d,"max"),o(d.settings,i),null!==r&&void 0!==i.dateFormat&&void 0===i.minDate&&(d.settings.minDate=this._formatDate(d,r)),null!==n&&void 0!==i.dateFormat&&void 0===i.maxDate&&(d.settings.maxDate=this._formatDate(d,n)),"disabled"in i&&(i.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(M(e),d),this._autoSize(d),this._setDate(d,s),this._updateAlternate(d),this._updateDatepicker(d))},_changeDatepicker:function(e,t,a){this._optionDatepicker(e,t,a)},_refreshDatepicker:function(e){e=this._getInst(e);e&&this._updateDatepicker(e)},_setDateDatepicker:function(e,t){e=this._getInst(e);e&&(this._setDate(e,t),this._updateDatepicker(e),this._updateAlternate(e))},_getDateDatepicker:function(e,t){e=this._getInst(e);return e&&!e.inline&&this._setDateFromField(e,t),e?this._getDate(e):null},_doKeyDown:function(e){var t,a,i=M.datepicker._getInst(e.target),s=!0,r=i.dpDiv.is(".ui-datepicker-rtl");if(i._keyEvent=!0,M.datepicker._datepickerShowing)switch(e.keyCode){case 9:M.datepicker._hideDatepicker(),s=!1;break;case 13:return(a=M("td."+M.datepicker._dayOverClass+":not(."+M.datepicker._currentClass+")",i.dpDiv))[0]&&M.datepicker._selectDay(e.target,i.selectedMonth,i.selectedYear,a[0]),(t=M.datepicker._get(i,"onSelect"))?(a=M.datepicker._formatDate(i),t.apply(i.input?i.input[0]:null,[a,i])):M.datepicker._hideDatepicker(),!1;case 27:M.datepicker._hideDatepicker();break;case 33:M.datepicker._adjustDate(e.target,e.ctrlKey?-M.datepicker._get(i,"stepBigMonths"):-M.datepicker._get(i,"stepMonths"),"M");break;case 34:M.datepicker._adjustDate(e.target,e.ctrlKey?+M.datepicker._get(i,"stepBigMonths"):+M.datepicker._get(i,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&M.datepicker._clearDate(e.target),s=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&M.datepicker._gotoToday(e.target),s=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&M.datepicker._adjustDate(e.target,r?1:-1,"D"),s=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&M.datepicker._adjustDate(e.target,e.ctrlKey?-M.datepicker._get(i,"stepBigMonths"):-M.datepicker._get(i,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&M.datepicker._adjustDate(e.target,-7,"D"),s=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&M.datepicker._adjustDate(e.target,r?-1:1,"D"),s=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&M.datepicker._adjustDate(e.target,e.ctrlKey?+M.datepicker._get(i,"stepBigMonths"):+M.datepicker._get(i,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&M.datepicker._adjustDate(e.target,7,"D"),s=e.ctrlKey||e.metaKey;break;default:s=!1}else 36===e.keyCode&&e.ctrlKey?M.datepicker._showDatepicker(this):s=!1;s&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var t,a=M.datepicker._getInst(e.target);if(M.datepicker._get(a,"constrainInput"))return t=M.datepicker._possibleChars(M.datepicker._get(a,"dateFormat")),a=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||a<" "||!t||-1<t.indexOf(a)},_doKeyUp:function(e){var t=M.datepicker._getInst(e.target);if(t.input.val()!==t.lastVal)try{M.datepicker.parseDate(M.datepicker._get(t,"dateFormat"),t.input?t.input.val():null,M.datepicker._getFormatConfig(t))&&(M.datepicker._setDateFromField(t),M.datepicker._updateAlternate(t),M.datepicker._updateDatepicker(t))}catch(e){}return!0},_showDatepicker:function(e){var t,a,i,s;"input"!==(e=e.target||e).nodeName.toLowerCase()&&(e=M("input",e.parentNode)[0]),M.datepicker._isDisabledDatepicker(e)||M.datepicker._lastInput===e||(s=M.datepicker._getInst(e),M.datepicker._curInst&&M.datepicker._curInst!==s&&(M.datepicker._curInst.dpDiv.stop(!0,!0),s&&M.datepicker._datepickerShowing&&M.datepicker._hideDatepicker(M.datepicker._curInst.input[0])),!1!==(a=(i=M.datepicker._get(s,"beforeShow"))?i.apply(e,[e,s]):{})&&(o(s.settings,a),s.lastVal=null,M.datepicker._lastInput=e,M.datepicker._setDateFromField(s),M.datepicker._inDialog&&(e.value=""),M.datepicker._pos||(M.datepicker._pos=M.datepicker._findPos(e),M.datepicker._pos[1]+=e.offsetHeight),t=!1,M(e).parents().each(function(){return!(t|="fixed"===M(this).css("position"))}),i={left:M.datepicker._pos[0],top:M.datepicker._pos[1]},M.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),M.datepicker._updateDatepicker(s),i=M.datepicker._checkOffset(s,i,t),s.dpDiv.css({position:M.datepicker._inDialog&&M.blockUI?"static":t?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),s.inline||(a=M.datepicker._get(s,"showAnim"),i=M.datepicker._get(s,"duration"),s.dpDiv.css("z-index",function(e){for(var t,a;e.length&&e[0]!==document;){if(("absolute"===(t=e.css("position"))||"relative"===t||"fixed"===t)&&(a=parseInt(e.css("zIndex"),10),!isNaN(a)&&0!==a))return a;e=e.parent()}return 0}(M(e))+1),M.datepicker._datepickerShowing=!0,M.effects&&M.effects.effect[a]?s.dpDiv.show(a,M.datepicker._get(s,"showOptions"),i):s.dpDiv[a||"show"](a?i:null),M.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),M.datepicker._curInst=s)))},_updateDatepicker:function(e){this.maxRows=4,(r=e).dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var t,a=this._getNumberOfMonths(e),i=a[1],s=e.dpDiv.find("."+this._dayOverClass+" a");0<s.length&&n.apply(s.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),1<i&&e.dpDiv.addClass("ui-datepicker-multi-"+i).css("width",17*i+"em"),e.dpDiv[(1!==a[0]||1!==a[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===M.datepicker._curInst&&M.datepicker._datepickerShowing&&M.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(t=e.yearshtml,setTimeout(function(){t===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),t=e.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(e,t,a){var i=e.dpDiv.outerWidth(),s=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,n=e.input?e.input.outerHeight():0,d=document.documentElement.clientWidth+(a?0:M(document).scrollLeft()),o=document.documentElement.clientHeight+(a?0:M(document).scrollTop());return t.left-=this._get(e,"isRTL")?i-r:0,t.left-=a&&t.left===e.input.offset().left?M(document).scrollLeft():0,t.top-=a&&t.top===e.input.offset().top+n?M(document).scrollTop():0,t.left-=Math.min(t.left,t.left+i>d&&i<d?Math.abs(t.left+i-d):0),t.top-=Math.min(t.top,t.top+s>o&&s<o?Math.abs(s+n):0),t},_findPos:function(e){for(var t=this._getInst(e),a=this._get(t,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||M.expr.filters.hidden(e));)e=e[a?"previousSibling":"nextSibling"];return[(t=M(e).offset()).left,t.top]},_hideDatepicker:function(e){var t,a,i=this._curInst;!i||e&&i!==M.data(e,"datepicker")||this._datepickerShowing&&(t=this._get(i,"showAnim"),a=this._get(i,"duration"),e=function(){M.datepicker._tidyDialog(i)},M.effects&&(M.effects.effect[t]||M.effects[t])?i.dpDiv.hide(t,M.datepicker._get(i,"showOptions"),a,e):i.dpDiv["slideDown"===t?"slideUp":"fadeIn"===t?"fadeOut":"hide"](t?a:null,e),t||e(),this._datepickerShowing=!1,(e=this._get(i,"onClose"))&&e.apply(i.input?i.input[0]:null,[i.input?i.input.val():"",i]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),M.blockUI&&(M.unblockUI(),M("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){var t;M.datepicker._curInst&&(t=M(e.target),e=M.datepicker._getInst(t[0]),(t[0].id===M.datepicker._mainDivId||0!==t.parents("#"+M.datepicker._mainDivId).length||t.hasClass(M.datepicker.markerClassName)||t.closest("."+M.datepicker._triggerClass).length||!M.datepicker._datepickerShowing||M.datepicker._inDialog&&M.blockUI)&&(!t.hasClass(M.datepicker.markerClassName)||M.datepicker._curInst===e)||M.datepicker._hideDatepicker())},_adjustDate:function(e,t,a){var i=M(e),e=this._getInst(i[0]);this._isDisabledDatepicker(i[0])||(this._adjustInstDate(e,t+("M"===a?this._get(e,"showCurrentAtPos"):0),a),this._updateDatepicker(e))},_gotoToday:function(e){var t=M(e),a=this._getInst(t[0]);this._get(a,"gotoCurrent")&&a.currentDay?(a.selectedDay=a.currentDay,a.drawMonth=a.selectedMonth=a.currentMonth,a.drawYear=a.selectedYear=a.currentYear):(e=new Date,a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear()),this._notifyChange(a),this._adjustDate(t)},_selectMonthYear:function(e,t,a){var i=M(e),e=this._getInst(i[0]);e["selected"+("M"===a?"Month":"Year")]=e["draw"+("M"===a?"Month":"Year")]=parseInt(t.options[t.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(i)},_selectDay:function(e,t,a,i){var s=M(e);M(i).hasClass(this._unselectableClass)||this._isDisabledDatepicker(s[0])||((s=this._getInst(s[0])).selectedDay=s.currentDay=M("a",i).html(),s.selectedMonth=s.currentMonth=t,s.selectedYear=s.currentYear=a,this._selectDate(e,this._formatDate(s,s.currentDay,s.currentMonth,s.currentYear)))},_clearDate:function(e){e=M(e);this._selectDate(e,"")},_selectDate:function(e,t){var a=M(e),e=this._getInst(a[0]);t=null!=t?t:this._formatDate(e),e.input&&e.input.val(t),this._updateAlternate(e),(a=this._get(e,"onSelect"))?a.apply(e.input?e.input[0]:null,[t,e]):e.input&&e.input.trigger("change"),e.inline?this._updateDatepicker(e):(this._hideDatepicker(),this._lastInput=e.input[0],"object"!=typeof e.input[0]&&e.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var t,a,i=this._get(e,"altField");i&&(t=this._get(e,"altFormat")||this._get(e,"dateFormat"),a=this._getDate(e),e=this.formatDate(t,a,this._getFormatConfig(e)),M(i).val(e))}
vendor: 10,763 bytes, line 11005
11005,noWeekends:function(e){e=e.getDay();return[0<e&&e<6,""]},iso8601Week:function(e){var t=new Date(e.getTime());return t.setDate(t.getDate()+4-(t.getDay()||7)),e=t.getTime(),t.setMonth(0),t.setDate(1),Math.floor(Math.round((e-t)/864e5)/7)+1},parseDate:function(t,s,e){if(null==t||null==s)throw"Invalid arguments";if(""===(s="object"==typeof s?s.toString():s+""))return null;function r(e){return(e=v+1<t.length&&t.charAt(v+1)===e)&&v++,e}function a(e){var t=r(e),t="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,t=new RegExp("^\\d{"+("y"===e?t:1)+","+t+"}");if(!(t=s.substring(l).match(t)))throw"Missing number at position "+l;return l+=t[0].length,parseInt(t[0],10)}function i(e,t,a){var i=-1,t=M.map(r(e)?a:t,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(M.each(t,function(e,t){var a=t[1];if(s.substr(l,a.length).toLowerCase()===a.toLowerCase())return i=t[0],l+=a.length,!1}),-1!==i)return i+1;throw"Unknown name at position "+l}function n(){if(s.charAt(l)!==t.charAt(v))throw"Unexpected literal at position "+l;l++}for(var d,o,c,l=0,h=(e?e.shortYearCutoff:null)||this._defaults.shortYearCutoff,h="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),u=(e?e.dayNamesShort:null)||this._defaults.dayNamesShort,p=(e?e.dayNames:null)||this._defaults.dayNames,g=(e?e.monthNamesShort:null)||this._defaults.monthNamesShort,_=(e?e.monthNames:null)||this._defaults.monthNames,f=-1,k=-1,D=-1,m=-1,y=!1,v=0;v<t.length;v++)if(y)"'"!==t.charAt(v)||r("'")?n():y=!1;else switch(t.charAt(v)){case"d":D=a("d");break;case"D":i("D",u,p);break;case"o":m=a("o");break;case"m":k=a("m");break;case"M":k=i("M",g,_);break;case"y":f=a("y");break;case"@":f=(c=new Date(a("@"))).getFullYear(),k=c.getMonth()+1,D=c.getDate();break;case"!":f=(c=new Date((a("!")-this._ticksTo1970)/1e4)).getFullYear(),k=c.getMonth()+1,D=c.getDate();break;case"'":r("'")?n():y=!0;break;default:n()}if(l<s.length&&(o=s.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===f?f=(new Date).getFullYear():f<100&&(f+=(new Date).getFullYear()-(new Date).getFullYear()%100+(f<=h?0:-100)),-1<m)for(k=1,D=m;;){if(D<=(d=this._getDaysInMonth(f,k-1)))break;k++,D-=d}if((c=this._daylightSavingAdjust(new Date(f,k-1,D))).getFullYear()!==f||c.getMonth()+1!==k||c.getDate()!==D)throw"Invalid date";return c},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(t,e,a){if(!e)return"";function s(e){return(e=n+1<t.length&&t.charAt(n+1)===e)&&n++,e}function i(e,t,a){var i=""+t;if(s(e))for(;i.length<a;)i="0"+i;return i}function r(e,t,a,i){return(s(e)?i:a)[t]}var n,d=(a?a.dayNamesShort:null)||this._defaults.dayNamesShort,o=(a?a.dayNames:null)||this._defaults.dayNames,c=(a?a.monthNamesShort:null)||this._defaults.monthNamesShort,l=(a?a.monthNames:null)||this._defaults.monthNames,h="",u=!1;if(e)for(n=0;n<t.length;n++)if(u)"'"!==t.charAt(n)||s("'")?h+=t.charAt(n):u=!1;else switch(t.charAt(n)){case"d":h+=i("d",e.getDate(),2);break;case"D":h+=r("D",e.getDay(),d,o);break;case"o":h+=i("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":h+=i("m",e.getMonth()+1,2);break;case"M":h+=r("M",e.getMonth(),c,l);break;case"y":h+=s("y")?e.getFullYear():(e.getFullYear()%100<10?"0":"")+e.getFullYear()%100;break;case"@":h+=e.getTime();break;case"!":h+=1e4*e.getTime()+this._ticksTo1970;break;case"'":s("'")?h+="'":u=!0;break;default:h+=t.charAt(n)}return h},_possibleChars:function(t){function e(e){return(e=s+1<t.length&&t.charAt(s+1)===e)&&s++,e}for(var a="",i=!1,s=0;s<t.length;s++)if(i)"'"!==t.charAt(s)||e("'")?a+=t.charAt(s):i=!1;else switch(t.charAt(s)){case"d":case"m":case"y":case"@":a+="0123456789";break;case"D":case"M":return null;case"'":e("'")?a+="'":i=!0;break;default:a+=t.charAt(s)}return a},_get:function(e,t){return(void 0!==e.settings[t]?e.settings:this._defaults)[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var a=this._get(e,"dateFormat"),i=e.lastVal=e.input?e.input.val():null,s=this._getDefaultDate(e),r=s,n=this._getFormatConfig(e);try{r=this.parseDate(a,i,n)||s}catch(e){i=t?"":i}e.selectedDay=r.getDate(),e.drawMonth=e.selectedMonth=r.getMonth(),e.drawYear=e.selectedYear=r.getFullYear(),e.currentDay=i?r.getDate():0,e.currentMonth=i?r.getMonth():0,e.currentYear=i?r.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(d,e,t){var a,i,e=null==e||""===e?t:"string"==typeof e?function(e){try{return M.datepicker.parseDate(M.datepicker._get(d,"dateFormat"),e,M.datepicker._getFormatConfig(d))}catch(e){}for(var t=(e.toLowerCase().match(/^c/)?M.datepicker._getDate(d):null)||new Date,a=t.getFullYear(),i=t.getMonth(),s=t.getDate(),r=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,n=r.exec(e);n;){switch(n[2]||"d"){case"d":case"D":s+=parseInt(n[1],10);break;case"w":case"W":s+=7*parseInt(n[1],10);break;case"m":case"M":i+=parseInt(n[1],10),s=Math.min(s,M.datepicker._getDaysInMonth(a,i));break;case"y":case"Y":a+=parseInt(n[1],10),s=Math.min(s,M.datepicker._getDaysInMonth(a,i))}n=r.exec(e)}return new Date(a,i,s)}(e):"number"==typeof e?isNaN(e)?t:(a=e,(i=new Date).setDate(i.getDate()+a),i):new Date(e.getTime());return(e=e&&"Invalid Date"===e.toString()?t:e)&&(e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0)),this._daylightSavingAdjust(e)},_daylightSavingAdjust:function(e){return e?(e.setHours(12<e.getHours()?e.getHours()+2:0),e):null},_setDate:function(e,t,a){var i=!t,s=e.selectedMonth,r=e.selectedYear,t=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=t.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=t.getMonth(),e.drawYear=e.selectedYear=e.currentYear=t.getFullYear(),s===e.selectedMonth&&r===e.selectedYear||a||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(i?"":this._formatDate(e))},_getDate:function(e){return!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay))},_attachHandlers:function(e){var t=this._get(e,"stepMonths"),a="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){M.datepicker._adjustDate(a,-t,"M")},next:function(){M.datepicker._adjustDate(a,+t,"M")},hide:function(){M.datepicker._hideDatepicker()},today:function(){M.datepicker._gotoToday(a)},selectDay:function(){return M.datepicker._selectDay(a,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return M.datepicker._selectMonthYear(a,this,"M"),!1},selectYear:function(){return M.datepicker._selectMonthYear(a,this,"Y"),!1}};M(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,a,i,s,r,n,d,o,c,l,h,u,p,g,_,f,k,D,m,y,v,M,b,w,C,I,x,Y,S,N,F,T=new Date,A=this._daylightSavingAdjust(new Date(T.getFullYear(),T.getMonth(),T.getDate())),K=this._get(e,"isRTL"),j=this._get(e,"showButtonPanel"),O=this._get(e,"hideIfNoPrevNext"),E=this._get(e,"navigationAsDateFormat"),R=this._getNumberOfMonths(e),P=this._get(e,"showCurrentAtPos"),T=this._get(e,"stepMonths"),L=1!==R[0]||1!==R[1],W=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),H=this._getMinMaxDate(e,"min"),U=this._getMinMaxDate(e,"max"),z=e.drawMonth-P,B=e.drawYear;if(z<0&&(z+=12,B--),U)for(t=this._daylightSavingAdjust(new Date(U.getFullYear(),U.getMonth()-R[0]*R[1]+1,U.getDate())),t=H&&t<H?H:t;this._daylightSavingAdjust(new Date(B,z,1))>t;)--z<0&&(z=11,B--);for(e.drawMonth=z,e.drawYear=B,P=this._get(e,"prevText"),P=E?this.formatDate(P,this._daylightSavingAdjust(new Date(B,z-T,1)),this._getFormatConfig(e)):P,a=this._canAdjustMonth(e,-1,B,z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+P+"'><span class='ui-icon ui-icon-circle-triangle-"+(K?"e":"w")+"'>"+P+"</span></a>":O?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+P+"'><span class='ui-icon ui-icon-circle-triangle-"+(K?"e":"w")+"'>"+P+"</span></a>",P=this._get(e,"nextText"),P=E?this.formatDate(P,this._daylightSavingAdjust(new Date(B,z+T,1)),this._getFormatConfig(e)):P,i=this._canAdjustMonth(e,1,B,z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+P+"'><span class='ui-icon ui-icon-circle-triangle-"+(K?"w":"e")+"'>"+P+"</span></a>":O?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+P+"'><span class='ui-icon ui-icon-circle-triangle-"+(K?"w":"e")+"'>"+P+"</span></a>",O=this._get(e,"currentText"),P=this._get(e,"gotoCurrent")&&e.currentDay?W:A,O=E?this.formatDate(O,P,this._getFormatConfig(e)):O,E=e.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(e,"closeText")+"</button>",E=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(K?E:"")+(this._isInRange(e,P)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+O+"</button>":"")+(K?"":E)+"</div>":"",s=parseInt(this._get(e,"firstDay"),10),s=isNaN(s)?0:s,r=this._get(e,"showWeek"),n=this._get(e,"dayNames"),d=this._get(e,"dayNamesMin"),o=this._get(e,"monthNames"),c=this._get(e,"monthNamesShort"),l=this._get(e,"beforeShowDay"),h=this._get(e,"showOtherMonths"),u=this._get(e,"selectOtherMonths"),p=this._getDefaultDate(e),g="",f=0;f<R[0];f++){for(k="",this.maxRows=4,D=0;D<R[1];D++){if(m=this._daylightSavingAdjust(new Date(B,z,e.selectedDay)),b=" ui-corner-all",y="",L){if(y+="<div class='ui-datepicker-group",1<R[1])switch(D){case 0:y+=" ui-datepicker-group-first",b=" ui-corner-"+(K?"right":"left");break;case R[1]-1:y+=" ui-datepicker-group-last",b=" ui-corner-"+(K?"left":"right");break;default:y+=" ui-datepicker-group-middle",b=""}y+="'>"}for(y+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+b+"'>"+(/all|left/.test(b)&&0===f?K?i:a:"")+(/all|right/.test(b)&&0===f?K?a:i:"")+this._generateMonthYearHeader(e,z,B,H,U,0<f||0<D,o,c)+"</div><table class='ui-datepicker-calendar'><thead><tr>",v=r?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",_=0;_<7;_++)v+="<th scope='col'"+(5<=(_+s+6)%7?" class='ui-datepicker-week-end'":"")+"><span title='"+n[M=(_+s)%7]+"'>"+d[M]+"</span></th>";
vendor: 5,560 bytes, line 11005
11005for(y+=v+"</tr></thead><tbody>",w=this._getDaysInMonth(B,z),B===e.selectedYear&&z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,w)),b=(this._getFirstDayOfMonth(B,z)-s+7)%7,w=Math.ceil((b+w)/7),C=L&&this.maxRows>w?this.maxRows:w,this.maxRows=C,I=this._daylightSavingAdjust(new Date(B,z,1-b)),x=0;x<C;x++){for(y+="<tr>",Y=r?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(I)+"</td>":"",_=0;_<7;_++)S=l?l.apply(e.input?e.input[0]:null,[I]):[!0,""],F=(N=I.getMonth()!==z)&&!u||!S[0]||H&&I<H||U&&U<I,Y+="<td class='"+(5<=(_+s+6)%7?" ui-datepicker-week-end":"")+(N?" ui-datepicker-other-month":"")+(I.getTime()===m.getTime()&&z===e.selectedMonth&&e._keyEvent||p.getTime()===I.getTime()&&p.getTime()===m.getTime()?" "+this._dayOverClass:"")+(F?" "+this._unselectableClass+" ui-state-disabled":"")+(N&&!h?"":" "+S[1]+(I.getTime()===W.getTime()?" "+this._currentClass:"")+(I.getTime()===A.getTime()?" ui-datepicker-today":""))+"'"+(N&&!h||!S[2]?"":" title='"+S[2].replace(/'/g,"'")+"'")+(F?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(N&&!h?" ":F?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===A.getTime()?" ui-state-highlight":"")+(I.getTime()===W.getTime()?" ui-state-active":"")+(N?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);y+=Y+"</tr>"}11<++z&&(z=0,B++),k+=y+="</tbody></table>"+(L?"</div>"+(0<R[0]&&D===R[1]-1?"<div class='ui-datepicker-row-break'></div>":""):"")}g+=k}return g+=E,e._keyEvent=!1,g},_generateMonthYearHeader:function(e,t,a,i,s,r,n,d){var o,c,l,h,u,p,g,_=this._get(e,"changeMonth"),f=this._get(e,"changeYear"),k=this._get(e,"showMonthAfterYear"),D="<div class='ui-datepicker-title'>",m="";if(r||!_)m+="<span class='ui-datepicker-month'>"+n[t]+"</span>";else{for(o=i&&i.getFullYear()===a,c=s&&s.getFullYear()===a,m+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",l=0;l<12;l++)(!o||l>=i.getMonth())&&(!c||l<=s.getMonth())&&(m+="<option value='"+l+"'"+(l===t?" selected='selected'":"")+">"+d[l]+"</option>");m+="</select>"}if(k||(D+=m+(!r&&_&&f?"":" ")),!e.yearshtml)if(e.yearshtml="",r||!f)D+="<span class='ui-datepicker-year'>"+a+"</span>";else{for(h=this._get(e,"yearRange").split(":"),u=(new Date).getFullYear(),p=(n=function(e){e=e.match(/c[+\-].*/)?a+parseInt(e.substring(1),10):e.match(/[+\-].*/)?u+parseInt(e,10):parseInt(e,10);return isNaN(e)?u:e})(h[0]),g=Math.max(p,n(h[1]||"")),p=i?Math.max(p,i.getFullYear()):p,g=s?Math.min(g,s.getFullYear()):g,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";p<=g;p++)e.yearshtml+="<option value='"+p+"'"+(p===a?" selected='selected'":"")+">"+p+"</option>";e.yearshtml+="</select>",D+=e.yearshtml,e.yearshtml=null}return D+=this._get(e,"yearSuffix"),k&&(D+=(!r&&_&&f?"":" ")+m),D+="</div>"},_adjustInstDate:function(e,t,a){var i=e.selectedYear+("Y"===a?t:0),s=e.selectedMonth+("M"===a?t:0),t=Math.min(e.selectedDay,this._getDaysInMonth(i,s))+("D"===a?t:0),t=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(i,s,t)));e.selectedDay=t.getDate(),e.drawMonth=e.selectedMonth=t.getMonth(),e.drawYear=e.selectedYear=t.getFullYear(),"M"!==a&&"Y"!==a||this._notifyChange(e)},_restrictMinMax:function(e,t){var a=this._getMinMaxDate(e,"min"),e=this._getMinMaxDate(e,"max"),t=a&&t<a?a:t;return e&&e<t?e:t},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){e=this._get(e,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,a,i){var s=this._getNumberOfMonths(e),s=this._daylightSavingAdjust(new Date(a,i+(t<0?t:s[0]*s[1]),1));return t<0&&s.setDate(this._getDaysInMonth(s.getFullYear(),s.getMonth())),this._isInRange(e,s)},_isInRange:function(e,t){var a=this._getMinMaxDate(e,"min"),i=this._getMinMaxDate(e,"max"),s=null,r=null,n=this._get(e,"yearRange");return n&&(e=n.split(":"),n=(new Date).getFullYear(),s=parseInt(e[0],10),r=parseInt(e[1],10),e[0].match(/[+\-].*/)&&(s+=n),e[1].match(/[+\-].*/)&&(r+=n)),(!a||t.getTime()>=a.getTime())&&(!i||t.getTime()<=i.getTime())&&(!s||t.getFullYear()>=s)&&(!r||t.getFullYear()<=r)},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return{shortYearCutoff:t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,a,i){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);t=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(i,a,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),t,this._getFormatConfig(e))}}),M.fn.datepicker=function(e){if(!this.length)return this;M.datepicker.initialized||(M(document).on("mousedown",M.datepicker._checkExternalClick),M.datepicker.initialized=!0),0===M("#"+M.datepicker._mainDivId).length&&M("body").append(M.datepicker.dpDiv);
11005var t=Array.prototype.slice.call(arguments,1);return"string"==typeof e&&("isDisabled"===e||"getDate"===e||"widget"===e)||"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?M.datepicker["_"+e+"Datepicker"].apply(M.datepicker,[this[0]].concat(t)):this.each(function(){"string"==typeof e?M.datepicker["_"+e+"Datepicker"].apply(M.datepicker,[this].concat(t)):M.datepicker._attachDatepicker(this,e)})},M.datepicker=new e,M.datepicker.initialized=!1,M.datepicker.uuid=(new Date).getTime(),M.datepicker.version="1.12.1";M.datepicker}); 11006/* End */ 11007; 11008; /* Start:"a:4:{s:4:"full";s:85:"/local/templates/culture/build/js/jquery-ui-datapicker-translate-ru.js?17665672441036";s:6:"source";s:70:"/local/templates/culture/build/js/jquery-ui-datapicker-translate-ru.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 11009(function ($) { 11010 /* ÐокализаÑÐ¸Ñ datepicker */ 11011 $.datepicker.regional['ru'] = { 11012 closeText: 'ÐакÑÑÑÑ', 11013 prevText: 'ÐÑедÑдÑÑий', 11014 nextText: 'СледÑÑÑий', 11015 currentText: 'СегоднÑ', 11016 monthNames: ['ЯнваÑÑ','ФевÑалÑ','ÐаÑÑ','ÐпÑелÑ','Ðай','ÐÑнÑ','ÐÑлÑ','ÐвгÑÑÑ','СенÑÑбÑÑ','ÐкÑÑбÑÑ','ÐоÑбÑÑ','ÐекабÑÑ'], 11017 monthNamesShort: ['Янв','Фев','ÐаÑ','ÐпÑ','Ðай','ÐÑн','ÐÑл','Ðвг','Сен','ÐкÑ','ÐоÑ','Ðек'], 11018 dayNames: ['воÑкÑеÑенÑе','понеделÑник','вÑоÑник','ÑÑеда','ÑеÑвеÑг','пÑÑниÑа','ÑÑббоÑа'], 11019 dayNamesShort: ['вÑк','пнд','вÑÑ','ÑÑд','ÑÑв','пÑн','ÑбÑ'], 11020 dayNamesMin: ['ÐÑ','Ðн','ÐÑ','СÑ','ЧÑ','ÐÑ','Сб'], 11021 weekHeader: 'Ðе', 11022 dateFormat: 'dd.mm.yy', 11023 firstDay: 1, 11024 isRTL: false, 11025 showMonthAfterYear: false, 11026 yearSuffix: '' 11027 }; 11028 $.datepicker.setDefaults($.datepicker.regional['ru']); 11029})(jQuery); 11030/* End */ 11031; 11032; /* Start:"a:4:{s:4:"full";s:72:"/local/templates/culture/build/js/jquery.fancybox.min.js?176656724468253";s:6:"source";s:56:"/local/templates/culture/build/js/jquery.fancybox.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
vendor: 68,253 bytes, lines 11033-11045
11033// ================================================== 11034// fancyBox v3.5.7 11035// 11036// Licensed GPLv3 for open source use 11037// or fancyBox Commercial License for commercial use 11038// 11039// http://fancyapps.com/fancybox/ 11040// Copyright 2019 fancyApps 11041// 11042// ================================================== 11043!function(t,e,n,o){"use strict";function i(t,e){var o,i,a,s=[],r=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=e||{},t&&t.data&&(e=h(t.data.options,e)),o=e.$target||n(t.currentTarget).trigger("blur"),(a=n.fancybox.getInstance())&&a.$trigger&&a.$trigger.is(o)||(e.selector?s=n(e.selector):(i=o.attr("data-fancybox")||"",i?(s=t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox="'+i+'"]'):n('[data-fancybox="'+i+'"]')):s=[o]),r=n(s).index(o),r<0&&(r=0),a=n.fancybox.open(s,e,r),a.$trigger=o))}if(t.console=t.console||{info:function(t){}},n){if(n.fn.fancybox)return void console.info("fancyBox already initialized");var a={closeExisting:!1,loop:!1,gutter:50,keyboard:!0,preventCaptionOverlap:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","slideShow","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!</video>',format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span> / <span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"><div class="fancybox-caption__body"></div></div></div></div>',spinnerTpl:'<div class="fancybox-loading"></div>',errorTpl:'<div class="fancybox-error"><p>{{ERROR}}</p></div>',btnTpl:{download:'<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg></a>',zoom:'<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg></button>',close:'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg></button>',arrowLeft:'<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div></button>',arrowRight:'<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div></button>',smallBtn:'<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg></button>'},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded. <br/> Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schließen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergrößern"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),u=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),f=function(){var t,n=e.createElement("fakeelement"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in o)if(void 0!==n.style[t])return o[t];return"transitionend"}(),p=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e)}),o},g=function(t){var o,i;return!(!t||t.ownerDocument!==e)&&(n(".fancybox-container").css("pointer-events","none"),o={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},i=e.elementFromPoint(o.x,o.y)===t,n(".fancybox-container").css("pointer-events",""),i)},b=function(t,e,o){var i=this;i.opts=h({index:o},n.fancybox.defaults),n.isPlainObject(e)&&(i.opts=h(i.opts,e)),n.fancybox.isMobile&&(i.opts=h(i.opts,i.opts.mobile)),i.id=i.opts.id||++c,i.currIndex=parseInt(i.opts.index,10)||0,i.prevIndex=null,i.prevPos=null,i.currPos=0,i.firstRun=!0,i.group=[],i.slides={},i.addContent(t),i.group.length&&i.init()};n.extend(b.prototype,{init:function(){var o,i,a=this,s=a.group[a.currIndex],r=s.opts;r.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&!1!==r.hideScrollbar&&!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:'+(t.innerWidth-e.documentElement.clientWidth)+"px;}</style>"),n("body").addClass("compensate-for-scrollbar")),i="",n.each(r.buttons,function(t,e){i+=r.btnTpl[e]||""}),o=n(a.translate(a,r.baseTpl.replace("{{buttons}}",i).replace("{{arrows}}",r.btnTpl.arrowLeft+r.btnTpl.arrowRight))).attr("id","fancybox-container-"+a.id).addClass(r.baseClass).data("FancyBox",a).appendTo(r.parentEl),a.$refs={container:o},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){a.$refs[t]=o.find(".fancybox-"+t)}),a.trigger("onInit"),a.activate(),a.jumpTo(a.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){return void 0===n[e]?t:n[e]})},addContent:function(t){var e,o=this,i=n.makeArray(t);n.each(i,function(t,e){var i,a,s,r,c,l={},d={};n.isPlainObject(e)?(l=e,d=e.opts||e):"object"===n.type(e)&&n(e).length?(i=n(e),d=i.data()||{},d=n.extend(!0,{},d,d.options),d.$orig=i,l.src=o.opts.src||d.src||i.attr("href"),l.type||l.src||(l.type="inline",l.src=e)):l={type:"html",src:e+""},l.opts=n.extend(!0,{},o.opts,d),n.isArray(d.buttons)&&(l.opts.buttons=d.buttons),n.fancybox.isMobile&&l.opts.mobile&&(l.opts=h(l.opts,l.opts.mobile)),a=l.type||l.opts.type,r=l.src||"",!a&&r&&((s=r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(a="video",l.opts.video.format||(l.opts.video.format="video/"+("ogv"===s[1]?"ogg":s[1]))):r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?a="image":r.match(/\.(pdf)((\?|#).*)?$/i)?(a="iframe",l=n.extend(!0,l,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===r.charAt(0)&&(a="inline")),a?l.type=a:o.trigger("objectNeedsType",l),l.contentType||(l.contentType=n.inArray(l.type,["html","inline","ajax"])>-1?"html":l.type),l.index=o.group.length,"auto"==l.opts.smallBtn&&(l.opts.smallBtn=n.inArray(l.type,["html","inline","ajax"])>-1),"auto"===l.opts.toolbar&&(l.opts.toolbar=!l.opts.smallBtn),l.$thumb=l.opts.$thumb||null,l.opts.$trigger&&l.index===o.opts.index&&(l.$thumb=l.opts.$trigger.find("img:first"),l.$thumb.length&&(l.opts.$orig=l.opts.$trigger)),l.$thumb&&l.$thumb.length||!l.opts.$orig||(l.$thumb=l.opts.$orig.find("img:first")),l.$thumb&&!l.$thumb.length&&(l.$thumb=null),l.thumb=l.opts.thumb||(l.$thumb?l.$thumb[0].src:null),"function"===n.type(l.opts.caption)&&(l.opts.caption=l.opts.caption.apply(e,[o,l])),"function"===n.type(o.opts.caption)&&(l.opts.caption=o.opts.caption.apply(e,[o,l])),l.opts.caption instanceof n||(l.opts.caption=void 0===l.opts.caption?"":l.opts.caption+""),"ajax"===l.type&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),o.group.push(l)}),Object.keys(o.slides).length&&(o.updateControls(),(e=o.Thumbs)&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),e.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next()}).on("click.fb","[data-fancybox-zoom]",function(t){e[e.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(e.requestId&&u(e.requestId),e.requestId=d(function(){e.update(t)})):(e.current&&"iframe"===e.current.type&&e.$refs.stage.hide(),setTimeout(function(){e.$refs.stage.show(),e.update(t)},n.fancybox.isMobile?600:250))}),r.on("keydown.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null,i=o.current,a=t.keyCode||t.which;if(9==a)return void(i.opts.trapFocus&&e.focus(t));if(!(!i.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input,textarea,video,audio,select")))return 8===a||27===a?(t.preventDefault(),void e.close(t)):37===a||38===a?(t.preventDefault(),void e.previous()):39===a||40===a?(t.preventDefault(),void e.next()):void e.trigger("afterKeydown",t,a)}),e.group[e.currIndex].opts.idleTime&&(e.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){e.idleSecondsCounter=0,e.isIdle&&e.showControls(),e.isIdle=!1}),e.idleInterval=t.setInterval(function(){++e.idleSecondsCounter>=e.group[e.currIndex].opts.idleTime&&!e.isDragging&&(e.isIdle=!0,e.idleSecondsCounter=0,e.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e){var o,i,a,s,r,c,l,d,u,f=this,h=f.group.length;if(!(f.isDragging||f.isClosing||f.isAnimating&&f.firstRun)){if(t=parseInt(t,10),!(a=f.current?f.current.opts.loop:f.opts.loop)&&(t<0||t>=h))return!1;if(o=f.firstRun=!Object.keys(f.slides).length,r=f.current,f.prevIndex=f.currIndex,f.prevPos=f.currPos,s=f.createSlide(t),h>1&&((a||s.index<h-1)&&f.createSlide(t+1),(a||s.index>0)&&f.createSlide(t-1)),f.current=s,f.currIndex=s.index,f.currPos=s.pos,f.trigger("beforeShow",o),f.updateControls(),s.forcedDuration=void 0,n.isNumeric(e)?s.forcedDuration=e:e=s.opts[o?"animationDuration":"transitionDuration"],e=parseInt(e,10),i=f.isMoved(s),s.$slide.addClass("fancybox-slide--current"),o)return s.opts.animationEffect&&e&&f.$refs.container.css("transition-duration",e+"ms"),f.$refs.container.addClass("fancybox-is-open").trigger("focus"),f.loadSlide(s),void f.preload("image");c=n.fancybox.getTranslate(r.$slide),l=n.fancybox.getTranslate(f.$refs.stage),n.each(f.slides,function(t,e){n.fancybox.stop(e.$slide,!0)}),r.pos!==s.pos&&(r.isComplete=!1),r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(u=c.left-(r.pos*c.width+r.pos*r.opts.gutter),n.each(f.slides,function(t,o){o.$slide.removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")});var i=o.pos*c.width+o.pos*o.opts.gutter;n.fancybox.setTranslate(o.$slide,{top:0,left:i-l.left+u}),o.pos!==s.pos&&o.$slide.addClass("fancybox-slide--"+(o.pos>s.pos?"next":"previous")),p(o.$slide),n.fancybox.animate(o.$slide,{top:0,left:(o.pos-s.pos)*c.width+(o.pos-s.pos)*o.opts.gutter},e,function(){o.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===f.currPos&&f.complete()})})):e&&s.opts.transitionEffect&&(d="fancybox-animated fancybox-fx-"+s.opts.transitionEffect,r.$slide.addClass("fancybox-slide--"+(r.pos>s.pos?"next":"previous")),n.fancybox.animate(r.$slide,d,e,function(){r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous")},!1)),s.isLoaded?f.revealContent(s):f.loadSlide(s),f.preload("image")}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('<div class="fancybox-slide"></div>').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,o){var i,a,s,r,c,l=this,d=l.current,u=d.$content,f=n.fancybox.getTranslate(d.$slide).width,p=n.fancybox.getTranslate(d.$slide).height,h=d.width,g=d.height;l.isAnimating||l.isMoved()||!u||"image"!=d.type||!d.isLoaded||d.hasError||(l.isAnimating=!0,n.fancybox.stop(u),t=void 0===t?.5*f:t,e=void 0===e?.5*p:e,i=n.fancybox.getTranslate(u),i.top-=n.fancybox.getTranslate(d.$slide).top,i.left-=n.fancybox.getTranslate(d.$slide).left,r=h/i.width,c=g/i.height,a=.5*f-.5*h,s=.5*p-.5*g,h>f&&(a=i.left*r-(t*r-t),a>0&&(a=0),a<f-h&&(a=f-h)),g>p&&(s=i.top*c-(e*c-e),s>0&&(s=0),s<p-g&&(s=p-g)),l.updateCursor(h,g),n.fancybox.animate(u,{top:s,left:a,scaleX:r,scaleY:c},o||366,function(){l.isAnimating=!1}),l.SlideShow&&l.SlideShow.isActive&&l.SlideShow.stop())},scaleToFit:function(t){var e,o=this,i=o.current,a=i.$content;o.isAnimating||o.isMoved()||!a||"image"!=i.type||!i.isLoaded||i.hasError||(o.isAnimating=!0,n.fancybox.stop(a),e=o.getFitPos(i),o.updateCursor(e.width,e.height),n.fancybox.animate(a,{top:e.top,left:e.left,scaleX:e.width/a.width(),scaleY:e.height/a.height()},t||366,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,o,i,a,s=this,r=t.$content,c=t.$slide,l=t.width||t.opts.width,d=t.height||t.opts.height,u={};return!!(t.isLoaded&&r&&r.length)&&(e=n.fancybox.getTranslate(s.$refs.stage).width,o=n.fancybox.getTranslate(s.$refs.stage).height,e-=parseFloat(c.css("paddingLeft"))+parseFloat(c.css("paddingRight"))+parseFloat(r.css("marginLeft"))+parseFloat(r.css("marginRight")),o-=parseFloat(c.css("paddingTop"))+parseFloat(c.css("paddingBottom"))+parseFloat(r.css("marginTop"))+parseFloat(r.css("marginBottom")),l&&d||(l=e,d=o),i=Math.min(1,e/l,o/d),l*=i,d*=i,l>e-.5&&(l=e),d>o-.5&&(d=o),"image"===t.type?(u.top=Math.floor(.5*(o-d))+parseFloat(c.css("paddingTop")),u.left=Math.floor(.5*(e-l))+parseFloat(c.css("paddingLeft"))):"video"===t.contentType&&(a=t.opts.width&&t.opts.height?l/d:t.opts.ratio||16/9,d>l/a?d=l/a:l>d*a&&(l=d*a)),u.width=l,u.height=d,u)},update:function(t){var e=this;n.each(e.slides,function(n,o){e.updateSlide(o,t)})},updateSlide:function(t,e){var o=this,i=t&&t.$content,a=t.width||t.opts.width,s=t.height||t.opts.height,r=t.$slide;o.adjustCaption(t),i&&(a||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(i),n.fancybox.setTranslate(i,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),r.length&&(r.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",r.get(0).scrollHeight>r.get(0).clientHeight)),o.trigger("onUpdate",t,e)},centerSlide:function(t){var e=this,o=e.current,i=o.$slide;!e.isClosing&&o&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},void 0===t?0:t,function(){i.css({transform:"",opacity:""}),o.isComplete||e.complete()},!1))},isMoved:function(t){var e,o,i=t||this.current;return!!i&&(o=n.fancybox.getTranslate(this.$refs.stage),e=n.fancybox.getTranslate(i.$slide),!i.$slide.hasClass("fancybox-animated")&&(Math.abs(e.top-o.top)>.5||Math.abs(e.left-o.left)>.5))},updateCursor:function(t,e){var o,i,a=this,s=a.current,r=a.$refs.container;s&&!a.isClosing&&a.Guestures&&(r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),o=a.canPan(t,e),i=!!o||a.isZoomable(),r.toggleClass("fancybox-is-zoomable",i),n("[data-fancybox-zoom]").prop("disabled",!i),o?r.addClass("fancybox-can-pan"):i&&("zoom"===s.opts.clickContent||n.isFunction(s.opts.clickContent)&&"zoom"==s.opts.clickContent(s))?r.addClass("fancybox-can-zoomIn"):s.opts.touch&&(s.opts.touch.vertical||a.group.length>1)&&"video"!==s.contentType&&r.addClass("fancybox-can-swipe"))},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if((t=e.getFitPos(n))&&(n.width>t.width||n.height>t.height))return!0}return!1},isScaledDown:function(t,e){var o=this,i=!1,a=o.current,s=a.$content;return void 0!==t&&void 0!==e?i=t<a.width&&e<a.height:s&&(i=n.fancybox.getTranslate(s),i=i.width<a.width&&i.height<a.height),i},canPan:function(t,e){var o=this,i=o.current,a=null,s=!1;return"image"===i.type&&(i.isComplete||t&&e)&&!i.hasError&&(s=o.getFitPos(i),void 0!==t&&void 0!==e?a={width:t,height:e}:i.isComplete&&(a=n.fancybox.getTranslate(i.$content)),a&&s&&(s=Math.abs(a.width-s.width)>1.5||Math.abs(a.height-s.height)>1.5)),s},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){if(t.isLoading=!0,!1===a.trigger("beforeLoad",t))return t.isLoading=!1,!1;switch(e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"video":a.setContent(t,t.opts.video.tpl.replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.opts.videoFormat||t.opts.video.format||"").replace("{{poster}}",t.thumb||""));break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(t){var o,i=this;setTimeout(function(){var e=t.$image;i.isClosing||!t.isLoading||e&&e.length&&e[0].complete||t.hasError||i.showLoading(t)},50),i.checkSrcset(t),t.$content=n('<div class="fancybox-content"></div>').addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image")),!1!==t.opts.preload&&t.opts.width&&t.opts.height&&t.thumb&&(t.width=t.opts.width,t.height=t.opts.height,o=e.createElement("img"),o.onerror=function(){n(this).remove(),t.$ghost=null},o.onload=function(){i.afterLoad(t)},t.$ghost=n(o).addClass("fancybox-image").appendTo(t.$content).attr("src",t.thumb)),i.setBigImage(t)},checkSrcset:function(e){var n,o,i,a,s=e.opts.srcset||e.opts.image.srcset;if(s){i=t.devicePixelRatio||1,a=t.innerWidth*i,o=s.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);if(0===n)return e.url=t;o&&(e.value=o,e.postfix=t[t.length-1])}),e}),o.sort(function(t,e){return t.value-e.value});for(var r=0;r<o.length;r++){var c=o[r];if("w"===c.postfix&&c.value>=a||"x"===c.postfix&&c.value>=i){n=c;break}}!n&&o.length&&(n=o[o.length-1]),n&&(e.src=n.url,e.width&&e.height&&"w"==n.postfix&&(e.height=e.width/e.height*n.value,e.width=n.value),e.opts.srcset=s)}},setBigImage:function(t){var o=this,i=e.createElement("img"),a=n(i);t.$image=a.one("error",function(){o.setError(t)}).one("load",function(){var e;t.$ghost||(o.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),o.afterLoad(t)),o.isClosing||(t.opts.srcset&&(e=t.opts.sizes,e&&"auto"!==e||(e=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),a.attr("sizes",e).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!o.isClosing&&t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))),o.hideLoading(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(i.complete||"complete"==i.readyState)&&a.naturalWidth&&a.naturalHeight?a.trigger("load"):i.error&&a.trigger("error")},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),i=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),i>0&&(t.width=Math.floor(i*e/n),t.height=i)},setIframe:function(t){var e,o=this,i=t.opts.iframe,a=t.$slide;t.$content=n('<div class="fancybox-content'+(i.preload?" fancybox-is-hidden":"")+'"></div>').css(i.css).appendTo(a),a.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(o.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),o.afterLoad(t)}),a.on("refresh.fb",function(){var n,o,s=t.$content,r=i.css.width,c=i.css.height;if(1===e[0].isReady){try{n=e.contents(),o=n.find("body")}catch(t){}o&&o.length&&o.children().length&&(a.css("overflow","visible"),s.css({width:"100%","max-width":"100%",height:"9999px"}),void 0===r&&(r=Math.ceil(Math.max(o[0].clientWidth,o.outerWidth(!0)))),s.css("width",r||"").css("max-width",""),void 0===c&&(c=Math.ceil(Math.max(o[0].clientHeight,o.outerHeight(!0)))),s.css("height",c||""),a.css("overflow","auto")),s.removeClass("fancybox-is-hidden")}})):o.afterLoad(t),e.attr("src",t.src),a.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1,t.isRevealed=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?((e.hasClass("fancybox-content")||e.parent().hasClass("fancybox-content"))&&e.parents(".fancybox-slide").trigger("onReset"),t.$placeholder=n("<div>").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("<div>").append(n.trim(e)).contents()),t.opts.filter&&(e=n("<div>").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1,t.isRevealed=!1)}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("<div></div>"),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("<div></div>").children().first()),t.$content.addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),o.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(t){var e=this;(t=t||e.current)&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"))},hideLoading:function(t){var e=this;(t=t||e.current)&&t.$spinner&&(t.$spinner.stop().remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),e.adjustCaption(t),e.adjustLayout(t),t.pos===e.currPos&&e.updateCursor(),e.revealContent(t))},adjustCaption:function(t){var e,n=this,o=t||n.current,i=o.opts.caption,a=o.opts.preventCaptionOverlap,s=n.$refs.caption,r=!1;s.toggleClass("fancybox-caption--separate",a),a&&i&&i.length&&(o.pos!==n.currPos?(e=s.clone().appendTo(s.parent()),e.children().eq(0).empty().html(i),r=e.outerHeight(!0),e.empty().remove()):n.$caption&&(r=n.$caption.outerHeight(!0)),o.$slide.css("padding-bottom",r||""))},adjustLayout:function(t){var e,n,o,i,a=this,s=t||a.current;s.isLoaded&&!0!==s.opts.disableLayoutFix&&(s.$content.css("margin-bottom",""),s.$content.outerHeight()>s.$slide.height()+.5&&(o=s.$slide[0].style["padding-bottom"],i=s.$slide.css("padding-bottom"),parseFloat(i)>0&&(e=s.$slide[0].scrollHeight,s.$slide.css("padding-bottom",0),Math.abs(e-s.$slide[0].scrollHeight)<1&&(n=i),s.$slide.css("padding-bottom",o))),s.$content.css("margin-bottom",n))},revealContent:function(t){var e,o,i,a,s=this,r=t.$slide,c=!1,l=!1,d=s.isMoved(t),u=t.isRevealed;return t.isRevealed=!0,e=t.opts[s.firstRun?"animationEffect":"transitionEffect"],i=t.opts[s.firstRun?"animationDuration":"transitionDuration"],i=parseInt(void 0===t.forcedDuration?i:t.forcedDuration,10),!d&&t.pos===s.currPos&&i||(e=!1),"zoom"===e&&(t.pos===s.currPos&&i&&"image"===t.type&&!t.hasError&&(l=s.getThumbPos(t))?c=s.getFitPos(t):e="fade"),"zoom"===e?(s.isAnimating=!0,c.scaleX=c.width/l.width,c.scaleY=c.height/l.height,a=t.opts.zoomOpacity,"auto"==a&&(a=Math.abs(t.width/t.height-l.width/l.height)>.1),a&&(l.opacity=.1,c.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),l),p(t.$content),void n.fancybox.animate(t.$content,c,i,function(){s.isAnimating=!1,s.complete()})):(s.updateSlide(t),e?(n.fancybox.stop(r),o="fancybox-slide--"+(t.pos>=s.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+e,r.addClass(o).removeClass("fancybox-slide--current"),t.$content.removeClass("fancybox-is-hidden"),p(r),"image"!==t.type&&t.$content.hide().show(0),void n.fancybox.animate(r,"fancybox-slide--current",i,function(){r.removeClass(o).css({transform:"",opacity:""}),t.pos===s.currPos&&s.complete()},!0)):(t.$content.removeClass("fancybox-is-hidden"),u||!d||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===s.currPos&&s.complete())))},getThumbPos:function(t){var e,o,i,a,s,r=!1,c=t.$thumb;return!(!c||!g(c[0]))&&(e=n.fancybox.getTranslate(c),o=parseFloat(c.css("border-top-width")||0),i=parseFloat(c.css("border-right-width")||0),a=parseFloat(c.css("border-bottom-width")||0),s=parseFloat(c.css("border-left-width")||0),r={top:e.top+o,left:e.left+s,width:e.width-i-s,height:e.height-o-a,scaleX:1,scaleY:1},e.width>0&&e.height>0&&r)},complete:function(){var t,e=this,o=e.current,i={};!e.isMoved()&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),e.preload("inline"),p(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(e.slides,function(t,o){o.pos>=e.currPos-1&&o.pos<=e.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),e.slides=i),e.isAnimating=!1,e.updateCursor(),e.trigger("afterShow"),o.opts.video.autoStart&&o.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){Document.exitFullscreen?Document.exitFullscreen():this.webkitExitFullscreen&&this.webkitExitFullscreen(),e.next()}),o.opts.autoFocus&&"html"===o.contentType&&(t=o.$content.find("input[autofocus]:enabled:visible:first"),t.length?t.trigger("focus"):e.focus(null,!0)),o.$slide.scrollTop(0).scrollLeft(0))},preload:function(t){var e,n,o=this;o.group.length<2||(n=o.slides[o.currPos+1],e=o.slides[o.currPos-1],e&&e.type===t&&o.loadSlide(e),n&&n.type===t&&o.loadSlide(n))},focus:function(t,o){var i,a,s=this,r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");s.isClosing||(i=!t&&s.current&&s.current.isComplete?s.current.$slide.find("*:visible"+(o?":not(.fancybox-close-small)":"")):s.$refs.container.find("*:visible"),i=i.filter(r).filter(function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled")}),i.length?(a=i.index(e.activeElement),t&&t.shiftKey?(a<0||0==a)&&(t.preventDefault(),i.eq(i.length-1).trigger("focus")):(a<0||a==i.length-1)&&(t&&t.preventDefault(),i.eq(0).trigger("focus"))):s.$refs.container.trigger("focus"))},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l,u=this,f=u.current,h=function(){u.cleanUp(t)};return!u.isClosing&&(u.isClosing=!0,!1===u.trigger("beforeClose",t)?(u.isClosing=!1,d(function(){u.update()}),!1):(u.removeEvents(),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),!0!==t?n.fancybox.stop(f.$slide):o=!1,f.$slide.siblings().trigger("onReset").remove(),i&&u.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",i+"ms"),u.hideLoading(f),u.hideControls(!0),u.updateCursor(),"zoom"!==o||a&&i&&"image"===f.type&&!u.isMoved()&&!f.hasError&&(l=u.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),s=n.fancybox.getTranslate(a),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=f.opts.zoomOpacity, 11044"auto"==r&&(r=Math.abs(f.width/f.height-l.width/l.height)>.1),r&&(l.opacity=0),n.fancybox.setTranslate(a,c),p(a),n.fancybox.animate(a,l,i,h),!0):(o&&i?n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+o,i,h):!0===t?setTimeout(h,i):h(),!0)))},cleanUp:function(e){var o,i,a,s=this,r=s.current.opts.$orig;s.current.$slide.trigger("onReset"),s.$refs.container.empty().remove(),s.trigger("afterClose",e),s.current.opts.backFocus&&(r&&r.length&&r.is(":visible")||(r=s.$trigger),r&&r.length&&(i=t.scrollX,a=t.scrollY,r.trigger("focus"),n("html, body").scrollTop(a).scrollLeft(i))),s.current=null,o=n.fancybox.getInstance(),o?o.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;if(s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),!1===o)return o;"afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i)},updateControls:function(){var t=this,o=t.current,i=o.index,a=t.$refs.container,s=t.$refs.caption,r=o.opts.caption;o.$slide.trigger("refresh"),r&&r.length?(t.$caption=s,s.children().eq(0).html(r)):t.$caption=null,t.hasHiddenControls||t.isIdle||t.showControls(),a.find("[data-fancybox-count]").html(t.group.length),a.find("[data-fancybox-index]").html(i+1),a.find("[data-fancybox-prev]").prop("disabled",!o.opts.loop&&i<=0),a.find("[data-fancybox-next]").prop("disabled",!o.opts.loop&&i>=t.group.length-1),"image"===o.type?a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",o.opts.image.src||o.src).show():o.opts.toolbar&&a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(e.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus")},hideControls:function(t){var e=this,n=["infobar","toolbar","nav"];!t&&e.current.opts.preventCaptionOverlap||n.push("caption"),this.$refs.container.removeClass(n.map(function(t){return"fancybox-show-"+t}).join(" ")),this.hasHiddenControls=!0},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-caption",!!t.$caption).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.5.7",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new b(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),!0===t&&this.close(t))},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))})},setTranslate:function(t,e){var n="",o={};if(t&&e)return void 0===e.left&&void 0===e.top||(n=(void 0===e.left?t.position().left:e.left)+"px, "+(void 0===e.top?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),void 0!==e.scaleX&&void 0!==e.scaleY?n+=" scale("+e.scaleX+", "+e.scaleY+")":void 0!==e.scaleX&&(n+=" scaleX("+e.scaleX+")"),n.length&&(o.transform=n),void 0!==e.opacity&&(o.opacity=e.opacity),void 0!==e.width&&(o.width=e.width),void 0!==e.height&&(o.height=e.height),t.css(o)},animate:function(t,e,o,i,a){var s,r=this;n.isFunction(o)&&(i=o,o=null),r.stop(t),s=r.getTranslate(t),t.on(f,function(c){(!c||!c.originalEvent||t.is(c.originalEvent.target)&&"z-index"!=c.originalEvent.propertyName)&&(r.stop(t),n.isNumeric(o)&&t.css("transition-duration",""),n.isPlainObject(e)?void 0!==e.scaleX&&void 0!==e.scaleY&&r.setTranslate(t,{top:e.top,left:e.left,width:s.width*e.scaleX,height:s.height*e.scaleY,scaleX:1,scaleY:1}):!0!==a&&t.removeClass(e),n.isFunction(i)&&i(c))}),n.isNumeric(o)&&t.css("transition-duration",o+"ms"),n.isPlainObject(e)?(void 0!==e.scaleX&&void 0!==e.scaleY&&(delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger(f)},o+33))},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(f),t.off(f).css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i),r.on("click.fb-start","[data-fancybox-trigger]",function(t){n('[data-fancybox="'+n(this).attr("data-fancybox-trigger")+'"]').eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)})}),function(){var t=null;r.on("mousedown mouseup focus blur",".fancybox-button",function(e){switch(e.type){case"mousedown":t=n(this);break;case"mouseup":t=null;break;case"focusin":n(".fancybox-button").removeClass("fancybox-focus"),n(this).is(t)||n(this).is("[disabled]")||n(this).addClass("fancybox-focus");break;case"focusout":n(".fancybox-button").removeClass("fancybox-focus")}})}()}}(window,document,jQuery),function(t){"use strict";var e={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}},n=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,d,u,f,p=a.src||"",h=!1;s=t.extend(!0,{},e,a.opts.media),t.each(s,function(e,o){if(c=p.match(o.matcher)){if(h=o.type,f=e,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var i=0;i<d.length;++i){var s=d[i].split("=",2);2==s.length&&(u[s[0]]=decodeURIComponent(s[1].replace(/\+/g," ")))}}return l=t.extend(!0,{},o.params,a.opts[e],u),p="function"===t.type(o.url)?o.url.call(this,c,l,a):n(o.url,c,l),r="function"===t.type(o.thumb)?o.thumb.call(this,c,l,a):n(o.thumb,c),"youtube"===e?p=p.replace(/&t=((\d+)m)?(\d+)s/,function(t,e,n,o){return"&start="+((n?60*parseInt(n,10):0)+parseInt(o,10))}):"vimeo"===e&&(p=p.replace("&%23","#")),!1}}),h?(a.opts.thumb||a.opts.$thumb&&a.opts.$thumb.length||(a.opts.thumb=r),"iframe"===h&&(a.opts=t.extend(!0,a.opts,{iframe:{preload:!1,attr:{scrolling:"no"}}})),t.extend(a,{type:h,src:p,origSrc:a.src,contentSource:f,contentType:"image"===h?"image":"gmap_place"==f||"gmap_search"==f?"map":"video"})):p&&(a.type=a.opts.defaultType)});var o={youtube:{src:"https://www.youtube.com/iframe_api",class:"YT",loading:!1,loaded:!1},vimeo:{src:"https://player.vimeo.com/api/player.js",class:"Vimeo",loading:!1,loaded:!1},load:function(t){var e,n=this;if(this[t].loaded)return void setTimeout(function(){n.done(t)});this[t].loading||(this[t].loading=!0,e=document.createElement("script"),e.type="text/javascript",e.src=this[t].src,"youtube"===t?window.onYouTubeIframeAPIReady=function(){n[t].loaded=!0,n.done(t)}:e.onload=function(){n[t].loaded=!0,n.done(t)},document.body.appendChild(e))},done:function(e){var n,o,i;"youtube"===e&&delete window.onYouTubeIframeAPIReady,(n=t.fancybox.getInstance())&&(o=n.current.$content.find("iframe"),"youtube"===e&&void 0!==YT&&YT?i=new YT.Player(o.attr("id"),{events:{onStateChange:function(t){0==t.data&&n.next()}}}):"vimeo"===e&&void 0!==Vimeo&&Vimeo&&(i=new Vimeo.Player(o),i.on("ended",function(){n.next()})))}};t(document).on({"afterShow.fb":function(t,e,n){e.group.length>1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&o.load(n.contentSource)}})}(jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),i=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),a=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,i=o.length;e<i;e++)if("data-fancybox-"===o[e].nodeName.substr(0,14))return!0;return!1},c=function(e){var n=t.getComputedStyle(e)["overflow-y"],o=t.getComputedStyle(e)["overflow-x"],i=("scroll"===n||"auto"===n)&&e.scrollHeight>e.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},d=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};d.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),n(e).off(".fb.touch"),t.requestId&&(i(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null)},d.prototype.ontouchstart=function(o){var i=this,c=n(o.target),d=i.instance,u=d.current,f=u.$slide,p=u.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&f.length&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||u.$slide.hasClass("fancybox-animated"))return o.stopPropagation(),void o.preventDefault();i.realPoints=i.startPoints=a(o),i.startPoints.length&&(u.touch&&o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=p,i.opts=u.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.canPan=d.canPan(),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(f[0].clientWidth),i.canvasHeight=Math.round(f[0].clientHeight),i.contentLastPos=null,i.contentStartPos=n.fancybox.getTranslate(i.$content)||{top:0,left:0},i.sliderStartPos=n.fancybox.getTranslate(f),i.stagePos=n.fancybox.getTranslate(d.$refs.stage),i.sliderStartPos.top-=i.stagePos.top,i.sliderStartPos.left-=i.stagePos.left,i.contentStartPos.top-=i.stagePos.top,i.contentStartPos.left-=i.stagePos.left,n(e).off(".fb.touch").on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),((i.opts||i.canPan)&&(c.is(i.$stage)||i.$stage.find(c).length)||(c.is(".fancybox-image")&&o.preventDefault(),n.fancybox.isMobile&&c.parents(".fancybox-caption").length))&&(i.isScrollable=l(c)||l(c.parent()),n.fancybox.isMobile&&i.isScrollable||o.preventDefault(),(1===i.startPoints.length||u.hasError)&&(i.canPan?(n.fancybox.stop(i.$content),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-is-grabbing")),2===i.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))))}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0)},d.prototype.ontouchmove=function(t){var e=this;return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&!0===e.isSwiping||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},d.prototype.onSwipe=function(e){var a,s=this,r=s.instance,c=s.isSwiping,l=s.sliderStartPos.left||0;if(!0!==c)"x"==c&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?l+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?l-=Math.pow(-s.distanceX,.8):l+=s.distanceX),s.sliderLastPos={top:"x"==c?0:s.sliderStartPos.top+s.distanceY,left:l},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,r.group.length<2&&s.opts.vertical?s.isSwiping="y":r.isDragging||!1===s.opts.vertical||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),"y"===s.isSwiping&&n.fancybox.isMobile&&s.isScrollable)return void(s.isScrolling=!0);r.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(r.slides,function(t,e){var o,i;n.fancybox.stop(e.$slide),o=n.fancybox.getTranslate(e.$slide),i=n.fancybox.getTranslate(r.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}),e.pos===r.current.pos&&(s.sliderStartPos.top=o.top-i.top,s.sliderStartPos.left=o.left-i.left),n.fancybox.setTranslate(e.$slide,{top:o.top-i.top,left:o.left-i.left})}),r.SlideShow&&r.SlideShow.isActive&&r.SlideShow.stop()}},d.prototype.onPan=function(){var t=this;if(s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5))return void(t.startPoints=t.newPoints);t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&i(t.requestId),t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})},d.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return i=h>r?f+l:f,a=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&i<n&&(i=n+1-Math.pow(n-f-l,.8)||0),d>0&&a>e&&(a=e-1+Math.pow(-e+p+d,.8)||0),d<0&&a<o&&(a=o+1-Math.pow(o-p-d,.8)||0),{top:a,left:i}},d.prototype.limitPosition=function(t,e,n,o){var i=this,a=i.canvasWidth,s=i.canvasHeight;return n>a?(t=t>0?0:t,t=t<a-n?a-n:t):t=Math.max(0,a/2-n/2),o>s?(e=e>0?0:e,e=e<s-o?s-o:e):e=Math.max(0,s/2-o/2),{top:e,left:t}},d.prototype.onZoom=function(){var e=this,a=e.contentStartPos,r=a.width,c=a.height,l=a.left,d=a.top,u=s(e.newPoints[0],e.newPoints[1]),f=u/e.startDistanceBetweenFingers,p=Math.floor(r*f),h=Math.floor(c*f),g=(r-p)*e.percentageOfImageAtPinchPointX,b=(c-h)*e.percentageOfImageAtPinchPointY,m=(e.newPoints[0].x+e.newPoints[1].x)/2-n(t).scrollLeft(),v=(e.newPoints[0].y+e.newPoints[1].y)/2-n(t).scrollTop(),y=m-e.centerPointStartX,x=v-e.centerPointStartY,w=l+(g+y),$=d+(b+x),S={top:$,left:w,scaleX:f,scaleY:f};e.canTap=!1,e.newWidth=p,e.newHeight=h,e.contentLastPos=S,e.requestId&&i(e.requestId),e.requestId=o(function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})},d.prototype.ontouchend=function(t){var o=this,s=o.isSwiping,r=o.isPanning,c=o.isZooming,l=o.isScrolling;if(o.endPoints=a(t),o.dMs=Math.max((new Date).getTime()-o.startTime,1),o.$container.removeClass("fancybox-is-grabbing"),n(e).off(".fb.touch"),e.removeEventListener("scroll",o.onscroll,!0),o.requestId&&(i(o.requestId),o.requestId=null),o.isSwiping=!1,o.isPanning=!1,o.isZooming=!1,o.isScrolling=!1,o.instance.isDragging=!1,o.canTap)return o.onTap(t);o.speed=100,o.velocityX=o.distanceX/o.dMs*.5,o.velocityY=o.distanceY/o.dMs*.5,r?o.endPanning():c?o.endZooming():o.endSwiping(s,l)},d.prototype.endSwiping=function(t,e){var o=this,i=!1,a=o.instance.group.length,s=Math.abs(o.distanceX),r="x"==t&&a>1&&(o.dMs>130&&s>10||s>50);o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),i=o.instance.close(!0,250)):r&&o.distanceX>0?i=o.instance.previous(300):r&&o.distanceX<0&&(i=o.instance.next(300)),!1!==i||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("fancybox-is-sliding")},d.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(!1===i.opts.momentum||i.dMs>350?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+500*i.velocityX,e=i.contentLastPos.top+500*i.velocityY),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,366))},d.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),r<a.canvasWidth&&c<a.canvasHeight?a.instance.scaleToFit(150):r>s.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.animate(a.$content,o,150)))},d.prototype.onTap=function(e){var o,i=this,s=n(e.target),r=i.instance,c=r.current,l=e&&a(e)||i.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-i.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-i.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(i.startEvent);break;case"toggleControls":r.toggleControls();break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(i.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(i.startEvent))}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content"}if(i.tapped){if(clearTimeout(i.tapped),i.tapped=null,Math.abs(d-i.tapX)>50||Math.abs(u-i.tapY)>50)return this;f("dblclick"+o)}else i.tapX=d,i.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?i.tapped=setTimeout(function(){i.tapped=null,r.isAnimating||f("click"+o)},500):f("click"+o);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e))}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg></button>'},slideShow:{autoStart:!1,speed:3e3,progress:!0}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,n=t.instance,o=n.group[n.currIndex].opts.slideShow;t.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),n.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=e('<div class="fancybox-progress"></div>').appendTo(n.$refs.inner))},set:function(t){var n=this,o=n.instance,i=o.current;i&&(!0===t||i.opts.loop||o.currIndex<o.group.length-1)?n.isActive&&"video"!==i.contentType&&(n.$progress&&e.fancybox.animate(n.$progress.show(),{scaleX:1},i.opts.slideShow.speed),n.timer=setTimeout(function(){o.current.opts.loop||o.current.index!=o.group.length-1?o.next():o.jumpTo(0)},i.opts.slideShow.speed)):(n.stop(),o.idleSecondsCounter=0,o.showControls())},clear:function(){var t=this;clearTimeout(t.timer),t.timer=null,t.$progress&&t.$progress.removeAttr("style").hide()},start:function(){var t=this,e=t.instance.current;e&&(t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"),t.isActive=!0,e.isComplete&&t.set(!0),t.instance.trigger("onSlideShowChange",!0))},stop:function(){var t=this,e=t.instance.current;t.clear(),t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"),t.isActive=!1,t.instance.trigger("onSlideShowChange",!1),t.$progress&&t.$progress.removeAttr("style").hide()},toggle:function(){var t=this;t.isActive?t.stop():t.start()}}),e(t).on({"onInit.fb":function(t,e){e&&!e.SlideShow&&(e.SlideShow=new n(e))},"beforeShow.fb":function(t,e,n,o){var i=e&&e.SlideShow;o?i&&n.opts.slideShow.autoStart&&i.start():i&&i.isActive&&i.clear()},"afterShow.fb":function(t,e,n){var o=e&&e.SlideShow;o&&o.isActive&&o.set()},"afterKeydown.fb":function(n,o,i,a,s){var r=o&&o.SlideShow;!r||!i.opts.slideShow||80!==s&&32!==s||e(t.activeElement).is("button,a,input")||(a.preventDefault(),r.toggle())},"beforeClose.fb onDeactivate.fb":function(t,e){var n=e&&e.SlideShow;n&&n.stop()}}),e(t).on("visibilitychange",function(){var n=e.fancybox.getInstance(),o=n&&n.SlideShow;o&&o.isActive&&(t.hidden?o.clear():o.set())})}(document,jQuery),function(t,e){"use strict";var n=function(){for(var e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n={},o=0;o<e.length;o++){var i=e[o];if(i&&i[1]in t){for(var a=0;a<i.length;a++)n[e[0][a]]=i[a];return n}}return!1}();if(n){var o={request:function(e){e=e||t.documentElement,e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)},exit:function(){t[n.exitFullscreen]()},toggle:function(e){e=e||t.documentElement,this.isFullscreen()?this.exit():this.request(e)},isFullscreen:function(){return Boolean(t[n.fullscreenElement])},enabled:function(){return Boolean(t[n.fullscreenEnabled])}};e.extend(!0,e.fancybox.defaults,{btnTpl:{fullScreen:'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg></button>'},fullScreen:{autoStart:!1}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.isAnimating=!1,n.update(!0,!0,0),n.isComplete||n.complete()),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!t).toggleClass("fancybox-button--fsexit",t))})}e(t).on({"onInit.fb":function(t,e){var i;if(!n)return void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();e&&e.group[e.currIndex].opts.fullScreen?(i=e.$refs.container,i.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle()}),e.opts.fullScreen&&!0===e.opts.fullScreen.autoStart&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit()}})}(document,jQuery),function(t,e){"use strict";var n="fancybox-thumbs";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg></button>'},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var o=function(t){this.init(t)};e.extend(o.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,n=t.group,o=0;e.instance=t,e.opts=n[t.currIndex].opts.thumbs,t.Thumbs=e,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var i=0,a=n.length;i<a&&(n[i].thumb&&o++,!(o>1));i++);o>1&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,o=this,i=o.instance,a=o.opts.parentEl,s=[];o.$grid||(o.$grid=e('<div class="'+n+" "+n+"-"+o.opts.axis+'"></div>').appendTo(i.$refs.container.find(a).addBack().filter(a)),o.$grid.on("click","a",function(){i.jumpTo(e(this).attr("data-index"))})),o.$list||(o.$list=e('<div class="'+n+'__list">').appendTo(o.$grid)),e.each(i.group,function(e,n){t=n.thumb,t||"image"!==n.type||(t=n.src),s.push('<a href="javascript:;" tabindex="0" data-index="'+e+'"'+(t&&t.length?' style="background-image:url('+t+')"':'class="fancybox-thumbs-missing"')+"></a>")}),o.$list[0].innerHTML=s.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+i.group.length*o.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,n,o=this,i=o.$list,a=o.$grid;o.instance.current&&(e=i.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+o.instance.current.index+'"]').addClass("fancybox-thumbs-active"),n=e.position(),"y"===o.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===o.opts.axis&&(n.left<a.scrollLeft()||n.left>a.scrollLeft()+(a.width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new o(e),n.isActive&&!0===n.opts.autoStart&&n.show())},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&!1!==n.opts.hideOnClose&&n.$grid.hide()}})}(document,jQuery),function(t,e){"use strict";function n(t){var e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:'<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg></button>'},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location}, 11045tpl:'<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p></div>'}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance(),a=i.current||null;a&&("function"===e.type(a.opts.share.url)&&(t=a.opts.share.url.apply(a,[i,a])),o=a.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){i.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})},mobile:{autoFocus:!1}}}))})}(document,jQuery),function(t,e,n){"use strict";function o(){var e=t.location.hash.substr(1),n=e.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return{hash:e,index:o<1?1:o,gallery:i}}function i(t){""!==t.gallery&&n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start")}function a(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,""!==(n=e.hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""))&&n)}n.escapeSelector||(n.escapeSelector=function(t){return(t+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t})}),n(function(){!1!==n.fancybox.defaults.hash&&(n(e).on({"onInit.fb":function(t,e){var n,i;!1!==e.group[e.currIndex].opts.hash&&(n=o(),(i=a(e))&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i,s){var r;i&&!1!==i.opts.hash&&(r=a(o))&&(o.currentHash=r+(o.group.length>1?"-"+(i.index+1):""),t.location.hash!=="#"+o.currentHash&&(s&&!o.origHash&&(o.origHash=t.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in t.history?(t.history[s?"pushState":"replaceState"]({},e.title,t.location.pathname+t.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):t.location.hash=o.currentHash,o.hashTimer=null},300)))},"beforeClose.fb":function(n,o,i){i&&!1!==i.opts.hash&&(clearTimeout(o.hashTimer),o.currentHash&&o.hasCreatedHistory?t.history.back():o.currentHash&&("replaceState"in t.history?t.history.replaceState({},e.title,t.location.pathname+t.location.search+(o.origHash||"")):t.location.hash=o.origHash),o.currentHash=null)}}),n(t).on("hashchange.fb",function(){var t=o(),e=null;n.each(n(".fancybox-container").get().reverse(),function(t,o){var i=n(o).data("FancyBox");if(i&&i.currentHash)return e=i,!1}),e?e.currentHash===t.gallery+"-"+t.index||1===t.index&&e.currentHash==t.gallery||(e.currentHash=null,e.close()):""!==t.gallery&&i(t)}),setTimeout(function(){n.fancybox.getInstance()||i(o())},50))})}(window,document,jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<2||!1===o.opts.wheel||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,jQuery);
vendor: 9,549 bytes, lines 11045-11054
11045 11046/* End */ 11047; 11048; /* Start:"a:4:{s:4:"full";s:76:"/local/templates/culture/build/js/jquery-ui-accordion.min.js?176656724451638";s:6:"source";s:60:"/local/templates/culture/build/js/jquery-ui-accordion.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 11049/*! jQuery UI - v1.13.2 - 2022-12-28 11050* http://jqueryui.com 11051* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js 11052* Copyright jQuery Foundation and other contributors; Licensed MIT */ 11053 11054!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(_){"use strict";_.ui=_.ui||{};_.ui.version="1.13.2";var o,i=0,a=Array.prototype.hasOwnProperty,r=Array.prototype.slice;_.cleanData=(o=_.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=_._data(i,"events"))&&e.remove&&_(i).triggerHandler("remove");o(t)}),_.widget=function(t,i,e){var n,o,s,a={},r=t.split(".")[0],c=r+"-"+(t=t.split(".")[1]);return e||(e=i,i=_.Widget),Array.isArray(e)&&(e=_.extend.apply(null,[{}].concat(e))),_.expr.pseudos[c.toLowerCase()]=function(t){return!!_.data(t,c)},_[r]=_[r]||{},n=_[r][t],o=_[r][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},_.extend(o,n,{version:e.version,_proto:_.extend({},e),_childConstructors:[]}),(s=new i).options=_.widget.extend({},s.options),_.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}a[e]="function"==typeof n?function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}:n}),o.prototype=_.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},a,{constructor:o,namespace:r,widgetName:t,widgetFullName:c}),n?(_.each(n._childConstructors,function(t,e){var i=e.prototype;_.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),_.widget.bridge(t,o),o},_.widget.extend=function(t){for(var e,i,n=r.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],a.call(n[o],e)&&void 0!==i&&(_.isPlainObject(i)?t[e]=_.isPlainObject(t[e])?_.widget.extend({},t[e],i):_.widget.extend({},i):t[e]=i);return t},_.widget.bridge=function(s,e){var a=e.prototype.widgetFullName||s;_.fn[s]=function(i){var t="string"==typeof i,n=r.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=_.data(this,a);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?_.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:_.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=_.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=_.data(this,a);t?(t.option(i||{}),t._init&&t._init()):_.data(this,a,new e(i,this))})),o}},_.Widget=function(){},_.Widget._childConstructors=[],_.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=_(e||this.defaultElement||this)[0],this.element=_(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=_(),this.hoverable=_(),this.focusable=_(),this.classesElementLookup={},e!==this&&(_.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=_(e.style?e.ownerDocument:e.document||e),this.window=_(this.document[0].defaultView||this.document[0].parentWindow)),this.options=_.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:_.noop,_create:_.noop,_init:_.noop,destroy:function(){var i=this;this._destroy(),_.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:_.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return _.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=_.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=_(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],a=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=a.classesElementLookup[t[n]]||_(),i=o.add?(function(){var i=[];o.element.each(function(t,e){_.map(a.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),a._on(_(i),{remove:"_untrackClassesElement"})}(),_(_.uniqueSort(i.get().concat(o.element.get())))):_(i.not(o.element).get()),a.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=_.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;_.each(n.classesElementLookup,function(t,e){-1!==_.inArray(i.target,e)&&(n.classesElementLookup[t]=_(e.not(i.target).get()))}),this._off(_(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,i={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return i.element.toggleClass(this._classes(i),n),this},_on:function(o,s,t){var a,r=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=a=_(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,a=this.widget()),_.each(t,function(t,e){function i(){if(o||!0!==r.options.disabled&&!_(this).hasClass("ui-state-disabled"))return("string"==typeof e?r[e]:e).apply(r,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||_.guid++);var n=t.match(/^([\w:-]*)\s*(.*)$/),t=n[1]+r.eventNamespace,n=n[2];n?a.on(t,n,i):s.on(t,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=_(this.bindings.not(t).get()),this.focusable=_(this.focusable.not(t).get()),this.hoverable=_(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(_(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(_(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(_(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(_(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=_.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},_.each({show:"fadeIn",hide:"fadeOut"},function(s,a){_.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||a:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!_.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&_.effects&&_.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){_(this)[s](),i&&i.call(e[0]),t()})}});var n,C,W,s,c,l,h,f,H;_.widget;function T(t,e,i){return[parseFloat(t[0])*(f.test(t[0])?e/100:1),parseFloat(t[1])*(f.test(t[1])?i/100:1)]}function k(t,e){return parseInt(_.css(t,e),10)||0}function S(t){return null!=t&&t===t.window}
vendor: 4,349 bytes, line 11054
11054C=Math.max,W=Math.abs,s=/left|center|right/,c=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,h=/^\w+/,f=/%$/,H=_.fn.position,_.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,e=_("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>"),i=e.children()[0];return _("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?_.position.scrollbarWidth():0,height:e?_.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=_(t||window),i=S(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?_(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},_.fn.position=function(f){if(!f||!f.of)return H.apply(this,arguments);var d,u,p,g,m,t,v="string"==typeof(f=_.extend({},f)).of?_(document).find(f.of):_(f.of),b=_.position.getWithinInfo(f.within),y=_.position.getScrollInfo(b),x=(f.collision||"flip").split(" "),w={},e=9===(t=(e=v)[0]).nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:S(t)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()};return v[0].preventDefault&&(f.at="left top"),u=e.width,p=e.height,m=_.extend({},g=e.offset),_.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?s.test(i[0])?i.concat(["center"]):c.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=s.test(i[0])?i[0]:"center",i[1]=c.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),w[this]=[t?t[0]:0,e?e[0]:0],f[this]=[h.exec(i[0])[0],h.exec(i[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===f.at[0]?m.left+=u:"center"===f.at[0]&&(m.left+=u/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),d=T(w.at,u,p),m.left+=d[0],m.top+=d[1],this.each(function(){var i,t,a=_(this),r=a.outerWidth(),c=a.outerHeight(),e=k(this,"marginLeft"),n=k(this,"marginTop"),o=r+e+k(this,"marginRight")+y.width,s=c+n+k(this,"marginBottom")+y.height,l=_.extend({},m),h=T(w.my,a.outerWidth(),a.outerHeight());"right"===f.my[0]?l.left-=r:"center"===f.my[0]&&(l.left-=r/2),"bottom"===f.my[1]?l.top-=c:"center"===f.my[1]&&(l.top-=c/2),l.left+=h[0],l.top+=h[1],i={marginLeft:e,marginTop:n},_.each(["left","top"],function(t,e){_.ui.position[x[t]]&&_.ui.position[x[t]][e](l,{targetWidth:u,targetHeight:p,elemWidth:r,elemHeight:c,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[d[0]+h[0],d[1]+h[1]],my:f.my,at:f.at,within:b,elem:a})}),f.using&&(t=function(t){var e=g.left-l.left,i=e+u-r,n=g.top-l.top,o=n+p-c,s={target:{element:v,left:g.left,top:g.top,width:u,height:p},element:{element:a,left:l.left,top:l.top,width:r,height:c},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};u<r&&W(e+i)<u&&(s.horizontal="center"),p<c&&W(n+o)<p&&(s.vertical="middle"),C(W(e),W(i))>C(W(n),W(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),a.offset(_.extend(l,{using:t}))})},_.ui.position={fit:{left:function(t,e){var i=e.within,n=i.isWindow?i.scrollLeft:i.offset.left,o=i.width,s=t.left-e.collisionPosition.marginLeft,a=n-s,r=s+e.collisionWidth-o-n;e.collisionWidth>o?0<a&&r<=0?(i=t.left+a+e.collisionWidth-o-n,t.left+=a-i):t.left=!(0<r&&a<=0)&&r<a?n+o-e.collisionWidth:n:0<a?t.left+=a:0<r?t.left-=r:t.left=C(t.left-s,t.left)},top:function(t,e){var i=e.within,n=i.isWindow?i.scrollTop:i.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,a=n-s,r=s+e.collisionHeight-o-n;e.collisionHeight>o?0<a&&r<=0?(i=t.top+a+e.collisionHeight-o-n,t.top+=a-i):t.top=!(0<r&&a<=0)&&r<a?n+o-e.collisionHeight:n:0<a?t.top+=a:0<r?t.top-=r:t.top=C(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,s=i.isWindow?i.scrollLeft:i.offset.left,a=t.left-e.collisionPosition.marginLeft,r=a-s,c=a+e.collisionWidth-o-s,l="left"
vendor: 11,216 bytes, line 11054
11054===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,i="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,a=-2*e.offset[0];r<0?((n=t.left+l+i+a+e.collisionWidth-o-n)<0||n<W(r))&&(t.left+=l+i+a):0<c&&(0<(s=t.left-e.collisionPosition.marginLeft+l+i+a-s)||W(s)<c)&&(t.left+=l+i+a)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,s=i.isWindow?i.scrollTop:i.offset.top,a=t.top-e.collisionPosition.marginTop,r=a-s,c=a+e.collisionHeight-o-s,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,i="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,a=-2*e.offset[1];r<0?((n=t.top+l+i+a+e.collisionHeight-o-n)<0||n<W(r))&&(t.top+=l+i+a):0<c&&(0<(s=t.top-e.collisionPosition.marginTop+l+i+a-s)||W(s)<c)&&(t.top+=l+i+a)}},flipfit:{left:function(){_.ui.position.flip.left.apply(this,arguments),_.ui.position.fit.left.apply(this,arguments)},top:function(){_.ui.position.flip.top.apply(this,arguments),_.ui.position.fit.top.apply(this,arguments)}}};var t;_.ui.position,_.extend(_.expr.pseudos,{data:_.expr.createPseudo?_.expr.createPseudo(function(e){return function(t){return!!_.data(t,e)}}):function(t,e,i){return!!_.data(t,i[3])}}),_.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}});_.ui.focusable=function(t,e){var i,n,o,s,a=t.nodeName.toLowerCase();return"area"===a?(n=(i=t.parentNode).name,!(!t.href||!n||"map"!==i.nodeName.toLowerCase())&&(0<(n=_("img[usemap='#"+n+"']")).length&&n.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(a)?(o=!t.disabled)&&(s=_(t).closest("fieldset")[0])&&(o=!s.disabled):o="a"===a&&t.href||e,o&&_(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(_(t)))},_.extend(_.expr.pseudos,{focusable:function(t){return _.ui.focusable(t,null!=_.attr(t,"tabindex"))}});var e,d;_.ui.focusable,_.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):_(this[0].form)},_.ui.formResetMixin={_formResetHandler:function(){var e=_(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");_.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(_.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}};_.expr.pseudos||(_.expr.pseudos=_.expr[":"]),_.uniqueSort||(_.uniqueSort=_.unique),_.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,d=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},_.escapeSelector=function(t){return(t+"").replace(e,d)}),_.fn.even&&_.fn.odd||_.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}});_.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},_.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+_.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},_.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=_(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:_(this[0].ownerDocument||document)},_.extend(_.expr.pseudos,{tabbable:function(t){var e=_.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&_.ui.focusable(t,i)}}),_.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&_(this).removeAttr("id")})}}),_.widget("ui.accordion",{version:"1.13.2",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:function(t){return t.find("> li > :first-child").add(t.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=_(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),t.collapsible||!1!==t.active&&null!=t.active||(t.active=0),this._processPanels(),t.active<0&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():_()}},_createIcons:function(){var t,e=this.options.icons;e&&(t=_("<span>"),this._addClass(t,"ui-accordion-header-icon","ui-icon "+e.header),t.prependTo(this.headers),t=this.active.children(".ui-accordion-header-icon"),this._removeClass(t,e.header)._addClass(t,null,e.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var e=_.ui.keyCode,i=this.headers.length,n=this.headers.index(t.target),o=!1;switch(t.keyCode){case e.RIGHT:case e.DOWN:o=this.headers[(n+1)%i];break;case e.LEFT:case e.UP:o=this.headers[(n-1+i)%i];break;case e.SPACE:case e.ENTER:this._eventHandler(t);break;case e.HOME:o=this.headers[0];break;case e.END:o=this.headers[i-1]}o&&(_(t.target).attr("tabIndex",-1),_(o).attr("tabIndex",0),_(o).trigger("focus"),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===_.ui.keyCode.UP&&t.ctrlKey&&_(t.currentTarget).prev().trigger("focus")},refresh:function(){var t=this.options;this._processPanels(),!1===t.active&&!0===t.collapsible||!this.headers.length?(t.active=!1,this.active=_()):!1===t.active?this._activate(0):this.active.length&&!_.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=_()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var i,t=this.options,e=t.heightStyle,n=this.element.parent();this.active=this._findActive(t.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var t=_(this),e=t.uniqueId().attr("id"),i=t.next(),n=i.uniqueId().attr("id");t.attr("aria-controls",n),i.attr("aria-labelledby",e)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(t.event),"fill"===e?(i=n.height(),this.element.siblings(":visible").each(function(){var t=_(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=_(this).outerHeight(!0)}),this.headers.next().each(function(){_(this).height(Math.max(0,i-_(this).innerHeight()+_(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.headers.next().each(function(){var t=_(this).is(":visible");t||_(this).show(),i=Math.max(i,_(this).css("height","").height()),t||_(this).hide()}).height(i))},_activate:function(t){t=this._findActive(t)[0];t!==this.active[0]&&(t=t||this.active[0],this._eventHandler({target:t,currentTarget:t,preventDefault:_.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):_()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&_.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var e=this.options,i=this.active,n=_(t.currentTarget),o=n[0]===i[0],s=o&&e.collapsible,a=s?_():n.next(),r=i.next(),a={oldHeader:i,oldPanel:r,newHeader:s?_():n,newPanel:a};t.preventDefault(),o&&!e.collapsible||!1===this._trigger("beforeActivate",t,a)||(e.active=!s&&this.headers.index(n),this.active=o?_():n,this._toggle(a),this._removeClass(i,"ui-accordion-header-active","ui-state-active"),e.icons&&(i=i.children(".ui-accordion-header-icon"),this._removeClass(i,null,e.icons.activeHeader)._addClass(i,null,e.icons.header)),o||(this._removeClass(n,"ui-accordion-header-collapsed")._addClass(n,"ui-accordion-header-active","ui-state-active"),e.icons&&(o=n.
vendor: 10,423 bytes, line 11054
11054children(".ui-accordion-header-icon"),this._removeClass(o,null,e.icons.header)._addClass(o,null,e.icons.activeHeader)),this._addClass(n.next(),"ui-accordion-content-active")))},_toggle:function(t){var e=t.newPanel,i=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=e,this.prevHide=i,this.options.animate?this._animate(e,i,t):(i.hide(),e.show(),this._toggleComplete(t)),i.attr({"aria-hidden":"true"}),i.prev().attr({"aria-selected":"false","aria-expanded":"false"}),e.length&&i.length?i.prev().attr({tabIndex:-1,"aria-expanded":"false"}):e.length&&this.headers.filter(function(){return 0===parseInt(_(this).attr("tabIndex"),10)}).attr("tabIndex",-1),e.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,i,e){var n,o,s,a=this,r=0,c=t.css("box-sizing"),l=t.length&&(!i.length||t.index()<i.index()),h=this.options.animate||{},f=l&&h.down||h,l=function(){a._toggleComplete(e)};return o=(o="string"==typeof f?f:o)||f.easing||h.easing,s=(s="number"==typeof f?f:s)||f.duration||h.duration,i.length?t.length?(n=t.show().outerHeight(),i.animate(this.hideProps,{duration:s,easing:o,step:function(t,e){e.now=Math.round(t)}}),void t.hide().animate(this.showProps,{duration:s,easing:o,complete:l,step:function(t,e){e.now=Math.round(t),"height"!==e.prop?"content-box"===c&&(r+=e.now):"content"!==a.options.heightStyle&&(e.now=Math.round(n-i.outerHeight()-r),r=0)}})):i.animate(this.hideProps,s,o,l):t.animate(this.showProps,s,o,l)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}});var u,p=_,g={},m=g.toString,v=/^([\-+])=\s*(\d+\.?\d*)/,b=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16),t[4]?(parseInt(t[4],16)/255).toFixed(2):1]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),t[4]?(parseInt(t[4]+t[4],16)/255).toFixed(2):1]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],y=p.Color=function(t,e,i,n){return new p.Color.fn.parse(t,e,i,n)},x={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},w={byte:{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},P=y.support={},I=p("<p>")[0],E=p.each;function D(t){return null==t?t+"":"object"==typeof t?g[m.call(t)]||"object":typeof t}function q(t,e,i){var n=w[e.type]||{};return null==t?i||!e.def?null:e.def:(t=n.floor?~~t:parseFloat(t),isNaN(t)?e.def:n.mod?(t+n.mod)%n.mod:Math.min(n.max,Math.max(0,t)))}function L(n){var o=y(),s=o._rgba=[];return n=n.toLowerCase(),E(b,function(t,e){var i=e.re.exec(n),i=i&&e.parse(i),e=e.space||"rgba";if(i)return i=o[e](i),o[x[e].cache]=i[x[e].cache],s=o._rgba=i._rgba,!1}),s.length?("0,0,0,0"===s.join()&&p.extend(s,$.transparent),o):$[n]}function M(t,e,i){return 6*(i=(i+1)%1)<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}I.style.cssText="background-color:rgba(1,1,1,.5)",P.rgba=-1<I.style.backgroundColor.indexOf("rgba"),E(x,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),p.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(t,e){g["[object "+e+"]"]=e.toLowerCase()}),(y.fn=p.extend(y.prototype,{parse:function(o,t,e,i){if(void 0===o)return this._rgba=[null,null,null,null],this;(o.jquery||o.nodeType)&&(o=p(o).css(t),t=void 0);var s=this,n=D(o),a=this._rgba=[];return void 0!==t&&(o=[o,t,e,i],n="array"),"string"===n?this.parse(L(o)||$._default):"array"===n?(E(x.rgba.props,function(t,e){a[e.idx]=q(o[e.idx],e)}),this):"object"===n?(E(x,o instanceof y?function(t,e){o[e.cache]&&(s[e.cache]=o[e.cache].slice())}:function(t,i){var n=i.cache;E(i.props,function(t,e){if(!s[n]&&i.to){if("alpha"===t||null==o[t])return;s[n]=i.to(s._rgba)}s[n][e.idx]=q(o[t],e,!0)}),s[n]&&p.inArray(null,s[n].slice(0,3))<0&&(null==s[n][3]&&(s[n][3]=1),i.from&&(s._rgba=i.from(s[n])))}),this):void 0},is:function(t){var o=y(t),s=!0,a=this;return E(x,function(t,e){var i,n=o[e.cache];return n&&(i=a[e.cache]||e.to&&e.to(a._rgba)||[],E(e.props,function(t,e){if(null!=n[e.idx])return s=n[e.idx]===i[e.idx]})),s}),s},_space:function(){var i=[],n=this;return E(x,function(t,e){n[e.cache]&&i.push(t)}),i.pop()},transition:function(t,a){var e=(l=y(t))._space(),i=x[e],t=0===this.alpha()?y("transparent"):this,r=t[i.cache]||i.to(t._rgba),c=r.slice(),l=l[i.cache];return E(i.props,function(t,e){var i=e.idx,n=r[i],o=l[i],s=w[e.type]||{};null!==o&&(null===n?c[i]=o:(s.mod&&(o-n>s.mod/2?n+=s.mod:n-o>s.mod/2&&(n-=s.mod)),c[i]=q((o-n)*a+n,e)))}),this[e](c)},blend:function(t){if(1===this._rgba[3])return this;var e=this._rgba.slice(),i=e.pop(),n=y(t)._rgba;return y(p.map(e,function(t,e){return(1-i)*n[e]+i*t}))},toRgbaString:function(){var t="rgba(",e=p.map(this._rgba,function(t,e){return null!=t?t:2<e?1:0});return 1===e[3]&&(e.pop(),t="rgb("),t+e.join()+")"},toHslaString:function(){var t="hsla(",e=p.map(this.hsla(),function(t,e){return null==t&&(t=2<e?1:0),t=e&&e<3?Math.round(100*t)+"%":t});return 1===e[3]&&(e.pop(),t="hsl("),t+e.join()+")"},toHexString:function(t){var e=this._rgba.slice(),i=e.pop();return t&&e.push(~~(255*i)),"#"+p.map(e,function(t){return 1===(t=(t||0).toString(16)).length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}})).parse.prototype=y.fn,x.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/255,i=t[1]/255,n=t[2]/255,o=t[3],s=Math.max(e,i,n),a=Math.min(e,i,n),r=s-a,c=s+a,t=.5*c,i=a===s?0:e===s?60*(i-n)/r+360:i===s?60*(n-e)/r+120:60*(e-i)/r+240,c=0==r?0:t<=.5?r/c:r/(2-c);return[Math.round(i)%360,c,t,null==o?1:o]},x.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],n=t[2],t=t[3],i=n<=.5?n*(1+i):n+i-n*i,n=2*n-i;return[Math.round(255*M(n,i,e+1/3)),Math.round(255*M(n,i,e)),Math.round(255*M(n,i,e-1/3)),t]},E(x,function(c,t){var e=t.props,s=t.cache,a=t.to,r=t.from;y.fn[c]=function(t){if(a&&!this[s]&&(this[s]=a(this._rgba)),void 0===t)return this[s].slice();var i=D(t),n="array"===i||"object"===i?t:arguments,o=this[s].slice();return E(e,function(t,e){t=n["object"===i?t:e.idx];null==t&&(t=o[e.idx]),o[e.idx]=q(t,e)}),r?((t=y(r(o)))[s]=o,t):y(o)},E(e,function(a,r){y.fn[a]||(y.fn[a]=function(t){var e,i=D(t),n="alpha"===a?this._hsla?"hsla":"rgba":c,o=this[n](),s=o[r.idx];return"undefined"===i?s:("function"===i&&(i=D(t=t.call(this,s))),null==t&&r.empty?this:("string"===i&&(e=v.exec(t))&&(t=s+parseFloat(e[2])*("+"===e[1]?1:-1)),o[r.idx]=t,this[n](o)))})})}),(y.hook=function(t){t=t.split(" ");E(t,function(t,s){p.cssHooks[s]={set:function(t,e){var i,n,o="";if("transparent"!==e&&("string"!==D(e)||(i=L(e)))){if(e=y(i||e),!P.rgba&&1!==e._rgba[3]){for(n="backgroundColor"===s?t.parentNode:t;(""===o||"transparent"===o)&&n&&n.style;)try{o=p.css(n,"backgroundColor"),n=n.parentNode}catch(t){}e=e.blend(o&&"transparent"!==o?o:"_default")}e=e.toRgbaString()}try{t.style[s]=e}catch(t){}}},p.fx.step[s]=function(t){t.colorInit||(t.start=y(t.elem,s),t.end=y(t.end),t.colorInit=!0),p.cssHooks[s].set(t.elem,t.start.transition(t.end,t.pos))}})})("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),p.cssHooks.borderColor={expand:function(i){var n={};return E(["Top","Right","Bottom","Left"],function(t,e){n["border"+e+"Color"]=i}),n}};var N,A,B,O,F,R,j,z,U,K,$=p.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"},G="ui-effects-",Q="ui-effects-style",V="ui-effects-animated";function X(t){var e,i,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(i=n.length;i--;)"string"==typeof n[e=n[i]]&&(o[e.replace(/-([\da-z])/gi,function(t,e){return e.toUpperCase()})]=n[e]);else for(e in n)"string"==typeof n[e]&&(o[e]=n[e]);return o}function Y(t,e,i,n){return t={effect:t=_.isPlainObject(t)?(e=t).effect:t},"function"==typeof(e=null==e?{}:e)&&(n=e,i=null,e={}),"number"!=typeof e&&!_.fx.speeds[e]||(n=i,i=e,e={}),"function"==typeof i&&(n=i,i=null),e&&_.extend(t,e),i=i||e.duration,t.duration=_.fx.off?0:"number"==typeof i?i:i in _.fx.speeds?_.fx.speeds[i]:_.fx.speeds._default,t.complete=n||e.complete,t}function J(t){return!t||"number"==typeof t||_.fx.speeds[t]||("string"==typeof t&&!_.effects.effect[t]||("function"==typeof t||"object"==typeof t&&!t.effect))}function Z(t,e){var i=e.outerWidth(),e=e.outerHeight(),t=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t)||["",0,i,e,0];return{top:parseFloat(t[1])||0,right:"auto"===t[2]?i:parseFloat(t[2]),bottom:"auto"===t[3]?e:parseFloat(t[3]),left:parseFloat(t[4])||0}}_.effects={effect:{}},O=["add","remove","toggle"],F={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1},_.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,e){_.fx.step[e]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,e,t.end),t.setAttr=!0)}}),_.fn.addBack||(_.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}
vendor: 12,679 bytes, line 11054
11054),_.effects.animateClass=function(o,t,e,i){var s=_.speed(t,e,i);return this.queue(function(){var i=_(this),t=i.attr("class")||"",e=(e=s.children?i.find("*").addBack():i).map(function(){return{el:_(this),start:X(this)}}),n=function(){_.each(O,function(t,e){o[e]&&i[e+"Class"](o[e])})};n(),e=e.map(function(){return this.end=X(this.el[0]),this.diff=function(t,e){var i,n,o={};for(i in e)n=e[i],t[i]!==n&&(F[i]||!_.fx.step[i]&&isNaN(parseFloat(n))||(o[i]=n));return o}(this.start,this.end),this}),i.attr("class",t),e=e.map(function(){var t=this,e=_.Deferred(),i=_.extend({},s,{queue:!1,complete:function(){e.resolve(t)}});return this.el.animate(this.diff,i),e.promise()}),_.when.apply(_,e.get()).done(function(){n(),_.each(arguments,function(){var e=this.el;_.each(this.diff,function(t){e.css(t,"")})}),s.complete.call(i[0])})})},_.fn.extend({addClass:(B=_.fn.addClass,function(t,e,i,n){return e?_.effects.animateClass.call(this,{add:t},e,i,n):B.apply(this,arguments)}),removeClass:(A=_.fn.removeClass,function(t,e,i,n){return 1<arguments.length?_.effects.animateClass.call(this,{remove:t},e,i,n):A.apply(this,arguments)}),toggleClass:(N=_.fn.toggleClass,function(t,e,i,n,o){return"boolean"==typeof e||void 0===e?i?_.effects.animateClass.call(this,e?{add:t}:{remove:t},i,n,o):N.apply(this,arguments):_.effects.animateClass.call(this,{toggle:t},e,i,n)}),switchClass:function(t,e,i,n,o){return _.effects.animateClass.call(this,{add:e,remove:t},i,n,o)}}),_.expr&&_.expr.pseudos&&_.expr.pseudos.animated&&(_.expr.pseudos.animated=(R=_.expr.pseudos.animated,function(t){return!!_(t).data(V)||R(t)})),!1!==_.uiBackCompat&&_.extend(_.effects,{save:function(t,e){for(var i=0,n=e.length;i<n;i++)null!==e[i]&&t.data(G+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,n=0,o=e.length;n<o;n++)null!==e[n]&&(i=t.data(G+e[n]),t.css(e[n],i))},setMode:function(t,e){return e="toggle"===e?t.is(":hidden")?"show":"hide":e},createWrapper:function(i){if(i.parent().is(".ui-effects-wrapper"))return i.parent();var n={width:i.outerWidth(!0),height:i.outerHeight(!0),float:i.css("float")},t=_("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:i.width(),height:i.height()},o=document.activeElement;try{o.id}catch(t){o=document.body}return i.wrap(t),i[0]!==o&&!_.contains(i[0],o)||_(o).trigger("focus"),t=i.parent(),"static"===i.css("position")?(t.css({position:"relative"}),i.css({position:"relative"})):(_.extend(n,{position:i.css("position"),zIndex:i.css("z-index")}),_.each(["top","left","bottom","right"],function(t,e){n[e]=i.css(e),isNaN(parseInt(n[e],10))&&(n[e]="auto")}),i.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),i.css(e),t.css(n).show()},removeWrapper:function(t){var e=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),t[0]!==e&&!_.contains(t[0],e)||_(e).trigger("focus")),t}}),_.extend(_.effects,{version:"1.13.2",define:function(t,e,i){return i||(i=e,e="effect"),_.effects.effect[t]=i,_.effects.effect[t].mode=e,i},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var n="horizontal"!==i?(e||100)/100:1,e="vertical"!==i?(e||100)/100:1;return{height:t.height()*e,width:t.width()*n,outerHeight:t.outerHeight()*e,outerWidth:t.outerWidth()*n}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var n=t.queue();1<e&&n.splice.apply(n,[1,0].concat(n.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(Q,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(Q)||"",t.removeData(Q)},mode:function(t,e){t=t.is(":hidden");return"toggle"===e&&(e=t?"show":"hide"),e=(t?"hide"===e:"show"===e)?"none":e},getBaseline:function(t,e){var i,n;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":n=0;break;case"center":n=.5;break;case"right":n=1;break;default:n=t[1]/e.width}return{x:n,y:i}},createPlaceholder:function(t){var e,i=t.css("position"),n=t.position();return t.css({marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()),/^(static|relative)/.test(i)&&(i="absolute",e=_("<"+t[0].nodeName+">").insertAfter(t).css({display:/^(inline|ruby)/.test(t.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight"),float:t.css("float")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).addClass("ui-effects-placeholder"),t.data(G+"placeholder",e)),t.css({position:i,left:n.left,top:n.top}),e},removePlaceholder:function(t){var e=G+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(t){_.effects.restoreStyle(t),_.effects.removePlaceholder(t)},setTransition:function(n,t,o,s){return s=s||{},_.each(t,function(t,e){var i=n.cssUnit(e);0<i[0]&&(s[e]=i[0]*o+i[1])}),s}}),_.fn.extend({effect:function(){function t(t){var e=_(this),i=_.effects.mode(e,r)||s;e.data(V,!0),c.push(i),s&&("show"===i||i===s&&"hide"===i)&&e.show(),s&&"none"===i||_.effects.saveStyle(e),"function"==typeof t&&t()}var n=Y.apply(this,arguments),o=_.effects.effect[n.effect],s=o.mode,e=n.queue,i=e||"fx",a=n.complete,r=n.mode,c=[];return _.fx.off||!o?r?this[r](n.duration,a):this.each(function(){a&&a.call(this)}):!1===e?this.each(t).each(l):this.queue(i,t).queue(i,l);function l(t){var e=_(this);function i(){"function"==typeof a&&a.call(e[0]),"function"==typeof t&&t()}n.mode=c.shift(),!1===_.uiBackCompat||s?"none"===n.mode?(e[r](),i()):o.call(e[0],n,function(){e.removeData(V),_.effects.cleanUp(e),"hide"===n.mode&&e.hide(),i()}):(e.is(":hidden")?"hide"===r:"show"===r)?(e[r](),i()):o.call(e[0],n,i)}},show:(U=_.fn.show,function(t){if(J(t))return U.apply(this,arguments);t=Y.apply(this,arguments);return t.mode="show",this.effect.call(this,t)}),hide:(z=_.fn.hide,function(t){if(J(t))return z.apply(this,arguments);t=Y.apply(this,arguments);return t.mode="hide",this.effect.call(this,t)}),toggle:(j=_.fn.toggle,function(t){if(J(t)||"boolean"==typeof t)return j.apply(this,arguments);t=Y.apply(this,arguments);return t.mode="toggle",this.effect.call(this,t)}),cssUnit:function(t){var i=this.css(t),n=[];return _.each(["em","px","%","pt"],function(t,e){0<i.indexOf(e)&&(n=[parseFloat(i),e])}),n},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):Z(this.css("clip"),this)},transfer:function(t,e){var i=_(this),n=_(t.to),o="fixed"===n.css("position"),s=_("body"),a=o?s.scrollTop():0,r=o?s.scrollLeft():0,s=n.offset(),s={top:s.top-a,left:s.left-r,height:n.innerHeight(),width:n.innerWidth()},n=i.offset(),c=_("<div class='ui-effects-transfer'></div>");c.appendTo("body").addClass(t.className).css({top:n.top-a,left:n.left-r,height:i.innerHeight(),width:i.innerWidth(),position:o?"fixed":"absolute"}).animate(s,t.duration,t.easing,function(){c.remove(),"function"==typeof e&&e()})}}),_.fx.step.clip=function(t){t.clipInit||(t.start=_(t.elem).cssClip(),"string"==typeof t.end&&(t.end=Z(t.end,t.elem)),t.clipInit=!0),_(t.elem).cssClip({top:t.pos*(t.end.top-t.start.top)+t.start.top,right:t.pos*(t.end.right-t.start.right)+t.start.right,bottom:t.pos*(t.end.bottom-t.start.bottom)+t.start.bottom,left:t.pos*(t.end.left-t.start.left)+t.start.left})},K={},_.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,t){K[t]=function(t){return Math.pow(t,e+2)}}),_.extend(K,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),_.each(K,function(t,e){_.easing["easeIn"+t]=e,_.easing["easeOut"+t]=function(t){return 1-e(1-t)},_.easing["easeInOut"+t]=function(t){return t<.5?e(2*t)/2:1-e(-2*t+2)/2}});I=_.effects,_.effects.define("blind","hide",function(t,e){var i={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=_(this),o=t.direction||"up",s=n.cssClip(),a={clip:_.extend({},s)},r=_.effects.createPlaceholder(n);a.clip[i[o][0]]=a.clip[i[o][1]],"show"===t.mode&&(n.cssClip(a.clip),r&&r.css(_.effects.clipToBox(a)),a.clip=s),r&&r.animate(_.effects.clipToBox(a),t.duration,t.easing),n.animate(a,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("bounce",function(t,e){var i,n,o=_(this),s=t.mode,a="hide"===s,r="show"===s,c=t.direction||"up",l=t.distance,h=t.times||5,s=2*h+(r||a?1:0),f=t.duration/s,d=t.easing,u="up"===c||"down"===c?"top":"left",p="up"===c||"left"===c,g=0,t=o.queue().length;for(_.effects.createPlaceholder(o),c=o.css(u),l=l||o["top"==u?"outerHeight":"outerWidth"]()/3,r&&((n={opacity:1})[u]=c,o.css("opacity",0).css(u,p?2*-l:2*l).animate(n,f,d)),a&&(l/=Math.pow(2,h-1)),(n={})[u]=c;g<h;g++)(i={})[u]=(p?"-=":"+=")+l,o.animate(i,f,d).animate(n,f,d),l=a?2*l:l/2;a&&((i={opacity:0})[u]=(p?"-=":"+=")+l,o.animate(i,f,d)),o.queue(e),_.effects.unshift(o,t,1+s)}),_.effects.define("clip","hide",function(t,e){var i={},n=_(this),o=t.direction||"vertical",s="both"===o,a=s||"horizontal"===o,s=s||"vertical"===o,o=n.cssClip();i.clip={top:s?(o.bottom-o.top)/2:o.top,right:a?(o.right-o.left)/2:o.right,bottom:s?(o.bottom-o.top)/2:o.bottom,left:a?(o.right-o.left)/2:o.left},_.effects.createPlaceholder(n),"show"===t.mode&&(n.cssClip(i.clip),i.clip=o),n.animate(i,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("drop","hide",function(t,e){var i=_(this),n="show"===t.mode,o=t.direction||"left",s="up"===o||"down"===o?"top":"left",a="up"===o||"left"===o?"-=":"+=",r="+="==a?"-=":"+=",c={opacity:0};_.effects.createPlaceholder(i),o=t.distance||i["top"==s?"outerHeight":"outerWidth"](!0)/2,c[s]=a+o,n&&(i.css(c),c[s]=r+o,c.opacity=1),i.animate(c,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("explode","hide",function(t,e){var i,n,o,s,a,r,c=t.pieces?Math.round(Math.sqrt(t.pieces)):3,l=c,h=_(this),f="show"===t.mode,d=h.show().css("visibility","hidden").offset(),u=Math.ceil(h.outerWidth()/l),p=Math.ceil(h.outerHeight()/c),g=[];function m(){g.push(this),g.length===c*l&&(h.css({visibility:"visible"}),_(g).remove(),e())}for(i=0;i<c;i++)for(s=d.top+i*p,r=i-(c-1)/2,n=0;n<l;n++)o=d.left+n*u,a=n-(l-1)/2,h.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-n*u,top:-i*p}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:u,height:p,left:o+(f?a*u:0),top:s+(f?r*p:0),opacity:f?0:1}).animate({left:o+(f?0:a*u),top:s+(f?0:r*p),opacity:f?1:0},t.duration||500,t.easing,m)}),_.effects.define("fade","toggle",function(t,e){var i="show"===t.mode;_(this).css("opacity",i?0:1).animate({opacity:i?1:0},{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("fold","hide",function(e,t){var i=_(this),n=e.mode,o="show"===n,s="hide"===n,a=e.size||15,r=/([0-9]+)%/.exec(a),c=!!e.horizFirst?["right","bottom"]:["bottom","right"],l=e.duration/2,h=_.effects.createPlaceholder(i),f=i.cssClip(),d={clip:_.extend({},f)},u={clip:_.extend({},f)},p=[f[c[0]],f[c[1]]],n=i.queue().length;r&&(a=parseInt(r[1],10)/100*p[s?0:1]),d.clip[c[0]]=a,u.clip[c[0]]=a,u.clip[c[1]]=0,o&&(i.cssClip(u.clip),h&&h.css(_.effects.clipToBox(u)),u.clip=f),i.queue(function(t){h&&h.animate(_.effects.clipToBox(d),l,e.easing).animate(_.effects.clipToBox(u),l,e.easing),t()}).animate(d,l,e.easing).animate(u,l,e.easing).queue(t),_.effects.unshift(i,n,4)}),_.effects.define("highlight","show",function(t,e){var i=_(this),n={backgroundColor:i.css("backgroundColor")};"hide"===t.mode&&(n.opacity=0),_.effects.saveStyle(i),i.css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(n,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),_.effects.define("size",function(n,e){var o,i=_(this),t=["fontSize"],s=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],a=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],r=n.mode,c="effect"!==r,l=n.scale||"both",h=n.origin||["middle","center"],f=i.css("position"),d=i.position(),u=_.effects.scaledDimensions(i),p=n.from||u,g=n.to||_.effects.scaledDimensions(i,0);_.effects.createPlaceholder(i),"show"===r&&(r=p,p=g,g=r),o={from:{y:p.height/u.height,x:p.width/u.width}
11054,to:{y:g.height/u.height,x:g.width/u.width}},"box"!==l&&"both"!==l||(o.from.y!==o.to.y&&(p=_.effects.setTransition(i,s,o.from.y,p),g=_.effects.setTransition(i,s,o.to.y,g)),o.from.x!==o.to.x&&(p=_.effects.setTransition(i,a,o.from.x,p),g=_.effects.setTransition(i,a,o.to.x,g))),"content"!==l&&"both"!==l||o.from.y!==o.to.y&&(p=_.effects.setTransition(i,t,o.from.y,p),g=_.effects.setTransition(i,t,o.to.y,g)),h&&(h=_.effects.getBaseline(h,u),p.top=(u.outerHeight-p.outerHeight)*h.y+d.top,p.left=(u.outerWidth-p.outerWidth)*h.x+d.left,g.top=(u.outerHeight-g.outerHeight)*h.y+d.top,g.left=(u.outerWidth-g.outerWidth)*h.x+d.left),delete p.outerHeight,delete p.outerWidth,i.css(p),"content"!==l&&"both"!==l||(s=s.concat(["marginTop","marginBottom"]).concat(t),a=a.concat(["marginLeft","marginRight"]),i.find("*[width]").each(function(){var t=_(this),e=_.effects.scaledDimensions(t),i={height:e.height*o.from.y,width:e.width*o.from.x,outerHeight:e.outerHeight*o.from.y,outerWidth:e.outerWidth*o.from.x},e={height:e.height*o.to.y,width:e.width*o.to.x,outerHeight:e.height*o.to.y,outerWidth:e.width*o.to.x};o.from.y!==o.to.y&&(i=_.effects.setTransition(t,s,o.from.y,i),e=_.effects.setTransition(t,s,o.to.y,e)),o.from.x!==o.to.x&&(i=_.effects.setTransition(t,a,o.from.x,i),e=_.effects.setTransition(t,a,o.to.x,e)),c&&_.effects.saveStyle(t),t.css(i),t.animate(e,n.duration,n.easing,function(){c&&_.effects.restoreStyle(t)})})),i.animate(g,{queue:!1,duration:n.duration,easing:n.easing,complete:function(){var t=i.offset();0===g.opacity&&i.css("opacity",p.opacity),c||(i.css("position","static"===f?"relative":f).offset(t),_.effects.saveStyle(i)),e()}})}),_.effects.define("scale",function(t,e){var i=_(this),n=t.mode,n=parseInt(t.percent,10)||(0===parseInt(t.percent,10)||"effect"!==n?0:100),n=_.extend(!0,{from:_.effects.scaledDimensions(i),to:_.effects.scaledDimensions(i,n,t.direction||"both"),origin:t.origin||["middle","center"]},t);t.fade&&(n.from.opacity=1,n.to.opacity=0),_.effects.effect.size.call(this,n,e)}),_.effects.define("puff","hide",function(t,e){t=_.extend(!0,{},t,{fade:!0,percent:parseInt(t.percent,10)||150});_.effects.effect.scale.call(this,t,e)}),_.effects.define("pulsate","show",function(t,e){var i=_(this),n=t.mode,o="show"===n,s=2*(t.times||5)+(o||"hide"===n?1:0),a=t.duration/s,r=0,c=1,n=i.queue().length;for(!o&&i.is(":visible")||(i.css("opacity",0).show(),r=1);c<s;c++)i.animate({opacity:r},a,t.easing),r=1-r;i.animate({opacity:r},a,t.easing),i.queue(e),_.effects.unshift(i,n,1+s)}),_.effects.define("shake",function(t,e){var i=1,n=_(this),o=t.direction||"left",s=t.distance||20,a=t.times||3,r=2*a+1,c=Math.round(t.duration/r),l="up"===o||"down"===o?"top":"left",h="up"===o||"left"===o,f={},d={},u={},o=n.queue().length;for(_.effects.createPlaceholder(n),f[l]=(h?"-=":"+=")+s,d[l]=(h?"+=":"-=")+2*s,u[l]=(h?"-=":"+=")+2*s,n.animate(f,c,t.easing);i<a;i++)n.animate(d,c,t.easing).animate(u,c,t.easing);n.animate(d,c,t.easing).animate(f,c/2,t.easing).queue(e),_.effects.unshift(n,o,1+r)}),_.effects.define("slide","show",function(t,e){var i,n,o=_(this),s={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},a=t.mode,r=t.direction||"left",c="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r,h=t.distance||o["top"==c?"outerHeight":"outerWidth"](!0),f={};_.effects.createPlaceholder(o),i=o.cssClip(),n=o.position()[c],f[c]=(l?-1:1)*h+n,f.clip=o.cssClip(),f.clip[s[r][1]]=f.clip[s[r][0]],"show"===a&&(o.cssClip(f.clip),o.css(c,f[c]),f.clip=i,f[c]=n),o.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:e})}),!1!==_.uiBackCompat&&_.effects.define("transfer",function(t,e){_(this).transfer(t,e)})}); 11055/* End */ 11056; 11057; /* Start:"a:4:{s:4:"full";s:70:"/local/templates/culture/build/js/jquery.maskedinput.js?17665672447207";s:6:"source";s:55:"/local/templates/culture/build/js/jquery.maskedinput.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 11058function getPasteEvent() { 11059 var el = document.createElement('input'), 11060 name = 'onpaste'; 11061 el.setAttribute(name, ''); 11062 return (typeof el[name] === 'function')?'paste':'input'; 11063} 11064 11065var pasteEventName = getPasteEvent() + ".mask", 11066 ua = navigator.userAgent, 11067 iPhone = /iphone/i.test(ua), 11068 android=/android/i.test(ua), 11069 caretTimeoutId; 11070 11071$.mask = { 11072 //Predefined character definitions 11073 definitions: { 11074 '9': "[0-9]", 11075 'a': "[A-Za-z]", 11076 '*': "[A-Za-z0-9]" 11077 }, 11078 dataName: "rawMaskFn", 11079 placeholder: '_', 11080}; 11081 11082$.fn.extend({ 11083 //Helper Function for Caret positioning 11084 caret: function(begin, end) { 11085 var range; 11086 11087 if (this.length === 0 || this.is(":hidden")) { 11088 return; 11089 } 11090 11091 if (typeof begin == 'number') { 11092 end = (typeof end === 'number') ? end : begin; 11093 return this.each(function() { 11094 if (this.setSelectionRange) { 11095 this.setSelectionRange(begin, end); 11096 } else if (this.createTextRange) { 11097 range = this.createTextRange(); 11098 range.collapse(true); 11099 range.moveEnd('character', end); 11100 range.moveStart('character', begin); 11101 range.select(); 11102 } 11103 }); 11104 } else { 11105 if (this[0].setSelectionRange) { 11106 begin = this[0].selectionStart; 11107 end = this[0].selectionEnd; 11108 } else if (document.selection && document.selection.createRange) { 11109 range = document.selection.createRange(); 11110 begin = 0 - range.duplicate().moveStart('character', -100000); 11111 end = begin + range.text.length; 11112 } 11113 return { begin: begin, end: end }; 11114 } 11115 }, 11116 unmask: function() { 11117 return this.trigger("unmask"); 11118 }, 11119 mask: function(mask, settings) { 11120 var input, 11121 defs, 11122 tests, 11123 partialPosition, 11124 firstNonMaskPos, 11125 len; 11126 11127 if (!mask && this.length > 0) { 11128 input = $(this[0]); 11129 return input.data($.mask.dataName)(); 11130 } 11131 settings = $.extend({ 11132 placeholder: $.mask.placeholder, // Load default placeholder 11133 completed: null 11134 }, settings); 11135 11136 11137 defs = $.mask.definitions; 11138 tests = []; 11139 partialPosition = len = mask.length; 11140 firstNonMaskPos = null; 11141 11142 $.each(mask.split(""), function(i, c) { 11143 if (c == '?') { 11144 len--; 11145 partialPosition = i; 11146 } else if (defs[c]) { 11147 tests.push(new RegExp(defs[c])); 11148 if (firstNonMaskPos === null) { 11149 firstNonMaskPos = tests.length - 1; 11150 } 11151 } else { 11152 tests.push(null); 11153 } 11154 }); 11155 11156 return this.trigger("unmask").each(function() { 11157 var input = $(this), 11158 buffer = $.map( 11159 mask.split(""), 11160 function(c, i) { 11161 if (c != '?') { 11162 return defs[c] ? settings.placeholder : c; 11163 } 11164 }), 11165 focusText = input.val(); 11166 11167 function seekNext(pos) { 11168 while (++pos < len && !tests[pos]); 11169 return pos; 11170 } 11171 11172 function seekPrev(pos) { 11173 while (--pos >= 0 && !tests[pos]); 11174 return pos; 11175 } 11176 11177 function shiftL(begin,end) { 11178 var i, 11179 j; 11180 11181 if (begin<0) { 11182 return; 11183 } 11184 11185 for (i = begin, j = seekNext(end); i < len; i++) { 11186 if (tests[i]) { 11187 if (j < len && tests[i].test(buffer[j])) { 11188 buffer[i] = buffer[j]; 11189 buffer[j] = settings.placeholder; 11190 } else { 11191 break; 11192 } 11193 11194 j = seekNext(j); 11195 } 11196 } 11197 writeBuffer(); 11198 input.caret(Math.max(firstNonMaskPos, begin)); 11199 } 11200 11201 function shiftR(pos) { 11202 var i, 11203 c, 11204 j, 11205 t; 11206 11207 for (i = pos, c = settings.placeholder; i < len; i++) { 11208 if (tests[i]) { 11209 j = seekNext(i); 11210 t = buffer[i]; 11211 buffer[i] = c; 11212 if (j < len && tests[j].test(t)) { 11213 c = t; 11214 } else { 11215 break; 11216 } 11217 } 11218 } 11219 } 11220 11221 function keydownEvent(e) { 11222 var k = e.which, 11223 pos, 11224 begin, 11225 end; 11226 11227 //backspace, delete, and escape get special treatment 11228 if (k === 8 || k === 46 || (iPhone && k === 127)) { 11229 pos = input.caret(); 11230 begin = pos.begin; 11231 end = pos.end; 11232 11233 if (end - begin === 0) { 11234 begin=k!==46?seekPrev(begin):(end=seekNext(begin-1));
11235 end=k===46?seekNext(end):end; 11236 } 11237 clearBuffer(begin, end); 11238 shiftL(begin, end - 1); 11239 11240 e.preventDefault(); 11241 } else if (k == 27) {//escape 11242 input.val(focusText); 11243 input.caret(0, checkVal()); 11244 e.preventDefault(); 11245 } 11246 } 11247 11248 function keypressEvent(e) { 11249 var k = e.which, 11250 pos = input.caret(), 11251 p, 11252 c, 11253 next; 11254 11255 if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {//Ignore 11256 return; 11257 } else if (k) { 11258 if (pos.end - pos.begin !== 0){ 11259 clearBuffer(pos.begin, pos.end); 11260 shiftL(pos.begin, pos.end-1); 11261 } 11262 11263 p = seekNext(pos.begin - 1); 11264 if (p < len) { 11265 c = String.fromCharCode(k); 11266 if (tests[p].test(c)) { 11267 shiftR(p); 11268 11269 buffer[p] = c; 11270 writeBuffer(); 11271 next = seekNext(p); 11272 11273 if(android){ 11274 setTimeout($.proxy($.fn.caret,input,next),0); 11275 }else{ 11276 input.caret(next); 11277 } 11278 11279 if (settings.completed && next >= len) { 11280 settings.completed.call(input); 11281 } 11282 } 11283 } 11284 e.preventDefault(); 11285 } 11286 } 11287 11288 function clearBuffer(start, end) { 11289 var i; 11290 for (i = start; i < end && i < len; i++) { 11291 if (tests[i]) { 11292 buffer[i] = settings.placeholder; 11293 } 11294 } 11295 } 11296 11297 function writeBuffer() { input.val(buffer.join('')); } 11298 11299 function checkVal(allow) { 11300 //try to place characters where they belong 11301 var test = input.val(), 11302 lastMatch = -1, 11303 i, 11304 c; 11305 11306 for (i = 0, pos = 0; i < len; i++) { 11307 if (tests[i]) { 11308 buffer[i] = settings.placeholder; 11309 while (pos++ < test.length) { 11310 c = test.charAt(pos - 1); 11311 if (tests[i].test(c)) { 11312 buffer[i] = c; 11313 lastMatch = i; 11314 break; 11315 } 11316 } 11317 if (pos > test.length) { 11318 break; 11319 } 11320 } else if (buffer[i] === test.charAt(pos) && i !== partialPosition) { 11321 pos++; 11322 lastMatch = i; 11323 } 11324 } 11325 if (allow) { 11326 writeBuffer(); 11327 } else if (lastMatch + 1 < partialPosition) { 11328 input.val(""); 11329 clearBuffer(0, len); 11330 } else { 11331 writeBuffer(); 11332 input.val(input.val().substring(0, lastMatch + 1)); 11333 } 11334 return (partialPosition ? i : firstNonMaskPos); 11335 } 11336 11337 input.data($.mask.dataName,function(){ 11338 return $.map(buffer, function(c, i) { 11339 return tests[i]&&c!=settings.placeholder ? c : null; 11340 }).join(''); 11341 }); 11342 11343 if (!input.attr("readonly")) 11344 input 11345 .one("unmask", function() { 11346 input 11347 .unbind(".mask") 11348 .removeData($.mask.dataName); 11349 }) 11350 .bind("focus.mask", function() { 11351 clearTimeout(caretTimeoutId); 11352 var pos, 11353 moveCaret; 11354 11355 focusText = input.val(); 11356 pos = checkVal(); 11357 11358 caretTimeoutId = setTimeout(function(){ 11359 writeBuffer(); 11360 if (pos == mask.length) { 11361 input.caret(0, pos); 11362 } else { 11363 input.caret(pos); 11364 } 11365 }, 10); 11366 }) 11367 .bind("blur.mask", function() { 11368 checkVal(); 11369 if (input.val() != focusText) 11370 input.change(); 11371 }) 11372 .bind("keydown.mask", keydownEvent) 11373 .bind("keypress.mask", keypressEvent) 11374 .bind(pasteEventName, function() { 11375 setTimeout(function() { 11376 var pos=checkVal(true); 11377 input.caret(pos); 11378 if (settings.completed && pos == input.val().length) 11379 settings.completed.call(input); 11380 }, 0); 11381 }); 11382 checkVal(); //Perform initial check for existing values 11383 }); 11384 } 11385}); 11386 11387 11388/* End */ 11389; 11390; /* Start:"a:4:{s:4:"full";s:72:"/local/templates/culture/build/js/jquery.validate.min.js?176656724424601";s:6:"source";s:56:"/local/templates/culture/build/js/jquery.validate.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 11391/*! jQuery Validation Plugin - v1.19.5 - 7/1/2022 11392 * https://jqueryvalidation.org/ 11393 * Copyright (c) 2022 Jörn Zaefferer; Licensed MIT */ 11394!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.submitButton=b.currentTarget,a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.submitButton&&(c.settings.submitHandler||c.formSubmitted)&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!(c.settings.submitHandler&&!c.settings.debug)||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element
vendor: 13,156 bytes, line 11394
11394(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0],k="undefined"!=typeof this.attr("contenteditable")&&"false"!==this.attr("contenteditable");if(null!=j&&(!j.form&&k&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}});var b=function(a){return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};a.extend(a.expr.pseudos||a.expr[":"],{blank:function(c){return!b(""+a(c).val())},filled:function(c){var d=a(c).val();return null!==d&&!!b(""+d)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");if(!this.form&&c&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name")),d===this.form){var e=a.data(this.form,"validator"),f="on"+b.type.replace(/^validate/,""),g=e.settings;g[f]&&!a(this).is(g.ignore)&&g[f].call(e,this,b)}}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.currentForm,e=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){e[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").trigger("focus").trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name"),e="undefined"!=typeof a(this).attr("contenteditable")&&"false"!==a(this).attr("contenteditable");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),e&&(this.form=a(this).closest("form")[0],this.name=d),this.form===b.currentForm&&(!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0))})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type,g="undefined"!=typeof e.attr("contenteditable")&&"false"!==e.attr("contenteditable");return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=g?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);"function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f&&(j=f.call(b,j),delete g.normalizer);for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){"string"==typeof c&&(c={method:c});var d=this.findDefined(this.customMessage(b.name,c.method),this.customDataMessage(b,c.method),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c.method],"<strong>Warning: No message defined for "+b.name+"</strong>"),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.n
11394ame],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return void 0===a?"":a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);
vendor: 8,651 bytes, lines 11394-11397
11394return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()&&0===this.pendingRequest?(a(this.currentForm).trigger("submit"),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur").find(".validate-lessThan-blur").off(".validate-lessThan").removeClass("validate-lessThan-blur").find(".validate-lessThanEqual-blur").off(".validate-lessThanEqual").removeClass("validate-lessThanEqual-blur").find(".validate-greaterThanEqual-blur").off(".validate-greaterThanEqual").removeClass("validate-greaterThanEqual-blur").find(".validate-greaterThan-blur").off(".validate-greaterThan").removeClass("validate-greaterThan-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a["date"===b?"dateISO":c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),""===d&&(d=!0),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(a,d){b[a]="function"==typeof d&&"normalizer"!==a?d(c):d}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var a;b[this]&&(Array.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(a=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(a[0]),Number(a[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:void 0!==b&&null!==b&&b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})+(?::(?:[^\]\[?\/<~#`!@$^&*()+=}|:";',>{ ]|%[0-9A-Fa-f]{2})*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(){var a=!1;return function(b,c){return a||(a=!0,this.settings.debug&&window.console&&console.warn("The `date` method is deprecated and will be removed in version '2.0.0'.\nPlease don't use it, since it relies on the Date constructor, which\nbehaves very differently across browsers and locales. Use `dateISO`\ninstead or one of the locale specific methods in `localizations/`\nand `additional-methods.js`.")),this.optional(c)||!/Invalid|NaN/.test(new Date(b).toString())}}(),dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c},maxlength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d<=c},rangelength:function(a,b,c){var d=Array.isArray(a)?a.length:this.getLength(a,b);return this.optional(b)||d>=c[0]&&d<=c[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var c,d={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,c){var e=a.port;"abort"===a.mode&&(d[e]&&d[e].abort(),d[e]=c)}):(c=a.ajax,a.ajax=function(b){var e=("mode"in b?b:a.ajaxSettings).mode,f=("port"in b?b:a.ajaxSettings).port;return"abort"===e?(d[f]&&d[f].abort(),d[f]=c.apply(this,arguments),d[f]):c.apply(this,arguments)}),a}); 11395/* End */ 11396; 11397; /* Start:"a:4:{s:4:"full";s:69:"/local/templates/culture/build/js/select2.full.min.js?176656724475005";s:6:"source";s:53:"/local/templates/culture/build/js/select2.full.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
vendor: 24,099 bytes, line 11398
11398/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">×</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({}
vendor: 4,600 bytes, line 11398
11398,b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"â¶":"A","A":"A","Ã":"A","Ã":"A","Ã":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ä":"A","Ä":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ç ":"A","Ã":"A","Ç":"A","Ả":"A","Ã
":"A","Ǻ":"A","Ç":"A","È":"A","È":"A","Ạ":"A","Ậ":"A","Ặ":"A","á¸":"A","Ä":"A","Ⱥ":"A","Ɐ":"A","ê²":"AA","Ã":"AE","Ǽ":"AE","Ç¢":"AE","ê´":"AO","ê¶":"AU","ê¸":"AV","êº":"AV","ê¼":"AY","â·":"B","ï¼¢":"B","á¸":"B","á¸":"B","á¸":"B","É":"B","Æ":"B","Æ":"B","â¸":"C","ï¼£":"C","Ä":"C","Ä":"C","Ä":"C","Ä":"C","Ã":"C","á¸":"C","Æ":"C","È»":"C","ê¾":"C","â¹":"D","D":"D","á¸":"D","Ä":"D","á¸":"D","á¸":"D","á¸":"D","á¸":"D","Ä":"D","Æ":"D","Æ":"D","Æ":"D","ê¹":"D","DZ":"DZ","Ç":"DZ","Dz":"Dz","Ç
":"Dz","âº":"E","ï¼¥":"E","Ã":"E","Ã":"E","Ã":"E","á»":"E","Ế":"E","á»":"E","á»":"E","Ẽ":"E","Ä":"E","á¸":"E","á¸":"E","Ä":"E","Ä":"E","Ã":"E","Ẻ":"E","Ä":"E","È":"E","È":"E","Ẹ":"E","á»":"E","Ȩ":"E","á¸":"E","Ä":"E","á¸":"E","á¸":"E","Æ":"E","Æ":"E","â»":"F","F":"F","á¸":"F","Æ":"F","ê»":"F","â¼":"G","ï¼§":"G","Ç´":"G","Ä":"G","Ḡ":"G","Ä":"G","Ä ":"G","Ǧ":"G","Ä¢":"G","Ǥ":"G","Æ":"G","ê ":"G","ê½":"G","ê¾":"G","â½":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","È":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","â±§":"H","â±µ":"H","ê":"H","â¾":"I","I":"I","Ã":"I","Ã":"I","Ã":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ã":"I","Ḯ":"I","á»":"I","Ç":"I","È":"I","È":"I","á»":"I","Ä®":"I","Ḭ":"I","Æ":"I","â¿":"J","J":"J","Ä´":"J","É":"J","â":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Æ":"K","Ⱪ":"K","ê":"K","ê":"K","ê":"K","ê¢":"K","â":"L","L":"L","Ä¿":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ä»":"L","Ḽ":"L","Ḻ":"L","Å":"L","Ƚ":"L","â±¢":"L","â± ":"L","ê":"L","ê":"L","ê":"L","Ç":"LJ","Ç":"Lj","â":"M","ï¼":"M","Ḿ":"M","á¹":"M","á¹":"M","â±®":"M","Æ":"M","â":"N","ï¼®":"N","Ǹ":"N","Å":"N","Ã":"N","á¹":"N","Å":"N","á¹":"N","Å
":"N","á¹":"N","á¹":"N","È ":"N","Æ":"N","ê":"N","ê¤":"N","Ç":"NJ","Ç":"Nj","â":"O","O":"O","Ã":"O","Ã":"O","Ã":"O","á»":"O","á»":"O","á»":"O","á»":"O","Ã":"O","á¹":"O","Ȭ":"O","á¹":"O","Å":"O","á¹":"O","á¹":"O","Å":"O","È®":"O","Ȱ":"O","Ã":"O","Ȫ":"O","á»":"O","Å":"O","Ç":"O","È":"O","È":"O","Æ ":"O","á»":"O","á»":"O","á» ":"O","á»":"O","Ợ":"O","á»":"O","á»":"O","Ǫ":"O","Ǭ":"O","Ã":"O","Ǿ":"O","Æ":"O","Æ":"O","ê":"O","ê":"O","Æ¢":"OI","ê":"OO","È¢":"OU","â
":"P","ï¼°":"P","á¹":"P","á¹":"P","Ƥ":"P","â±£":"P","ê":"P","ê":"P","ê":"P","â":"Q","ï¼±":"Q","ê":"Q","ê":"Q","É":"Q","â":"R","ï¼²":"R","Å":"R","á¹":"R","Å":"R","È":"R","È":"R","á¹":"R","á¹":"R","Å":"R","á¹":"R","É":"R","Ɽ":"R","ê":"R","ê¦":"R","ê":"R","â":"S","ï¼³":"S","áº":"S","Å":"S","Ṥ":"S","Å":"S","á¹ ":"S","Å ":"S","Ṧ":"S","á¹¢":"S","Ṩ":"S","È":"S","Å":"S","â±¾":"S","ê¨":"S","ê":"S","â":"T","ï¼´":"T","Ṫ":"T","Ť":"T","Ṭ":"T","È":"T","Å¢":"T","á¹°":"T","á¹®":"T","Ŧ":"T","Ƭ":"T","Æ®":"T","Ⱦ":"T","ê":"T","ê¨":"TZ","â":"U","ï¼µ":"U","Ã":"U","Ã":"U","Ã":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ã":"U","Ç":"U","Ç":"U","Ç":"U","Ç":"U","Ủ":"U","Å®":"U","Ű":"U","Ç":"U","È":"U","È":"U","Ư":"U","Ừ":"U","Ứ":"U","á»®":"U","Ử":"U","á»°":"U","Ụ":"U","á¹²":"U","Ų":"U","á¹¶":"U","á¹´":"U","É":"U","â":"V","ï¼¶":"V","á¹¼":"V","á¹¾":"V","Ʋ":"V","ê":"V","É
":"V","ê ":"VY","â":"W","ï¼·":"W","áº":"W","áº":"W","Å´":"W","áº":"W","áº":"W","áº":"W","â±²":"W","â":"X","X":"X","áº":"X","áº":"X","â":"Y","ï¼¹":"Y","Ỳ":"Y","Ã":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","áº":"Y","Ÿ":"Y","á»¶":"Y","á»´":"Y","Ƴ":"Y","É":"Y","Ỿ":"Y","â":"Z","Z":"Z","Ź":"Z","áº":"Z","Å»":"Z","Ž":"Z","áº":"Z","áº":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","ê¢":"Z","â":"a","ï½":"a","áº":"a","à ":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","Ä":"a","Ä":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","Ç¡":"a","ä":"a","Ç":"a","ả":"a","Ã¥":"a","Ç»":"a","Ç":"a","È":"a","È":"a","ạ":"a","áº":"a","ặ":"a","á¸":"a","Ä
":"a","â±¥":"a","É":"a","ê³":"aa","æ":"ae","ǽ":"ae","Ç£":"ae","êµ":"ao","ê·":"au","ê¹":"av","ê»":"av","ê½":"ay","â":"b","ï½":"b","á¸":"b","á¸
":"b","á¸":"b","Æ":"b","Æ":"b","É":"b","â":"c","ï½":"c","Ä":"
vendor: 37,082 bytes, lines 11398-11400
11398c","Ä":"c","Ä":"c","Ä":"c","ç":"c","á¸":"c","Æ":"c","ȼ":"c","ê¿":"c","â":"c","â":"d","ï½":"d","á¸":"d","Ä":"d","á¸":"d","á¸":"d","á¸":"d","á¸":"d","Ä":"d","Æ":"d","É":"d","É":"d","êº":"d","dz":"dz","Ç":"dz","â":"e","ï½ ":"e","è":"e","é":"e","ê":"e","á»":"e","ế":"e","á» ":"e","á»":"e","ẽ":"e","Ä":"e","á¸":"e","á¸":"e","Ä":"e","Ä":"e","ë":"e","ẻ":"e","Ä":"e","È ":"e","È":"e","ẹ":"e","á»":"e","È©":"e","á¸":"e","Ä":"e","á¸":"e","á¸":"e","É":"e","É":"e","Ç":"e","â":"f","ï½":"f","á¸":"f","Æ":"f","ê¼":"f","â":"g","ï½":"g","ǵ":"g","Ä":"g","ḡ":"g","Ä":"g","Ä¡":"g","ǧ":"g","Ä£":"g","Ç¥":"g","É ":"g","ê¡":"g","áµ¹":"g","ê¿":"g","â":"h","ï½":"h","Ä¥":"h","ḣ":"h","ḧ":"h","È":"h","ḥ":"h","ḩ":"h","ḫ":"h","áº":"h","ħ":"h","ⱨ":"h","â±¶":"h","É¥":"h","Æ":"hv","â":"i","ï½":"i","ì":"i","Ã":"i","î":"i","Ä©":"i","Ä«":"i","Ä":"i","ï":"i","ḯ":"i","á»":"i","Ç":"i","È":"i","È":"i","á»":"i","į":"i","á¸":"i","ɨ":"i","ı":"i","â":"j","ï½":"j","ĵ":"j","ǰ":"j","É":"j","â":"k","ï½":"k","ḱ":"k","Ç©":"k","ḳ":"k","Ä·":"k","ḵ":"k","Æ":"k","ⱪ":"k","ê":"k","ê":"k","ê ":"k","ê£":"k","â":"l","ï½":"l","Å":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","Å¿":"l","Å":"l","Æ":"l","É«":"l","ⱡ":"l","ê":"l","ê":"l","ê":"l","Ç":"lj","â":"m","ï½":"m","ḿ":"m","á¹":"m","á¹":"m","ɱ":"m","ɯ":"m","â":"n","ï½":"n","ǹ":"n","Å":"n","ñ":"n","á¹ ":"n","Å":"n","á¹":"n","Å":"n","á¹":"n","á¹":"n","Æ":"n","ɲ":"n","Å":"n","ê":"n","ê¥":"n","Ç":"nj","â":"o","ï½":"o","ò":"o","ó":"o","ô":"o","á»":"o","á»":"o","á»":"o","á»":"o","õ":"o","á¹":"o","È":"o","á¹":"o","Å":"o","á¹":"o","á¹":"o","Å":"o","ȯ":"o","ȱ":"o","ö":"o","È«":"o","á»":"o","Å":"o","Ç":"o","È":"o","È":"o","Æ¡":"o","á»":"o","á»":"o","ỡ":"o","á»":"o","ợ":"o","á»":"o","á»":"o","Ç«":"o","Ç":"o","ø":"o","Ç¿":"o","É":"o","ê":"o","ê":"o","ɵ":"o","Æ£":"oi","È£":"ou","ê":"oo","â":"p","ï½":"p","á¹":"p","á¹":"p","Æ¥":"p","áµ½":"p","ê":"p","ê":"p","ê":"p","â ":"q","ï½":"q","É":"q","ê":"q","ê":"q","â¡":"r","ï½":"r","Å":"r","á¹":"r","Å":"r","È":"r","È":"r","á¹":"r","á¹":"r","Å":"r","á¹":"r","É":"r","ɽ":"r","ê":"r","ê§":"r","ê":"r","â¢":"s","ï½":"s","Ã":"s","Å":"s","á¹¥":"s","Å":"s","ṡ":"s","Å¡":"s","á¹§":"s","á¹£":"s","ṩ":"s","È":"s","Å":"s","È¿":"s","ê©":"s","ê ":"s","áº":"s","â£":"t","ï½":"t","ṫ":"t","áº":"t","Å¥":"t","á¹":"t","È":"t","Å£":"t","á¹±":"t","ṯ":"t","ŧ":"t","Æ":"t","Ê":"t","ⱦ":"t","ê":"t","ê©":"tz","â¤":"u","ï½":"u","ù":"u","ú":"u","û":"u","Å©":"u","á¹¹":"u","Å«":"u","á¹»":"u","Å":"u","ü":"u","Ç":"u","Ç":"u","Ç":"u","Ç":"u","á»§":"u","ů":"u","ű":"u","Ç":"u","È":"u","È":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","á»":"u","á»±":"u","ụ":"u","á¹³":"u","ų":"u","á¹·":"u","á¹µ":"u","Ê":"u","â¥":"v","ï½":"v","á¹½":"v","ṿ":"v","Ê":"v","ê":"v","Ê":"v","ê¡":"vy","â¦":"w","ï½":"w","áº":"w","áº":"w","ŵ":"w","áº":"w","Ạ":"w","áº":"w","áº":"w","â±³":"w","â§":"x","ï½":"x","áº":"x","áº":"x","â¨":"y","ï½":"y","ỳ":"y","ý":"y","Å·":"y","ỹ":"y","ȳ":"y","áº":"y","ÿ":"y","á»·":"y","áº":"y","ỵ":"y","Æ´":"y","É":"y","ỿ":"y","â©":"z","ï½":"z","ź":"z","áº":"z","ż":"z","ž":"z","áº":"z","áº":"z","ƶ":"z","È¥":"z","É":"z","ⱬ":"z","ê£":"z","Î":"Î","Î":"Î","Î":"Î","Î":"Î","Ϊ":"Î","Î":"Î","Î":"Î¥","Ϋ":"Î¥","Î":"Ω","ά":"α","Î":"ε","ή":"η","ί":"ι","Ï":"ι","Î":"ι","Ï":"ο","Ï":"Ï ","Ï":"Ï ","ΰ":"Ï ","Ï":"Ï","Ï":"Ï"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change"); 11399if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more resultsâ¦"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searchingâ¦"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null; 11400},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("
11400select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&(f=d(this),null!=f&&g.push(f))})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;return this._isInitialized?void b.call(this,c):void this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery"],function(a){function b(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return b.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},b.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},b.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},b.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},b.prototype.addOptions=function(b,c){var d=a.map(c,function(b){return a.data(b[0],"data")});this._currentData.push.apply(this._currentData,d)},b}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f],h=b(c.term,g.text,g);h||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated
11400in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c;var d=this.options.get("query");d.call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){var d=c.find(".dropdown-wrapper");d.append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1
vendor: 4,952 bytes, lines 11400-11404
11400),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}); 11401/* End */ 11402; 11403; /* Start:"a:4:{s:4:"full";s:62:"/local/templates/culture/build/js/slick.min.js?176656724442863";s:6:"source";s:46:"/local/templates/culture/build/js/slick.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 11404!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,
vendor: 6,594 bytes, line 11404
11404sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(t),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(t).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,void 0!==document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=e++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):!0===o?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),!1===s.options.vertical?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this.getNavTarget();null!==t&&"object"==typeof t&&t.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};!1===e.options.fade?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(!1===i.options.infinite&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1==0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;!0===e.options.arrows&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),!0!==e.options.infinite&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(!0===o.options.dots){for(o.$slider.addClass("slick-dotted"),t=i("<ul />").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i("<li />").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),!0!==e.options.centerMode&&!0!==e.options.swipeToSlide||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),!0===e.options.draggable&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.o
vendor: 3,442 bytes, line 11404
11404ptions.rows>1){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;i<s;i++){var d=document.createElement("div");for(e=0;e<l.options.rows;e++){var a=document.createElement("div");for(t=0;t<l.options.slidesPerRow;t++){var c=i*r+(e*l.options.slidesPerRow+t);n.get(c)&&a.appendChild(n.get(c))}d.appendChild(a)}o.appendChild(d)}l.$slider.empty().append(o),l.$slider.children().children().children().css({width:100/l.options.slidesPerRow+"%",display:"inline-block"})}},e.prototype.checkResponsive=function(e,t){var o,s,n,r=this,l=!1,d=r.$slider.width(),a=window.innerWidth||i(window).width();if("window"===r.respondTo?n=a:"slider"===r.respondTo?n=d:"min"===r.respondTo&&(n=Math.min(a,d)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){s=null;for(o in r.breakpoints)r.breakpoints.hasOwnProperty(o)&&(!1===r.originalSettings.mobileFirst?n<r.breakpoints[o]&&(s=r.breakpoints[o]):n>r.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||!1===l||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!=0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t;if(e=this.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var o in e){if(i<e[o]){i=t;break}t=e[o]}return i},e.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(i("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",i.proxy(e.interrupt,e,!0)).off("mouseleave.slick",i.proxy(e.interrupt,e,!1)),!0===e.options.accessibility&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.
11404slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),!0===e.options.accessibility&&e.$list.off("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>1&&((i=e.$slides.children().children()).removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;!1===t.cssTransitions?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;!1===e.cssTransitions?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(t){t.stopImmediatePropagation();var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&(e.focussed=o.is(":focus"),e.autoPlay())},0)})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){return this.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(!0===i.options.infinite)if(i.slideCount<=i.options.slidesToShow)++o;else for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else if(!0===i.options.centerMode)o=i.slideCount;else if(i.options.asNavFor)for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else o=1+Math.ceil((i.slideCount-i.options.slidesToShow)/i.options.slidesToScroll);return o-1},e.prototype.getLeft=function(i){var e,t,o,s,n=this,r=0;return n.slideOffset=0,t=n.$slides.first().outerHeight(!0),!0===n.options.infinite?(n.slideCount>n.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,!0===n.options.vertical&&!0===n.options.centerMode&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!=0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),!0===n.options.centerMode&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:!0===n.options.centerMode&&!0===n.options.infinite?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:!0===n.options.centerMode&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=!1===n.options.vertical?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,!0===n.options.variableWidth&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,!0===n.options.centerMode&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){return this.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(!1===e.options.infinite?i=e.slideCount:(t=-1*e.options.slidesToScroll,o=-1*e.options.slidesToScroll,i=2*e.slideCount);t<i;)s.push(t),t=o+e.options.slidesToScroll,o+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;return s},e.prototype.getSlick=function(){return this},e.prototype.getSlideCount=function(){var e,t,o=this;return t=!0===o.options.centerMode?o.slideWidth*Math.floor(o.options.slidesToShow/2):0,!0===o.options.swipeToSlide?(o.$slideTrack.find(".slick-slide").each(function(s,n){if(n.offsetLeft-t+i(n).outerWidth()/2>-1*o.swipeLeft)return e=n,!1}),Math.abs(i(e).attr("data-slick-index")-o.currentSlide)||1):o.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){this.changeSlide({data:{message:"index",index:
11404parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),!0===t.options.accessibility&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&i<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t){var s=o.indexOf(t);i(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+t,tabindex:-1}),-1!==s&&i(this).attr({"aria-describedby":"slick-slide-control"+e.instanceUid+s})}),e.$dots.attr("role","tablist").find("li").each(function(s){var n=o[s];i(this).attr({role:"presentation"}),i(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+n,"aria-label":s+1+" of "+t,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,n=s+e.options.slidesToShow;s<n;s++)e.$slides.eq(s).attr("tabindex",0);e.activateADA()},e.prototype.initArrowEvents=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),!0===i.options.accessibility&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;!0===e.options.dots&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),!0===e.options.accessibility&&e.$dots.on("keydown.slick",e.keyHandler)),!0===e.options.dots&&!0===e.options.pauseOnDotsHover&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"}
11404,e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),!0===e.options.accessibility&&e.$list.on("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&!0===e.options.accessibility?e.changeSlide({data:{message:!0===e.options.rtl?"next":"previous"}}):39===i.keyCode&&!0===e.options.accessibility&&e.changeSlide({data:{message:!0===e.options.rtl?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||n.$slider.attr("data-sizes"),r=document.createElement("img");r.onload=function(){e.animate({opacity:0}
vendor: 5,619 bytes, line 11404
11404,100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),n.$slider.trigger("lazyLoaded",[n,e,t])})},r.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),n.$slider.trigger("lazyLoadError",[n,e,t])},r.src=t})}var t,o,s,n=this;if(!0===n.options.centerMode?!0===n.options.infinite?s=(o=n.currentSlide+(n.options.slidesToShow/2+1))+n.options.slidesToShow+2:(o=Math.max(0,n.currentSlide-(n.options.slidesToShow/2+1)),s=n.options.slidesToShow/2+1+2+n.currentSlide):(o=n.options.infinite?n.options.slidesToShow+n.currentSlide:n.currentSlide,s=Math.ceil(o+n.options.slidesToShow),!0===n.options.fade&&(o>0&&o--,s<=n.slideCount&&s++)),t=n.$slider.find(".slick-slide").slice(o,s),"anticipated"===n.options.lazyLoad)for(var r=o-1,l=s,d=n.$slider.find(".slick-slide"),a=0;a<n.options.slidesToScroll;a++)r<0&&(r=n.slideCount-1),t=(t=t.add(d.eq(r))).add(d.eq(l)),r--,l++;e(t),n.slideCount<=n.options.slidesToShow?e(n.$slider.find(".slick-slide")):n.currentSlide>=n.slideCount-n.options.slidesToShow?e(n.$slider.find(".slick-cloned").slice(0,n.options.slidesToShow)):0===n.currentSlide&&e(n.$slider.find(".slick-cloned").slice(-1*n.options.slidesToShow))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;t.unslicked||(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),!0===t.options.accessibility&&(t.initADA(),t.options.focusOnChange&&i(t.$slides.get(t.currentSlide)).attr("tabindex",0).focus()))},e.prototype.prev=e.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===l.options.adaptiveHeight&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;if(i="boolean"==typeof i?!0===(e=i)?0:o.slideCount-1:!0===e?--i:i,o.slideCount<1||i<0||i>o.slideCount-1)return!1;o.unload(),!0===t?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,o.reinit()},e.prototype.setCSS=function(i){var e,t,o=this,s={};
11404!0===o.options.rtl&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,!1===o.transformsEnabled?o.$slideTrack.css(s):(s={},!1===o.cssTransitions?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;!1===i.options.vertical?!0===i.options.centerMode&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),!0===i.options.centerMode&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),!1===i.options.vertical&&!1===i.options.variableWidth?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):!0===i.options.variableWidth?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();!1===i.options.variableWidth&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,!0===t.options.rtl?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}
11404):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":void 0!==arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),!1===i.options.fade?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=!0===i.options.vertical?"top":"left","top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||!0===i.options.useCSS&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&!1!==i.animType&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&!1!==i.animType},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),!0===n.options.centerMode){var r=n.options.slidesToShow%2==0?1:0;e=Math.floor(n.options.slidesToShow/2),!0===n.options.infinite&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=!0===n.options.infinite?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?t.slice(o-(n.options.slidesToShow-s),o+s).addClass("slick-active").attr("aria-hidden","false"):t.slice(o,o+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},e.prototype.setupInfinite=function(){var e,t,o,s=this;if(!0===s.options.fade&&(s.options.centerMode=!1),!0===s.options.infinite&&!1===s.options.fade&&(t=null,s.slideCount>s.options.slidesToShow)){for(o=!0===s.options.centerMode?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;e<o+s.slideCount;e+=1)t=e,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");s.$slideTrack.find(".slick-cloned").find("[id]").each(function(){i(this).attr("id","")})}},e.prototype.interrupt=function(i){var e=this;i||e.autoPlay(),e.interrupted=i},e.prototype.selectHandler=function(e){var t=this,o=i(e.target).is(".slick-slide")?i(e.target):i(e.target).parents(".slick-slide"),s=parseInt(o.attr("data-slick-index"));s||(s=0),t.slideCount<=t.options.slidesToShow?t.slideHandler(s,!1,!0):t.slideHandler(s)},e.prototype.slideHandler=function(i,e,t){var o,s,n,r,l,d=null,a=this;if(e=e||!1,!(!0===a.animating&&!0===a.options.waitForAnimate||!0===a.options.fade&&a.currentSlide===i))if(!1===e&&a.asNavFor(i),o=i,d=a.getLeft(o),r=a.getLeft(a.currentSlide),a.currentLeft=null===a.swipeLeft?r:a.swipeLeft,!1===a.options.infinite&&!1===a.options.centerMode&&(i<0||i>a.getDotCount()*a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else if(!1===a.options.infinite&&!0===a.options.centerMode&&(i<0||i>a.slideCount-a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else{if(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!=0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+
11404o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!=0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=(l=a.getNavTarget()).slick("getSlick")).slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide),a.updateDots(),a.updateArrows(),!0===a.options.fade)return!0!==t?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight();!0!==t?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)}},e.prototype.startLoad=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),(o=Math.round(180*t/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&o>=0?!1===s.options.rtl?"left":"right":o<=360&&o>=315?!1===s.options.rtl?"left":"right":o>=135&&o<=225?!1===s.options.rtl?"right":"left":!0===s.options.verticalSwiping?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(!0===o.touchObject.edgeHit&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(!1===e.options.swipe||"ontouchend"in document&&!1===e.options.swipe||!1===e.options.draggable&&-1!==i.type.indexOf("mouse")))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,!0===e.options.verticalSwiping&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(!0===l.options.verticalSwiping&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(!1===l.options.rtl?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),!0===l.options.verticalSwiping&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,!1===l.options.infinite&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),!1===l.options.vertical?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,!0===l.options.verticalSwiping&&(l.swipeLeft=e+o*s),!0!==l.options.fade&&!1!==l.options.touchMove&&(!0===l.animating?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return t.touchObject={},!1;void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,t.dragging=!0},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")}
11404,e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i=this;Math.floor(i.options.slidesToShow/2),!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&!i.options.infinite&&(i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode?(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-1&&!0===i.options.centerMode&&(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i<r;i++)if("object"==typeof s||void 0===s?o[i].slick=new e(o[i],s):t=o[i].slick[s].apply(o[i].slick,n),void 0!==t)return t;return o}}); 11405 11406/* End */ 11407; 11408; /* Start:"a:4:{s:4:"full";s:56:"/local/templates/culture/build/js/bvi.js?176656724482847";s:6:"source";s:40:"/local/templates/culture/build/js/bvi.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 11409/* eslint-disable no-prototype-builtins */ 11410/* eslint-disable no-constant-condition */ 11411/* eslint-disable no-unsafe-finally */ 11412/* eslint-disable no-func-assign */ 11413/* eslint-disable no-undef */ 11414/*! 11415 * Button visually impaired - v1.0.0 https://bvi.isvek.ru 11416 * Copyright 2014-2021 Oleg Korotenko <[email protected]>. 11417 * Licensed MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) 11418 */ 11419(function (global, factory) { 11420 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 11421 typeof define === 'function' && define.amd ? define(factory) : 11422 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.isvek = factory()); 11423}(this, (function () { 'use strict'; 11424 11425 function ownKeys(object, enumerableOnly) { 11426 var keys = Object.keys(object); 11427 11428 if (Object.getOwnPropertySymbols) { 11429 var symbols = Object.getOwnPropertySymbols(object); 11430 11431 if (enumerableOnly) { 11432 symbols = symbols.filter(function (sym) { 11433 return Object.getOwnPropertyDescriptor(object, sym).enumerable; 11434 }); 11435 } 11436 11437 keys.push.apply(keys, symbols); 11438 } 11439 11440 return keys; 11441 } 11442 11443 function _objectSpread2(target) { 11444 for (var i = 1; i < arguments.length; i++) { 11445 var source = arguments[i] != null ? arguments[i] : {}; 11446 11447 if (i % 2) { 11448 ownKeys(Object(source), true).forEach(function (key) { 11449 _defineProperty(target, key, source[key]); 11450 }); 11451 } else if (Object.getOwnPropertyDescriptors) { 11452 Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); 11453 } else { 11454 ownKeys(Object(source)).forEach(function (key) { 11455 Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); 11456 }); 11457 } 11458 } 11459 11460 return target; 11461 } 11462 11463 function _typeof(obj) { 11464 "@babel/helpers - typeof"; 11465 11466 if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { 11467 _typeof = function (obj) { 11468 return typeof obj; 11469 }; 11470 } else { 11471 _typeof = function (obj) { 11472 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; 11473 }; 11474 } 11475 11476 return _typeof(obj); 11477 } 11478 11479 function _classCallCheck(instance, Constructor) { 11480 if (!(instance instanceof Constructor)) { 11481 throw new TypeError("Cannot call a class as a function"); 11482 } 11483 } 11484 11485 function _defineProperties(target, props) { 11486 for (var i = 0; i < props.length; i++) { 11487 var descriptor = props[i]; 11488 descriptor.enumerable = descriptor.enumerable || false; 11489 descriptor.configurable = true; 11490 if ("value" in descriptor) descriptor.writable = true; 11491 Object.defineProperty(target, descriptor.key, descriptor); 11492 } 11493 } 11494 11495 function _createClass(Constructor, protoProps, staticProps) { 11496 if (protoProps) _defineProperties(Constructor.prototype, protoProps); 11497 if (staticProps) _defineProperties(Constructor, staticProps); 11498 return Constructor; 11499 } 11500 11501 function _defineProperty(obj, key, value) { 11502 if (key in obj) { 11503 Object.defineProperty(obj, key, { 11504 value: value, 11505 enumerable: true, 11506 configurable: true, 11507 writable: true 11508 }); 11509 } else { 11510 obj[key] = value; 11511 } 11512 11513 return obj; 11514 } 11515 11516 function _unsupportedIterableToArray(o, minLen) { 11517 if (!o) return; 11518 if (typeof o === "string") return _arrayLikeToArray(o, minLen); 11519 var n = Object.prototype.toString.call(o).slice(8, -1); 11520 if (n === "Object" && o.constructor) n = o.constructor.name; 11521 if (n === "Map" || n === "Set") return Array.from(o); 11522 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); 11523 } 11524 11525 function _arrayLikeToArray(arr, len) { 11526 if (len == null || len > arr.length) len = arr.length; 11527 11528 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; 11529 11530 return arr2; 11531 } 11532 11533 function _createForOfIteratorHelper(o, allowArrayLike) { 11534 var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; 11535 11536 if (!it) { 11537 if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { 11538 if (it) o = it; 11539 var i = 0; 11540 11541 var F = function () {}; 11542 11543 return { 11544 s: F, 11545 n: function () { 11546 if (i >= o.length) return { 11547 done: true 11548 }; 11549 return { 11550 done: false, 11551 value: o[i++] 11552 }; 11553 }, 11554 e: function (e) { 11555 throw e; 11556 }, 11557 f: F 11558 }; 11559 } 11560 11561 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 11562 } 11563 11564 var normalCompletion = true, 11565 didErr = false, 11566 err; 11567 return { 11568 s: function () { 11569 it = it.call(o); 11570 }, 11571 n: function () { 11572 var step = it.next(); 11573 normalCompletion = step.done; 11574 return step; 11575 }, 11576 e: function (e) { 11577 didErr = true; 11578 err = e; 11579 }, 11580 f: function () { 11581 try { 11582 if (!normalCompletion && it.return != null) it.return(); 11583 } finally { 11584 if (didErr) throw err; 11585 } 11586 } 11587 }; 11588 } 11589 11590 var runtime = {exports: {}}; 11591
vendor: 5,181 bytes, lines 11592-11710
11592 (function (module) { 11593 var runtime = function (exports) { 11594 11595 var Op = Object.prototype; 11596 var hasOwn = Op.hasOwnProperty; 11597 var undefined$1; // More compressible than void 0. 11598 11599 var $Symbol = typeof Symbol === "function" ? Symbol : {}; 11600 var iteratorSymbol = $Symbol.iterator || "@@iterator"; 11601 var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; 11602 var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; 11603 11604 function define(obj, key, value) { 11605 Object.defineProperty(obj, key, { 11606 value: value, 11607 enumerable: true, 11608 configurable: true, 11609 writable: true 11610 }); 11611 return obj[key]; 11612 } 11613 11614 try { 11615 // IE 8 has a broken Object.defineProperty that only works on DOM objects. 11616 define({}, ""); 11617 } catch (err) { 11618 define = function define(obj, key, value) { 11619 return obj[key] = value; 11620 }; 11621 } 11622 11623 function wrap(innerFn, outerFn, self, tryLocsList) { 11624 // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. 11625 var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; 11626 var generator = Object.create(protoGenerator.prototype); 11627 var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next, 11628 // .throw, and .return methods. 11629 11630 generator._invoke = makeInvokeMethod(innerFn, self, context); 11631 return generator; 11632 } 11633 11634 exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion 11635 // record like context.tryEntries[i].completion. This interface could 11636 // have been (and was previously) designed to take a closure to be 11637 // invoked without arguments, but in all the cases we care about we 11638 // already have an existing method we want to call, so there's no need 11639 // to create a new function object. We can even get away with assuming 11640 // the method takes exactly one argument, since that happens to be true 11641 // in every case, so we don't have to touch the arguments object. The 11642 // only additional allocation required is the completion record, which 11643 // has a stable shape and so hopefully should be cheap to allocate. 11644 11645 function tryCatch(fn, obj, arg) { 11646 try { 11647 return { 11648 type: "normal", 11649 arg: fn.call(obj, arg) 11650 }; 11651 } catch (err) { 11652 return { 11653 type: "throw", 11654 arg: err 11655 }; 11656 } 11657 } 11658 11659 var GenStateSuspendedStart = "suspendedStart"; 11660 var GenStateSuspendedYield = "suspendedYield"; 11661 var GenStateExecuting = "executing"; 11662 var GenStateCompleted = "completed"; // Returning this object from the innerFn has the same effect as 11663 // breaking out of the dispatch switch statement. 11664 11665 var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and 11666 // .constructor.prototype properties for functions that return Generator 11667 // objects. For full spec compliance, you may wish to configure your 11668 // minifier not to mangle the names of these two functions. 11669 11670 function Generator() {} 11671 11672 function GeneratorFunction() {} 11673 11674 function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that 11675 // don't natively support it. 11676 11677 11678 var IteratorPrototype = {}; 11679 define(IteratorPrototype, iteratorSymbol, function () { 11680 return this; 11681 }); 11682 var getProto = Object.getPrototypeOf; 11683 var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); 11684 11685 if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { 11686 // This environment has a native %IteratorPrototype%; use it instead 11687 // of the polyfill. 11688 IteratorPrototype = NativeIteratorPrototype; 11689 } 11690 11691 var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); 11692 GeneratorFunction.prototype = GeneratorFunctionPrototype; 11693 define(Gp, "constructor", GeneratorFunctionPrototype); 11694 define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); 11695 GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); // Helper for defining the .next, .throw, and .return methods of the 11696 // Iterator interface in terms of a single ._invoke method. 11697 11698 function defineIteratorMethods(prototype) { 11699 ["next", "throw", "return"].forEach(function (method) { 11700 define(prototype, method, function (arg) { 11701 return this._invoke(method, arg); 11702 }); 11703 }); 11704 } 11705 11706 exports.isGeneratorFunction = function (genFun) { 11707 var ctor = typeof genFun === "function" && genFun.constructor; 11708 return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can 11709 // do is to check its .name property. 11710 (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
vendor: 8,280 bytes, lines 11711-11912
11711 }; 11712 11713 exports.mark = function (genFun) { 11714 if (Object.setPrototypeOf) { 11715 Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); 11716 } else { 11717 genFun.__proto__ = GeneratorFunctionPrototype; 11718 define(genFun, toStringTagSymbol, "GeneratorFunction"); 11719 } 11720 11721 genFun.prototype = Object.create(Gp); 11722 return genFun; 11723 }; // Within the body of any async function, `await x` is transformed to 11724 // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test 11725 // `hasOwn.call(value, "__await")` to determine if the yielded value is 11726 // meant to be awaited. 11727 11728 11729 exports.awrap = function (arg) { 11730 return { 11731 __await: arg 11732 }; 11733 }; 11734 11735 function AsyncIterator(generator, PromiseImpl) { 11736 function invoke(method, arg, resolve, reject) { 11737 var record = tryCatch(generator[method], generator, arg); 11738 11739 if (record.type === "throw") { 11740 reject(record.arg); 11741 } else { 11742 var result = record.arg; 11743 var value = result.value; 11744 11745 if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) { 11746 return PromiseImpl.resolve(value.__await).then(function (value) { 11747 invoke("next", value, resolve, reject); 11748 }, function (err) { 11749 invoke("throw", err, resolve, reject); 11750 }); 11751 } 11752 11753 return PromiseImpl.resolve(value).then(function (unwrapped) { 11754 // When a yielded Promise is resolved, its final value becomes 11755 // the .value of the Promise<{value,done}> result for the 11756 // current iteration. 11757 result.value = unwrapped; 11758 resolve(result); 11759 }, function (error) { 11760 // If a rejected Promise was yielded, throw the rejection back 11761 // into the async generator function so it can be handled there. 11762 return invoke("throw", error, resolve, reject); 11763 }); 11764 } 11765 } 11766 11767 var previousPromise; 11768 11769 function enqueue(method, arg) { 11770 function callInvokeWithMethodAndArg() { 11771 return new PromiseImpl(function (resolve, reject) { 11772 invoke(method, arg, resolve, reject); 11773 }); 11774 } 11775 11776 return previousPromise = // If enqueue has been called before, then we want to wait until 11777 // all previous Promises have been resolved before calling invoke, 11778 // so that results are always delivered in the correct order. If 11779 // enqueue has not been called before, then it is important to 11780 // call invoke immediately, without waiting on a callback to fire, 11781 // so that the async generator function has the opportunity to do 11782 // any necessary setup in a predictable way. This predictability 11783 // is why the Promise constructor synchronously invokes its 11784 // executor callback, and why async functions synchronously 11785 // execute code before the first await. Since we implement simple 11786 // async functions in terms of async generators, it is especially 11787 // important to get this right, even though it requires care. 11788 previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later 11789 // invocations of the iterator. 11790 callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); 11791 } // Define the unified helper method that is used to implement .next, 11792 // .throw, and .return (see defineIteratorMethods). 11793 11794 11795 this._invoke = enqueue; 11796 } 11797 11798 defineIteratorMethods(AsyncIterator.prototype); 11799 define(AsyncIterator.prototype, asyncIteratorSymbol, function () { 11800 return this; 11801 }); 11802 exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of 11803 // AsyncIterator objects; they just return a Promise for the value of 11804 // the final result produced by the iterator. 11805 11806 exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { 11807 if (PromiseImpl === void 0) PromiseImpl = Promise; 11808 var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); 11809 return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator. 11810 : iter.next().then(function (result) { 11811 return result.done ? result.value : iter.next(); 11812 }); 11813 }; 11814 11815 function makeInvokeMethod(innerFn, self, context) { 11816 var state = GenStateSuspendedStart; 11817 return function invoke(method, arg) { 11818 if (state === GenStateExecuting) { 11819 throw new Error("Generator is already running"); 11820 } 11821 11822 if (state === GenStateCompleted) { 11823 if (method === "throw") { 11824 throw arg; 11825 } // Be forgiving, per 25.3.3.3.3 of the spec: 11826 // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume 11827 11828 11829 return doneResult(); 11830 } 11831 11832 context.method = method; 11833 context.arg = arg; 11834 11835 while (true) { 11836 var delegate = context.delegate; 11837 11838 if (delegate) { 11839 var delegateResult = maybeInvokeDelegate(delegate, context); 11840 11841 if (delegateResult) { 11842 if (delegateResult === ContinueSentinel) continue; 11843 return delegateResult; 11844 } 11845 } 11846 11847 if (context.method === "next") { 11848 // Setting context._sent for legacy support of Babel's 11849 // function.sent implementation. 11850 context.sent = context._sent = context.arg; 11851 } else if (context.method === "throw") { 11852 if (state === GenStateSuspendedStart) { 11853 state = GenStateCompleted; 11854 throw context.arg; 11855 } 11856 11857 context.dispatchException(context.arg); 11858 } else if (context.method === "return") { 11859 context.abrupt("return", context.arg); 11860 } 11861 11862 state = GenStateExecuting; 11863 var record = tryCatch(innerFn, self, context); 11864 11865 if (record.type === "normal") { 11866 // If an exception is thrown from innerFn, we leave state === 11867 // GenStateExecuting and loop back for another invocation. 11868 state = context.done ? GenStateCompleted : GenStateSuspendedYield; 11869 11870 if (record.arg === ContinueSentinel) { 11871 continue; 11872 } 11873 11874 return { 11875 value: record.arg, 11876 done: context.done 11877 }; 11878 } else if (record.type === "throw") { 11879 state = GenStateCompleted; // Dispatch the exception by looping back around to the 11880 // context.dispatchException(context.arg) call above. 11881 11882 context.method = "throw"; 11883 context.arg = record.arg; 11884 } 11885 } 11886 }; 11887 } // Call delegate.iterator[context.method](context.arg) and handle the 11888 // result, either by returning a { value, done } result from the 11889 // delegate iterator, or by modifying context.method and context.arg, 11890 // setting context.delegate to null, and returning the ContinueSentinel. 11891 11892 11893 function maybeInvokeDelegate(delegate, context) { 11894 var method = delegate.iterator[context.method]; 11895 11896 if (method === undefined$1) { 11897 // A .throw or .return when the delegate iterator has no .throw 11898 // method always terminates the yield* loop. 11899 context.delegate = null; 11900 11901 if (context.method === "throw") { 11902 // Note: ["return"] must be used for ES3 parsing compatibility. 11903 if (delegate.iterator["return"]) { 11904 // If the delegate iterator has a return method, give it a 11905 // chance to clean up. 11906 context.method = "return"; 11907 context.arg = undefined$1; 11908 maybeInvokeDelegate(delegate, context); 11909 11910 if (context.method === "throw") { 11911 // If maybeInvokeDelegate(context) changed context.method from 11912 // "return" to "throw", let that override the TypeError below.
vendor: 5,022 bytes, lines 11913-12067
11913 return ContinueSentinel; 11914 } 11915 } 11916 11917 context.method = "throw"; 11918 context.arg = new TypeError("The iterator does not provide a 'throw' method"); 11919 } 11920 11921 return ContinueSentinel; 11922 } 11923 11924 var record = tryCatch(method, delegate.iterator, context.arg); 11925 11926 if (record.type === "throw") { 11927 context.method = "throw"; 11928 context.arg = record.arg; 11929 context.delegate = null; 11930 return ContinueSentinel; 11931 } 11932 11933 var info = record.arg; 11934 11935 if (!info) { 11936 context.method = "throw"; 11937 context.arg = new TypeError("iterator result is not an object"); 11938 context.delegate = null; 11939 return ContinueSentinel; 11940 } 11941 11942 if (info.done) { 11943 // Assign the result of the finished delegate to the temporary 11944 // variable specified by delegate.resultName (see delegateYield). 11945 context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield). 11946 11947 context.next = delegate.nextLoc; // If context.method was "throw" but the delegate handled the 11948 // exception, let the outer generator proceed normally. If 11949 // context.method was "next", forget context.arg since it has been 11950 // "consumed" by the delegate iterator. If context.method was 11951 // "return", allow the original .return call to continue in the 11952 // outer generator. 11953 11954 if (context.method !== "return") { 11955 context.method = "next"; 11956 context.arg = undefined$1; 11957 } 11958 } else { 11959 // Re-yield the result returned by the delegate method. 11960 return info; 11961 } // The delegate iterator is finished, so forget it and continue with 11962 // the outer generator. 11963 11964 11965 context.delegate = null; 11966 return ContinueSentinel; 11967 } // Define Generator.prototype.{next,throw,return} in terms of the 11968 // unified ._invoke helper method. 11969 11970 11971 defineIteratorMethods(Gp); 11972 define(Gp, toStringTagSymbol, "Generator"); // A Generator should always return itself as the iterator object when the 11973 // @@iterator function is called on it. Some browsers' implementations of the 11974 // iterator prototype chain incorrectly implement this, causing the Generator 11975 // object to not be returned from this call. This ensures that doesn't happen. 11976 // See https://github.com/facebook/regenerator/issues/274 for more details. 11977 11978 define(Gp, iteratorSymbol, function () { 11979 return this; 11980 }); 11981 define(Gp, "toString", function () { 11982 return "[object Generator]"; 11983 }); 11984 11985 function pushTryEntry(locs) { 11986 var entry = { 11987 tryLoc: locs[0] 11988 }; 11989 11990 if (1 in locs) { 11991 entry.catchLoc = locs[1]; 11992 } 11993 11994 if (2 in locs) { 11995 entry.finallyLoc = locs[2]; 11996 entry.afterLoc = locs[3]; 11997 } 11998 11999 this.tryEntries.push(entry); 12000 } 12001 12002 function resetTryEntry(entry) { 12003 var record = entry.completion || {}; 12004 record.type = "normal"; 12005 delete record.arg; 12006 entry.completion = record; 12007 } 12008 12009 function Context(tryLocsList) { 12010 // The root entry object (effectively a try statement without a catch 12011 // or a finally block) gives us a place to store values thrown from 12012 // locations where there is no enclosing try statement. 12013 this.tryEntries = [{ 12014 tryLoc: "root" 12015 }]; 12016 tryLocsList.forEach(pushTryEntry, this); 12017 this.reset(true); 12018 } 12019 12020 exports.keys = function (object) { 12021 var keys = []; 12022 12023 for (var key in object) { 12024 keys.push(key); 12025 } 12026 12027 keys.reverse(); // Rather than returning an object with a next method, we keep 12028 // things simple and return the next function itself. 12029 12030 return function next() { 12031 while (keys.length) { 12032 var key = keys.pop(); 12033 12034 if (key in object) { 12035 next.value = key; 12036 next.done = false; 12037 return next; 12038 } 12039 } // To avoid creating an additional object, we just hang the .value 12040 // and .done properties off the next function object itself. This 12041 // also ensures that the minifier will not anonymize the function. 12042 12043 12044 next.done = true; 12045 return next; 12046 }; 12047 }; 12048 12049 function values(iterable) { 12050 if (iterable) { 12051 var iteratorMethod = iterable[iteratorSymbol]; 12052 12053 if (iteratorMethod) { 12054 return iteratorMethod.call(iterable); 12055 } 12056 12057 if (typeof iterable.next === "function") { 12058 return iterable; 12059 } 12060 12061 if (!isNaN(iterable.length)) { 12062 var i = -1, 12063 next = function next() { 12064 while (++i < iterable.length) { 12065 if (hasOwn.call(iterable, i)) { 12066 next.value = iterable[i]; 12067 next.done = false;
vendor: 4,072 bytes, lines 12068-12197
12068 return next; 12069 } 12070 } 12071 12072 next.value = undefined$1; 12073 next.done = true; 12074 return next; 12075 }; 12076 12077 return next.next = next; 12078 } 12079 } // Return an iterator with no values. 12080 12081 12082 return { 12083 next: doneResult 12084 }; 12085 } 12086 12087 exports.values = values; 12088 12089 function doneResult() { 12090 return { 12091 value: undefined$1, 12092 done: true 12093 }; 12094 } 12095 12096 Context.prototype = { 12097 constructor: Context, 12098 reset: function reset(skipTempReset) { 12099 this.prev = 0; 12100 this.next = 0; // Resetting context._sent for legacy support of Babel's 12101 // function.sent implementation. 12102 12103 this.sent = this._sent = undefined$1; 12104 this.done = false; 12105 this.delegate = null; 12106 this.method = "next"; 12107 this.arg = undefined$1; 12108 this.tryEntries.forEach(resetTryEntry); 12109 12110 if (!skipTempReset) { 12111 for (var name in this) { 12112 // Not sure about the optimal order of these conditions: 12113 if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { 12114 this[name] = undefined$1; 12115 } 12116 } 12117 } 12118 }, 12119 stop: function stop() { 12120 this.done = true; 12121 var rootEntry = this.tryEntries[0]; 12122 var rootRecord = rootEntry.completion; 12123 12124 if (rootRecord.type === "throw") { 12125 throw rootRecord.arg; 12126 } 12127 12128 return this.rval; 12129 }, 12130 dispatchException: function dispatchException(exception) { 12131 if (this.done) { 12132 throw exception; 12133 } 12134 12135 var context = this; 12136 12137 function handle(loc, caught) { 12138 record.type = "throw"; 12139 record.arg = exception; 12140 context.next = loc; 12141 12142 if (caught) { 12143 // If the dispatched exception was caught by a catch block, 12144 // then let that catch block handle the exception normally. 12145 context.method = "next"; 12146 context.arg = undefined$1; 12147 } 12148 12149 return !!caught; 12150 } 12151 12152 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 12153 var entry = this.tryEntries[i]; 12154 var record = entry.completion; 12155 12156 if (entry.tryLoc === "root") { 12157 // Exception thrown outside of any try block that could handle 12158 // it, so set the completion value of the entire function to 12159 // throw the exception. 12160 return handle("end"); 12161 } 12162 12163 if (entry.tryLoc <= this.prev) { 12164 var hasCatch = hasOwn.call(entry, "catchLoc"); 12165 var hasFinally = hasOwn.call(entry, "finallyLoc"); 12166 12167 if (hasCatch && hasFinally) { 12168 if (this.prev < entry.catchLoc) { 12169 return handle(entry.catchLoc, true); 12170 } else if (this.prev < entry.finallyLoc) { 12171 return handle(entry.finallyLoc); 12172 } 12173 } else if (hasCatch) { 12174 if (this.prev < entry.catchLoc) { 12175 return handle(entry.catchLoc, true); 12176 } 12177 } else if (hasFinally) { 12178 if (this.prev < entry.finallyLoc) { 12179 return handle(entry.finallyLoc); 12180 } 12181 } else { 12182 throw new Error("try statement without catch or finally"); 12183 } 12184 } 12185 } 12186 }, 12187 abrupt: function abrupt(type, arg) { 12188 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 12189 var entry = this.tryEntries[i]; 12190 12191 if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { 12192 var finallyEntry = entry; 12193 break; 12194 } 12195 } 12196 12197 if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
vendor: 4,423 bytes, lines 12198-12312
12198 // Ignore the finally entry if control is not jumping to a 12199 // location outside the try/catch block. 12200 finallyEntry = null; 12201 } 12202 12203 var record = finallyEntry ? finallyEntry.completion : {}; 12204 record.type = type; 12205 record.arg = arg; 12206 12207 if (finallyEntry) { 12208 this.method = "next"; 12209 this.next = finallyEntry.finallyLoc; 12210 return ContinueSentinel; 12211 } 12212 12213 return this.complete(record); 12214 }, 12215 complete: function complete(record, afterLoc) { 12216 if (record.type === "throw") { 12217 throw record.arg; 12218 } 12219 12220 if (record.type === "break" || record.type === "continue") { 12221 this.next = record.arg; 12222 } else if (record.type === "return") { 12223 this.rval = this.arg = record.arg; 12224 this.method = "return"; 12225 this.next = "end"; 12226 } else if (record.type === "normal" && afterLoc) { 12227 this.next = afterLoc; 12228 } 12229 12230 return ContinueSentinel; 12231 }, 12232 finish: function finish(finallyLoc) { 12233 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 12234 var entry = this.tryEntries[i]; 12235 12236 if (entry.finallyLoc === finallyLoc) { 12237 this.complete(entry.completion, entry.afterLoc); 12238 resetTryEntry(entry); 12239 return ContinueSentinel; 12240 } 12241 } 12242 }, 12243 "catch": function _catch(tryLoc) { 12244 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 12245 var entry = this.tryEntries[i]; 12246 12247 if (entry.tryLoc === tryLoc) { 12248 var record = entry.completion; 12249 12250 if (record.type === "throw") { 12251 var thrown = record.arg; 12252 resetTryEntry(entry); 12253 } 12254 12255 return thrown; 12256 } 12257 } // The context.catch method must only be called with a location 12258 // argument that corresponds to a known catch block. 12259 12260 12261 throw new Error("illegal catch attempt"); 12262 }, 12263 delegateYield: function delegateYield(iterable, resultName, nextLoc) { 12264 this.delegate = { 12265 iterator: values(iterable), 12266 resultName: resultName, 12267 nextLoc: nextLoc 12268 }; 12269 12270 if (this.method === "next") { 12271 // Deliberately forget the last sent value so that we don't 12272 // accidentally pass it on to the delegate. 12273 this.arg = undefined$1; 12274 } 12275 12276 return ContinueSentinel; 12277 } 12278 }; // Regardless of whether this script is executing as a CommonJS module 12279 // or not, return the runtime object so that we can declare the variable 12280 // regeneratorRuntime in the outer scope, which allows this module to be 12281 // injected easily by `bin/regenerator --include-runtime script.js`. 12282 12283 return exports; 12284 }( // If this script is executing as a CommonJS module, use module.exports 12285 // as the regeneratorRuntime namespace. Otherwise create a new empty 12286 // object. Either way, the resulting object will be used to initialize 12287 // the regeneratorRuntime variable at the top of this file. 12288 module.exports ); 12289 12290 try { 12291 regeneratorRuntime = runtime; 12292 } catch (accidentalStrictMode) { 12293 // This module should not be running in strict mode, so the above 12294 // assignment should always work unless something is misconfigured. Just 12295 // in case runtime.js accidentally runs in strict mode, in modern engines 12296 // we can explicitly access globalThis. In older engines we can escape 12297 // strict mode using a global Function call. This could conceivably fail 12298 // if a Content Security Policy forbids using Function, but in that case 12299 // the proper solution is to fix the accidental strict mode problem. If 12300 // you've misconfigured your bundler to force strict mode and applied a 12301 // CSP to forbid Function, and you're not willing to fix either of those 12302 // problems, please detail your unique predicament in a GitHub issue. 12303 if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") { 12304 globalThis.regeneratorRuntime = runtime; 12305 } else { 12306 Function("r", "regeneratorRuntime = r")(runtime); 12307 } 12308 } 12309 })(runtime); 12310 12311 /** 12312 * --------------------------------------------------------------------------
12313 * Button visually impaired (v1.0.0): util/index.js 12314 * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) 12315 * -------------------------------------------------------------------------- 12316 */ 12317 (function (arr) { 12318 arr.forEach(function (item) { 12319 if (item.hasOwnProperty('prepend')) { 12320 return; 12321 } 12322 12323 Object.defineProperty(item, 'prepend', { 12324 configurable: true, 12325 enumerable: true, 12326 writable: true, 12327 value: function prepend() { 12328 var argArr = Array.prototype.slice.call(arguments), 12329 docFrag = document.createDocumentFragment(); 12330 argArr.forEach(function (argItem) { 12331 var isNode = argItem instanceof Node; 12332 docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem))); 12333 }); 12334 this.insertBefore(docFrag, this.firstChild); 12335 } 12336 }); 12337 }); 12338 })([Element.prototype, Document.prototype, DocumentFragment.prototype]); 12339 12340 if (window.NodeList && !NodeList.prototype.forEach) { 12341 NodeList.prototype.forEach = Array.prototype.forEach; 12342 } 12343 12344 if (window.HTMLCollection && !HTMLCollection.prototype.forEach) { 12345 HTMLCollection.prototype.forEach = Array.prototype.forEach; 12346 } 12347 12348 var toType = function toType(obj) { 12349 if (obj === null || obj === undefined) { 12350 return "".concat(obj); 12351 } 12352 12353 return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); 12354 }; 12355 12356 var isElement = function isElement(obj) { 12357 if (!obj || _typeof(obj) !== 'object') { 12358 return false; 12359 } 12360 12361 return typeof obj.nodeType !== 'undefined'; 12362 }; 12363 12364 var checkConfig = function checkConfig(config, configTypes, configOptions) { 12365 Object.keys(configTypes).forEach(function (key) { 12366 var expectedTypes = configTypes[key]; 12367 var value = config[key]; 12368 var valueType = value && isElement(value) ? 'element' : toType(value); 12369 12370 if (!new RegExp(expectedTypes).test(valueType)) { 12371 throw new TypeError("Bvi console: \u041E\u043F\u0446\u0438\u044F \"".concat(key, "\" \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0439 \u0442\u0438\u043F \"").concat(valueType, "\", \u043E\u0436\u0438\u0434\u0430\u0435\u043C\u044B\u0439 \u0442\u0438\u043F \"").concat(expectedTypes, "\".")); 12372 } 12373 }); 12374 Object.keys(configOptions).forEach(function (key) { 12375 var expectedOptions = configOptions[key]; 12376 var value = config[key]; 12377 12378 if (!new RegExp(expectedOptions).test(value)) { 12379 throw new TypeError("Bvi console: \u041E\u043F\u0446\u0438\u044F \"".concat(key, "\" \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \"").concat(value, "\", \u043E\u0436\u0438\u0434\u0430\u0435\u043C\u044B\u0439 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440 \"").concat(expectedOptions, "\".")); 12380 } 12381 }); 12382 }; 12383 12384 var stringToBoolean = function stringToBoolean(string) { 12385 switch (string) { 12386 case 'on': 12387 case 'true': 12388 case '1': 12389 return true; 12390 12391 default: 12392 return false; 12393 } 12394 }; 12395 12396 var wrapInner = function wrapInner(parent, wrapper, className) { 12397 if (typeof wrapper === 'string') { 12398 wrapper = document.createElement(wrapper); 12399 } 12400 12401 parent.appendChild(wrapper).className = className; 12402 12403 while (parent.firstChild !== wrapper) { 12404 wrapper.appendChild(parent.firstChild); 12405 } 12406 }; 12407 12408 var unwrap = function unwrap(wrapper) { 12409 var docFrag = document.createDocumentFragment(); 12410 if (!wrapper) return; 12411 12412 while (wrapper.firstChild) { 12413 var child = wrapper.removeChild(wrapper.firstChild); 12414 docFrag.appendChild(child); 12415 } 12416 12417 wrapper.parentNode.replaceChild(docFrag, wrapper); 12418 }; 12419 12420 var getObject = function getObject(object, callback) { 12421 Object.keys(object).forEach(function (key) { 12422 if (typeof callback === 'function') { 12423 callback(key); 12424 } 12425 }); 12426 }; 12427 12428 var getArray = function getArray(array, callback) { 12429 Array.from(array).forEach(function (key) { 12430 if (typeof callback === 'function') { 12431 callback(key); 12432 } 12433 }); 12434 }; 12435 12436 var synth = function synth() { 12437 return window.speechSynthesis; 12438 }; 12439 12440 /** 12441 * --------------------------------------------------------------------------
12442 * Button visually impaired (v1.0.0): util/cookie.js 12443 * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) 12444 * -------------------------------------------------------------------------- 12445 */ 12446 var setCookie = function setCookie() { 12447 var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; 12448 var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; 12449 var now = new Date(); 12450 var time = now.getTime(); 12451 time += 24 * 60 * 60 * 1000; 12452 now.setTime(time); 12453 document.cookie = "bvi_".concat(name, "=").concat(value, ",path=/,expires=").concat(now.toUTCString(), ",domain=").concat(location.host) 12454 }; 12455 12456 var getCookie = function getCookie() { 12457 var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; 12458 name = "bvi_".concat(name, "="); 12459 var decodedCookie = decodeURIComponent(document.cookie); 12460 var cookies = decodedCookie.split(';'); 12461 12462 for (var i = 0; i < cookies.length; i++) { 12463 var cookie = cookies[i].trim(); 12464 12465 if (cookie.indexOf(name) !== -1) { 12466 let options=cookie.split(","); 12467 return options[0].substring(name.length, options[0].length); 12468 } 12469 } 12470 }; 12471 12472 var removeCookie = function removeCookie() { 12473 var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; 12474 document.cookie = "bvi_".concat(name, "=,path=/,expires=Thu, 01 Jan 1970 00:00:01 GMT,domain=").concat(location.host); 12475 }; 12476 12477 /** 12478 * -------------------------------------------------------------------------- 12479 * Button visually impaired (v1.0.0): i18n.js 12480 * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) 12481 * -------------------------------------------------------------------------- 12482 */ 12483 var lang = { 12484 'ru-RU': { 12485 'text': { 12486 'fontSize': 'Ð Ð°Ð·Ð¼ÐµÑ ÑÑиÑÑа', 12487 'siteColors': 'ЦвеÑа ÑайÑа', 12488 'images': 'ÐзобÑажениÑ', 12489 'speech': 'СинÑез ÑеÑи', 12490 'settings': 'ÐаÑÑÑойки', 12491 'regularVersionOfTheSite': 'ÐбÑÑÐ½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ ÑайÑа', 12492 'letterSpacing': 'ÐежбÑквенное ÑаÑÑÑоÑние', 12493 'normal': 'СÑандаÑÑнÑй', 12494 'average': 'СÑедний', 12495 'big': 'ÐолÑÑой', 12496 'lineHeight': 'ÐежÑÑÑоÑнÑй инÑеÑвал', 12497 'font': 'ШÑиÑÑ', 12498 'arial': 'Ðез заÑеÑек', 12499 'times': 'С заÑеÑками', 12500 'builtElements': 'ÐÑÑÑоеннÑе ÑлеменÑÑ (Ðидео, каÑÑÑ Ð¸ Ñд.)', 12501 'on': 'ÐклÑÑиÑÑ', 12502 'off': 'ÐÑклÑÑиÑÑ', 12503 'reset': 'СбÑоÑиÑÑ Ð½Ð°ÑÑÑойки', 12504 'plural_0': 'пикÑелÑ', 12505 'plural_1': 'пекÑелÑ', 12506 'plural_2': 'пикÑелей' 12507 }, 12508 'voice': { 12509 'fontSizePlus': 'Ð Ð°Ð·Ð¼ÐµÑ ÑÑиÑÑа ÑвелиÌÑен', 12510 'fontSizeMinus': 'Ð Ð°Ð·Ð¼ÐµÑ ÑÑиÑÑа ÑмеÌнÑÑен', 12511 'siteColorBlackOnWhite': 'Ð¦Ð²ÐµÑ ÑайÑа ÑеÑнÑм по беломÑ', 12512 'siteColorWhiteOnBlack': 'Ð¦Ð²ÐµÑ ÑайÑа белÑм по ÑеÑномÑ', 12513 'siteColorDarkBlueOnBlue': 'Ð¦Ð²ÐµÑ ÑайÑа ÑÑмно-Ñиним по голÑбомÑ', 12514 'siteColorBeigeBrown': 'Ð¦Ð²ÐµÑ ÑайÑа коÑиÌÑневÑм по беÌжевомÑ', 12515 'siteColorGreenOnDarkBrown': 'Ð¦Ð²ÐµÑ ÑайÑа зеленÑм по ÑÑмно-коÑиÑневомÑ', 12516 'imagesOn': 'ÐзобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²ÐºÐ»ÑÑенÑ', 12517 'imagesOFF': 'ÐзобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²ÑклÑÑенÑ', 12518 'imagesGrayscale': 'ÐзобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑÑÑно-белÑе', 12519 'speechOn': 'СинÑез ÑеÑи вклÑÑÑн', 12520 'speechOff': 'СинÑез ÑеÑи вÑÌклÑÑен', 12521 'lineHeightNormal': 'ÐежÑÑÑоÑнÑй инÑеÑвал ÑÑандаÑÑнÑй', 12522 'lineHeightAverage': 'ÐежÑÑÑоÑнÑй инÑеÑвал ÑÑедний', 12523 'lineHeightBig': 'ÐежÑÑÑоÑнÑй инÑеÑвал болÑÑой', 12524 'LetterSpacingNormal': 'ÐнÑеÑвал Ð¼ÐµÐ¶Ð´Ñ Ð±Ñквами ÑÑандаÑÑнÑй', 12525 'LetterSpacingAverage': 'ÐнÑеÑвал Ð¼ÐµÐ¶Ð´Ñ Ð±Ñквами ÑÑедний', 12526 'LetterSpacingBig': 'ÐнÑеÑвал Ð¼ÐµÐ¶Ð´Ñ Ð±Ñквами болÑÑой', 12527 'fontArial': 'ШÑиÑÑ Ð±ÐµÐ· заÑеÑек', 12528 'fontTimes': 'ШÑиÑÑ Ñ Ð·Ð°ÑеÑками', 12529 'builtElementsOn': 'ÐÑÑÑоеннÑе ÑлеменÑÑ Ð²ÐºÐ»ÑÑенÑ', 12530 'builtElementsOFF': 'ÐÑÑÑоеннÑе ÑлеменÑÑ Ð²ÑклÑÑенÑ', 12531 'resetSettings': 'УÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½Ð°ÑÑÑойки по ÑмолÑаÌниÑ', 12532 'panelShow': 'ÐÐ°Ð½ÐµÐ»Ñ Ð¾ÑкÑÑÑа', 12533 'panelHide': 'ÐÐ°Ð½ÐµÐ»Ñ ÑкÑÑÑа', 12534 'panelOn': 'ÐеÑÑÐ¸Ñ ÑайÑа Ð´Ð»Ñ ÑлабовиÌдÑÑий', 12535 'panelOff': 'ÐбÑÑÐ½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ ÑайÑа' 12536 } 12537 }, 12538 'en-US': { 12539 'text': { 12540 'fontSize': 'Font size', 12541 'siteColors': 'Site colors', 12542 'images': 'Images', 12543 'speech': 'Speech synthesis', 12544 'settings': 'Settings', 12545 'regularVersionOfTheSite': 'Regular version Of The site', 12546 'letterSpacing': 'Letter spacing', 12547 'normal': 'Single', 12548 'average': 'One and a half', 12549 'big': 'Double', 12550 'lineHeight': 'Line spacing', 12551 'font': 'Font',
12552 'arial': 'Sans Serif - Arial', 12553 'times': 'Serif - Times New Roman', 12554 'builtElements': 'Include inline elements (Videos, maps, etc.)', 12555 'on': 'Enable', 12556 'off': 'Disabled', 12557 'reset': 'Reset settings', 12558 'plural_0': 'pixel', 12559 'plural_1': 'pixels', 12560 'plural_2': 'pixels' 12561 }, 12562 'voice': { 12563 'fontSizePlus': 'Font size increased', 12564 'fontSizeMinus': 'Font size reduced', 12565 'siteColorBlackOnWhite': 'Site color black on white', 12566 'siteColorWhiteOnBlack': 'Site color white on black', 12567 'siteColorDarkBlueOnBlue': 'Site color dark blue on cyan', 12568 'siteColorBeigeBrown': 'SiteColorBeigeBrown', 12569 'siteColorGreenOnDarkBrown': 'Site color green on dark brown', 12570 'imagesOn': 'Images enable', 12571 'imagesOFF': 'Images disabled', 12572 'imagesGrayscale': 'Images gray scale', 12573 'speechOn': 'Synthesis speech enable', 12574 'speechOff': 'Synthesis speech disabled', 12575 'lineHeightNormal': 'Line spacing single', 12576 'lineHeightAverage': 'Line spacing one and a half', 12577 'lineHeightBig': 'Line spacing double', 12578 'LetterSpacingNormal': 'Letter spacing single', 12579 'LetterSpacingAverage': 'Letter spacing one and a half', 12580 'LetterSpacingBig': 'Letter spacing letter double', 12581 'fontArial': 'Sans Serif - Arial', 12582 'fontTimes': 'Serif - Times New Roman', 12583 'builtElementsOn': 'Include inline elements are enabled', 12584 'builtElementsOFF': 'Include inline elements are disabled', 12585 'resetSettings': 'Default settings have been set', 12586 'panelShow': 'Panel show', 12587 'panelHide': 'Panel hide', 12588 'panelOn': 'Site version for visually impaired', 12589 'panelOff': 'Regular version of the site' 12590 } 12591 } 12592 }; 12593 12594 var I18n = /*#__PURE__*/function () { 12595 function I18n(options) { 12596 _classCallCheck(this, I18n); 12597 12598 this._config = options; 12599 } 12600 12601 _createClass(I18n, [{ 12602 key: "t", 12603 value: function t(key) { 12604 return lang[this._config.lang]['text'][key]; 12605 } 12606 }, { 12607 key: "v", 12608 value: function v(key) { 12609 return lang[this._config.lang]['voice'][key]; 12610 } 12611 }]); 12612 12613 return I18n; 12614 }(); 12615 12616 /** 12617 * ------------------------------------------------------------------------ 12618 * Constants 12619 * ------------------------------------------------------------------------ 12620 */ 12621 12622 var Default = { 12623 target: '.bvi-open', 12624 fontSize: 16, 12625 theme: 'white', 12626 images: 'grayscale', 12627 letterSpacing: 'normal', 12628 lineHeight: 'normal', 12629 speech: true, 12630 fontFamily: 'arial', 12631 builtElements: false, 12632 panelFixed: true, 12633 panelHide: false, 12634 reload: false, 12635 lang: 'ru-RU' 12636 }; 12637 var DefaultType = { 12638 target: 'string', 12639 fontSize: 'number', 12640 theme: 'string', 12641 images: '(string|boolean)', 12642 letterSpacing: 'string', 12643 lineHeight: 'string', 12644 speech: 'boolean', 12645 fontFamily: 'string', 12646 builtElements: 'boolean', 12647 panelFixed: 'boolean', 12648 panelHide: 'boolean', 12649 reload: 'boolean', 12650 lang: 'string' 12651 }; 12652 var DefaultOptions = { 12653 target: '', 12654 fontSize: '(^[1-9]$|^[1-3][0-9]?$|^39$)', 12655 theme: '(white|black|blue|brown|green)', 12656 images: '(true|false|grayscale)', 12657 letterSpacing: '(normal|average|big)', 12658 lineHeight: '(normal|average|big)', 12659 speech: '(true|false)', 12660 fontFamily: '(arial|times)', 12661 builtElements: '(true|false)', 12662 panelFixed: '(true|false)', 12663 panelHide: '(true|false)', 12664 reload: '(true|false)', 12665 lang: '(ru-RU|en-US)' 12666 }; 12667 /** 12668 * ------------------------------------------------------------------------ 12669 * Class Definition 12670 * ------------------------------------------------------------------------ 12671 */ 12672 12673 var Bvi = /*#__PURE__*/function () { 12674 function Bvi(options) { 12675 _classCallCheck(this, Bvi); 12676 12677 this._config = this._getConfig(options); 12678 this._elements = document.querySelectorAll(this._config.target); 12679 this._i18n = new I18n({ 12680 lang: this._config.lang 12681 }); 12682 12683 this._addEventListeners(); 12684 12685 this._init(); 12686 12687 console.log('Bvi console: ready Button visually impaired v1.0.0'); 12688 } // Private 12689 12690 12691 _createClass(Bvi, [{ 12692 key: "_init", 12693 value: function _init() { 12694 getObject(this._config, function (key) { 12695 if (typeof getCookie(key) === 'undefined') { 12696 removeCookie('panelActive'); 12697 } 12698 }); 12699 12700 if (stringToBoolean(getCookie('panelActive'))) { 12701 this._set(); 12702 12703 this._getPanel(); 12704
12705 this._addEventListenersPanel(); 12706 12707 this._images(); 12708 12709 this._speechPlayer(); 12710 12711 if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) { 12712 setInterval(function () { 12713 if (synth().pending === false) { 12714 var play = document.querySelectorAll('.bvi-speech-play'); 12715 var pause = document.querySelectorAll('.bvi-speech-pause'); 12716 var resume = document.querySelectorAll('.bvi-speech-resume'); 12717 var stop = document.querySelectorAll('.bvi-speech-stop'); 12718 12719 var el = function el(elements, callback) { 12720 elements.forEach(function (element) { 12721 return callback(element); 12722 }); 12723 }; 12724 12725 el(play, function (element) { 12726 return element.classList.remove('disabled'); 12727 }); 12728 el(pause, function (element) { 12729 return element.classList.add('disabled'); 12730 }); 12731 el(resume, function (element) { 12732 return element.classList.add('disabled'); 12733 }); 12734 el(stop, function (element) { 12735 return element.classList.add('disabled'); 12736 }); 12737 } 12738 }, 1000); 12739 } 12740 } else { 12741 this._remove(); 12742 } 12743 } 12744 }, { 12745 key: "_addEventListeners", 12746 value: function _addEventListeners() { 12747 var _this = this; 12748 12749 if (!this._elements) { 12750 return false; 12751 } 12752 12753 this._elements.forEach(function (element) { 12754 element.addEventListener('click', function (event) { 12755 event.preventDefault(); 12756 getObject(_this._config, function (key) { 12757 return setCookie(key, _this._config[key]); 12758 }); 12759 setCookie('panelActive', true); 12760 12761 _this._init(); 12762 12763 _this._speech("".concat(_this._i18n.v('panelOn'))); 12764 }); 12765 }); 12766 } 12767 }, { 12768 key: "_addEventListenersPanel", 12769 value: function _addEventListenersPanel() { 12770 var _this2 = this; 12771 12772 var elements = { 12773 fontSizeMinus: document.querySelector('.bvi-fontSize-minus'), 12774 fontSizePlus: document.querySelector('.bvi-fontSize-plus'), 12775 themeWhite: document.querySelector('.bvi-theme-white'), 12776 themeBlack: document.querySelector('.bvi-theme-black'), 12777 themeBlue: document.querySelector('.bvi-theme-blue'), 12778 themeBrown: document.querySelector('.bvi-theme-brown'), 12779 themeGreen: document.querySelector('.bvi-theme-green'), 12780 imagesOn: document.querySelector('.bvi-images-on'), 12781 imagesOff: document.querySelector('.bvi-images-off'), 12782 imagesGrayscale: document.querySelector('.bvi-images-grayscale'), 12783 speechOn: document.querySelector('.bvi-speech-on'), 12784 speechOff: document.querySelector('.bvi-speech-off'), 12785 lineHeightNormal: document.querySelector('.bvi-line-height-normal'), 12786 lineHeightAverage: document.querySelector('.bvi-line-height-average'), 12787 lineHeightBig: document.querySelector('.bvi-line-height-big'), 12788 letterSpacingNormal: document.querySelector('.bvi-letter-spacing-normal'), 12789 letterSpacingAverage: document.querySelector('.bvi-letter-spacing-average'), 12790 letterSpacingBig: document.querySelector('.bvi-letter-spacing-big'), 12791 fontFamilyArial: document.querySelector('.bvi-font-family-arial'), 12792 fontFamilyTimes: document.querySelector('.bvi-font-family-times'), 12793 builtElementsOn: document.querySelector('.bvi-built-elements-on'), 12794 builtElementsOff: document.querySelector('.bvi-built-elements-off'), 12795 reset: document.querySelector('.bvi-reset'), 12796 links: document.querySelectorAll('.bvi-link'), 12797 modal: document.querySelector('.bvi-modal') 12798 }; 12799 12800 var activeLink = function activeLink(element) { 12801 var _iterator = _createForOfIteratorHelper(element.parentNode.children), 12802 _step; 12803 12804 try { 12805 for (_iterator.s();
12805 !(_step = _iterator.n()).done;) { 12806 var sibling = _step.value; 12807 sibling.classList.remove('active'); 12808 } 12809 } catch (err) { 12810 _iterator.e(err); 12811 } finally { 12812 _iterator.f(); 12813 } 12814 12815 element.classList.add('active'); 12816 }; 12817 12818 var click = function click(element, callback) { 12819 element.addEventListener('click', function (event) { 12820 event.preventDefault(); 12821 12822 if (typeof callback === 'function') { 12823 callback(event); 12824 } 12825 }); 12826 }; 12827 12828 var activeAll = function activeAll() { 12829 var links = document.querySelectorAll('.bvi-link'); 12830 links.forEach(function (link) { 12831 link.classList.remove('active'); 12832 }); 12833 getObject(_this2._config, function (key) { 12834 if (key === 'theme') { 12835 var value = getCookie(key); 12836 document.querySelector(".bvi-theme-".concat(value)).classList.add('active'); 12837 } 12838 12839 if (key === 'images') { 12840 var _value = getCookie(key) === 'grayscale' ? 'grayscale' : stringToBoolean(getCookie(key)) ? 'on' : 'off'; 12841 // custom 12842 // let allImages = document.querySelectorAll("img"); 12843 // console.log(allImages); 12844 12845 // allImages.forEach(function(el) { 12846 // el.className += ' bvi-images'; 12847 // }) 12848 // location.reload(); 12849 document.querySelector(".bvi-images-".concat(_value)).classList.add('active'); 12850 } 12851 12852 if (key === 'speech') { 12853 var _value2 = stringToBoolean(getCookie(key)) ? 'on' : 'off'; 12854 12855 document.querySelector(".bvi-speech-".concat(_value2)).classList.add('active'); 12856 } 12857 12858 if (key === 'lineHeight') { 12859 var _value3 = getCookie(key); 12860 12861 document.querySelector(".bvi-line-height-".concat(_value3)).classList.add('active'); 12862 } 12863 12864 if (key === 'letterSpacing') { 12865 var _value4 = getCookie(key); 12866 12867 document.querySelector(".bvi-letter-spacing-".concat(_value4)).classList.add('active'); 12868 } 12869 12870 if (key === 'fontFamily') { 12871 var _value5 = getCookie(key); 12872 12873 document.querySelector(".bvi-font-family-".concat(_value5)).classList.add('active'); 12874 } 12875 12876 if (key === 'builtElements') { 12877 var _value6 = stringToBoolean(getCookie(key)) ? 'on' : 'off'; 12878 12879 document.querySelector(".bvi-built-elements-".concat(_value6)).classList.add('active'); 12880 } 12881 }); 12882 }; 12883 12884 activeAll(); // Font size 12885 12886 click(elements.fontSizeMinus, function () { 12887 var size = parseFloat(getCookie('fontSize')) - 1; 12888 12889 if (size !== 0) { 12890 _this2._setAttrDataBviBody('fontSize', size); 12891 12892 setCookie('fontSize', size); 12893 12894 _this2._speech("".concat(_this2._i18n.v('fontSizeMinus'))); 12895 12896 activeLink(elements.fontSizeMinus); 12897 } 12898 }); 12899 click(elements.fontSizePlus, function () { 12900 var size = parseFloat(getCookie('fontSize')) + 1; 12901 12902 if (size !== 40) { 12903 _this2._setAttrDataBviBody('fontSize', size); 12904 12905 setCookie('fontSize', size); 12906 12907 _this2._speech("".concat(_this2._i18n.v('fontSizePlus'))); 12908 12909 activeLink(elements.fontSizePlus); 12910 } 12911 }); // Theme 12912 12913 click(elements.themeWhite, function () { 12914 _this2._setAttrDataBviBody('theme', 'white'); 12915 12916 setCookie('theme', 'white'); 12917 12918 _this2._speech("".concat(_this2._i18n.v('siteColorBlackOnWhite'))); 12919 12920 activeLink(elements.themeWhite); 12921 }); 12922 click(elements.themeBlack, function () { 12923 _this2._setAttrDataBviBody('theme', 'black'); 12924 12925 setCookie('theme', 'black'); 12926 12927 _this2._speech("".concat(_this2._i18n.v('siteColorWhiteOnBlack'))); 12928 12929 activeLink(elements.themeBlack); 12930 }); 12931 click(elements.themeBlue, function () {
12932 _this2._setAttrDataBviBody('theme', 'blue'); 12933 12934 setCookie('theme', 'blue'); 12935 12936 _this2._speech("".concat(_this2._i18n.v('siteColorDarkBlueOnBlue'))); 12937 12938 activeLink(elements.themeBlue); 12939 }); 12940 click(elements.themeBrown, function () { 12941 _this2._setAttrDataBviBody('theme', 'brown'); 12942 12943 setCookie('theme', 'brown'); 12944 12945 _this2._speech("".concat(_this2._i18n.v('siteColorBeigeBrown'))); 12946 12947 activeLink(elements.themeBrown); 12948 }); 12949 click(elements.themeGreen, function () { 12950 _this2._setAttrDataBviBody('theme', 'green'); 12951 12952 setCookie('theme', 'green'); 12953 12954 _this2._speech("".concat(_this2._i18n.v('siteColorGreenOnDarkBrown'))); 12955 12956 activeLink(elements.themeGreen); 12957 }); // Images 12958 12959 click(elements.imagesOn, function () { 12960 _this2._setAttrDataBviBody('images', 'true'); 12961 12962 setCookie('images', 'true'); 12963 12964 _this2._speech("".concat(_this2._i18n.v('imagesOn'))); 12965 12966 activeLink(elements.imagesOn); 12967 }); 12968 click(elements.imagesOff, function () { 12969 _this2._setAttrDataBviBody('images', 'false'); 12970 12971 setCookie('images', 'false'); 12972 12973 _this2._speech("".concat(_this2._i18n.v('imagesOFF'))); 12974 12975 activeLink(elements.imagesOff); 12976 }); 12977 click(elements.imagesGrayscale, function () { 12978 _this2._setAttrDataBviBody('images', 'grayscale'); 12979 12980 setCookie('images', 'grayscale'); 12981 12982 _this2._speech("".concat(_this2._i18n.v('imagesGrayscale'))); 12983 12984 activeLink(elements.imagesGrayscale); 12985 }); // Speech 12986 12987 click(elements.speechOn, function () { 12988 _this2._setAttrDataBviBody('speech', 'true'); 12989 12990 setCookie('speech', 'true'); 12991 12992 _this2._speech("".concat(_this2._i18n.v('speechOn'))); 12993 12994 activeLink(elements.speechOn); 12995 12996 _this2._speechPlayer(); 12997 }); 12998 click(elements.speechOff, function () { 12999 _this2._speech("".concat(_this2._i18n.v('speechOff'))); 13000 13001 _this2._setAttrDataBviBody('speech', 'false'); 13002 13003 setCookie('speech', 'false'); 13004 activeLink(elements.speechOff); 13005 13006 _this2._speechPlayer(); 13007 }); // Line height 13008 13009 click(elements.lineHeightNormal, function () { 13010 _this2._setAttrDataBviBody('lineHeight', 'normal'); 13011 13012 setCookie('lineHeight', 'normal'); 13013 13014 _this2._speech("".concat(_this2._i18n.v('lineHeightNormal'))); 13015 13016 activeLink(elements.lineHeightNormal); 13017 }); 13018 click(elements.lineHeightAverage, function () { 13019 _this2._setAttrDataBviBody('lineHeight', 'average'); 13020 13021 setCookie('lineHeight', 'average'); 13022 13023 _this2._speech("".concat(_this2._i18n.v('lineHeightAverage'))); 13024 13025 activeLink(elements.lineHeightAverage); 13026 }); 13027 click(elements.lineHeightBig, function () { 13028 _this2._setAttrDataBviBody('lineHeight', 'big'); 13029 13030 setCookie('lineHeight', 'big'); 13031 13032 _this2._speech("".concat(_this2._i18n.v('lineHeightBig'))); 13033 13034 activeLink(elements.lineHeightBig); 13035 }); // Letter spacing 13036 13037 click(elements.letterSpacingNormal, function () { 13038 _this2._setAttrDataBviBody('letterSpacing', 'normal'); 13039 13040 setCookie('letterSpacing', 'normal'); 13041 13042 _this2._speech("".concat(_this2._i18n.v('LetterSpacingNormal'))); 13043 13044 activeLink(elements.letterSpacingNormal); 13045 }); 13046 click(elements.letterSpacingAverage, function () { 13047 _this2._setAttrDataBviBody('letterSpacing', 'average'); 13048 13049 setCookie('letterSpacing', 'average'); 13050 13051 _this2._speech("".concat(_this2._i18n.v('LetterSpacingAverage'))); 13052 13053 activeLink(elements.letterSpacingAverage); 13054 }); 13055 click(elements.letterSpacingBig, function () { 13056 _this2._setAttrDataBviBody('letterSpacing', 'big'); 13057 13058 setCookie('letterSpacing', 'big'); 13059 13060 _this2._speech("".concat(_this2._i18n.v('LetterSpacingBig'))); 13061 13062 activeLink(elements.letterSpacingBig); 13063 }); // Font family 13064
13065 click(elements.fontFamilyArial, function () { 13066 _this2._setAttrDataBviBody('fontFamily', 'arial'); 13067 13068 setCookie('fontFamily', 'arial'); 13069 13070 _this2._speech("".concat(_this2._i18n.v('fontArial'))); 13071 13072 activeLink(elements.fontFamilyArial); 13073 }); 13074 click(elements.fontFamilyTimes, function () { 13075 _this2._setAttrDataBviBody('fontFamily', 'times'); 13076 13077 setCookie('fontFamily', 'times'); 13078 13079 _this2._speech("".concat(_this2._i18n.v('fontTimes'))); 13080 13081 activeLink(elements.fontFamilyTimes); 13082 }); // Built elements 13083 13084 click(elements.builtElementsOn, function () { 13085 _this2._setAttrDataBviBody('builtElements', 'true'); 13086 13087 setCookie('builtElements', 'true'); 13088 13089 _this2._speech("".concat(_this2._i18n.v('builtElementsOn'))); 13090 13091 activeLink(elements.builtElementsOn); 13092 }); 13093 click(elements.builtElementsOff, function () { 13094 _this2._setAttrDataBviBody('builtElements', 'false'); 13095 13096 setCookie('builtElements', 'false'); 13097 13098 _this2._speech("".concat(_this2._i18n.v('builtElementsOFF'))); 13099 13100 activeLink(elements.builtElementsOff); 13101 }); // Reset 13102 13103 click(elements.reset, function () { 13104 _this2._speech("".concat(_this2._i18n.v('resetSettings'))); 13105 13106 getObject(_this2._config, function (key) { 13107 _this2._setAttrDataBviBody(key, _this2._config[key]); 13108 13109 setCookie(key, _this2._config[key]); 13110 activeAll(); 13111 }); 13112 }); 13113 getArray(elements.links, function (element) { 13114 click(element, function (event) { 13115 var target = event.target.getAttribute('data-bvi'); 13116 13117 if (target === 'close') { 13118 _this2._setAttrDataBviBody('panelActive', 'false'); 13119 13120 setCookie('panelActive', 'false'); 13121 localStorage.removeItem('bvi-open'); 13122 _this2._init(); 13123 } 13124 13125 if (target === 'modal') { 13126 document.body.style.overflow = 'hidden'; 13127 document.body.classList.add('bvi-noscroll'); 13128 elements.modal.classList.toggle('show'); 13129 } 13130 13131 if (target === 'modal-close') { 13132 document.body.classList.remove('bvi-noscroll'); 13133 document.body.style.overflow = ''; 13134 elements.modal.classList.remove('show'); 13135 } 13136 13137 if (target === 'panel-hide') { 13138 document.querySelector('.bvi-panel').classList.add('bvi-panel-hide'); 13139 document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-hide'); 13140 document.querySelector('.bvi-link-fixed-top').classList.add('bvi-show'); 13141 setCookie('panelHide', 'true'); 13142 13143 _this2._speech("".concat(_this2._i18n.v('panelHide'))); 13144 } 13145 13146 if (target === 'panel-show') { 13147 document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-show'); 13148 document.querySelector('.bvi-link-fixed-top').classList.add('bvi-hide'); 13149 document.querySelector('.bvi-panel').classList.remove('bvi-panel-hide'); 13150 setCookie('panelHide', 'false'); 13151 13152 _this2._speech("".concat(_this2._i18n.v('panelShow'))); 13153 } 13154 }); 13155 }); 13156 click(elements.modal, function (event) { 13157 if (event.target.contains(elements.modal)) { 13158 document.body.classList.remove('bvi-noscroll'); 13159 document.body.style.overflow = ''; 13160 elements.modal.classList.remove('show'); 13161 } 13162 }); 13163 } 13164 }, { 13165 key: "_getPanel", 13166 value: function _getPanel() { 13167 var scroll = function scroll() { 13168 var scroll = window.pageYOffset !== undefined ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; 13169 13170 if (stringToBoolean(getCookie('panelFixed'))) { 13171 if (!!scroll) { 13172 document.querySelector('.bvi-panel').classList.add('bvi-fixed-top'); 13173 } else { 13174 document.querySelector('.bvi-panel').classList.remove('bvi-fixed-top'); 13175 } 13176 } 13177 }; 13178 13179 var panelHide = stringToBoolean(getCookie('panelHide')) ? ' bvi-panel-hide' : ''; 13180 var linkHide = !stringToBoolean(getCookie('panelHide')) ? ' bvi-hide' : 'bvi-show'; 13181 var html = "\n <div class='bvi-panel".concat(panelHide, "'>\n <div class=\"bvi-blocks bvi-block-center\">\n <div class=\"bvi-block\">\n <div class=\"bvi-block-title\">").concat(this._i18n.t('fontSize'), "</div>\n <a class=\"bvi-link bvi-fontSize-minus\">\u0410-</a>\n <a class=\"bvi-link bvi-fontSize-plus\">\u0410+</a>\n </div>\n <div class=\"bvi-block\">\n <div class=\"bvi-block-title\">").concat(this._i18n.t('siteColors'), "</div>\n <a href=\"#\" class=\"bvi-link bvi-theme-white\">\u0426</a>\n <a href=\"#\" class=\"bvi-link bvi-theme-black\">\u0426</a>\n <a href=\"#\" class=\"bvi-link bvi-theme-blue\">\u0426</a>\n <a href=\"#\" class=\"bvi-link bvi-theme-brown\">\u0426</a>\n <a href=\"#\" class=\"bvi-link bvi-theme-green\">\u0426</a>\n </div>\n <div class=\"bvi-block\">\n <div class=\"bvi-block-title\">").concat(this._i18n.t('images'), "</div>\n <a href=\"#\" class=\"bvi-link bvi-images-on\">\n <i class=\"bvi-images bvi-images-image\"></i>\n </a>\n <a href=\"#\" class=\"bvi-link bvi-images-off\">\n <i class=\"bvi-images bvi-images-minus-circle\"></i>\n </a>\n <a href=\"#\" class=\"bvi-link bvi-images-grayscale\">\n <i class=\"bvi-images bvi-images-adjust\"></i>\n </a>\n </div>\n <div class=\"bvi-block\">\n <div class=\"bvi-block-title\">").concat(this._i18n.t('speech'), "</div>\n <a href=\"#\" class=\"bvi-link bvi-speech-off\">\n <i class=\"bvi-images bvi-images-volume-off\"></i>\n </a>\n <a href=\"#\" class=\"bvi-link bvi-speech-on\">\n <i class=\"bvi-images bvi-images-volume-up\"></i>\n </a>\n </div>\n <div class=\"bvi-block\">\n <div class=\"bvi-block-title\">").concat(this._i18n.t('settings'), "</div>\n <a href=\"#\" class=\"bvi-link\" data-bvi=\"modal\">\n <i class=\"bvi-images bvi-images-cog\"></i>\n </a>\n <a href=\"#\" class=\"bvi-link\" data-bvi=\"close\">\n ").concat(this._i18n.t('regularVersionOfTheSite'), "\n </a>\n <a href=\"#\" class=\"bvi-link\" data-bvi=\"panel-hide\">\n <i class=\"bvi-images bvi-images-minus\"></i>\n </a>\n </div>\n </div>\n <div class=\"bvi-modal\">\n <div class=\"bvi-modal-dialog\">\n <div class=\"bvi-modal-content\">\n <div class=\"bvi-modal-header\">\n <div class=\"bvi-modal-title\">").concat(this._i18n.t('settings'), "</div>\n <a href=\"#\" class=\"bvi-link bvi-modal-close\" data-bvi=\"modal-close\">\xD7</a>\n </div>\n <div class=\"bvi-modal-body\">\n <div class=\"bvi-blocks bvi-block-center\">\n <div class=\"bvi-block\">\n <div class=\"bvi-block-title\">").concat(this._i18n.t('letterSpacing'), "</div>\n <a href=\"#\" class=\"bvi-link bvi-letter-spacing-normal\">").concat(this._i18n.t('normal'), "</a>\n <a href=\"#\" class=\"bvi-link bvi-letter-spacing-average\">").concat(this._i18n.t('average'), "</a>\n <a href=\"#\" class=\"bvi-link bvi-letter-spacing-big\">").concat(this._i18n.t('big'), "</a>\n </div>\n <div class=\"bvi-block\">\n <div class=\"bvi-block-title\">").concat(this._i18n.t('lineHeight'), "</div>\n <a href=\"#\" class=\"bvi-link bvi-line-height-normal\">").concat(this._i18n.t('normal'), "</a>\n <a href=\"#\" class=\"bvi-link bvi-line-height-average\">").concat(this._i18n.t('average'), "</a>\n <a href=\"#\" class=\"bvi-link bvi-line-height-big\">").concat(this._i18n.t('big'), "</a>\n </div>\n <div class=\"bvi-block\">\n <div class=\"bvi-block-title\">").concat(this._i18n.t('font'), "</div>\n <a href=\"#\" class=\"bvi-link bvi-font-family-arial\">").concat(this._i18n.t('arial'), "</a>\n <a href=\"#\" class=\"bvi-link bvi-font-family-times\">").concat(this._i18n.t('times'), "</a>\n </div>\n <div class=\"bvi-block\">\n <div class=\"bvi-block-title\">").concat(this._i18n.t('builtElements'), "</div>\n <a href=\"#\" class=\"bvi-link bvi-built-elements-on\">").concat(this._i18n.t('on'), "</a>\n <a href=\"#\" class=\"bvi-link bvi-built-elements-off\">").concat(this._i18n.t('off'), "</a>\n </div>\n </div>\n <div class=\"bvi-blocks bvi-block-center\">\n <a href=\"https://bvi.isvek.ru\" class=\"bvi-copyright\" target=\"_blank\">bvi.isvek.ru</a>\n </div>\n </div>\n <div class=\"bvi-modal-footer\">\n <a href=\"#\" class=\"bvi-link bvi-reset\">").concat(this._i18n.t('reset'), "</a>\n </div>\n </div>\n </div>\n </div>\n </div>"); 13182 var link = "<a href=\"#\" class=\"bvi-link bvi-link-fixed-top bvi-no-styles ".concat(linkHide, "\" data-bvi=\"panel-show\">") + '<i class="bvi-images bvi-images-eye bvi-images-size-32 bvi-no-styles"></i></a>'; 13183 window.addEventListener('scroll', scroll); 13184 document.querySelector('.bvi-body').insertAdjacentHTML('beforebegin', html); 13185 document.querySelector('.bvi-body').insertAdjacentHTML('afterbegin', link); 13186 scroll(); 13187 } 13188 }, {
13189 key: "_set", 13190 value: function _set() { 13191 var _this3 = this; 13192 13193 document.body.classList.add('bvi-active'); 13194 document.querySelector('.content-bvi').classList.add('bvi-active'); 13195 wrapInner(document.body, 'div', 'bvi-body'); 13196 getObject(this._config, function (key) { 13197 return _this3._setAttrDataBviBody(key, getCookie(key)); 13198 }); 13199 getArray(this._elements, function (element) { 13200 return element.style.display = 'none'; 13201 }); 13202 document.querySelectorAll('img').forEach(function (element) { 13203 if (element.classList.contains('bvi-img')) { 13204 element.classList.remove('bvi-img'); 13205 } 13206 }); 13207 document.querySelectorAll('.backgroundPolygon-greyHover').forEach(function (element) { 13208 if (element.classList.contains('bvi-img')) { 13209 element.classList.remove('bvi-img'); 13210 } 13211 }); 13212 document.querySelectorAll('svg').forEach(function (element) { 13213 if (element.classList.contains('bvi-img')) { 13214 element.classList.remove('bvi-img'); 13215 } 13216 }); 13217 document.querySelectorAll('body *').forEach(function (element) { 13218 if (element.classList.contains('bvi-background-image')) { 13219 element.classList.remove('bvi-background-image'); 13220 } 13221 }); 13222 } 13223 }, { 13224 key: "_remove", 13225 value: function _remove() { 13226 var bviPanel = document.querySelector('.bvi-panel'); 13227 var bviBody = document.querySelector('.bvi-body'); 13228 var bviLinkFixedTop = document.querySelector('.bvi-link-fixed-top'); 13229 13230 if (bviPanel) { 13231 bviPanel.remove(); 13232 } 13233 13234 if (bviBody) { 13235 unwrap(bviBody); 13236 } 13237 13238 if (bviLinkFixedTop) { 13239 bviLinkFixedTop.remove(); 13240 } 13241 13242 this._speech("".concat(this._i18n.v('panelOff'))); 13243 13244 document.body.classList.remove('bvi-active'); 13245 document.querySelector('.content-bvi').classList.remove('bvi-active'); 13246 getArray(this._elements, function (element) { 13247 return element.style.display = ''; 13248 }); 13249 13250 if (stringToBoolean(getCookie('reload'))) { 13251 document.location.reload(); 13252 } 13253 13254 getObject(this._config, function (key) { 13255 removeCookie(key); 13256 }); 13257 13258 this._speechPlayer(); 13259 13260 removeCookie('panelActive'); 13261 } 13262 }, { 13263 key: "_images", 13264 value: function _images() { 13265 document.querySelectorAll('img').forEach(function (element) { 13266 if (!element.classList.contains('bvi-no-style')) { 13267 element.classList.add('bvi-img'); 13268 } 13269 }); 13270 document.querySelectorAll('.backgroundPolygon-greyHover').forEach(function (element) { 13271 if (!element.classList.contains('bvi-no-style')) { 13272 element.classList.add('bvi-img'); 13273 } 13274 }); 13275 document.querySelectorAll('svg').forEach(function (element) { 13276 if (!element.classList.contains('bvi-no-style')) { 13277 element.classList.add('bvi-img'); 13278 } 13279 }); 13280 document.querySelectorAll('.bvi-body *').forEach(function (element) { 13281 var style = getComputedStyle(element); 13282 13283 if (style.backgroundImage !== 'none' && style.background !== 'none' && !element.classList.contains('bvi-no-style')) { 13284 element.classList.add('bvi-background-image'); 13285 } 13286 }); 13287 } 13288 }, { 13289 key: "_getConfig", 13290 value: function _getConfig(config) { 13291 config = _objectSpread2(_objectSpread2({}, Default), config); 13292 var extended = {}; 13293 13294 for (var keyDefault in Default) { 13295 extended[keyDefault] = config[keyDefault]; 13296 } 13297 13298 checkConfig(extended, DefaultType, DefaultOptions); 13299 return extended; 13300 } 13301 }, { 13302 key: "_setAttrDataBviBody", 13303 value: function _setAttrDataBviBody() { 13304 var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; 13305 var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; 13306 document.querySelector('.bvi-body').setAttribute("data-bvi-".concat(name), value); 13307 } 13308 }, {
13309 key: "_speechPlayer", 13310 value: function _speechPlayer() { 13311 var _this4 = this; 13312 13313 var selectorSpeechText = document.querySelectorAll('.bvi-speech-text'); 13314 var selectorSpeechLink = document.querySelectorAll('.bvi-speech-link'); 13315 var selectorBviSpeech = document.querySelectorAll('.bvi-speech'); 13316 13317 if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) { 13318 if (selectorBviSpeech) { 13319 if (selectorSpeechText) { 13320 selectorSpeechText.forEach(function (element) { 13321 return unwrap(element); 13322 }); 13323 } 13324 13325 if (selectorSpeechLink) { 13326 selectorSpeechLink.forEach(function (element) { 13327 return element.remove(); 13328 }); 13329 } 13330 13331 selectorBviSpeech.forEach(function (speechDivBlock, index) { 13332 var id = "bvi-speech-text-id-".concat(index + 1); 13333 var html = "\n <div class=\"bvi-speech-link\">\n <a href=\"#\" class=\"bvi-link bvi-speech-play\" title=\"\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u0438\">\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u0438</a>\n <a href=\"#\" class=\"bvi-link bvi-speech-pause disabled\" title=\"\u041F\u0430\u0443\u0437\u0430\">\u041F\u0430\u0443\u0437\u0430</a>\n <a href=\"#\" class=\"bvi-link bvi-speech-resume disabled\" title=\"\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C\">\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C</a>\n <a href=\"#\" class=\"bvi-link bvi-speech-stop disabled\" title=\"\u0421\u0442\u043E\u043F\">\u0421\u0442\u043E\u043F</i></a>\n </div>"; 13334 wrapInner(speechDivBlock, 'div', "bvi-speech-text ".concat(id)); 13335 speechDivBlock.insertAdjacentHTML('afterbegin', html); 13336 }); 13337 var selectorPlay = document.querySelectorAll('.bvi-speech-play'); 13338 var selectorPause = document.querySelectorAll('.bvi-speech-pause'); 13339 var selectorResume = document.querySelectorAll('.bvi-speech-resume'); 13340 var selectorStop = document.querySelectorAll('.bvi-speech-stop'); 13341 13342 var el = function el(elements, callback) { 13343 elements.forEach(function (element) { 13344 element.addEventListener('click', function (event) { 13345 event.preventDefault(); 13346 13347 if (typeof callback === 'function') { 13348 return callback(element, event); 13349 } 13350 }, false); 13351 }); 13352 }; 13353 13354 el(selectorPlay, function (element, event) { 13355 var target = event.target; 13356 var text = target.parentNode.nextElementSibling; 13357 var closest = event.target.closest('.bvi-speech-link'); 13358 var play = document.querySelectorAll('.bvi-speech-play'); 13359 var pause = document.querySelectorAll('.bvi-speech-pause'); 13360 var resume = document.querySelectorAll('.bvi-speech-resume'); 13361 var stop = document.querySelectorAll('.bvi-speech-stop'); 13362 13363 _this4._speech(text.textContent, text, true); 13364 13365 play.forEach(function (element) { 13366 return element.classList.remove('disabled'); 13367 }); 13368 pause.forEach(function (element) { 13369 return element.classList.add('disabled'); 13370 }); 13371 resume.forEach(function (element) { 13372 return element.classList.add('disabled'); 13373 }); 13374 stop.forEach(function (element) { 13375 return element.classList.add('disabled'); 13376 }); 13377 target.classList.add('disabled'); 13378 closest.querySelector('.bvi-speech-pause').classList.remove('disabled'); 13379 closest.querySelector('.bvi-speech-stop').classList.remove('disabled'); 13380 }); 13381 el(selectorPause, function (element, event) { 13382 var target = event.target; 13383 var closest = event.target.closest('.bvi-speech-link'); 13384 target.classList.add('disabled'); 13385 closest.querySelector('.bvi-speech-resume').classList.remove('disabled'); 13386 synth().pause(); 13387 }); 13388 el(selectorResume, function (element, event) { 13389 var target = event.target; 13390 var closest = event.target.closest('.bvi-speech-link'); 13391 target.classList.add('disabled'); 13392 closest.querySelector('.bvi-speech-pause').classList.remove('disabled'); 13393 synth().resume(); 13394 }); 13395 el(selectorStop, function (element, event) { 13396 var target = event.target; 13397 var closest = event.target.closest('.bvi-speech-link'); 13398 target.classList.add('disabled'); 13399 closest.querySelector('.bvi-speech-pause').classList.add('disabled'); 13400 closest.querySelector('.bvi-speech-play').classList.remove('disabled'); 13401 synth().cancel(); 13402 }); 13403 } 13404 } else { 13405 if (selectorSpeechText) { 13406 selectorSpeechText.forEach(function (element) { 13407 return unwrap(element); 13408 }); 13409 } 13410 13411 if (selectorSpeechLink) { 13412 selectorSpeechLink.forEach(function (element) { 13413 return element.remove(); 13414 }); 13415 } 13416 } 13417 } 13418 }, {
13419 key: "_speech", 13420 value: function _speech(text, element) { 13421 var _this5 = this; 13422 13423 var echo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; 13424 13425 if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) { 13426 synth().cancel(); 13427 13428 var getWordAt = function getWordAt(str, pos) { 13429 str = String(str); 13430 pos = Number(pos) >>> 0; 13431 var left = str.slice(0, pos + 1).search(/\S+$/); 13432 var right = str.slice(pos).search(/\s/); 13433 13434 if (right < 0) { 13435 return str.slice(left); 13436 } 13437 13438 return str.slice(left, right + pos); 13439 }; 13440 13441 var chunkLength = 120; 13442 var patternRegex = new RegExp('^[\\s\\S]{' + Math.floor(chunkLength / 2) + ',' + chunkLength + '}[.!?,]{1}|^[\\s\\S]{1,' + chunkLength + '}$|^[\\s\\S]{1,' + chunkLength + '} '); 13443 var array = []; 13444 var $text = text; 13445 var voices = synth().getVoices(); 13446 13447 while ($text.length > 0) { 13448 array.push($text.match(patternRegex)[0]); 13449 $text = $text.substring(array[array.length - 1].length); 13450 } 13451 13452 array.forEach(function (getText) { 13453 var utter = new SpeechSynthesisUtterance(getText.trim()); 13454 utter.volume = 1; 13455 utter.rate = 1; 13456 utter.pitch = 1; 13457 utter.lang = _this5._config.lang; 13458 13459 for (var i = 0; i < voices.length; i++) { 13460 if (_this5._config.lang === 'ru-RU' && voices[i].name === 'Microsoft Pavel - Russian (Russia)') { 13461 utter.voice = voices[i]; 13462 } 13463 13464 if (_this5._config.lang === 'en-US' && voices[i].name === 'Microsoft Pavel - English (English)') { 13465 utter.voice = voices[i]; 13466 } 13467 } 13468 13469 if (echo) { 13470 utter.onboundary = function (event) { 13471 element.classList.add('bvi-highlighting'); 13472 var world = getWordAt(event.utterance.text, event.charIndex); 13473 var textContent = element.textContent; 13474 var term = world.replace(/(\s+)/, '((<[^>]+>)*$1(<[^>]+>)*)'); 13475 var pattern = new RegExp('(' + term + ')', 'gi'); 13476 textContent = textContent.replace(pattern, '<mark>$1</mark>'); 13477 textContent = textContent.replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/, '$1</mark>$2<mark>$4'); 13478 element.innerHTML = textContent; 13479 }; 13480 13481 // eslint-disable-next-line no-unused-vars 13482 utter.onend = function (event) { 13483 element.classList.remove('bvi-highlighting'); 13484 var textContent = element.textContent; 13485 textContent = textContent.replace(/(<mark>$1<\/mark>)/, '$1'); 13486 element.innerHTML = textContent; 13487 }; 13488 } 13489 13490 synth().speak(utter); 13491 }); 13492 } 13493 } 13494 }]); 13495 13496 return Bvi; 13497 }(); 13498 13499 /** 13500 * -------------------------------------------------------------------------- 13501 * Button visually impaired (v1.0.0): index.umd.js 13502 * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) 13503 * -------------------------------------------------------------------------- 13504 */ 13505 var index_umd = { 13506 Bvi: Bvi 13507 }; 13508 13509 return index_umd; 13510 13511}))); 13512 13513/* End */ 13514; 13515; /* Start:"a:4:{s:4:"full";s:62:"/local/templates/culture/build/js/page/getBvi.js?1766567244923";s:6:"source";s:48:"/local/templates/culture/build/js/page/getBvi.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 13516"use strict"; 13517 13518$(function () { 13519 return new isvek.Bvi({ 13520 target: '.bvi-open', 13521 theme: "white", 13522 // Ð¦Ð²ÐµÑ ÑайÑа 13523 font: "Ubuntu", 13524 // ШÑиÑÑ 13525 fontSize: 20, 13526 // Ð Ð°Ð·Ð¼ÐµÑ ÑÑиÑÑа 13527 letterSpacing: "normal", 13528 // ÐежбÑквеннÑй инÑеÑвал 13529 lineHeight: "normal", 13530 // ÐеждÑÑÑÑоÑнÑй инÑеÑвал 13531 reload: true, 13532 // ÐеÑезагÑÑзка ÑÑÑаниÑÑ Ð¿Ñи вÑклÑÑении плагина 13533 fixed: false, 13534 // ФикÑиÑование панели Ð´Ð»Ñ ÑлабовидÑÑÐ¸Ñ Ð²Ð²ÐµÑÑ Ñ ÑÑÑаниÑÑ 13535 speech: false, 13536 // СинÑез ÑеÑи 13537 panelHide: false, 13538 // СкÑÑÐ²Ð°ÐµÑ Ð¿Ð°Ð½ÐµÐ»Ñ Ð´Ð»Ñ ÑлабовидÑÑÐ¸Ñ Ð¸ показÑÐ²Ð°ÐµÑ Ð¸ÐºÐ¾Ð½ÐºÑ Ð¿Ð°Ð½ÐµÐ»Ð¸. 13539 images: 'grayscale', 13540 // grayscale â ЧеÑное-белÑе изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ 13541 builtElements: true 13542 }); 13543}); 13544/* End */ 13545; 13546; /* Start:"a:4:{s:4:"full";s:65:"/local/templates/culture/build/js/jquery.cookie.js?17665672443121";s:6:"source";s:50:"/local/templates/culture/build/js/jquery.cookie.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 13547/*! 13548 * jQuery Cookie Plugin v1.4.1 13549 * https://github.com/carhartl/jquery-cookie 13550 * 13551 * Copyright 2013 Klaus Hartl 13552 * Released under the MIT license 13553 */ 13554(function (factory) { 13555 if (typeof define === 'function' && define.amd) { 13556 // AMD 13557 define(['jquery'], factory); 13558 } else if (typeof exports === 'object') { 13559 // CommonJS 13560 factory(require('jquery')); 13561 } else { 13562 // Browser globals 13563 factory(jQuery); 13564 } 13565}(function ($) { 13566 13567 var pluses = /\+/g; 13568 13569 function encode(s) { 13570 return config.raw ? s : encodeURIComponent(s); 13571 } 13572 13573 function decode(s) { 13574 return config.raw ? s : decodeURIComponent(s); 13575 } 13576 13577 function stringifyCookieValue(value) { 13578 return encode(config.json ? JSON.stringify(value) : String(value)); 13579 } 13580 13581 function parseCookieValue(s) { 13582 if (s.indexOf('"') === 0) { 13583 // This is a quoted cookie as according to RFC2068, unescape... 13584 s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); 13585 } 13586 13587 try { 13588 // Replace server-side written pluses with spaces. 13589 // If we can't decode the cookie, ignore it, it's unusable. 13590 // If we can't parse the cookie, ignore it, it's unusable. 13591 s = decodeURIComponent(s.replace(pluses, ' ')); 13592 return config.json ? JSON.parse(s) : s; 13593 } catch(e) {} 13594 } 13595 13596 function read(s, converter) { 13597 var value = config.raw ? s : parseCookieValue(s); 13598 return $.isFunction(converter) ? converter(value) : value; 13599 } 13600 13601 var config = $.cookie = function (key, value, options) { 13602 13603 // Write 13604 13605 if (value !== undefined && !$.isFunction(value)) { 13606 options = $.extend({}, config.defaults, options); 13607 13608 if (typeof options.expires === 'number') { 13609 var days = options.expires, t = options.expires = new Date(); 13610 t.setTime(+t + days * 864e+5); 13611 } 13612 13613 return (document.cookie = [ 13614 encode(key), '=', stringifyCookieValue(value), 13615 options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 13616 options.path ? '; path=' + options.path : '', 13617 options.domain ? '; domain=' + options.domain : '', 13618 options.secure ? '; secure' : '' 13619 ].join('')); 13620 } 13621 13622 // Read 13623 13624 var result = key ? undefined : {}; 13625 13626 // To prevent the for loop in the first place assign an empty array 13627 // in case there are no cookies at all. Also prevents odd result when 13628 // calling $.cookie(). 13629 var cookies = document.cookie ? document.cookie.split('; ') : []; 13630 13631 for (var i = 0, l = cookies.length; i < l; i++) { 13632 var parts = cookies[i].split('='); 13633 var name = decode(parts.shift()); 13634 var cookie = parts.join('='); 13635 13636 if (key && key === name) { 13637 // If second argument (value) is a function it's a converter... 13638 result = read(cookie, value); 13639 break; 13640 } 13641 13642 // Prevent storing a cookie that we couldn't decode. 13643 if (!key && (cookie = read(cookie)) !== undefined) { 13644 result[name] = cookie; 13645 } 13646 } 13647 13648 return result; 13649 }; 13650 13651 config.defaults = {}; 13652 13653 $.removeCookie = function (key, options) { 13654 if ($.cookie(key) === undefined) { 13655 return false;
13656 } 13657 13658 // Must not alter options, thus extending a fresh object... 13659 $.cookie(key, '', $.extend({}, options, { expires: -1 })); 13660 return !$.cookie(key); 13661 }; 13662 13663})); 13664 13665/* End */ 13666; 13667; /* Start:"a:4:{s:4:"full";s:57:"/local/templates/culture/build/js/index.js?17665672442194";s:6:"source";s:42:"/local/templates/culture/build/js/index.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 13668"use strict"; 13669 13670// ÐÑовеÑÑем, ÑÑо jQuery загÑÑжен 13671if (typeof $ === 'undefined') { 13672 console.error('Index.js: jQuery не загÑÑжен!'); 13673} else { 13674 13675$(document).ready(function () { 13676 // Slow scroll 13677 $('a[href^="#"]').click(function () { 13678 var elementClick = $(this).attr("href"); 13679 var destination = $(elementClick).offset().top - 70; 13680 if (elementClick == '#header') { 13681 destination = 0; 13682 } 13683 $('html, body').animate({ 13684 scrollTop: destination 13685 }, 700); 13686 return false; 13687 }); 13688 // Label(placeholder) in input transform 13689 $('.labelOnInput input').on('focus', function () { 13690 var currentParent = $(this).parent(); 13691 $(currentParent).addClass('active'); 13692 }); 13693 $('.labelOnInput input').on('focusout', function () { 13694 var currentParent = $(this).parent(); 13695 // input not empty 13696 if ($(this).val().length == 0) { 13697 $(currentParent).removeClass('active'); 13698 } 13699 }); 13700 13701 // Modal functionality - оÑкÑÑÑие модала 13702 $(document).on('click', '[data-modal]', function(e) { 13703 e.preventDefault(); 13704 var modalId = $(this).data('modal'); 13705 var modal = $('#' + modalId); 13706 if (modal.length) { 13707 modal.addClass('active'); 13708 $('body').css('overflow', 'hidden'); 13709 } 13710 }); 13711 13712 // Close modal button - закÑÑÑие по кнопке 13713 $(document).on('click', '[data-close]', function(e) { 13714 e.preventDefault(); 13715 var modalId = $(this).data('close'); 13716 var modal = $('#' + modalId); 13717 if (modal.length) { 13718 modal.removeClass('active'); 13719 $('body').css('overflow', 'auto'); 13720 } 13721 }); 13722 13723 // Close modal on background click - закÑÑÑие по ÐºÐ»Ð¸ÐºÑ Ð½Ð° Ñон 13724 $(document).on('click', '.modal', function(e) { 13725 if (e.target === this) { 13726 $(this).removeClass('active'); 13727 $('body').css('overflow', 'auto'); 13728 } 13729 }); 13730 13731 // Close modal on Escape key 13732 $(document).keyup(function (evt) { 13733 if (evt.key === "Escape" || evt.keyCode === 27) { 13734 var modal = $('.modal.active'); 13735 if (modal.length) { 13736 modal.removeClass('active'); 13737 $('body').css('overflow', 'auto'); 13738 } 13739 } 13740 }); 13741}); 13742 13743} // ÐакÑÑваем else блок Ð´Ð»Ñ Ð¿ÑовеÑки jQuery 13744/* End */ 13745; 13746; /* Start:"a:4:{s:4:"full";s:84:"/local/templates/culture/build/js/page/components/controllerSlider.js?17665672445462";s:6:"source";s:69:"/local/templates/culture/build/js/page/components/controllerSlider.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 13747"use strict"; 13748 13749// ÐÑовеÑÑем, ÑÑо jQuery загÑÑжен 13750if (typeof $ === 'undefined') { 13751 console.error('ControllerSlider: jQuery не загÑÑжен!'); 13752} else { 13753 13754/** 13755 * ÐÐ»Ñ controllerSlider, обеÑÑка ÑлайдеÑа должна ÑодеÑжаÑÑ ÐºÐ»Ð°ÑÑ '.slider', еÑли клаÑÑа не бÑдеÑ, Ñо progressBar ÑабоÑаÑÑ Ð½Ðµ бÑдеÑ. 13756 * 13757 * ÐеÑедаÑÑ Ð¾Ð±ÑÐµÐºÑ Ñ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñми паÑамеÑÑами: 13758 * @eventsSlider клаÑÑ Ð±Ð»Ð¾ÐºÐ° ÑлайдеÑа(пÑимеÑ: '.slider__list'), еÑли на ÑÑÑаниÑе неÑколÑко ÑлайдеÑов Ñ ÑазнÑм ÑÑнкÑионалом, Ñо пеÑедаваÑÑ ÑникалÑнÑй клаÑÑ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ блока 13759 * @infinite беÑконеÑÐ½Ð°Ñ Ð¿ÑокÑÑÑка, boolean 13760 * @slidesToShow колиÑеÑÑво Ñлайдов на ÑÑÑаниÑе, number 13761 * @slidesToScroll колиÑеÑÑво Ñлайдов пÑокÑÑÑиваем, number 13762 * @arrows ÑлеменÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ (еÑли нÑÐ¶Ð½Ñ ÑÑандаÑÑнÑе, Ñо ÑказаÑÑ Ð·Ð½Ð°Ñение true), boolean 13763 * @variableWidth адапÑÐ¸Ð²Ð½Ð°Ñ ÑиÑина Ñлайдов, boolean 13764 * @adaptiveHeight адапÑÐ¸Ð²Ð½Ð°Ñ Ð²ÑÑоÑа Ñлайдов, boolean 13765 * @fade Ñмена изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñлайдов анимаÑией, boolean 13766 * @counter ÑÑеÑÑик Ñлайдов, boolean 13767 * @progressBar индикаÑÐ¾Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑокÑÑÑки Ñлайдов, boolean 13768 */ 13769window.controllerSlider = function controllerSlider(slider) { 13770 var controlSlide = '<div class="d-flex align-items-center gap-24 controller">' + '<button class="controller__btn controller__btn-prev"></button>' + '<div class="d-flex align-items-center controller__wrapper">' + '<span class="active"> 01</span>' + '<span class="progress" role="progressbar">' + '<span class="prodress__label sr-only"></span>' + '</span>' + '<span class="total"></span>' + '</div>' + '<button class="controller__btn controller__btn-next"></button>' + '</div>'; 13771 var $sliders = $(slider.eventsSlider); 13772 $sliders.each(function () { 13773 var _this = this; 13774 var $sliderParent = $(this).parent(); 13775 if (!slider.arrows) { 13776 $sliderParent.find('.controller').remove(); 13777 $sliderParent.append(controlSlide); 13778 } 13779 var countSlide = $(this).find('.slider__item').length; 13780 if (slider.infinite) { 13781 countSlide = countSlide - $(this).find('.slick-cloned').length; 13782 } 13783 var slideScroll = slider.slidesToScroll; 13784 if (slider.responsive) { 13785 slider.responsive.forEach(function (item) { 13786 if (item.breakpoint >= $(window).width()) { 13787 slideScroll = item.settings.slidesToScroll; 13788 } 13789 }); 13790 } 13791 var controller = $sliderParent.find('.controller');
13792 if (countSlide <= slideScroll) { 13793 controller.remove(); 13794 } 13795 var prev = $(this).parent().find('.controller__btn-prev'); 13796 var next = $(this).parent().find('.controller__btn-next'); 13797 $(this).slick({ 13798 infinite: slider.infinite ? slider.infinite : false, 13799 slidesToShow: slider.slidesToShow ? slider.slidesToShow : 1, 13800 slidesToScroll: slider.slidesToScroll ? slider.slidesToScroll : 1, 13801 variableWidth: slider.variableWidth ? slider.variableWidth : false, 13802 adaptiveHeight: slider.adaptiveHeight ? slider.adaptiveHeight : false, 13803 fade: slider.fade ? slider.fade : false, 13804 prevArrow: slider.arrows ? '<button type="button" class="slick-prev"></button>' : prev[0], 13805 nextArrow: slider.arrows ? '<button type="button" class="slick-next"></button>' : next[0], 13806 responsive: slider.responsive ? slider.responsive : 'none', 13807 touchThreshold: 100 13808 }); 13809 if (slider.counter) { 13810 var helpers = { 13811 addZeros: function addZeros(number) { 13812 return number < 10 ? '0' + number : '' + number; 13813 } 13814 }; 13815 if (countSlide > 1) { 13816 $(this).siblings('.slides-numbers').show(); 13817 } 13818 var sliderItemsNum = Math.ceil($(this).find('.slick-slide').not('.slick-cloned').length / slideScroll); 13819 $sliderParent.find('.controller .total').html(helpers.addZeros(sliderItemsNum)); 13820 $(this).on('afterChange', function (event, slick, currentSlide) { 13821 $sliderParent.find('.controller .active').html(helpers.addZeros(Math.ceil(currentSlide / slideScroll) + 1)); 13822 }); 13823 } else { 13824 $sliderParent.find('.controller .total').remove(); 13825 $sliderParent.find('.controller .active').remove(); 13826 } 13827 if (slider.progressBar) { 13828 var processProgressBar = function processProgressBar(nextPosition) { 13829 var $progressBar = $(_this).parent('.slider').find('.progress'); 13830 var $progressBarLabel = $(_this).parent('.slider').find('.controller__label'); 13831 var calc = nextPosition / (countSlide - slideScroll) * 100; 13832 $progressBar.css('background-size', calc + '% 100%').attr('aria-valuenow', calc); 13833 $progressBarLabel.text(calc + '% completed'); 13834 }; 13835 $(this).on('beforeChange', function (event, slick, currentSlide, nextSlide) { 13836 processProgressBar(nextSlide); 13837 }); 13838 $sliderParent.find('.controller__btn-prev').on('click', function () { 13839 $(_this).slick('slickPrev'); 13840 }); 13841 $sliderParent.find('.controller__btn-next').on('click', function () { 13842 $(_this).slick('slickNext'); 13843 }); 13844 } 13845 }); 13846} 13847 13848} // ÐакÑÑваем else блок Ð´Ð»Ñ Ð¿ÑовеÑки jQuery 13849/* End */ 13850; 13851; /* Start:"a:4:{s:4:"full";s:77:"/local/templates/culture/build/js/page/components/imageZoom.js?17665672441425";s:6:"source";s:62:"/local/templates/culture/build/js/page/components/imageZoom.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 13852"use strict"; 13853 13854function imageZoom(box) { 13855 $(box).fancybox({ 13856 afterLoad: function afterLoad(instance, current) { 13857 var pixelRatio = window.devicePixelRatio || 1; 13858 if (pixelRatio > 1.5) { 13859 current.width = current.width / pixelRatio; 13860 current.height = current.height / pixelRatio; 13861 } 13862 }, 13863 closeExisting: false, 13864 protect: true, 13865 smallBtn: true, 13866 keyboard: false, 13867 touch: false, 13868 wheel: false, 13869 clickContent: false, 13870 caption: function caption() { 13871 var author = $(this).data('author') || ''; 13872 var description = $(this).data('description') || ''; 13873 if (author) { 13874 return '<p class="text-white-65 caption__title">' + author + '</p>' + '<p class="text-white-65 caption__description">' + description + '</p>'; 13875 } 13876 }, 13877 baseTpl: '<div class="fancybox-container" role="dialog" tabindex="-1">' + '<div class="fancybox-bg"></div>' + '<div class="fancybox-inner">' + '<div class="fancybox-stage">' + '<div class="fancybox-caption"><div class="fancybox-caption__body"></div></div>' + '</div>' + '</div>' + '</div>', 13878 btnTpl: { 13879 smallBtn: '<button type="button" data-fancybox-close="" class="fancybox-close-small fancybox-button" title="ÐакÑÑÑÑ">' + '<svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24">' + '<path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"></path>' + '</svg>' + '</button>' 13880 } 13881 }); 13882} 13883/* End */ 13884; 13885; /* Start:"a:4:{s:4:"full";s:80:"/local/templates/culture/build/js/page/components/mapOneObject.js?17665672442016";s:6:"source";s:65:"/local/templates/culture/build/js/page/components/mapOneObject.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 13886"use strict"; 13887 13888var myMapOneObject; 13889 13890/** 13891 * 13892 * @param data обÑÐµÐºÑ ÑодеÑжаÑий ÑледÑÑÑие паÑамеÑÑÑ: 13893 * 13894 * @mapId id каÑÑÑ Ð´Ð»Ñ Ð¸Ð½Ð¸ÑиализаÑии, string, обÑзаÑелÑное поле 13895 * @mapCenter кооÑдинаÑÑ ÑенÑÑа каÑÑÑ, array ([number, number]), обÑзаÑелÑное поле
13896 * @mapZoom маÑÑÑаб каÑÑÑ, number, по деÑолÑÑ 12 13897 * @mapCoordinate кооÑдинаÑÑ ÑоÑки на каÑÑе, array ([number, number]), обÑзаÑелÑное поле 13898 * @mapHintContent название ÑоÑки, string 13899 * @path ÑказÑваеÑÑÑ Ð¿ÑÑÑ Ð´Ð¾ папки build, string, обÑзаÑелÑное поле 13900 * @iconName - Ð¸Ð¼Ñ Ð¸ÐºÐ¾Ð½ÐºÐ¸, коÑоÑÑе бÑÐ´ÐµÑ Ð¾ÑобÑажаÑÑÑÑ Ð½Ð° каÑÑе, string, по деÑолÑÑ location 13901 */ 13902 13903function mapOneObject(data) { 13904 ymaps.ready(function () { 13905 if (myMapOneObject) { 13906 myMapOneObject.destroy(); 13907 } 13908 initMap(); 13909 }); 13910 function initMap() { 13911 myMapOneObject = new ymaps.Map(data.mapId, { 13912 center: data.mapCenter, 13913 zoom: data.mapZoom || 12, 13914 controls: ['zoomControl'] 13915 }, { 13916 searchControlProvider: 'yandex#search', 13917 yandexMapDisablePoiInteractivity: true 13918 }); 13919 var myMapPlacemarkOne; 13920 myMapPlacemarkOne = new ymaps.Placemark(data.mapCoordinate, { 13921 hintContent: data.mapHintContent, 13922 balloonContentHeader: data.mapHintContent 13923 }, { 13924 iconLayout: 'default#image', 13925 // Ð¡Ð²Ð¾Ñ Ð¸Ð·Ð¾Ð±Ñажение иконки меÑки. 13926 iconImageHref: "".concat(data.path, "/build/img/icons/icons.svg#").concat(data.iconName ? data.iconName : 'location'), 13927 // РазмеÑÑ Ð¼ÐµÑки. 13928 iconImageSize: [44, 44], 13929 // СмеÑение левого веÑÑ Ð½ÐµÐ³Ð¾ Ñгла иконки оÑноÑиÑелÑно. 13930 iconImageOffset: [-22, -22] 13931 }); 13932 myMapOneObject.behaviors.disable('scrollZoom'); 13933 myMapOneObject.geoObjects.add(myMapPlacemarkOne); 13934 } 13935} 13936/* End */ 13937; 13938; /* Start:"a:4:{s:4:"full";s:83:"/local/templates/culture/build/js/page/components/datepickerCustom.js?1766567244161";s:6:"source";s:69:"/local/templates/culture/build/js/page/components/datepickerCustom.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 13939"use strict"; 13940 13941$(function () { 13942 return $.datepicker._gotoToday = function (id) { 13943 $(id).blur().datepicker("hide").datepicker('setDate', new Date()); 13944 }; 13945}); 13946/* End */ 13947; 13948; /* Start:"a:4:{s:4:"full";s:89:"/local/templates/culture/build/js/page/components/pushkinListWithSlider.js?17665672441004";s:6:"source";s:74:"/local/templates/culture/build/js/page/components/pushkinListWithSlider.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 13949"use strict"; 13950 13951$(document).ready(function () { 13952 var pushkinListWithSlider = { 13953 eventsSlider: ".pushkinListWithSlider-slider", 13954 slidesToShow: 1, 13955 slidesToScroll: 1, 13956 progressBar: true, 13957 counter: true, 13958 adaptiveHeight: true 13959 }; 13960 controllerSlider(pushkinListWithSlider); 13961 var showMoreButtons = document.querySelectorAll('.events-mobile__btn-more'); 13962 var eventsLists = document.querySelectorAll('.events-list'); 13963 showMoreButtons.forEach(function (el, index) { 13964 el.addEventListener('click', function () { 13965 var hiddenElements = eventsLists[index].querySelectorAll('.hide-event'); 13966 var commentsList = Array.prototype.slice.call(hiddenElements).slice(0, 4); 13967 commentsList.forEach(function (item, index) { 13968 item.className = 'show-event'; 13969 if (index === 0) { 13970 item.scrollIntoView({ 13971 behavior: 'smooth' 13972 }); 13973 } 13974 }); 13975 if (hiddenElements.length <= 4) { 13976 el.className = 'hide-event'; 13977 } 13978 }); 13979 }); 13980}); 13981/* End */ 13982; 13983; /* Start:"a:4:{s:4:"full";s:84:"/local/templates/culture/build/js/page/components/pushkinStickyMenu.js?1766567244675";s:6:"source";s:70:"/local/templates/culture/build/js/page/components/pushkinStickyMenu.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 13984"use strict"; 13985 13986$(function () { 13987 // Apply active class on scroll 13988 var sections = $('section'); 13989 var nav = $('ul.pushkinStickyMenu-list'); 13990 var nav_height = nav.outerHeight(); 13991 $(document).on('scroll', function () { 13992 var current_position = $(this).scrollTop(); 13993 nav.css('top', current_position + $(nav).height()); 13994 sections.each(function () { 13995 var top = $(this).offset().top - nav_height; 13996 var bottom = top + $(this).outerHeight(); 13997 if (current_position >= top && current_position <= bottom) { 13998 nav.find('li').removeClass('active'); 13999 nav.find('li[data-href="' + $(this).attr('id') + '"]').addClass('active'); 14000 } 14001 }); 14002 }); 14003}); 14004/* End */ 14005; 14006; /* Start:"a:4:{s:4:"full";s:78:"/local/templates/culture/build/js/swiper/swiper-bundle.min.js?1766567244240246";s:6:"source";s:61:"/local/templates/culture/build/js/swiper/swiper-bundle.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 14007var Swiper=function(){"use strict";function isObject$1(obj){return obj!==null&&typeof obj==="object"&&"constructor"in obj&&obj.constructor===Object}function extend$1(target,src){if(target===void 0){target={}}if(src===void 0){src={}}
14007Object.keys(src).forEach(key=>{if(typeof target[key]==="undefined")target[key]=src[key];else if(isObject$1(src[key])&&isObject$1(target[key])&&Object.keys(src[key]).length>0){extend$1(target[key],src[key])}})}const ssrDocument={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector(){return null},querySelectorAll(){return[]},getElementById(){return null},createEvent(){return{initEvent(){}}},createElement(){return{children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName(){return[]}}},createElementNS(){return{}},importNode(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function getDocument(){const doc=typeof document!=="undefined"?document:{};extend$1(doc,ssrDocument);return doc}const ssrWindow={document:ssrDocument,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function CustomEvent(){return this},addEventListener(){},removeEventListener(){},getComputedStyle(){return{getPropertyValue(){return""}}},Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia(){return{}},requestAnimationFrame(callback){if(typeof setTimeout==="undefined"){callback();return null}return setTimeout(callback,0)},cancelAnimationFrame(id){if(typeof setTimeout==="undefined"){return}clearTimeout(id)}};function getWindow(){const win=typeof window!=="undefined"?window:{};extend$1(win,ssrWindow);return win}function classesToTokens(classes){if(classes===void 0){classes=""}return classes.trim().split(" ").filter(c=>!!c.trim())}function deleteProps(obj){const object=obj;Object.keys(object).forEach(key=>{try{object[key]=null}catch(e){}try{delete object[key]}catch(e){}})}function nextTick(callback,delay){if(delay===void 0){delay=0}return setTimeout(callback,delay)}function now(){return Date.now()}function getComputedStyle$1(el){const window=getWindow();let style;if(window.getComputedStyle){style=window.getComputedStyle(el,null)}if(!style&&el.currentStyle){style=el.currentStyle}if(!style){style=el.style}return style}function getTranslate(el,axis){if(axis===void 0){axis="x"}const window=getWindow();let matrix;let curTransform;let transformMatrix;const curStyle=getComputedStyle$1(el);if(window.WebKitCSSMatrix){curTransform=curStyle.transform||curStyle.webkitTransform;if(curTransform.split(",").length>6){curTransform=curTransform.split(", ").map(a=>a.replace(",",".")).join(", ")}transformMatrix=new window.WebKitCSSMatrix(curTransform==="none"?"":curTransform)}else{transformMatrix=curStyle.MozTransform||curStyle.OTransform||curStyle.MsTransform||curStyle.msTransform||curStyle.transform||curStyle.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,");matrix=transformMatrix.toString().split(",")}if(axis==="x"){if(window.WebKitCSSMatrix)curTransform=transformMatrix.m41;else if(matrix.length===16)curTransform=parseFloat(matrix[12]);else curTransform=parseFloat(matrix[4])}if(axis==="y"){if(window.WebKitCSSMatrix)curTransform=transformMatrix.m42;else if(matrix.length===16)curTransform=parseFloat(matrix[13]);else curTransform=parseFloat(matrix[5])}return curTransform||0}function isObject(o){return typeof o==="object"&&o!==null&&o.constructor&&Object.prototype.toString.call(o).slice(8,-1)==="Object"}function isNode(node){if(typeof window!=="undefined"&&typeof window.HTMLElement!=="undefined"){return node instanceof HTMLElement}return node&&(node.nodeType===1||node.nodeType===11)}function extend(){const to=Object(arguments.length<=0?undefined:arguments[0]);const noExtend=["__proto__","constructor","prototype"];for(let i=1;i<arguments.length;i+=1){const nextSource=i<0||arguments.length<=i?undefined:arguments[i];if(nextSource!==undefined&&nextSource!==null&&!isNode(nextSource)){const keysArray=Object.keys(Object(nextSource)).filter(key=>noExtend.indexOf(key)<0);for(let nextIndex=0,len=keysArray.length;nextIndex<len;nextIndex+=1){const nextKey=keysArray[nextIndex];const desc=Object.getOwnPropertyDescriptor(nextSource,nextKey);if(desc!==undefined&&desc.enumerable){if(isObject(to[nextKey])&&isObject(nextSource[nextKey])){if(nextSource[nextKey].__swiper__){to[nextKey]=nextSource[nextKey]}else{extend(to[nextKey],nextSource[nextKey])}}else if(!isObject(to[nextKey])&&isObject(nextSource[nextKey])){to[nextKey]={};if(nextSource[nextKey].__swiper__){to[nextKey]=nextSource[nextKey]}else{extend(to[nextKey],nextSource[nextKey])}}else{to[nextKey]=nextSource[nextKey]}}}}}return to}function setCSSProperty(el,varName,varValue){el.style.setProperty(varName,varValue)}function animateCSSModeScroll(_ref){let{swiper,targetPosition,side}=_ref;const window=getWindow();const startPosition=-swiper.translate;let startTime=null;let time;const duration=swiper.params.speed;swiper.wrapperEl.style.scrollSnapType="none";window.cancelAnimationFrame(swiper.cssModeFrameID);const dir=targetPosition>startPosition?"next":"prev";const isOutOfBound=(current,target)=>{return dir==="next"&¤t>=target||dir==="prev"&¤t<=target};const animate=()=>{time=(new Date).getTime();if(startTime===null){startTime=time}const progress=Math.max(Math.min((time-startTime)/duration,1),0);const easeProgress=.5-Math.cos(progress*Math.PI)/2;let currentPosition=startPosition+easeProgress*(targetPosition-startPosition);if(isOutOfBound(currentPosition,targetPosition)){currentPosition=targetPosition}swiper.wrapperEl.scrollTo({[side]:currentPosition});if(isOutOfBound(currentPosition,targetPosition)){swiper.wrapperEl.style.overflow="hidden";swiper.wrapperEl.style.scrollSnapType="";setTimeout(()=>{swiper.wrapperEl.style.overflow="";swiper.wrapperEl.scrollTo({[side]:currentPosition})});window.cancelAnimationFrame(swiper.cssModeFrameID);return}swiper.cssModeFrameID=window.requestAnimationFrame(animate)};animate()}function getSlideTransformEl(slideEl){return slideEl.querySelector(".swiper-slide-transform")||slideEl.shadowRoot&&slideEl.shadowRoot.querySelector(".swiper-slide-transform")||slideEl}function elementChildren(element,selector){if(selector===void 0){selector=""}const children=[...element.children];if(element instanceof HTMLSlotElement){children.push(...element.assignedElements())}if(!selector){return children}return children.filter(el=>el.matches(selector))}function elementIsChildOf(el,parent){const isChild=parent.contains(el);if(!isChild&&parent instanceof HTMLSlotElement){const children=[...parent.assignedElements()];return children.includes(el)}return isChild}function showWarning(text){try{console.warn(text);return}catch(err){}}function createElement(tag,classes){if(classes===void 0){classes=[]}const el=document.createElement(tag);
14007el.classList.add(...Array.isArray(classes)?classes:classesToTokens(classes));return el}function elementOffset(el){const window=getWindow();const document=getDocument();const box=el.getBoundingClientRect();const body=document.body;const clientTop=el.clientTop||body.clientTop||0;const clientLeft=el.clientLeft||body.clientLeft||0;const scrollTop=el===window?window.scrollY:el.scrollTop;const scrollLeft=el===window?window.scrollX:el.scrollLeft;return{top:box.top+scrollTop-clientTop,left:box.left+scrollLeft-clientLeft}}function elementPrevAll(el,selector){const prevEls=[];while(el.previousElementSibling){const prev=el.previousElementSibling;if(selector){if(prev.matches(selector))prevEls.push(prev)}else prevEls.push(prev);el=prev}return prevEls}function elementNextAll(el,selector){const nextEls=[];while(el.nextElementSibling){const next=el.nextElementSibling;if(selector){if(next.matches(selector))nextEls.push(next)}else nextEls.push(next);el=next}return nextEls}function elementStyle(el,prop){const window=getWindow();return window.getComputedStyle(el,null).getPropertyValue(prop)}function elementIndex(el){let child=el;let i;if(child){i=0;while((child=child.previousSibling)!==null){if(child.nodeType===1)i+=1}return i}return undefined}function elementParents(el,selector){const parents=[];let parent=el.parentElement;while(parent){if(selector){if(parent.matches(selector))parents.push(parent)}else{parents.push(parent)}parent=parent.parentElement}return parents}function elementTransitionEnd(el,callback){function fireCallBack(e){if(e.target!==el)return;callback.call(el,e);el.removeEventListener("transitionend",fireCallBack)}if(callback){el.addEventListener("transitionend",fireCallBack)}}function elementOuterSize(el,size,includeMargins){const window=getWindow();if(includeMargins){return el[size==="width"?"offsetWidth":"offsetHeight"]+parseFloat(window.getComputedStyle(el,null).getPropertyValue(size==="width"?"margin-right":"margin-top"))+parseFloat(window.getComputedStyle(el,null).getPropertyValue(size==="width"?"margin-left":"margin-bottom"))}return el.offsetWidth}function makeElementsArray(el){return(Array.isArray(el)?el:[el]).filter(e=>!!e)}function getRotateFix(swiper){return v=>{if(Math.abs(v)>0&&swiper.browser&&swiper.browser.need3dFix&&Math.abs(v)%90===0){return v+.001}return v}}let support;function calcSupport(){const window=getWindow();const document=getDocument();return{smoothScroll:document.documentElement&&document.documentElement.style&&"scrollBehavior"in document.documentElement.style,touch:!!("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch)}}function getSupport(){if(!support){support=calcSupport()}return support}let deviceCached;function calcDevice(_temp){let{userAgent}=_temp===void 0?{}:_temp;const support=getSupport();const window=getWindow();const platform=window.navigator.platform;const ua=userAgent||window.navigator.userAgent;const device={ios:false,android:false};const screenWidth=window.screen.width;const screenHeight=window.screen.height;const android=ua.match(/(Android);?[\s\/]+([\d.]+)?/);let ipad=ua.match(/(iPad).*OS\s([\d_]+)/);const ipod=ua.match(/(iPod)(.*OS\s([\d_]+))?/);const iphone=!ipad&&ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);const windows=platform==="Win32";let macos=platform==="MacIntel";const iPadScreens=["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"];if(!ipad&&macos&&support.touch&&iPadScreens.indexOf(`${screenWidth}x${screenHeight}`)>=0){ipad=ua.match(/(Version)\/([\d.]+)/);if(!ipad)ipad=[0,1,"13_0_0"];macos=false}if(android&&!windows){device.os="android";device.android=true}if(ipad||iphone||ipod){device.os="ios";device.ios=true}return device}function getDevice(overrides){if(overrides===void 0){overrides={}}if(!deviceCached){deviceCached=calcDevice(overrides)}return deviceCached}let browser;function calcBrowser(){const window=getWindow();const device=getDevice();let needPerspectiveFix=false;function isSafari(){const ua=window.navigator.userAgent.toLowerCase();return ua.indexOf("safari")>=0&&ua.indexOf("chrome")<0&&ua.indexOf("android")<0}if(isSafari()){const ua=String(window.navigator.userAgent);if(ua.includes("Version/")){const[major,minor]=ua.split("Version/")[1].split(" ")[0].split(".").map(num=>Number(num));needPerspectiveFix=major<16||major===16&&minor<2}}
14007const isWebView=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);const isSafariBrowser=isSafari();const need3dFix=isSafariBrowser||isWebView&&device.ios;return{isSafari:needPerspectiveFix||isSafariBrowser,needPerspectiveFix:needPerspectiveFix,need3dFix:need3dFix,isWebView:isWebView}}function getBrowser(){if(!browser){browser=calcBrowser()}return browser}function Resize(_ref){let{swiper,on,emit}=_ref;const window=getWindow();let observer=null;let animationFrame=null;const resizeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;emit("beforeResize");emit("resize")};const createObserver=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;observer=new ResizeObserver(entries=>{animationFrame=window.requestAnimationFrame(()=>{const{width,height}=swiper;let newWidth=width;let newHeight=height;entries.forEach(_ref2=>{let{contentBoxSize,contentRect,target}=_ref2;if(target&&target!==swiper.el)return;newWidth=contentRect?contentRect.width:(contentBoxSize[0]||contentBoxSize).inlineSize;newHeight=contentRect?contentRect.height:(contentBoxSize[0]||contentBoxSize).blockSize});if(newWidth!==width||newHeight!==height){resizeHandler()}})});observer.observe(swiper.el)};const removeObserver=()=>{if(animationFrame){window.cancelAnimationFrame(animationFrame)}if(observer&&observer.unobserve&&swiper.el){observer.unobserve(swiper.el);observer=null}};const orientationChangeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;emit("orientationchange")};on("init",()=>{if(swiper.params.resizeObserver&&typeof window.ResizeObserver!=="undefined"){createObserver();return}window.addEventListener("resize",resizeHandler);window.addEventListener("orientationchange",orientationChangeHandler)});on("destroy",()=>{removeObserver();window.removeEventListener("resize",resizeHandler);window.removeEventListener("orientationchange",orientationChangeHandler)})}function Observer(_ref){let{swiper,extendParams,on,emit}=_ref;const observers=[];const window=getWindow();const attach=function(target,options){if(options===void 0){options={}}const ObserverFunc=window.MutationObserver||window.WebkitMutationObserver;const observer=new ObserverFunc(mutations=>{if(swiper.__preventObserver__)return;if(mutations.length===1){emit("observerUpdate",mutations[0]);return}const observerUpdate=function observerUpdate(){emit("observerUpdate",mutations[0])};if(window.requestAnimationFrame){window.requestAnimationFrame(observerUpdate)}else{window.setTimeout(observerUpdate,0)}});observer.observe(target,{attributes:typeof options.attributes==="undefined"?true:options.attributes,childList:swiper.isElement||(typeof options.childList==="undefined"?true:options).childList,characterData:typeof options.characterData==="undefined"?true:options.characterData});observers.push(observer)};const init=()=>{if(!swiper.params.observer)return;if(swiper.params.observeParents){const containerParents=elementParents(swiper.hostEl);for(let i=0;i<containerParents.length;i+=1){attach(containerParents[i])}}attach(swiper.hostEl,{childList:swiper.params.observeSlideChildren});attach(swiper.wrapperEl,{attributes:false})};const destroy=()=>{observers.forEach(observer=>{observer.disconnect()});observers.splice(0,observers.length)};extendParams({observer:false,observeParents:false,observeSlideChildren:false});on("init",init);on("destroy",destroy)}var eventsEmitter={on(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(typeof handler!=="function")return self;const method=priority?"unshift":"push";events.split(" ").forEach(event=>{if(!self.eventsListeners[event])self.eventsListeners[event]=[];self.eventsListeners[event][method](handler)});return self},once(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(typeof handler!=="function")return self;function onceHandler(){self.off(events,onceHandler);if(onceHandler.__emitterProxy){delete onceHandler.__emitterProxy}for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}handler.apply(self,args)}onceHandler.__emitterProxy=handler;return self.on(events,onceHandler,priority)},onAny(handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(typeof handler!=="function")return self;const method=priority?"unshift":"push";if(self.eventsAnyListeners.indexOf(handler)<0){self.eventsAnyListeners[method](handler)}return self},offAny(handler){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsAnyListeners)return self;const index=self.eventsAnyListeners.indexOf(handler);if(index>=0){self.eventsAnyListeners.splice(index,1)}return self},off(events,handler){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsListeners)return self;events.split(" ").forEach(event=>{if(typeof handler==="undefined"){self.eventsListeners[event]=[]}else if(self.eventsListeners[event]){self.eventsListeners[event].forEach((eventHandler,index)=>{if(eventHandler===handler||eventHandler.__emitterProxy&&eventHandler.__emitterProxy===handler){self.eventsListeners[event].splice(index,1)}})}});return self}
14007,emit(){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsListeners)return self;let events;let data;let context;for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}if(typeof args[0]==="string"||Array.isArray(args[0])){events=args[0];data=args.slice(1,args.length);context=self}else{events=args[0].events;data=args[0].data;context=args[0].context||self}data.unshift(context);const eventsArray=Array.isArray(events)?events:events.split(" ");eventsArray.forEach(event=>{if(self.eventsAnyListeners&&self.eventsAnyListeners.length){self.eventsAnyListeners.forEach(eventHandler=>{eventHandler.apply(context,[event,...data])})}if(self.eventsListeners&&self.eventsListeners[event]){self.eventsListeners[event].forEach(eventHandler=>{eventHandler.apply(context,data)})}});return self}};function updateSize(){const swiper=this;let width;let height;const el=swiper.el;if(typeof swiper.params.width!=="undefined"&&swiper.params.width!==null){width=swiper.params.width}else{width=el.clientWidth}if(typeof swiper.params.height!=="undefined"&&swiper.params.height!==null){height=swiper.params.height}else{height=el.clientHeight}if(width===0&&swiper.isHorizontal()||height===0&&swiper.isVertical()){return}width=width-parseInt(elementStyle(el,"padding-left")||0,10)-parseInt(elementStyle(el,"padding-right")||0,10);height=height-parseInt(elementStyle(el,"padding-top")||0,10)-parseInt(elementStyle(el,"padding-bottom")||0,10);if(Number.isNaN(width))width=0;if(Number.isNaN(height))height=0;Object.assign(swiper,{width:width,height:height,size:swiper.isHorizontal()?width:height})}function updateSlides(){const swiper=this;function getDirectionPropertyValue(node,label){return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label))||0)}const params=swiper.params;const{wrapperEl,slidesEl,size:swiperSize,rtlTranslate:rtl,wrongRTL}=swiper;const isVirtual=swiper.virtual&¶ms.virtual.enabled;const previousSlidesLength=isVirtual?swiper.virtual.slides.length:swiper.slides.length;const slides=elementChildren(slidesEl,`.${swiper.params.slideClass}, swiper-slide`);const slidesLength=isVirtual?swiper.virtual.slides.length:slides.length;let snapGrid=[];const slidesGrid=[];const slidesSizesGrid=[];let offsetBefore=params.slidesOffsetBefore;if(typeof offsetBefore==="function"){offsetBefore=params.slidesOffsetBefore.call(swiper)}let offsetAfter=params.slidesOffsetAfter;if(typeof offsetAfter==="function"){offsetAfter=params.slidesOffsetAfter.call(swiper)}const previousSnapGridLength=swiper.snapGrid.length;const previousSlidesGridLength=swiper.slidesGrid.length;let spaceBetween=params.spaceBetween;let slidePosition=-offsetBefore;let prevSlideSize=0;let index=0;if(typeof swiperSize==="undefined"){return}if(typeof spaceBetween==="string"&&spaceBetween.indexOf("%")>=0){spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiperSize}else if(typeof spaceBetween==="string"){spaceBetween=parseFloat(spaceBetween)}swiper.virtualSize=-spaceBetween;
vendor: 4,217 bytes, line 14007
14007slides.forEach(slideEl=>{if(rtl){slideEl.style.marginLeft=""}else{slideEl.style.marginRight=""}slideEl.style.marginBottom="";slideEl.style.marginTop=""});if(params.centeredSlides&¶ms.cssMode){setCSSProperty(wrapperEl,"--swiper-centered-offset-before","");setCSSProperty(wrapperEl,"--swiper-centered-offset-after","")}const gridEnabled=params.grid&¶ms.grid.rows>1&&swiper.grid;if(gridEnabled){swiper.grid.initSlides(slides)}else if(swiper.grid){swiper.grid.unsetSlides()}let slideSize;const shouldResetSlideSize=params.slidesPerView==="auto"&¶ms.breakpoints&&Object.keys(params.breakpoints).filter(key=>{return typeof params.breakpoints[key].slidesPerView!=="undefined"}).length>0;for(let i=0;i<slidesLength;i+=1){slideSize=0;let slide;if(slides[i])slide=slides[i];if(gridEnabled){swiper.grid.updateSlide(i,slide,slides)}if(slides[i]&&elementStyle(slide,"display")==="none")continue;if(params.slidesPerView==="auto"){if(shouldResetSlideSize){slides[i].style[swiper.getDirectionLabel("width")]=``}const slideStyles=getComputedStyle(slide);const currentTransform=slide.style.transform;const currentWebKitTransform=slide.style.webkitTransform;if(currentTransform){slide.style.transform="none"}if(currentWebKitTransform){slide.style.webkitTransform="none"}if(params.roundLengths){slideSize=swiper.isHorizontal()?elementOuterSize(slide,"width",true):elementOuterSize(slide,"height",true)}else{const width=getDirectionPropertyValue(slideStyles,"width");const paddingLeft=getDirectionPropertyValue(slideStyles,"padding-left");const paddingRight=getDirectionPropertyValue(slideStyles,"padding-right");const marginLeft=getDirectionPropertyValue(slideStyles,"margin-left");const marginRight=getDirectionPropertyValue(slideStyles,"margin-right");const boxSizing=slideStyles.getPropertyValue("box-sizing");if(boxSizing&&boxSizing==="border-box"){slideSize=width+marginLeft+marginRight}else{const{clientWidth,offsetWidth}=slide;slideSize=width+paddingLeft+paddingRight+marginLeft+marginRight+(offsetWidth-clientWidth)}}if(currentTransform){slide.style.transform=currentTransform}if(currentWebKitTransform){slide.style.webkitTransform=currentWebKitTransform}if(params.roundLengths)slideSize=Math.floor(slideSize)}else{slideSize=(swiperSize-(params.slidesPerView-1)*spaceBetween)/params.slidesPerView;if(params.roundLengths)slideSize=Math.floor(slideSize);if(slides[i]){slides[i].style[swiper.getDirectionLabel("width")]=`${slideSize}px`}}if(slides[i]){slides[i].swiperSlideSize=slideSize}slidesSizesGrid.push(slideSize);if(params.centeredSlides){slidePosition=slidePosition+slideSize/2+prevSlideSize/2+spaceBetween;if(prevSlideSize===0&&i!==0)slidePosition=slidePosition-swiperSize/2-spaceBetween;if(i===0)slidePosition=slidePosition-swiperSize/2-spaceBetween;if(Math.abs(slidePosition)<1/1e3)slidePosition=0;if(params.roundLengths)slidePosition=Math.floor(slidePosition);if(index%params.slidesPerGroup===0)snapGrid.push(slidePosition);slidesGrid.push(slidePosition)}else{if(params.roundLengths)slidePosition=Math.floor(slidePosition);if((index-Math.min(swiper.params.slidesPerGroupSkip,index))%swiper.params.slidesPerGroup===0)snapGrid.push(slidePosition);slidesGrid.push(slidePosition);slidePosition=slidePosition+slideSize+spaceBetween}swiper.virtualSize+=slideSize+spaceBetween;prevSlideSize=slideSize;index+=1}swiper.virtualSize=Math.max(swiper.virtualSize,swiperSize)+offsetAfter;if(rtl&&wrongRTL&&(params.effect==="slide"||params.effect==="coverflow")){wrapperEl.style.width=`${swiper.virtualSize+spaceBetween}px`}if(params.setWrapperSize){wrapperEl.style[swiper.getDirectionLabel("width")]=`${swiper.virtualSize+spaceBetween}px`}if(gridEnabled){swiper.grid.updateWrapperSize(slideSize,snapGrid)}if(!params.centeredSlides){const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];if(params.roundLengths)slidesGridItem=Math.floor(slidesGridItem);if(snapGrid[i]<=swiper.virtualSize-swiperSize){newSlidesGrid.push(slidesGridItem)}}snapGrid=newSlidesGrid;if(Math.floor(swiper.virtualSize-swiperSize)-Math.floor(snapGrid[snapGrid.length-1])>1){snapGrid.push(swiper.virtualSize-swiperSize)}}if(isVirtual&¶ms.loop){const size=slidesSizesGrid[0]+spaceBetween;if(params.slidesPerGroup>
140071){const groups=Math.ceil((swiper.virtual.slidesBefore+swiper.virtual.slidesAfter)/params.slidesPerGroup);const groupSize=size*params.slidesPerGroup;for(let i=0;i<groups;i+=1){snapGrid.push(snapGrid[snapGrid.length-1]+groupSize)}}for(let i=0;i<swiper.virtual.slidesBefore+swiper.virtual.slidesAfter;i+=1){if(params.slidesPerGroup===1){snapGrid.push(snapGrid[snapGrid.length-1]+size)}slidesGrid.push(slidesGrid[slidesGrid.length-1]+size);swiper.virtualSize+=size}}if(snapGrid.length===0)snapGrid=[0];if(spaceBetween!==0){const key=swiper.isHorizontal()&&rtl?"marginLeft":swiper.getDirectionLabel("marginRight");slides.filter((_,slideIndex)=>{if(!params.cssMode||params.loop)return true;if(slideIndex===slides.length-1){return false}return true}).forEach(slideEl=>{slideEl.style[key]=`${spaceBetween}px`})}if(params.centeredSlides&¶ms.centeredSlidesBounds){let allSlidesSize=0;slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)});allSlidesSize-=spaceBetween;const maxSnap=allSlidesSize-swiperSize;snapGrid=snapGrid.map(snap=>{if(snap<=0)return-offsetBefore;if(snap>maxSnap)return maxSnap+offsetAfter;return snap})}if(params.centerInsufficientSlides){let allSlidesSize=0;
14007slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)});allSlidesSize-=spaceBetween;const offsetSize=(params.slidesOffsetBefore||0)+(params.slidesOffsetAfter||0);if(allSlidesSize+offsetSize<swiperSize){const allSlidesOffset=(swiperSize-allSlidesSize-offsetSize)/2;snapGrid.forEach((snap,snapIndex)=>{snapGrid[snapIndex]=snap-allSlidesOffset});slidesGrid.forEach((snap,snapIndex)=>{slidesGrid[snapIndex]=snap+allSlidesOffset})}}Object.assign(swiper,{slides:slides,snapGrid:snapGrid,slidesGrid:slidesGrid,slidesSizesGrid:slidesSizesGrid});if(params.centeredSlides&¶ms.cssMode&&!params.centeredSlidesBounds){setCSSProperty(wrapperEl,"--swiper-centered-offset-before",`${-snapGrid[0]}px`);setCSSProperty(wrapperEl,"--swiper-centered-offset-after",`${swiper.size/2-slidesSizesGrid[slidesSizesGrid.length-1]/2}px`);const addToSnapGrid=-swiper.snapGrid[0];const addToSlidesGrid=-swiper.slidesGrid[0];swiper.snapGrid=swiper.snapGrid.map(v=>v+addToSnapGrid);swiper.slidesGrid=swiper.slidesGrid.map(v=>v+addToSlidesGrid)}if(slidesLength!==previousSlidesLength){swiper.emit("slidesLengthChange")}if(snapGrid.length!==previousSnapGridLength){if(swiper.params.watchOverflow)swiper.checkOverflow();swiper.emit("snapGridLengthChange")}if(slidesGrid.length!==previousSlidesGridLength){swiper.emit("slidesGridLengthChange")}if(params.watchSlidesProgress){swiper.updateSlidesOffset()}swiper.emit("slidesUpdated");if(!isVirtual&&!params.cssMode&&(params.effect==="slide"||params.effect==="fade")){const backFaceHiddenClass=`${params.containerModifierClass}backface-hidden`;const hasClassBackfaceClassAdded=swiper.el.classList.contains(backFaceHiddenClass);if(slidesLength<=params.maxBackfaceHiddenSlides){if(!hasClassBackfaceClassAdded)swiper.el.classList.add(backFaceHiddenClass)}else if(hasClassBackfaceClassAdded){swiper.el.classList.remove(backFaceHiddenClass)}}}function updateAutoHeight(speed){const swiper=this;const activeSlides=[];const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;let newHeight=0;let i;if(typeof speed==="number"){swiper.setTransition(speed)}else if(speed===true){swiper.setTransition(swiper.params.speed)}const getSlideByIndex=index=>{if(isVirtual){return swiper.slides[swiper.getSlideIndexByData(index)]}return swiper.slides[index]};if(swiper.params.slidesPerView!=="auto"&&swiper.params.slidesPerView>1){if(swiper.params.centeredSlides){(swiper.visibleSlides||[]).forEach(sli
14007de=>{activeSlides.push(slide)})}else{for(i=0;i<Math.ceil(swiper.params.slidesPerView);i+=1){const index=swiper.activeIndex+i;if(index>swiper.slides.length&&!isVirtual)break;activeSlides.push(getSlideByIndex(index))}}}else{activeSlides.push(getSlideByIndex(swiper.activeIndex))}for(i=0;i<activeSlides.length;i+=1){if(typeof activeSlides[i]!=="undefined"){const height=activeSlides[i].offsetHeight;newHeight=height>newHeight?height:newHeight}}if(newHeight||newHeight===0)swiper.wrapperEl.style.height=`${newHeight}px`}function updateSlidesOffset(){const swiper=this;const slides=swiper.slides;const minusOffset=swiper.isElement?swiper.isHorizontal()?swiper.wrapperEl.offsetLeft:swiper.wrapperEl.offsetTop:0;for(let i=0;i<slides.length;i+=1){slides[i].swiperSlideOffset=(swiper.isHorizontal()?slides[i].offsetLeft:slides[i].offsetTop)-minusOffset-swiper.cssOverflowAdjustment()}}const toggleSlideClasses$1=(slideEl,condition,className)=>{if(condition&&!slideEl.classList.contains(className)){slideEl.classList.add(className)}else if(!condition&&slideEl.classList.contains(className)){slideEl.classList.remove(className)}};function updateSlidesProgress(translate){if(translate===void 0){translate=this&&this.translate||0}const swiper=this;const params=swiper.params;const{slides,rtlTranslate:rtl,snapGrid}=swiper;if(slides.length===0)return;if(typeof slides[0].swiperSlideOffset==="undefined")swiper.updateSlidesOffset();let offsetCenter=-translate;if(rtl)offsetCenter=translate;swiper.visibleSlidesIndexes=[];swiper.visibleSlides=[];let spaceBetween=params.spaceBetween;if(typeof spaceBetween==="string"&&spaceBetween.indexOf("%")>=0){spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiper.size}else if(typeof spaceBetween==="string"){spaceBetween=parseFloat(spaceBetween)}for(let i=0;i<slides.length;i+=1){const slide=slides[i];let slideOffset=slide.swiperSlideOffset;if(params.cssMode&¶ms.centeredSlides){slideOffset-=slides[0].swiperSlideOffset}const slideProgress=(offsetCenter+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slide.swiperSlideSize+spaceBetween);const originalSlideProgress=(offsetCenter-snapGrid[0]+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slide.swiperSlideSize+spaceBetween);const slideBefore=-(offsetCenter-slideOffset);const slideAfter=slideBefore+swiper.slidesSizesGrid[i];const isFullyVisible=slideBefore>=0&&slideBefore<=swiper.size-swiper.slidesSizesGrid[i];const isVisible=slideBefore>=0&&slideBefore<swiper.size-1||slideAfter>1&&slideAfter<=swiper.size||slideBefore<=0&&slideAfter>=swiper.size;if(isVisible){swiper.visibleSlides.push(slide);swiper.visibleSlidesIndexes.push(i)}
14007toggleSlideClasses$1(slide,isVisible,params.slideVisibleClass);toggleSlideClasses$1(slide,isFullyVisible,params.slideFullyVisibleClass);slide.progress=rtl?-slideProgress:slideProgress;slide.originalProgress=rtl?-originalSlideProgress:originalSlideProgress}}function updateProgress(translate){const swiper=this;if(typeof translate==="undefined"){const multiplier=swiper.rtlTranslate?-1:1;translate=swiper&&swiper.translate&&swiper.translate*multiplier||0}const params=swiper.params;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();let{progress,isBeginning,isEnd,progressLoop}=swiper;const wasBeginning=isBeginning;const wasEnd=isEnd;if(translatesDiff===0){progress=0;isBeginning=true;isEnd=true}else{progress=(translate-swiper.minTranslate())/translatesDiff;const isBeginningRounded=Math.abs(translate-swiper.minTranslate())<1;const isEndRounded=Math.abs(translate-swiper.maxTranslate())<1;isBeginning=isBeginningRounded||progress<=0;isEnd=isEndRounded||progress>=1;if(isBeginningRounded)progress=0;if(isEndRounded)progress=1}if(params.loop){const firstSlideIndex=swiper.getSlideIndexByData(0);const lastSlideIndex=swiper.getSlideIndexByData(swiper.slides.length-1);const firstSlideTranslate=swiper.slidesGrid[firstSlideIndex];const lastSlideTranslate=swiper.slidesGrid[lastSlideIndex];const translateMax=swiper.slidesGrid[swiper.slidesGrid.length-1];const translateAbs=Math.abs(translate);if(translateAbs>=firstSlideTranslate){progressLoop=(translateAbs-firstSlideTranslate)/translateMax}else{progressLoop=(translateAbs+translateMax-lastSlideTranslate)/translateMax}if(progressLoop>1)progressLoop-=1}Object.assign(swiper,{progress:progress,progressLoop:progressLoop,isBeginning:isBeginning,isEnd:isEnd});if(params.watchSlidesProgress||params.centeredSlides&¶ms.autoHeight)swiper.updateSlidesProgress(translate);if(isBeginning&&!wasBeginning){swiper.emit("reachBeginning toEdge")}if(isEnd&&!wasEnd){swiper.emit("reachEnd toEdge")}if(wasBeginning&&!isBeginning||wasEnd&&!isEnd){swiper.emit("fromEdge")}swiper.emit("progress",progress)}const toggleSlideClasses=(slideEl,condition,className)=>{if(condition&&!slideEl.classList.contains(className)){slideEl.classList.add(className)}else if(!condition&&slideEl.classList.contains(className)){slideEl.classList.remove(className)}};function updateSlidesClasses(){const swiper=this;const{slides,params,slidesEl,activeIndex}=swiper;const isVirtual=swiper.virtual&¶ms.virtual.enabled;const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;const getFilteredSlide=selector=>{return elementChildren(slidesEl,`.${params.slideClass}${selector}, swiper-slide${selector}`)[0]};let activeSlide;let prevSlide;let nextSlide;if(isVirtual){if(params.loop){let slideIndex=activeIndex-swiper.virtual.slidesBefore;if(slideIndex<0)slideIndex=swiper.virtual.slides.length+slideIndex;if(slideIndex>=swiper.virtual.slides.length)slideIndex-=swiper.virtual.slides.length;activeSlide=getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`)}else{activeSlide=getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`)}}else{if(gridEnabled){activeSlide=slides.filter(slideEl=>slideEl.column===activeIndex)[0];nextSlide=slides.filter(slideEl=>slideEl.column===activeIndex+1)[0];prevSlide=slides.filter(slideEl=>slideEl.column===activeIndex-1)[0]}else{activeSlide=slides[activeIndex]}}if(activeSlide){if(!gridEnabled){nextSlide=elementNextAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0];if(params.loop&&!nextSlide){nextSlide=slides[0]}prevSlide=elementPrevAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0];if(params.loop&&!prevSlide===0){prevSlide=slides[slides.length-1]}}}
14007slides.forEach(slideEl=>{toggleSlideClasses(slideEl,slideEl===activeSlide,params.slideActiveClass);toggleSlideClasses(slideEl,slideEl===nextSlide,params.slideNextClass);toggleSlideClasses(slideEl,slideEl===prevSlide,params.slidePrevClass)});swiper.emitSlidesClasses()}const processLazyPreloader=(swiper,imageEl)=>{if(!swiper||swiper.destroyed||!swiper.params)return;const slideSelector=()=>swiper.isElement?`swiper-slide`:`.${swiper.params.slideClass}`;const slideEl=imageEl.closest(slideSelector());if(slideEl){let lazyEl=slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);if(!lazyEl&&swiper.isElement){if(slideEl.shadowRoot){lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`)}else{requestAnimationFrame(()=>{if(slideEl.shadowRoot){lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);if(lazyEl)lazyEl.remove()}})}}if(lazyEl)lazyEl.remove()}};const unlazy=(swiper,index)=>{if(!swiper.slides[index])return;const imageEl=swiper.slides[index].querySelector('[loading="lazy"]');if(imageEl)imageEl.removeAttribute("loading")};const preload=swiper=>{if(!swiper||swiper.destroyed||!swiper.params)return;let amount=swiper.params.lazyPreloadPrevNext;const len=swiper.slides.length;if(!len||!amount||amount<0)return;amount=Math.min(amount,len);const slidesPerView=swiper.params.slidesPerView==="auto"?swiper.slidesPerViewDynamic():Math.ceil(swiper.params.slidesPerView);const activeIndex=swiper.activeIndex;if(swiper.params.grid&&swiper.params.grid.rows>1){const activeColumn=activeIndex;const preloadColumns=[activeColumn-amount];preloadColumns.push(...Array.from({length:amount}).map((_,i)=>{return activeColumn+slidesPerView+i}));swiper.slides.forEach((slideEl,i)=>{if(preloadColumns.includes(slideEl.column))unlazy(swiper,i)});return}const slideIndexLastInView=activeIndex+slidesPerView-1;if(swiper.params.rewind||swiper.params.loop){for(let i=activeIndex-amount;i<=slideIndexLastInView+amount;i+=1){const realIndex=(i%len+len)%len;if(realIndex<activeIndex||realIndex>slideIndexLastInView)unlazy(swiper,realIndex)}}else{for(let i=Math.max(activeIndex-amount,0);i<=Math.min(slideIndexLastInView+amount,len-1);i+=1){if(i!==activeIndex&&(i>slideIndexLastInView||i<activeIndex)){unlazy(swiper,i)}}}};function getActiveIndexByTranslate(swiper){const{slidesGrid,params}=swiper;const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;let activeIndex;for(let i=0;i<slidesGrid.length;i+=1){if(typeof slidesGrid[i+1]!=="undefined"){if(translate>=slidesGrid[i]&&translate<slidesGrid[i+1]-(slidesGrid[i+1]-slidesGrid[i])/2){activeIndex=i}else if(translate>=slidesGrid[i]&&translate<slidesGrid[i+1]){activeIndex=i+1}}else if(translate>=slidesGrid[i]){activeIndex=i}}if(params.normalizeSlideIndex){if(activeIndex<0||typeof activeIndex==="undefined")activeIndex=0}return activeIndex}function updateActiveIndex(newActiveIndex){const swiper=this;const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;const{snapGrid,params,activeIndex:previousIndex,realIndex:previousRealIndex,snapIndex:previousSnapIndex}=swiper;let activeIndex=newActiveIndex;let snapIndex;const getVirtualRealIndex=aIndex=>{let realIndex=aIndex-swiper.virtual.slidesBefore;if(realIndex<0){realIndex=swiper.virtual.slides.length+realIndex}if(realIndex>=swiper.virtual.slides.length){realIndex-=swiper.virtual.slides.length}return realIndex};if(typeof activeIndex==="undefined"){activeIndex=getActiveIndexByTranslate(swiper)}if(snapGrid.indexOf(translate)>=0){snapIndex=snapGrid.indexOf(translate)}else{const skip=Math.min(params.slidesPerGroupSkip,activeIndex);snapIndex=skip+Math.floor((activeIndex-skip)/params.slidesPerGroup)}if(snapIndex>=snapGrid.length)snapIndex=snapGrid.length-1;if(activeIndex===previousIndex&&!swiper.params.loop){if(snapIndex!==previousSnapIndex){swiper.snapIndex=snapIndex;swiper.emit("snapIndexChange")}return}if(activeIndex===previousIndex&&swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled){swiper.realIndex=getVirtualRealIndex(activeIndex);return}const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;let realIndex;if(swiper.virtual&¶ms.virtual.enabled&¶ms.loop){realIndex=getVirtualRealIndex(activeIndex)}else if(gridEnabled){const firstSlideInColumn=swiper.slides.filter(slideEl=>slideEl.column===activeIndex)[0];let activeSlideIndex=parseInt(firstSlideInColumn.getAttribute("data-swiper-slide-index"),10);if(Number.isNaN(activeSlideIndex)){activeSlideIndex=Math.max(swiper.slides.indexOf(firstSlideInColumn),0)}realIndex=Math.floor(activeSlideIndex/params.grid.rows)}
14007else if(swiper.slides[activeIndex]){const slideIndex=swiper.slides[activeIndex].getAttribute("data-swiper-slide-index");if(slideIndex){realIndex=parseInt(slideIndex,10)}else{realIndex=activeIndex}}else{realIndex=activeIndex}Object.assign(swiper,{previousSnapIndex:previousSnapIndex,snapIndex:snapIndex,previousRealIndex:previousRealIndex,realIndex:realIndex,previousIndex:previousIndex,activeIndex:activeIndex});if(swiper.initialized){preload(swiper)}swiper.emit("activeIndexChange");swiper.emit("snapIndexChange");if(swiper.initialized||swiper.params.runCallbacksOnInit){if(previousRealIndex!==realIndex){swiper.emit("realIndexChange")}swiper.emit("slideChange")}}function updateClickedSlide(el,path){const swiper=this;const params=swiper.params;let slide=el.closest(`.${params.slideClass}, swiper-slide`);if(!slide&&swiper.isElement&&path&&path.length>1&&path.includes(el)){[...path.slice(path.indexOf(el)+1,path.length)].forEach(pathEl=>{if(!slide&&pathEl.matches&&pathEl.matches(`.${params.slideClass}, swiper-slide`)){slide=pathEl}})}let slideFound=false;let slideIndex;if(slide){for(let i=0;i<swiper.slides.length;i+=1){if(swiper.slides[i]===slide){slideFound=true;slideIndex=i;break}}}if(slide&&slideFound){swiper.clickedSlide=slide;if(swiper.virtual&&swiper.params.virtual.enabled){swiper.clickedIndex=parseInt(slide.getAttribute("data-swiper-slide-index"),10)}else{swiper.clickedIndex=slideIndex}}else{swiper.clickedSlide=undefined;swiper.clickedIndex=undefined;return}if(params.slideToClickedSlide&&swiper.clickedIndex!==undefined&&swiper.clickedIndex!==swiper.activeIndex){swiper.slideToClickedSlide()}}var update={updateSize:updateSize,updateSlides:updateSlides,updateAutoHeight:updateAutoHeight,updateSlidesOffset:updateSlidesOffset,updateSlidesProgress:updateSlidesProgress,updateProgress:updateProgress,updateSlidesClasses:updateSlidesClasses,updateActiveIndex:updateActiveIndex,updateClickedSlide:updateClickedSlide};function getSwiperTranslate(axis){if(axis===void 0){axis=this.isHorizontal()?"x":"y"}const swiper=this;const{params,rtlTranslate:rtl,translate,wrapperEl}=swiper;if(params.virtualTranslate){return rtl?-translate:translate}if(params.cssMode){return translate}let currentTranslate=getTranslate(wrapperEl,axis);currentTranslate+=swiper.cssOverflowAdjustment();if(rtl)currentTranslate=-currentTranslate;return currentTranslate||0}function setTranslate(translate,byController){const swiper=this;const{rtlTranslate:rtl,params,wrapperEl,progress}=swiper;let x=0;let y=0;const z=0;if(swiper.isHorizontal()){x=rtl?-translate:translate}else{y=translate}if(params.roundLengths){x=Math.floor(x);y=Math.floor(y)}swiper.previousTranslate=swiper.translate;swiper.translate=swiper.isHorizontal()?x:y;if(params.cssMode){wrapperEl[swiper.isHorizontal()?"scrollLeft":"scrollTop"]=swiper.isHorizontal()?-x:-y}else if(!params.virtualTranslate){if(swiper.isHorizontal()){x-=swiper.cssOverflowAdjustment()}else{y-=swiper.cssOverflowAdjustment()}wrapperEl.style.transform=`translate3d(${x}px, ${y}px, ${z}px)`}let newProgress;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();if(translatesDiff===0){newProgress=0}else{newProgress=(translate-swiper.minTranslate())/translatesDiff}if(newProgress!==progress){swiper.updateProgress(translate)}swiper.emit("setTranslate",swiper.translate,byController)}function minTranslate(){return-this.snapGrid[0]}function maxTranslate(){return-this.snapGrid[this.snapGrid.length-1]}function translateTo(translate,speed,runCallbacks,translateBounds,internal){if(translate===void 0){translate=0}if(speed===void 0){speed=this.params.speed}if(runCallbacks===void 0){runCallbacks=true}if(translateBounds===void 0){translateBounds=true}const swiper=this;const{params,wrapperEl}=swiper;if(swiper.animating&¶ms.preventInteractionOnTransition){return false}const minTranslate=swiper.minTranslate();const maxTranslate=swiper.maxTranslate();let newTranslate;if(translateBounds&&translate>minTranslate)newTranslate=minTranslate;else if(translateBounds&&translate<maxTranslate)newTranslate=maxTranslate;else newTranslate=translate;swiper.updateProgress(newTranslate);
14007if(params.cssMode){const isH=swiper.isHorizontal();if(speed===0){wrapperEl[isH?"scrollLeft":"scrollTop"]=-newTranslate}else{if(!swiper.support.smoothScroll){animateCSSModeScroll({swiper:swiper,targetPosition:-newTranslate,side:isH?"left":"top"});return true}wrapperEl.scrollTo({[isH?"left":"top"]:-newTranslate,behavior:"smooth"})}return true}if(speed===0){swiper.setTransition(0);swiper.setTranslate(newTranslate);if(runCallbacks){swiper.emit("beforeTransitionStart",speed,internal);swiper.emit("transitionEnd")}}else{swiper.setTransition(speed);swiper.setTranslate(newTranslate);if(runCallbacks){swiper.emit("beforeTransitionStart",speed,internal);swiper.emit("transitionStart")}if(!swiper.animating){swiper.animating=true;if(!swiper.onTranslateToWrapperTransitionEnd){swiper.onTranslateToWrapperTransitionEnd=function transitionEnd(e){if(!swiper||swiper.destroyed)return;if(e.target!==this)return;swiper.wrapperEl.removeEventListener("transitionend",swiper.onTranslateToWrapperTransitionEnd);swiper.onTranslateToWrapperTransitionEnd=null;delete swiper.onTranslateToWrapperTransitionEnd;swiper.animating=false;if(runCallbacks){swiper.emit("transitionEnd")}}}swiper.wrapperEl.addEventListener("transitionend",swiper.onTranslateToWrapperTransitionEnd)}}return true}var translate={getTranslate:getSwiperTranslate,setTranslate:setTranslate,minTranslate:minTranslate,maxTranslate:maxTranslate,translateTo:translateTo};function setTransition(duration,byController){const swiper=this;if(!swiper.params.cssMode){swiper.wrapperEl.style.transitionDuration=`${duration}ms`;swiper.wrapperEl.style.transitionDelay=duration===0?`0ms`:""}swiper.emit("setTransition",duration,byController)}function transitionEmit(_ref){let{swiper,runCallbacks,direction,step}=_ref;const{activeIndex,previousIndex}=swiper;let dir=direction;if(!dir){if(activeIndex>previousIndex)dir="next";else if(activeIndex<previousIndex)dir="prev";else dir="reset"}swiper.emit(`transition${step}`);if(runCallbacks&&activeIndex!==previousIndex){if(dir==="reset"){swiper.emit(`slideResetTransition${step}`);return}swiper.emit(`slideChangeTransition${step}`);if(dir==="next"){swiper.emit(`slideNextTransition${step}`)}else{swiper.emit(`slidePrevTransition${step}`)}}}function transitionStart(runCallbacks,direction){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;const{params}=swiper;if(params.cssMode)return;if(params.autoHeight){swiper.updateAutoHeight()}transitionEmit({swiper:swiper,runCallbacks:runCallbacks,direction:direction,step:"Start"})}function transitionEnd(runCallbacks,direction){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;const{params}=swiper;swiper.animating=false;if(params.cssMode)return;swiper.setTransition(0);transitionEmit({swiper:swiper,runCallbacks:runCallbacks,direction:direction,step:"End"})}var transition={setTransition:setTransition,transitionStart:transitionStart,transitionEnd:transitionEnd};function slideTo(index,speed,runCallbacks,internal,initial){if(index===void 0){index=0}if(runCallbacks===void 0){runCallbacks=true}if(typeof index==="string"){index=parseInt(index,10)}const swiper=this;let slideIndex=index;if(slideIndex<0)slideIndex=0;const{params,snapGrid,slidesGrid,previousIndex,activeIndex,rtlTranslate:rtl,wrapperEl,enabled}=swiper;if(!enabled&&!internal&&!initial||swiper.destroyed||swiper.animating&¶ms.preventInteractionOnTransition){return false}if(typeof speed==="undefined"){speed=swiper.params.speed}const skip=Math.min(swiper.params.slidesPerGroupSkip,slideIndex);let snapIndex=skip+Math.floor((slideIndex-skip)/swiper.params.slidesPerGroup);if(snapIndex>=snapGrid.length)snapIndex=snapGrid.length-1;const translate=-snapGrid[snapIndex];if(params.normalizeSlideIndex){for(let i=0;i<slidesGrid.length;i+=1){const normalizedTranslate=-Math.floor(translate*100);const normalizedGrid=Math.floor(slidesGrid[i]*100);const normalizedGridNext=Math.floor(slidesGrid[i+1]*100);if(typeof slidesGrid[i+1]!=="undefined"){if(normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext-(normalizedGridNext-normalizedGrid)/2){slideIndex=i}else if(normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext){slideIndex=i+1}}else if(normalizedTranslate>=normalizedGrid){slideIndex=i}}}if(swiper.initialized&&slideIndex!==activeIndex){if(!swiper.allowSlideNext&&(rtl?translate>swiper.translate&&translate>swiper.minTranslate():translate<swiper.translate&&translate<swiper.minTranslate())){return false}if(!swiper.allowSlidePrev&&translate>swiper.translate&&translate>
14007swiper.maxTranslate()){if((activeIndex||0)!==slideIndex){return false}}}if(slideIndex!==(previousIndex||0)&&runCallbacks){swiper.emit("beforeSlideChangeStart")}swiper.updateProgress(translate);let direction;if(slideIndex>activeIndex)direction="next";else if(slideIndex<activeIndex)direction="prev";else direction="reset";if(rtl&&-translate===swiper.translate||!rtl&&translate===swiper.translate){swiper.updateActiveIndex(slideIndex);if(params.autoHeight){swiper.updateAutoHeight()}swiper.updateSlidesClasses();if(params.effect!=="slide"){swiper.setTranslate(translate)}if(direction!=="reset"){swiper.transitionStart(runCallbacks,direction);swiper.transitionEnd(runCallbacks,direction)}return false}if(params.cssMode){const isH=swiper.isHorizontal();const t=rtl?translate:-translate;if(speed===0){const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;if(isVirtual){swiper.wrapperEl.style.scrollSnapType="none";swiper._immediateVirtual=true}if(isVirtual&&!swiper._cssModeVirtualInitialSet&&swiper.params.initialSlide>0){swiper._cssModeVirtualInitialSet=true;requestAnimationFrame(()=>{wrapperEl[isH?"scrollLeft":"scrollTop"]=t})}else{wrapperEl[isH?"scrollLeft":"scrollTop"]=t}if(isVirtual){requestAnimationFrame(()=>{swiper.wrapperEl.style.scrollSnapType="";swiper._immediateVirtual=false})}}else{if(!swiper.support.smoothScroll){animateCSSModeScroll({swiper:swiper,targetPosition:t,side:isH?"left":"top"});return true}wrapperEl.scrollTo({[isH?"left":"top"]:t,behavior:"smooth"})}return true}swiper.setTransition(speed);swiper.setTranslate(translate);swiper.updateActiveIndex(slideIndex);swiper.updateSlidesClasses();swiper.emit("beforeTransitionStart",speed,internal);swiper.transitionStart(runCallbacks,direction);if(speed===0){swiper.transitionEnd(runCallbacks,direction)}else if(!swiper.animating){swiper.animating=true;if(!swiper.onSlideToWrapperTransitionEnd){swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){if(!swiper||swiper.destroyed)return;if(e.target!==this)return;swiper.wrapperEl.removeEventListener("transitionend",swiper.onSlideToWrapperTransitionEnd);swiper.onSlideToWrapperTransitionEnd=null;delete swiper.onSlideToWrapperTransitionEnd;swiper.transitionEnd(runCallbacks,direction)}}swiper.wrapperEl.addEventListener("transitionend",swiper.onSlideToWrapperTransitionEnd)}return true}function slideToLoop(index,speed,runCallbacks,internal){if(index===void 0){index=0}if(runCallbacks===void 0){runCallbacks=true}if(typeof index==="string"){const indexAsNumber=parseInt(index,10);index=indexAsNumber}const swiper=this;if(swiper.destroyed)return;if(typeof speed==="undefined"){speed=swiper.params.speed}const gridEnabled=swiper.grid&&swiper.params.grid&&swiper.params.grid.rows>1;let newIndex=index;if(swiper.params.loop){if(swiper.virtual&&swiper.params.virtual.enabled){newIndex=newIndex+swiper.virtual.slidesBefore}else{let targetSlideIndex;if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows;targetSlideIndex=swiper.slides.filter(slideEl=>slideEl.getAttribute("data-swiper-slide-index")*1===slideIndex)[0].column}else{targetSlideIndex=swiper.getSlideIndexByData(newIndex)}const cols=gridEnabled?Math.ceil(swiper.slides.length/swiper.params.grid.rows):swiper.slides.length;const{centeredSlides}=swiper.params;let slidesPerView=swiper.params.slidesPerView;if(slidesPerView==="auto"){slidesPerView=swiper.slidesPerViewDynamic()}else{slidesPerView=Math.ceil(parseFloat(swiper.params.slidesPerView,10));if(centeredSlides&&slidesPerView%2===0){slidesPerView=slidesPerView+1}}let needLoopFix=cols-targetSlideIndex<slidesPerView;if(centeredSlides){needLoopFix=needLoopFix||targetSlideIndex<Math.ceil(slidesPerView/2)}if(internal&¢eredSlides&&swiper.params.slidesPerView!=="auto"&&!gridEnabled){needLoopFix=false}if(needLoopFix){const direction=centeredSlides?targetSlideIndex<swiper.activeIndex?"prev":"next":targetSlideIndex-swiper.activeIndex-1<swiper.params.slidesPerView?"next":"prev";swiper.loopFix({direction:direction,slideTo:true,activeSlideIndex:direction==="next"?targetSlideIndex+1:targetSlideIndex-cols+1,slideRealIndex:direction==="next"?swiper.realIndex:undefined})}if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows;
14007newIndex=swiper.slides.filter(slideEl=>slideEl.getAttribute("data-swiper-slide-index")*1===slideIndex)[0].column}else{newIndex=swiper.getSlideIndexByData(newIndex)}}}requestAnimationFrame(()=>{swiper.slideTo(newIndex,speed,runCallbacks,internal)});return swiper}function slideNext(speed,runCallbacks,internal){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;const{enabled,params,animating}=swiper;if(!enabled||swiper.destroyed)return swiper;if(typeof speed==="undefined"){speed=swiper.params.speed}let perGroup=params.slidesPerGroup;if(params.slidesPerView==="auto"&¶ms.slidesPerGroup===1&¶ms.slidesPerGroupAuto){perGroup=Math.max(swiper.slidesPerViewDynamic("current",true),1)}const increment=swiper.activeIndex<params.slidesPerGroupSkip?1:perGroup;const isVirtual=swiper.virtual&¶ms.virtual.enabled;if(params.loop){if(animating&&!isVirtual&¶ms.loopPreventsSliding)return false;swiper.loopFix({direction:"next"});swiper._clientLeft=swiper.wrapperEl.clientLeft;if(swiper.activeIndex===swiper.slides.length-1&¶ms.cssMode){requestAnimationFrame(()=>{swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)});return true}}if(params.rewind&&swiper.isEnd){return swiper.slideTo(0,speed,runCallbacks,internal)}return swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)}function slidePrev(speed,runCallbacks,internal){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;const{params,snapGrid,slidesGrid,rtlTranslate,enabled,animating}=swiper;if(!enabled||swiper.destroyed)return swiper;if(typeof speed==="undefined"){speed=swiper.params.speed}const isVirtual=swiper.virtual&¶ms.virtual.enabled;if(params.loop){if(animating&&!isVirtual&¶ms.loopPreventsSliding)return false;swiper.loopFix({direction:"prev"});swiper._clientLeft=swiper.wrapperEl.clientLeft}const translate=rtlTranslate?swiper.translate:-swiper.translate;function normalize(val){if(val<0)return-Math.floor(Math.abs(val));return Math.floor(val)}const normalizedTranslate=normalize(translate);const normalizedSnapGrid=snapGrid.map(val=>normalize(val));let prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)-1];if(typeof prevSnap==="undefined"&¶ms.cssMode){let prevSnapIndex;snapGrid.forEach((snap,snapIndex)=>{if(normalizedTranslate>=snap){prevSnapIndex=snapIndex}});if(typeof prevSnapIndex!=="undefined"){prevSnap=snapGrid[prevSnapIndex>0?prevSnapIndex-1:prevSnapIndex]}}let prevIndex=0;if(typeof prevSnap!=="undefined"){prevIndex=slidesGrid.indexOf(prevSnap);if(prevIndex<0)prevIndex=swiper.activeIndex-1;if(params.slidesPerView==="auto"&¶ms.slidesPerGroup===1&¶ms.slidesPerGroupAuto){prevIndex=prevIndex-swiper.slidesPerViewDynamic("previous",true)+1;prevIndex=Math.max(prevIndex,0)}}if(params.rewind&&swiper.isBeginning){const lastIndex=swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1;return swiper.slideTo(lastIndex,speed,runCallbacks,internal)}else if(params.loop&&swiper.activeIndex===0&¶ms.cssMode){requestAnimationFrame(()=>{swiper.slideTo(prevIndex,speed,runCallbacks,internal)});return true}return swiper.slideTo(prevIndex,speed,runCallbacks,internal)}function slideReset(speed,runCallbacks,internal){if(runCallbacks===void 0){runCallbacks=true}const swiper=this;if(swiper.destroyed)return;if(typeof speed==="undefined"){speed=swiper.params.speed}return swiper.slideTo(swiper.activeIndex,speed,runCallbacks,internal)}function slideToClosest(speed,runCallbacks,internal,threshold){if(runCallbacks===void 0){runCallbacks=true}if(threshold===void 0){threshold=.5}const swiper=this;if(swiper.destroyed)return;if(typeof speed==="undefined"){speed=swiper.params.speed}let index=swiper.activeIndex;const skip=Math.min(swiper.params.slidesPerGroupSkip,index);const snapIndex=skip+Math.floor((index-skip)/swiper.params.slidesPerGroup);const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;if(translate>=swiper.snapGrid[snapIndex]){const currentSnap=swiper.snapGrid[snapIndex];const nextSnap=swiper.snapGrid[snapIndex+1];if(translate-currentSnap>(nextSnap-currentSnap)*threshold){index+=swiper.params.slidesPerGroup}}else{const prevSnap=swiper.snapGrid[snapIndex-1];const currentSnap=swiper.snapGrid[snapIndex];if(translate-prevSnap<=(currentSnap-prevSnap)*threshold){index-=swiper.params.slidesPerGroup}}index=Math.max(index,0);index=Math.min(index,swiper.slidesGrid.length-1);return swiper.slideTo(index,speed,runCallbacks,internal)}function slideToClickedSlide(){const swiper=this;if(swiper.destroyed)return;const{params,slidesEl}=swiper;const slidesPerView=params.slidesPerView==="auto"?swiper.slidesPerViewDynamic():params.slidesPerView;let slideToIndex=swiper.clickedIndex;let realIndex;const slideSelector=swiper.isElement?`swiper-slide`:`.${params.slideClass}`;if(params.loop){if(swiper.animating)return;realIndex=parseInt(swiper.clickedSlide.getAttribute("data-swiper-slide-index"),10);if(params.centeredSlides){if(slideToIndex<swiper.loopedSlides-slidesPerView/2||slideToIndex>swiper.slides.length-swiper.loopedSlides+slidesPerView/2){swiper.loopFix();slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);nextTick(()=>{swiper.slideTo(slideToIndex)})}else{swiper.slideTo(slideToIndex)}}else if(slideToIndex>swiper.slides.length-slidesPerView){swiper.loopFix();slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);nextTick(()=>{swiper.slideTo(slideToIndex)})}else{swiper.slideTo(slideToIndex)}}else{swiper.slideTo(slideToIndex)}}var slide={slideTo:slideTo,slideToLoop:slideToLoop,slideNext:slideNext,slidePrev:slidePrev,slideReset:slideReset,slideToClosest:slideToClosest,slideToClickedSlide:slideToClickedSlide};function loopCreate(slideRealIndex){const swiper=this;const{params,slidesEl}=swiper;if(!params.loop||swiper.virtual&&swiper.params.virtual.enabled)return;const initSlides=()=>{const slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`);
14007slides.forEach((el,index)=>{el.setAttribute("data-swiper-slide-index",index)})};const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;const slidesPerGroup=params.slidesPerGroup*(gridEnabled?params.grid.rows:1);const shouldFillGroup=swiper.slides.length%slidesPerGroup!==0;const shouldFillGrid=gridEnabled&&swiper.slides.length%params.grid.rows!==0;const addBlankSlides=amountOfSlides=>{for(let i=0;i<amountOfSlides;i+=1){const slideEl=swiper.isElement?createElement("swiper-slide",[params.slideBlankClass]):createElement("div",[params.slideClass,params.slideBlankClass]);swiper.slidesEl.append(slideEl)}};if(shouldFillGroup){if(params.loopAddBlankSlides){const slidesToAdd=slidesPerGroup-swiper.slides.length%slidesPerGroup;addBlankSlides(slidesToAdd);swiper.recalcSlides();swiper.updateSlides()}else{showWarning("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)")}initSlides()}else if(shouldFillGrid){if(params.loopAddBlankSlides){const slidesToAdd=params.grid.rows-swiper.slides.length%params.grid.rows;addBlankSlides(slidesToAdd);swiper.recalcSlides();swiper.updateSlides()}else{showWarning("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)")}initSlides()}else{initSlides()}
14007swiper.loopFix({slideRealIndex:slideRealIndex,direction:params.centeredSlides?undefined:"next"})}function loopFix(_temp){let{slideRealIndex,slideTo=true,direction,setTranslate,activeSlideIndex,byController,byMousewheel}=_temp===void 0?{}:_temp;const swiper=this;if(!swiper.params.loop)return;swiper.emit("beforeLoopFix");const{slides,allowSlidePrev,allowSlideNext,slidesEl,params}=swiper;const{centeredSlides}=params;swiper.allowSlidePrev=true;swiper.allowSlideNext=true;if(swiper.virtual&¶ms.virtual.enabled){if(slideTo){if(!params.centeredSlides&&swiper.snapIndex===0){swiper.slideTo(swiper.virtual.slides.length,0,false,true)}else if(params.centeredSlides&&swiper.snapIndex<params.slidesPerView){swiper.slideTo(swiper.virtual.slides.length+swiper.snapIndex,0,false,true)}else if(swiper.snapIndex===swiper.snapGrid.length-1){swiper.slideTo(swiper.virtual.slidesBefore,0,false,true)}}swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;swiper.emit("loopFix");return}let slidesPerView=params.slidesPerView;if(slidesPerView==="auto"){slidesPerView=swiper.slidesPerViewDynamic()}else{slidesPerView=Math.ceil(parseFloat(params.slidesPerView,10));if(centeredSlides&&slidesPerView%2===0){slidesPerView=slidesPerView+1}}const slidesPerGroup=params.slidesPerGroupAuto?slidesPerView:params.slidesPerGroup;let loopedSlides=slidesPerGroup;if(loopedSlides%slidesPerGroup!==0){loopedSlides+=slidesPerGroup-loopedSlides%slidesPerGroup}loopedSlides+=params.loopAdditionalSlides;swiper.loopedSlides=loopedSlides;const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;if(slides.length<slidesPerView+loopedSlides){showWarning("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters")}else if(gridEnabled&¶ms.grid.fill==="row"){showWarning("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`")}const prependSlidesIndexes=[];const appendSlidesIndexes=[];let activeIndex=swiper.activeIndex;if(typeof activeSlideIndex==="undefined"){activeSlideIndex=swiper.getSlideIndex(slides.filter(el=>el.classList.contains(params.slideActiveClass))[0])}else{activeIndex=activeSlideIndex}const isNext=direction==="next"||!direction;const isPrev=direction==="prev"||!direction;let slidesPrepended=0;let slidesAppended=0;const cols=gridEnabled?Math.ceil(slides.length/params.grid.rows):slides.length;const activeColIndex=gridEnabled?slides[activeSlideIndex].column:activeSlideIndex;const activeColIndexWithShift=activeColIndex+(centeredSlides&&typeof setTranslate==="undefined"?-slidesPerView/2+.5:0);if(activeColIndexWithShift<loopedSlides){slidesPrepended=Math.max(loopedSlides-activeColIndexWithShift,slidesPerGroup);for(let i=0;i<loopedSlides-activeColIndexWithShift;i+=1){const index=i-Math.floor(i/cols)*cols;if(gridEnabled){const colIndexToPrepend=cols-index-1;for(let i=slides.length-1;i>=0;i-=1){if(slides[i].column===colIndexToPrepend)prependSlidesIndexes.push(i)}}else{prependSlidesIndexes.push(cols-index-1)}}}else if(activeColIndexWithShift+slidesPerView>cols-loopedSlides){slidesAppended=Math.max(activeColIndexWithShift-(cols-loopedSlides*2),slidesPerGroup);for(let i=0;i<slidesAppended;i+=1){const index=i-Math.floor(i/cols)*cols;if(gridEnabled){slides.forEach((slide,slideIndex)=>{if(slide.column===index)appendSlidesIndexes.push(slideIndex)})}else{appendSlidesIndexes.push(index)}}}swiper.__preventObserver__=true;requestAnimationFrame(()=>{swiper.__preventObserver__=false});if(isPrev){prependSlidesIndexes.forEach(index=>{slides[index].swiperLoopMoveDOM=true;slidesEl.prepend(slides[index]);slides[index].swiperLoopMoveDOM=false})}if(isNext){appendSlidesIndexes.forEach(index=>{slides[index].swiperLoopMoveDOM=true;slidesEl.append(slides[index]);slides[index].swiperLoopMoveDOM=false})}swiper.recalcSlides();if(params.slidesPerView==="auto"){swiper.updateSlides()}else if(gridEnabled&&(prependSlidesIndexes.length>0&&isPrev||appendSlidesIndexes.length>
140070&&isNext)){swiper.slides.forEach((slide,slideIndex)=>{swiper.grid.updateSlide(slideIndex,slide,swiper.slides)})}if(params.watchSlidesProgress){swiper.updateSlidesOffset()}if(slideTo){if(prependSlidesIndexes.length>0&&isPrev){if(typeof slideRealIndex==="undefined"){const currentSlideTranslate=swiper.slidesGrid[activeIndex];const newSlideTranslate=swiper.slidesGrid[activeIndex+slidesPrepended];const diff=newSlideTranslate-currentSlideTranslate;if(byMousewheel){swiper.setTranslate(swiper.translate-diff)}else{swiper.slideTo(activeIndex+Math.ceil(slidesPrepended),0,false,true);if(setTranslate){swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff;swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff}}}else{if(setTranslate){const shift=gridEnabled?prependSlidesIndexes.length/params.grid.rows:prependSlidesIndexes.length;swiper.slideTo(swiper.activeIndex+shift,0,false,true);swiper.touchEventsData.currentTranslate=swiper.translate}}}else if(appendSlidesIndexes.length>0&&isNext){if(typeof slideRealIndex==="undefined"){const currentSlideTranslate=swiper.slidesGrid[activeIndex];const newSlideTranslate=swiper.slidesGrid[activeIndex-slidesAppended];const diff=newSlideTranslate-currentSlideTranslate;if(byMousewheel){swiper.setTranslate(swiper.translate-diff)}else{swiper.slideTo(activeIndex-slidesAppended,0,false,true);if(setTranslate){swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff;swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff}}}else{const shift=gridEnabled?appendSlidesIndexes.length/params.grid.rows:appendSlidesIndexes.length;swiper.slideTo(swiper.activeIndex-shift,0,false,true)}}}swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;if(swiper.controller&&swiper.controller.control&&!byController){const loopParams={slideRealIndex:sli
14007deRealIndex,direction:direction,setTranslate:setTranslate,activeSlideIndex:activeSlideIndex,byController:true};if(Array.isArray(swiper.controller.control)){swiper.controller.control.forEach(c=>{if(!c.destroyed&&c.params.loop)c.loopFix({...loopParams,slideTo:c.params.slidesPerView===params.slidesPerView?slideTo:false})})}else if(swiper.controller.control instanceof swiper.constructor&&swiper.controller.control.params.loop){swiper.controller.control.loopFix({...loopParams,slideTo:swiper.controller.control.params.slidesPerView===params.slidesPerView?slideTo:false})}}swiper.emit("loopFix")}function loopDestroy(){const swiper=this;const{params,slidesEl}=swiper;if(!params.loop||swiper.virtual&&swiper.params.virtual.enabled)return;swiper.recalcSlides();const newSlidesOrder=[];swiper.slides.forEach(slideEl=>{const index=typeof slideEl.swiperSlideIndex==="undefined"?slideEl.getAttribute("data-swiper-slide-index")*1:slideEl.swiperSlideIndex;newSlidesOrder[index]=slideEl});swiper.slides.forEach(slideEl=>{slideEl.removeAttribute("data-swiper-slide-index")});newSlidesOrder.forEach(slideEl=>{slidesEl.append(slideEl)});swiper.recalcSlides();swiper.slideTo(swiper.realIndex,0)}var loop={loopCreate:loopCreate,loopFix:loopFix,loopDestroy:loopDestroy};function setGrabCursor(moving){const swiper=this;if(!swiper.params.simulateTouch||swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode)return;const el=swiper.params.touchEventsTarget==="container"?swiper.el:swiper.wrapperEl;
14007if(swiper.isElement){swiper.__preventObserver__=true}el.style.cursor="move";el.style.cursor=moving?"grabbing":"grab";if(swiper.isElement){requestAnimationFrame(()=>{swiper.__preventObserver__=false})}}function unsetGrabCursor(){const swiper=this;if(swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode){return}if(swiper.isElement){swiper.__preventObserver__=true}swiper[swiper.params.touchEventsTarget==="container"?"el":"wrapperEl"].style.cursor="";if(swiper.isElement){requestAnimationFrame(()=>{swiper.__preventObserver__=false})}}var grabCursor={setGrabCursor:setGrabCursor,unsetGrabCursor:unsetGrabCursor};function closestElement(selector,base){if(base===void 0){base=this}function __closestFrom(el){if(!el||el===getDocument()||el===getWindow())return null;if(el.assignedSlot)el=el.assignedSlot;const found=el.closest(selector);if(!found&&!el.getRootNode){return null}return found||__closestFrom(el.getRootNode().host)}return __closestFrom(base)}function preventEdgeSwipe(swiper,event,startX){const window=getWindow();const{params}=swiper;const edgeSwipeDetection=params.edgeSwipeDetection;const edgeSwipeThreshold=params.edgeSwipeThreshold;if(edgeSwipeDetection&&(startX<=edgeSwipeThreshold||startX>=window.innerWidth-edgeSwipeThreshold)){if(edgeSwipeDetection==="prevent"){event.preventDefault();return true}return false}return true}function onTouchStart(event){const swiper=this;const document=getDocument();let e=event;if(e.originalEvent)e=e.originalEvent;const data=swiper.touchEventsData;if(e.type==="pointerdown"){if(data.pointerId!==null&&data.pointerId!==e.pointerId){return}data.pointerId=e.pointerId}else if(e.type==="touchstart"&&e.targetTouches.length===1){data.touchId=e.targetTouches[0].identifier}if(e.type==="touchstart"){preventEdgeSwipe(swiper,e,e.targetTouches[0].pageX);return}const{params,touches,enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&e.pointerType==="mouse")return;if(swiper.animating&¶ms.preventInteractionOnTransition){return}if(!swiper.animating&¶ms.cssMode&¶ms.loop){swiper.loopFix()}let targetEl=e.target;if(params.touchEventsTarget==="wrapper"){if(!elementIsChildOf(targetEl,swiper.wrapperEl))return}if("which"in e&&e.which===3)return;if("button"in e&&e.button>0)return;if(data.isTouched&&data.isMoved)return;const swipingClassHasValue=!!params.noSwipingClass&¶ms.noSwipingClass!=="";const eventPath=e.composedPath?e.composedPath():e.path;if(swipingClassHasValue&&e.target&&e.target.shadowRoot&&eventPath){targetEl=eventPath[0]}const noSwipingSelector=params.noSwipingSelector?params.noSwipingSelector:`.${params.noSwipingClass}`;const isTargetShadow=!!(e.target&&e.target.shadowRoot);if(params.noSwiping&&(isTargetShadow?closestElement(noSwipingSelector,targetEl):targetEl.closest(noSwipingSelector))){swiper.allowClick=true;return}if(params.swipeHandler){if(!targetEl.closest(params.swipeHandler))return}touches.currentX=e.pageX;touches.currentY=e.pageY;const startX=touches.currentX;const startY=touches.currentY;if(!preventEdgeSwipe(swiper,e,startX)){return}Object.assign(data,{isTouched:true,isMoved:false,allowTouchCallbacks:true,isScrolling:undefined,startMoving:undefined});touches.startX=startX;touches.startY=startY;data.touchStartTime=now();swiper.allowClick=true;swiper.updateSize();swiper.swipeDirection=undefined;if(params.threshold>0)data.allowThresholdMove=false;let preventDefault=true;if(targetEl.matches(data.focusableElements)){preventDefault=false;if(targetEl.nodeName==="SELECT"){data.isTouched=false}}if(document.activeElement&&document.activeElement.matches(data.focusableElements)&&document.activeElement!==targetEl){document.activeElement.blur()}const shouldPreventDefault=preventDefault&&swiper.allowTouchMove&¶ms.touchStartPreventDefault;if((params.touchStartForcePreventDefault||shouldPreventDefault)&&!targetEl.isContentEditable){e.preventDefault()}if(params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode&&swiper.animating&&!params.cssMode){swiper.freeMode.onTouchStart()}swiper.emit("touchStart",e)}function onTouchMove(event){const document=getDocument();const swiper=this;const data=swiper.touchEventsData;const{params,touches,rtlTranslate:rtl,enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&event.pointerType==="mouse")return;let e=event;if(e.originalEvent)e=e.originalEvent;if(e.type==="pointermove"){if(data.touchId!==null)return;const id=e.pointerId;if(id!==data.pointerId)return}let targetTouch;if(e.type==="touchmove"){targetTouch=[...e.changedTouches].filter(t=>t.identifier===data.touchId)[0];if(!targetTouch||targetTouch.identifier!==data.touchId)return}else{targetTouch=e}if(!data.isTouched){if(data.startMoving&&data.isScrolling){swiper.emit("touchMoveOpposite",e)}return}const pageX=targetTouch.pageX;const pageY=targetTouch.pageY;if(e.preventedByNestedSwiper){touches.startX=pageX;touches.startY=pageY;return}if(!swiper.allowTouchMove){if(!e.target.matches(data.focusableElements)){swiper.allowClick=false}if(data.isTouched){Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY});data.touchStartTime=now()}return}if(params.touchReleaseOnEdges&&!params.loop){if(swiper.isVertical()){if(pageY<touches.startY&&swiper.translate<=swiper.maxTranslate()||pageY>touches.startY&&swiper.translate>=swiper.minTranslate()){data.isTouched=false;data.isMoved=false;return}}else if(pageX<touches.startX&&swiper.translate<=swiper.maxTranslate()||pageX>touches.startX&&swiper.translate>=swiper.minTranslate()){return}}if(document.activeElement){if(e.target===document.activeElement&&e.target.matches(data.focusableElements)){data.isMoved=true;swiper.allowClick=false;return}}if(data.allowTouchCallbacks){swiper.emit("touchMove",e)}
14007touches.previousX=touches.currentX;touches.previousY=touches.currentY;touches.currentX=pageX;touches.currentY=pageY;const diffX=touches.currentX-touches.startX;const diffY=touches.currentY-touches.startY;if(swiper.params.threshold&&Math.sqrt(diffX**2+diffY**2)<swiper.params.threshold)return;if(typeof data.isScrolling==="undefined"){let touchAngle;if(swiper.isHorizontal()&&touches.currentY===touches.startY||swiper.isVertical()&&touches.currentX===touches.startX){data.isScrolling=false}else{if(diffX*diffX+diffY*diffY>=25){touchAngle=Math.atan2(Math.abs(diffY),Math.abs(diffX))*180/Math.PI;data.isScrolling=swiper.isHorizontal()?touchAngle>params.touchAngle:90-touchAngle>params.touchAngle}}}if(data.isScrolling){swiper.emit("touchMoveOpposite",e)}if(typeof data.startMoving==="undefined"){if(touches.currentX!==touches.startX||touches.currentY!==touches.startY){data.startMoving=true}}if(data.isScrolling||e.type==="touchmove"&&data.preventTouchMoveFromPointerMove){data.isTouched=false;return}if(!data.startMoving){return}swiper.allowClick=false;if(!params.cssMode&&e.cancelable){e.preventDefault()}if(params.touchMoveStopPropagation&&!params.nested){e.stopPropagation()}let diff=swiper.isHorizontal()?diffX:diffY;let touchesDiff=swiper.isHorizontal()?touches.currentX-touches.previousX:touches.currentY-touches.previousY;if(params.oneWayMovement){diff=Math.abs(diff)*(rtl?1:-1);touchesDiff=Math.abs(touchesDiff)*(rtl?1:-1)}touches.diff=diff;diff*=params.touchRatio;if(rtl){diff=-diff;touchesDiff=-touchesDiff}const prevTouchesDirection=swiper.touchesDirection;swiper.swipeDirection=diff>0?"prev":"next";swiper.touchesDirection=touchesDiff>0?"prev":"next";const isLoop=swiper.params.loop&&!params.cssMode;const allowLoopFix=swiper.touchesDirection==="next"&&swiper.allowSlideNext||swiper.touchesDirection==="prev"&&swiper.allowSlidePrev;if(!data.isMoved){if(isLoop&&allowLoopFix){swiper.loopFix({direction:swiper.swipeDirection})}data.startTranslate=swiper.getTranslate();swiper.setTransition(0);if(swiper.animating){const evt=new window.CustomEvent("transitionend",{bubbles:true,cancelable:true,detail:{bySwiperTouchMove:true}});swiper.wrapperEl.dispatchEvent(evt)}data.allowMomentumBounce=false;if(params.grabCursor&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){swiper.setGrabCursor(true)}swiper.emit("sliderFirstMove",e)}let loopFixed;(new Date).getTime();if(data.isMoved&&data.allowThresholdMove&&prevTouchesDirection!==swiper.touchesDirection&&isLoop&&allowLoopFix&&Math.abs(diff)>=1){Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY,startTranslate:data.currentTranslate});data.loopSwapReset=true;data.startTranslate=data.currentTranslate;return}swiper.emit("sliderMove",e);data.isMoved=true;data.currentTranslate=diff+data.startTranslate;let disableParentSwiper=true;let resistanceRatio=params.resistanceRatio;if(params.touchReleaseOnEdges){resistanceRatio=0}if(diff>0){if(isLoop&&allowLoopFix&&!loopFixed&&data.allowThresholdMove&&data.currentTranslate>(params.centeredSlides?swiper.minTranslate()-swiper.slidesSizesGrid[swiper.activeIndex+1]-(params.slidesPerView!=="auto"&&swiper.slides.length-params.slidesPerView>=2?swiper.slidesSizesGrid[swiper.activeIndex+1]+swiper.params.spaceBetween:0)-swiper.params.spaceBetween:swiper.minTranslate())){swiper.loopFix({direction:"prev",setTranslate:true,activeSlideIndex:0})}if(data.currentTranslate>swiper.minTranslate()){disableParentSwiper=false;if(params.resistance){data.currentTranslate=swiper.minTranslate()-1+(-swiper.minTranslate()+data.startTranslate+diff)**resistanceRatio}}}else if(diff<0){if(isLoop&&allowLoopFix&&!loopFixed&&data.allowThresholdMove&&data.currentTranslate<(params.centeredSlides?swiper.maxTranslate()+swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]+swiper.params.spaceBetween+(params.slidesPerView!=="auto"&&swiper.slides.length-params.slidesPerView>=2?swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]+swiper.params.spaceBetween:0):swiper.maxTranslate())){swiper.loopFix({direction:"next",setTranslate:true,activeSlideIndex:swiper.slides.length-(params.slidesPerView==="auto"?swiper.slidesPerViewDynamic():Math.ceil(parseFloat(params.slidesPerView,10)))})}if(data.currentTranslate<swiper.maxTranslate()){disableParentSwiper=false;if(params.resistance){data.currentTranslate=swiper.maxTranslate()+1-(swiper.maxTranslate()-data.startTranslate-diff)**resistanceRatio}}}if(disableParentSwiper){e.preventedByNestedSwiper=true}if(!swiper.allowSlideNext&&swiper.swipeDirection==="next"&&data.currentTranslate<data.startTranslate){data.currentTranslate=data.startTranslate}if(!swiper.allowSlidePrev&&swiper.swipeDirection==="prev"&&data.currentTranslate>data.startTranslate){data.currentTranslate=data.startTranslate}if(!swiper.allowSlidePrev&&!swiper.allowSlideNext){data.currentTranslate=data.startTranslate}if(params.threshold>0){if(Math.abs(diff)>params.threshold||data.allowThresholdMove){if(!data.allowThresholdMove){data.allowThresholdMove=true;touches.startX=touches.currentX;touches.startY=touches.currentY;data.currentTranslate=data.startTranslate;touches.diff=swiper.isHorizontal()?touches.currentX-touches.startX:touches.currentY-touches.startY;return}}else{data.currentTranslate=data.startTranslate;return}}if(!params.followFinger||params.cssMode)return;if(params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode||params.watchSlidesProgress){swiper.updateActiveIndex();swiper.updateSlidesClasses()}if(params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode){swiper.freeMode.onTouchMove()}swiper.updateProgress(data.currentTranslate);swiper.setTranslate(data.currentTranslate)}function onTouchEnd(event){const swiper=this;const data=swiper.touchEventsData;let e=event;if(e.originalEvent)e=e.originalEvent;let targetTouch;const isTouchEvent=e.type==="touchend"||e.type==="touchcancel";if(!isTouchEvent){if(data.touchId!==null)return;if(e.pointerId!==data.pointerId)return;targetTouch=e}else{targetTouch=[...e.changedTouches].filter(t=>t.identifier===data.touchId)[0];if(!targetTouch||targetTouch.identifier!==data.touchId)return}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(e.type)){const proceed=["pointercancel","contextmenu"].includes(e.type)&&(swiper.browser.isSafari||swiper.browser.isWebView);if(!proceed){return}}data.pointerId=null;data.touchId=null;const{params,touches,rtlTranslate:rtl,slidesGrid,enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&e.pointerType==="mouse")return;if(data.allowTouchCallbacks){swiper.emit("touchEnd",e)}data.allowTouchCallbacks=false;if(!data.isTouched){if(data.isMoved&¶ms.grabCursor){swiper.setGrabCursor(false)}data.isMoved=false;data.startMoving=false;return}if(params.grabCursor&&data.isMoved&&data.isTouched&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){swiper.setGrabCursor(false)}const touchEndTime=now();const timeDiff=touchEndTime-data.touchStartTime;if(swiper.allowClick){const pathTree=e.path||e.composedPath&&e.composedPath();swiper.updateClickedSlide(pathTree&&pathTree[0]||e.target,pathTree);swiper.emit("tap click",e);if(timeDiff<300&&touchEndTime-data.lastClickTime<300){swiper.emit("doubleTap doubleClick",e)}}data.lastClickTime=now();nextTick(()=>
vendor: 4,753 bytes, line 14007
14007{if(!swiper.destroyed)swiper.allowClick=true});if(!data.isTouched||!data.isMoved||!swiper.swipeDirection||touches.diff===0&&!data.loopSwapReset||data.currentTranslate===data.startTranslate&&!data.loopSwapReset){data.isTouched=false;data.isMoved=false;data.startMoving=false;return}data.isTouched=false;data.isMoved=false;data.startMoving=false;let currentPos;if(params.followFinger){currentPos=rtl?swiper.translate:-swiper.translate}else{currentPos=-data.currentTranslate}if(params.cssMode){return}if(params.freeMode&¶ms.freeMode.enabled){swiper.freeMode.onTouchEnd({currentPos:currentPos});return}const swipeToLast=currentPos>=-swiper.maxTranslate()&&!swiper.params.loop;let stopIndex=0;let groupSize=swiper.slidesSizesGrid[0];for(let i=0;i<slidesGrid.length;i+=i<params.slidesPerGroupSkip?1:params.slidesPerGroup){const increment=i<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;if(typeof slidesGrid[i+increment]!=="undefined"){if(swipeToLast||currentPos>=slidesGrid[i]&¤tPos<slidesGrid[i+increment]){stopIndex=i;groupSize=slidesGrid[i+increment]-slidesGrid[i]}}else if(swipeToLast||currentPos>=slidesGrid[i]){stopIndex=i;groupSize=slidesGrid[slidesGrid.length-1]-slidesGrid[slidesGrid.length-2]}}let rewindFirstIndex=null;let rewindLastIndex=null;if(params.rewind){if(swiper.isBeginning){rewindLastIndex=params.virtual&¶ms.virtual.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1}else if(swiper.isEnd){rewindFirstIndex=0}}const ratio=(currentPos-slidesGrid[stopIndex])/groupSize;const increment=stopIndex<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;if(timeDiff>params.longSwipesMs){if(!params.longSwipes){swiper.slideTo(swiper.activeIndex);return}if(swiper.swipeDirection==="next"){if(ratio>=params.longSwipesRatio)swiper.slideTo(params.rewind&&swiper.isEnd?rewindFirstIndex:stopIndex+increment);else swiper.slideTo(stopIndex)}if(swiper.swipeDirection==="prev"){if(ratio>1-params.longSwipesRatio){swiper.slideTo(stopIndex+increment)}else if(rewindLastIndex!==null&&ratio<0&&Math.abs(ratio)>params.longSwipesRatio){swiper.slideTo(rewindLastIndex)}else{swiper.slideTo(stopIndex)}}}else{if(!params.shortSwipes){swiper.slideTo(swiper.activeIndex);return}const isNavButtonTarget=swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl);if(!isNavButtonTarget){if(swiper.swipeDirection==="next"){swiper.slideTo(rewindFirstIndex!==null?rewindFirstIndex:stopIndex+increment)}if(swiper.swipeDirection==="prev"){swiper.slideTo(rewindLastIndex!==null?rewindLastIndex:stopIndex)}}else if(e.target===swiper.navigation.nextEl){swiper.slideTo(stopIndex+increment)}else{swiper.slideTo(stopIndex)}}}function onResize(){const swiper=this;const{params,el}=swiper;if(el&&el.offsetWidth===0)return;if(params.breakpoints){swiper.setBreakpoint()}const{allowSlideNext,allowSlidePrev,snapGrid}=swiper;const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;swiper.allowSlideNext=true;swiper.allowSlidePrev=true;swiper.updateSize();swiper.updateSlides();swiper.updateSlidesClasses();const isVirtualLoop=isVirtual&¶ms.loop;if((params.slidesPerView==="auto"||params.slidesPerView>1)&&swiper.isEnd&&!swiper.isBeginning&&!swiper.params.centeredSlides&&!isVirtualLoop){swiper.slideTo(swiper.slides.length-1,0,false,true)}else{if(swiper.params.loop&&!isVirtual){swiper.slideToLoop(swiper.realIndex,0,false,true)}else{swiper.slideTo(swiper.activeIndex,0,false,true)}}if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){clearTimeout(swiper.autoplay.resizeTimeout);swiper.autoplay.resizeTimeout=setTimeout(()=>{if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){swiper.autoplay.resume()}},500)}swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;if(swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()}}function onClick(e){const swiper=this;if(!swiper.enabled)return;if(!swiper.allowClick){if(swiper.params.preventClicks)e.preventDefault();if(swiper.params.preventClicksPropagation&&swiper.animating){e.stopPropagation();e.stopImmediatePropagation()}}}function onScroll(){const swiper=this;const{wrapperEl,rtlTranslate,enabled}=swiper;if(!enabled)return;swiper.previousTranslate=swiper.translate;if(swiper.isHorizontal()){swiper.translate=-wrapperEl.scrollLeft}else{swiper.translate=-wrapperEl.scrollTop}if(swiper.translate===0)swiper.translate=0;swiper.updateActiveIndex();swiper.updateSlidesClasses();let newProgress;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();if(translatesDiff===0){newProgress=0}else{newProgress=(swiper.translate-swiper.minTranslate())/translatesDiff}if(newProgress!==swiper.progress){swiper.updateProgress(rtlTranslate?-swiper.translate:swiper.translate)}
14007swiper.emit("setTranslate",swiper.translate,false)}function onLoad(e){const swiper=this;processLazyPreloader(swiper,e.target);if(swiper.params.cssMode||swiper.params.slidesPerView!=="auto"&&!swiper.params.autoHeight){return}swiper.update()}function onDocumentTouchStart(){const swiper=this;if(swiper.documentTouchHandlerProceeded)return;swiper.documentTouchHandlerProceeded=true;if(swiper.params.touchReleaseOnEdges){swiper.el.style.touchAction="auto"}}const events=(swiper,method)=>{const document=getDocument();const{params,el,wrapperEl,device}=swiper;const capture=!!params.nested;const domMethod=method==="on"?"addEventListener":"removeEventListener";const swiperMethod=method;if(!el||typeof el==="string")return;document[domMethod]("touchstart",swiper.onDocumentTouchStart,{passive:false,capture:capture});el[domMethod]("touchstart",swiper.onTouchStart,{passive:false});el[domMethod]("pointerdown",swiper.onTouchStart,{passive:false});document[domMethod]("touchmove",swiper.onTouchMove,{passive:false,capture:capture});document[domMethod]("pointermove",swiper.onTouchMove,{passive:false,capture:capture});document[domMethod]("touchend",swiper.onTouchEnd,{passive:true});document[domMethod]("pointerup",swiper.onTouchEnd,{passive:true});document[domMethod]("pointercancel",swiper.onTouchEnd,{passive:true});document[domMethod]("touchcancel",swiper.onTouchEnd,{passive:true});document[domMethod]("pointerout",swiper.onTouchEnd,{passive:true});document[domMethod]("pointerleave",swiper.onTouchEnd,{passive:true});document[domMethod]("contextmenu",swiper.onTouchEnd,{passive:true});if(params.preventClicks||params.preventClicksPropagation){el[domMethod]("click",swiper.onClick,true)}if(params.cssMode){wrapperEl[domMethod]("scroll",swiper.onScroll)}if(params.updateOnWindowResize){swiper[swiperMethod](device.ios||device.android?"resize orientationchange observerUpdate":"resize observerUpdate",onResize,true)}else{swiper[swiperMethod]("observerUpdate",onResize,true)}el[domMethod]("load",swiper.onLoad,{capture:true})};function attachEvents(){const swiper=this;const{params}=swiper;swiper.onTouchStart=onTouchStart.bind(swiper);swiper.onTouchMove=onTouchMove.bind(swiper);swiper.onTouchEnd=onTouchEnd.bind(swiper);swiper.onDocumentTouchStart=onDocumentTouchStart.bind(swiper);if(params.cssMode){swiper.onScroll=onScroll.bind(swiper)}swiper.onClick=onClick.bind(swiper);swiper.onLoad=onLoad.bind(swiper);events(swiper,"on")}function detachEvents(){const swiper=this;events(swiper,"off")}var events$1={attachEvents:attachEvents,detachEvents:detachEvents};const isGridEnabled=(swiper,params)=>{return swiper.grid&¶ms.grid&¶ms.grid.rows>1};function setBreakpoint(){const swiper=this;const{realIndex,initialized,params,el}=swiper;const breakpoints=params.breakpoints;if(!breakpoints||breakpoints&&Object.keys(breakpoints).length===0)return;const breakpoint=swiper.getBreakpoint(breakpoints,swiper.params.breakpointsBase,swiper.el);if(!breakpoint||swiper.currentBreakpoint===breakpoint)return;const breakpointOnlyParams=breakpoint in breakpoints?breakpoints[breakpoint]:undefined;const breakpointParams=breakpointOnlyParams||swiper.originalParams;const wasMultiRow=isGridEnabled(swiper,params);const isMultiRow=isGridEnabled(swiper,breakpointParams);const wasGrabCursor=swiper.params.grabCursor;const isGrabCursor=breakpointParams.grabCursor;const wasEnabled=params.enabled;if(wasMultiRow&&!isMultiRow){el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`);swiper.emitContainerClasses()}else if(!wasMultiRow&&isMultiRow){el.classList.add(`${params.containerModifierClass}grid`);if(breakpointParams.grid.fill&&breakpointParams.grid.fill==="column"||!breakpointParams.grid.fill&¶ms.grid.fill==="column"){el.classList.add(`${params.containerModifierClass}grid-column`)}swiper.emitContainerClasses()}if(wasGrabCursor&&!isGrabCursor){swiper.unsetGrabCursor()}else if(!wasGrabCursor&&isGrabCursor){swiper.setGrabCursor()}["navigation","pagination","scrollbar"].forEach(prop=>{if(typeof breakpointParams[prop]==="undefined")return;const wasModuleEnabled=params[prop]&¶ms[prop].enabled;const isModuleEnabled=breakpointParams[prop]&&breakpointParams[prop].enabled;if(wasModuleEnabled&&!isModuleEnabled){swiper[prop].disable()}if(!wasModuleEnabled&&isModuleEnabled){swiper[prop].enable()}});const directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction;const needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged);const wasLoop=params.loop;if(directionChanged&&initialized){swiper.changeDirection()}extend(swiper.params,breakpointParams);const isEnabled=swiper.params.enabled;const hasLoop=swiper.params.loop;Object.assign(swiper,{allowTouchMove:swiper.params.allowTouchMove,allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev});if(wasEnabled&&!isEnabled){swiper.disable()}else if(!wasEnabled&&isEnabled){swiper.enable()}swiper.currentBreakpoint=breakpoint;swiper.emit("_beforeBreakpoint",breakpointParams);if(initialized){if(needsReLoop){swiper.loopDestroy();swiper.loopCreate(realIndex);swiper.updateSlides()}else if(!wasLoop&&hasLoop){swiper.loopCreate(realIndex);swiper.updateSlides()}else if(wasLoop&&!hasLoop){swiper.loopDestroy()}}swiper.emit("breakpoint",breakpointParams)}
14007function getBreakpoint(breakpoints,base,containerEl){if(base===void 0){base="window"}if(!breakpoints||base==="container"&&!containerEl)return undefined;let breakpoint=false;const window=getWindow();const currentHeight=base==="window"?window.innerHeight:containerEl.clientHeight;const points=Object.keys(breakpoints).map(point=>{if(typeof point==="string"&&point.indexOf("@")===0){const minRatio=parseFloat(point.substr(1));const value=currentHeight*minRatio;return{value:value,point:point}}return{value:point,point:point}});points.sort((a,b)=>parseInt(a.value,10)-parseInt(b.value,10));for(let i=0;i<points.length;i+=1){const{point,value}=points[i];if(base==="window"){if(window.matchMedia(`(min-width: ${value}px)`).matches){breakpoint=point}}else if(value<=containerEl.clientWidth){breakpoint=point}}return breakpoint||"max"}var breakpoints={setBreakpoint:setBreakpoint,getBreakpoint:getBreakpoint};function prepareClasses(entries,prefix){const resultClasses=[];entries.forEach(item=>{if(typeof item==="object"){Object.keys(item).forEach(classNames=>{if(item[classNames]){resultClasses.push(prefix+classNames)}})}else if(typeof item==="string"){resultClasses.push(prefix+item)}});return resultClasses}function addClasses(){const swiper=this;const{classNames,params,rtl,el,device}=swiper;const suffixes=prepareClasses(["initialized",params.direction,{"free-mode":swiper.params.freeMode&¶ms.freeMode.enabled},{autoheight:params.autoHeight},{rtl:rtl},{grid:params.grid&¶ms.grid.rows>1},{"grid-column":params.grid&¶ms.grid.rows>1&¶ms.grid.fill==="column"},{android:device.android},{ios:device.ios},{"css-mode":params.cssMode},{centered:params.cssMode&¶ms.centeredSlides},{"watch-progress":params.watchSlidesProgress}],params.containerModifierClass);classNames.push(...suffixes);el.classList.add(...classNames);swiper.emitContainerClasses()}function removeClasses(){const swiper=this;const{el,classNames}=swiper;if(!el||typeof el==="string")return;el.classList.remove(...classNames);swiper.emitContainerClasses()}var classes={addClasses:addClasses,removeClasses:removeClasses};function checkOverflow(){const swiper=this;const{isLocked:wasLocked,params}=swiper;const{slidesOffsetBefore}=params;if(slidesOffsetBefore){const lastSlideIndex=swiper.slides.length-1;const lastSlideRightEdge=swiper.slidesGrid[lastSlideIndex]+swiper.slidesSizesGrid[lastSlideIndex]+slidesOffsetBefore*2;swiper.isLocked=swiper.size>lastSlideRightEdge}else{swiper.isLocked=swiper.snapGrid.length===1}if(params.allowSlideNext===true){swiper.allowSlideNext=!swiper.isLocked}if(params.allowSlidePrev===true){swiper.allowSlidePrev=!swiper.isLocked}if(wasLocked&&wasLocked!==swiper.isLocked){swiper.isEnd=false}if(wasLocked!==swiper.isLocked){swiper.emit(swiper.isLocked?"lock":"unlock")}}var checkOverflow$1={checkOverflow:checkOverflow};var defaults={init:true,direction:"horizontal",oneWayMovement:false,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:false,updateOnWindowResize:true,resizeObserver:true,nested:false,createElements:false,eventsPrefix:"swiper",enabled:true,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:false,userAgent:null,url:null,edgeSwipeDetection:false,edgeSwipeThreshold:20,autoHeight:false,setWrapperSize:false,virtualTranslate:false,effect:"slide",breakpoints:undefined,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:false,centeredSlides:false,centeredSlidesBounds:false,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:true,centerInsufficientSlides:false,watchOverflow:true,roundLengths:false,touchRatio:1,touchAngle:45,simulateTouch:true,shortSwipes:true,longSwipes:true,longSwipesRatio:.5,longSwipesMs:300,followFinger:true,allowTouchMove:true,threshold:5,touchMoveStopPropagation:false,touchStartPreventDefault:true,touchStartForcePreventDefault:false,touchReleaseOnEdges:false,uniqueNavElements:true,resistance:true,resistanceRatio:.85,watchSlidesProgress:false,grabCursor:false,preventClicks:true,preventClicksPropagation:true,slideToClickedSlide:false,loop:false,loopAddBlankSlides:true,loopAdditionalSlides:0,loopPreventsSliding:true,rewind:false,allowSlidePrev:true,allowSlideNext:true,swipeHandler:null,noSwiping:true,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:true,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:true,_emitClasses:false};function moduleExtendParams(params,allModulesParams){return function extendParams(obj){if
14007(obj===void 0){obj={}}const moduleParamName=Object.keys(obj)[0];const moduleParams=obj[moduleParamName];if(typeof moduleParams!=="object"||moduleParams===null){extend(allModulesParams,obj);return}if(params[moduleParamName]===true){params[moduleParamName]={enabled:true}}if(moduleParamName==="navigation"&¶ms[moduleParamName]&¶ms[moduleParamName].enabled&&!params[moduleParamName].prevEl&&!params[moduleParamName].nextEl){params[moduleParamName].auto=true}if(["pagination","scrollbar"].indexOf(moduleParamName)>=0&¶ms[moduleParamName]&¶ms[moduleParamName].enabled&&!params[moduleParamName].el){params[moduleParamName].auto=true}if(!(moduleParamName in params&&"enabled"in moduleParams)){extend(allModulesParams,obj);return}if(typeof params[moduleParamName]==="object"&&!("enabled"in params[moduleParamName])){params[moduleParamName].enabled=true}if(!params[moduleParamName])params[moduleParamName]={enabled:false};extend(allModulesParams,obj)}}const prototypes={eventsEmitter:eventsEmitter,update:update,translate:translate,transition:transition,slide:slide,loop:loop,grabCursor:grabCursor,events:events$1,breakpoints:breakpoints,checkOverflow:checkOverflow$1,classes:classes};const extendedDefaults={};class Swiper{constructor(){let el;let params;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}
vendor: 1,390 bytes, line 14007
14007if(args.length===1&&args[0].constructor&&Object.prototype.toString.call(args[0]).slice(8,-1)==="Object"){params=args[0]}else{[el,params]=args}if(!params)params={};params=extend({},params);if(el&&!params.el)params.el=el;const document=getDocument();if(params.el&&typeof params.el==="string"&&document.querySelectorAll(params.el).length>1){const swipers=[];document.querySelectorAll(params.el).forEach(containerEl=>{const newParams=extend({},params,{el:containerEl});swipers.push(new Swiper(newParams))});return swipers}const swiper=this;swiper.__swiper__=true;swiper.support=getSupport();swiper.device=getDevice({userAgent:params.userAgent});swiper.browser=getBrowser();swiper.eventsListeners={};swiper.eventsAnyListeners=[];swiper.modules=[...swiper.__modules__];if(params.modules&&Array.isArray(params.modules)){swiper.modules.push(...params.modules)}const allModulesParams={};swiper.modules.forEach(mod=>{mod({params:params,swiper:swiper,extendParams:moduleExtendParams(params,allModulesParams),on:swiper.on.bind(swiper),once:swiper.once.bind(swiper),off:swiper.off.bind(swiper),emit:swiper.emit.bind(swiper)})});const swiperParams=extend({},defaults,allModulesParams);swiper.params=extend({},swiperParams,extendedDefaults,params);swiper.originalParams=extend({},swiper.params);swiper.passedParams=extend({},params);if(swiper.params&&swiper.params.on){Object.keys(swiper.params.on).forEac
14007h(eventName=>{swiper.on(eventName,swiper.params.on[eventName])})}if(swiper.params&&swiper.params.onAny){swiper.onAny(swiper.params.onAny)}Object.assign(swiper,{enabled:swiper.params.enabled,el:el,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal(){return swiper.params.direction==="horizontal"},isVertical(){return swiper.params.direction==="vertical"},activeIndex:0,realIndex:0,isBeginning:true,isEnd:false,translate:0,previousTranslate:0,progress:0,velocity:0,animating:false,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev,touchEventsData:{isTouched:undefined,isMoved:undefined,allowTouchCallbacks:undefined,touchStartTime:undefined,isScrolling:undefined,currentTranslate:undefined,startTranslate:undefined,allowThresholdMove:undefined,focusableElements:swiper.params.focusableElements,lastClickTime:0,clickTimeout:undefined,velocities:[],allowMomentumBounce:undefined,startMoving:undefined,pointerId:null,touchId:null},allowClick:true,allowTouchMove:swiper.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0});swiper.emit("_swiper");if(swiper.params.init){swiper.init()}return swiper}getDirectionLabel(property){if(this.isHorizontal()){return property}return{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[property]}getSlideIndex(slideEl){const{slidesEl,params}=this;const slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`);const firstSlideIndex=elementIndex(slides[0]);return elementIndex(slideEl)-firstSlideIndex}getSlideIndexByData(index){return this.getSlideIndex(this.slides.filter(slideEl=>slideEl.getAttribute("data-swiper-slide-index")*1===index)[0])}recalcSlides(){const swiper=this;const{slidesEl,params}=swiper;swiper.slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`)}enable(){const swiper=this;if(swiper.enabled)return;swiper.enabled=true;if(swiper.params.grabCursor){swiper.setGrabCursor()}swiper.emit("enable")}disable(){const swiper=this;if(!swiper.enabled)return;swiper.enabled=false;if(swiper.params.grabCursor){swiper.unsetGrabCursor()}swiper.emit("disable")}setProgress(progress,speed){const swiper=this;progress=Math.min(Math.max(progress,0),1);const min=swiper.minTranslate();const max=swiper.maxTranslate();const current=(max-min)*progress+min;swiper.translateTo(current,typeof speed==="undefined"?0:speed);swiper.updateActiveIndex();swiper.updateSlidesClasses()}emitContainerClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const cls=swiper.el.className.split(" ").filter(className=>{return className.indexOf("swiper")===0||className.indexOf(swiper.params.containerModifierClass)===0});swiper.emit("_containerClasses",cls.join(" "))}getSlideClasses(slideEl){const swiper=this;if(swiper.destroyed)return"";return slideEl.className.split(" ").filter(className=>{return className.indexOf("swiper-slide")===0||className.indexOf(swiper.params.slideClass)===0}).join(" ")}emitSlidesClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const updates=[];
14007swiper.slides.forEach(slideEl=>{const classNames=swiper.getSlideClasses(slideEl);updates.push({slideEl:slideEl,classNames:classNames});swiper.emit("_slideClass",slideEl,classNames)});swiper.emit("_slideClasses",updates)}slidesPerViewDynamic(view,exact){if(view===void 0){view="current"}if(exact===void 0){exact=false}const swiper=this;const{params,slides,slidesGrid,slidesSizesGrid,size:swiperSize,activeIndex}=swiper;let spv=1;if(typeof params.slidesPerView==="number")return params.slidesPerView;if(params.centeredSlides){let slideSize=slides[activeIndex]?Math.ceil(slides[activeIndex].swiperSlideSize):0;let breakLoop;for(let i=activeIndex+1;i<slides.length;i+=1){if(slides[i]&&!breakLoop){slideSize+=Math.ceil(slides[i].swiperSlideSize);spv+=1;if(slideSize>swiperSize)breakLoop=true}}for(let i=activeIndex-1;i>=0;i-=1){if(slides[i]&&!breakLoop){slideSize+=slides[i].swiperSlideSize;spv+=1;if(slideSize>swiperSize)breakLoop=true}}}else{if(view==="current"){for(let i=activeIndex+1;i<slides.length;i+=1){const slideInView=exact?slidesGrid[i]+slidesSizesGrid[i]-slidesGrid[activeIndex]<swiperSize:slidesGrid[i]-slidesGrid[activeIndex]<swiperSize;if(slideInView){spv+=1}}}else{for(let i=activeIndex-1;i>=0;i-=1){const slideInView=slidesGrid[activeIndex]-slidesGrid[i]<swiperSize;if(slideInView){spv+=1}}}}return spv}update(){const swiper=this;if(!swiper||swiper.destroyed)return;const{snapGrid,params}=swiper;if(params.breakpoints){swiper.setBreakpoint()}[...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl=>{if(imageEl.complete){processLazyPreloader(swiper,imageEl)}});swiper.updateSize();swiper.updateSlides();swiper.updateProgress();swiper.updateSlidesClasses();function setTranslate(){const translateValue=swiper.rtlTranslate?swiper.translate*-1:swiper.translate;const newTranslate=Math.min(Math.max(translateValue,swiper.maxTranslate()),swiper.minTranslate());swiper.setTranslate(newTranslate);swiper.updateActiveIndex();swiper.updateSlidesClasses()}let translated;if(params.freeMode&¶ms.freeMode.enabled&&!params.cssMode){setTranslate();if(params.autoHeight){swiper.updateAutoHeight()}}else{if((params.slidesPerView==="auto"||params.slidesPerView>1)&&swiper.isEnd&&!params.centeredSlides){const slides=swiper.virtual&¶ms.virtual.enabled?swiper.virtual.slides:swiper.slides;translated=swiper.slideTo(slides.length-1,0,false,true)}else{translated=swiper.slideTo(swiper.activeIndex,0,false,true)}if(!translated){setTranslate()}}if(params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()}swiper.emit("update")}changeDirection(newDirection,needUpdate){if(needUpdate===void 0){needUpdate=true}const swiper=this;const currentDirection=swiper.params.direction;if(!newDirection){newDirection=currentDirection==="horizontal"?"vertical":"horizontal"}if(newDirection===currentDirection||newDirection!=="horizontal"&&newDirection!=="vertical"){return swiper}swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);swiper.emitContainerClasses();swiper.params.direction=newDirection;
14007swiper.slides.forEach(slideEl=>{if(newDirection==="vertical"){slideEl.style.width=""}else{slideEl.style.height=""}});swiper.emit("changeDirection");if(needUpdate)swiper.update();return swiper}changeLanguageDirection(direction){const swiper=this;if(swiper.rtl&&direction==="rtl"||!swiper.rtl&&direction==="ltr")return;swiper.rtl=direction==="rtl";swiper.rtlTranslate=swiper.params.direction==="horizontal"&&swiper.rtl;if(swiper.rtl){swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);swiper.el.dir="rtl"}else{swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);swiper.el.dir="ltr"}swiper.update()}mount(element){const swiper=this;if(swiper.mounted)return true;let el=element||swiper.params.el;if(typeof el==="string"){el=document.querySelector(el)}if(!el){return false}el.swiper=swiper;if(el.parentNode&&el.parentNode.host&&el.parentNode.host.nodeName===swiper.params.swiperElementNodeName.toUpperCase()){swiper.isElement=true}const getWrapperSelector=()=>{return`.${(swiper.params.wrapperClass||"").trim().split(" ").join(".")}`};const getWrapper=()=>{if(el&&el.shadowRoot&&el.shadowRoot.querySelector){const res=el.shadowRoot.querySelector(getWrapperSelector());return res}return elementChildren(el,getWrapperSelector())[0]};let wrapperEl=getWrapper();if(!wrapperEl&&swiper.params.createElements){wrapperEl=createElement("div",swiper.params.wrapperClass);el.append(wrapperEl);elementChildren(el,`.${swiper.params.slideClass}
14007`).forEach(slideEl=>{wrapperEl.append(slideEl)})}Object.assign(swiper,{el:el,wrapperEl:wrapperEl,slidesEl:swiper.isElement&&!el.parentNode.host.slideSlots?el.parentNode.host:wrapperEl,hostEl:swiper.isElement?el.parentNode.host:el,mounted:true,rtl:el.dir.toLowerCase()==="rtl"||elementStyle(el,"direction")==="rtl",rtlTranslate:swiper.params.direction==="horizontal"&&(el.dir.toLowerCase()==="rtl"||elementStyle(el,"direction")==="rtl"),wrongRTL:elementStyle(wrapperEl,"display")==="-webkit-box"});return true}init(el){const swiper=this;if(swiper.initialized)return swiper;const mounted=swiper.mount(el);if(mounted===false)return swiper;swiper.emit("beforeInit");if(swiper.params.breakpoints){swiper.setBreakpoint()}swiper.addClasses();swiper.updateSize();swiper.updateSlides();if(swiper.params.watchOverflow){swiper.checkOverflow()}if(swiper.params.grabCursor&&swiper.enabled){swiper.setGrabCursor()}if(swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled){swiper.slideTo(swiper.params.initialSlide+swiper.virtual.slidesBefore,0,swiper.params.runCallbacksOnInit,false,true)}else{swiper.slideTo(swiper.params.initialSlide,0,swiper.params.runCallbacksOnInit,false,true)}if(swiper.params.loop){swiper.loopCreate()}swiper.attachEvents();const lazyElements=[...swiper.el.querySelectorAll('[loading="lazy"]')];if(swiper.isElement){lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]'))}lazyElements.forEach(imageEl=>{if(imageEl.complete){processLazyPreloader(swiper,imageEl)}else{imageEl.addEventListener("load",e=>{processLazyPreloader(swiper,e.target)})}});preload(swiper);swiper.initialized=true;preload(swiper);swiper.emit("init");swiper.emit("afterInit");return swiper}destroy(deleteInstance,cleanStyles){if(deleteInstance===void 0){deleteInstance=true}if(cleanStyles===void 0){cleanStyles=true}const swiper=this;const{params,el,wrapperEl,slides}=swiper;if(typeof swiper.params==="undefined"||swiper.destroyed){return null}swiper.emit("beforeDestroy");swiper.initialized=false;swiper.detachEvents();if(params.loop){swiper.loopDestroy()}if(cleanStyles){swiper.removeClasses();if(el&&typeof el!=="string"){el.removeAttribute("style")}if(wrapperEl){wrapperEl.removeAttribute("style")}
14007if(slides&&slides.length){slides.forEach(slideEl=>{slideEl.classList.remove(params.slideVisibleClass,params.slideFullyVisibleClass,params.slideActiveClass,params.slideNextClass,params.slidePrevClass);slideEl.removeAttribute("style");slideEl.removeAttribute("data-swiper-slide-index")})}}swiper.emit("destroy");Object.keys(swiper.eventsListeners).forEach(eventName=>{swiper.off(eventName)});if(deleteInstance!==false){if(swiper.el&&typeof swiper.el!=="string"){swiper.el.swiper=null}deleteProps(swiper)}swiper.destroyed=true;return null}static extendDefaults(newDefaults){extend(extendedDefaults,newDefaults)}static get extendedDefaults(){return extendedDefaults}static get defaults(){return defaults}static installModule(mod){if(!Swiper.prototype.__modules__)Swiper.prototype.__modules__=[];const modules=Swiper.prototype.__modules__;if(typeof mod==="function"&&modules.indexOf(mod)<0){modules.push(mod)}}static use(module){if(Array.isArray(module)){module.forEach(m=>Swiper.installModule(m));return Swiper}Swiper.installModule(module);return Swiper}}Object.keys(prototypes).forEach(prototypeGroup=>{Object.keys(prototypes[prototypeGroup]).forEach(protoMethod=>{Swiper.prototype[protoMethod]=prototypes[prototypeGroup][protoMethod]})});Swiper.use([Resize,Observer]);function Virtual(_ref){let{swiper,extendParams,on,emit}=_ref;extendParams({virtual:{enabled:false,slides:[],cache:true,renderSlide:null,renderExternal:null,renderExternalUpdate:true,addSlidesBefore:0,addSlidesAfter:0}});let cssModeTimeout;const document=getDocument();swiper.virtual={cache:{},from:undefined,to:undefined,slides:[],offset:0,slidesGrid:[]};const tempDOM=document.createElement("div");
14007function renderSlide(slide,index){const params=swiper.params.virtual;if(params.cache&&swiper.virtual.cache[index]){return swiper.virtual.cache[index]}let slideEl;if(params.renderSlide){slideEl=params.renderSlide.call(swiper,slide,index);if(typeof slideEl==="string"){tempDOM.innerHTML=slideEl;slideEl=tempDOM.children[0]}}else if(swiper.isElement){slideEl=createElement("swiper-slide")}else{slideEl=createElement("div",swiper.params.slideClass)}slideEl.setAttribute("data-swiper-slide-index",index);if(!params.renderSlide){slideEl.innerHTML=slide}if(params.cache){swiper.virtual.cache[index]=slideEl}return slideEl}function update(force,beforeInit){const{slidesPerView,slidesPerGroup,centeredSlides,loop:isLoop,initialSlide}=swiper.params;if(beforeInit&&!isLoop&&initialSlide>0){return}const{addSlidesBefore,addSlidesAfter}=swiper.params.virtual;const{from:previousFrom,to:previousTo,slides,slidesGrid:previousSlidesGrid,offset:previousOffset}=swiper.virtual;if(!swiper.params.cssMode){swiper.updateActiveIndex()}const activeIndex=swiper.activeIndex||0;let offsetProp;if(swiper.rtlTranslate)offsetProp="right";else offsetProp=swiper.isHorizontal()?"left":"top";let slidesAfter;let slidesBefore;if(centeredSlides){slidesAfter=Math.floor(slidesPerView/2)+slidesPerGroup+addSlidesAfter;slidesBefore=Math.floor(slidesPerView/2)+slidesPerGroup+addSlidesBefore}else{slidesAfter=slidesPerView+(slidesPerGroup-1)+addSlidesAfter;slidesBefore=(isLoop?slidesPerView:slidesPerGroup)+addSlidesBefore}let from=activeIndex-slidesBefore;let to=activeIndex+slidesAfter;if(!isLoop){from=Math.max(from,0);to=Math.min(to,slides.length-1)}let offset=(swiper.slidesGrid[from]||0)-(swiper.slidesGrid[0]||0);if(isLoop&&activeIndex>=slidesBefore){from-=slidesBefore;if(!centeredSlides)offset+=swiper.slidesGrid[0]}else if(isLoop&&activeIndex<slidesBefore){from=-slidesBefore;if(centeredSlides)offset+=swiper.slidesGrid[0]}Object.assign(swiper.virtual,{from:from,to:to,offset:offset,slidesGrid:swiper.slidesGrid,slidesBefore:slidesBefore,slidesAfter:slidesAfter});function onRendered(){swiper.updateSlides();swiper.updateProgress();swiper.updateSlidesClasses();emit("virtualUpdate")}if(previousFrom===from&&previousTo===to&&!force){if(swiper.slidesGrid!==previousSlidesGrid&&offset!==previousOffset){swiper.slides.forEach(sli
14007deEl=>{slideEl.style[offsetProp]=`${offset-Math.abs(swiper.cssOverflowAdjustment())}px`})}swiper.updateProgress();emit("virtualUpdate");return}if(swiper.params.virtual.renderExternal){swiper.params.virtual.renderExternal.call(swiper,{offset:offset,from:from,to:to,slides:function getSlides(){const slidesToRender=[];for(let i=from;i<=to;i+=1){slidesToRender.push(slides[i])}return slidesToRender}()});if(swiper.params.virtual.renderExternalUpdate){onRendered()}else{emit("virtualUpdate")}return}const prependIndexes=[];const appendIndexes=[];const getSlideIndex=index=>{let slideIndex=index;if(index<0){slideIndex=slides.length+index}else if(slideIndex>=slides.length){slideIndex=slideIndex-slides.length}return slideIndex};if(force){swiper.slides.filter(el=>el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl=>{slideEl.remove()})}else{for(let i=previousFrom;i<=previousTo;i+=1){if(i<from||i>to){const slideIndex=getSlideIndex(i);swiper.slides.filter(el=>el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}
14007"]`)).forEach(slideEl=>{slideEl.remove()})}}}const loopFrom=isLoop?-slides.length:0;const loopTo=isLoop?slides.length*2:slides.length;for(let i=loopFrom;i<loopTo;i+=1){if(i>=from&&i<=to){const slideIndex=getSlideIndex(i);if(typeof previousTo==="undefined"||force){appendIndexes.push(slideIndex)}else{if(i>previousTo)appendIndexes.push(slideIndex);if(i<previousFrom)prependIndexes.push(slideIndex)}}}appendIndexes.forEach(index=>{swiper.slidesEl.append(renderSlide(slides[index],index))});if(isLoop){for(let i=prependIndexes.length-1;i>=0;i-=1){const index=prependIndexes[i];swiper.slidesEl.prepend(renderSlide(slides[index],index))}}else{prependIndexes.sort((a,b)=>b-a);prependIndexes.forEach(index=>{swiper.slidesEl.prepend(renderSlide(slides[index],index))})}elementChildren(swiper.slidesEl,".swiper-slide, swiper-slide").forEach(slideEl=>{slideEl.style[offsetProp]=`${offset-Math.abs(swiper.cssOverflowAdjustment())}px`});onRendered()}function appendSlide(slides){if(typeof slides==="object"&&"length"in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])swiper.virtual.slides.push(slides[i])}}else{swiper.virtual.slides.push(slides)}update(true)}function prependSlide(slides){const activeIndex=swiper.activeIndex;let newActiveIndex=activeIndex+1;let numberOfNewSlides=1;if(Array.isArray(slides)){for(let i=0;i<slides.length;i+=1){if(slides[i])swiper.virtual.slides.unshift(slides[i])}newActiveIndex=activeIndex+slides.length;numberOfNewSlides=slides.length}else{swiper.virtual.slides.unshift(slides)}if(swiper.params.virtual.cache){const cache=swiper.virtual.cache;const newCache={};Object.keys(cache).forEach(cachedIndex=>{const cachedEl=cache[cachedIndex];const cachedElIndex=cachedEl.getAttribute("data-swiper-slide-index");if(cachedElIndex){cachedEl.setAttribute("data-swiper-slide-index",parseInt(cachedElIndex,10)+numberOfNewSlides)}newCache[parseInt(cachedIndex,10)+numberOfNewSlides]=cachedEl});swiper.virtual.cache=newCache}update(true);swiper.slideTo(newActiveIndex,0)}function removeSlide(slidesIndexes){if(typeof slidesIndexes==="undefined"||slidesIndexes===null)return;let activeIndex=swiper.activeIndex;if(Array.isArray(slidesIndexes)){for(let i=slidesIndexes.length-1;i>=0;i-=1){if(swiper.params.virtual.cache){delete swiper.virtual.cache[slidesIndexes[i]];Object.keys(swiper.virtual.cache).forEach(key=>{if(key>slidesIndexes){swiper.virtual.cache[key-1]=swiper.virtual.cache[key];swiper.virtual.cache[key-1].setAttribute("data-swiper-slide-index",key-1);delete swiper.virtual.cache[key]}})}swiper.virtual.slides.splice(slidesIndexes[i],1);if(slidesIndexes[i]<activeIndex)activeIndex-=1;activeIndex=Math.max(activeIndex,0)}}else{if(swiper.params.virtual.cache){delete swiper.virtual.cache[slidesIndexes];Object.keys(swiper.virtual.cache).forEach(key=>{if(key>slidesIndexes){swiper.virtual.cache[key-1]=swiper.virtual.cache[key];swiper.virtual.cache[key-1].setAttribute("data-swiper-slide-index",key-1);delete swiper.virtual.cache[key]}})}swiper.virtual.slides.splice(slidesIndexes,1);if(slidesIndexes<activeIndex)activeIndex-=1;activeIndex=Math.max(activeIndex,0)}update(true);swiper.slideTo(activeIndex,0)}function removeAllSlides(){swiper.virtual.slides=[];if(swiper.params.virtual.cache){swiper.virtual.cache={}}update(true);swiper.slideTo(0,0)}on("beforeInit",()=>{if(!swiper.params.virtual.enabled)return;let domSlidesAssigned;if(typeof swiper.passedParams.virtual.slides==="undefined"){const slides=[...swiper.slidesEl.children].filter(el=>el.matches(`.${swiper.params.slideClass}, swiper-slide`));if(slides&&slides.length){swiper.virtual.slides=[...slides];domSlidesAssigned=true;slides.forEach((slideEl,slideIndex)=>{slideEl.setAttribute("data-swiper-slide-index",slideIndex);swiper.virtual.cache[slideIndex]=slideEl;slideEl.remove()})}}if(!domSlidesAssigned){swiper.virtual.slides=swiper.params.virtual.slides}swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);swiper.params.watchSlidesProgress=true;swiper.originalParams.watchSlidesProgress=true;update(false,true)});on("setTranslate",()=>{if(!swiper.params.virtual.enabled)return;if(swiper.params.cssMode&&!swiper._immediateVirtual){clearTimeout(cssModeTimeout);cssModeTimeout=setTimeout(()=>
14007{update()},100)}else{update()}});on("init update resize",()=>{if(!swiper.params.virtual.enabled)return;if(swiper.params.cssMode){setCSSProperty(swiper.wrapperEl,"--swiper-virtual-size",`${swiper.virtualSize}px`)}});Object.assign(swiper.virtual,{appendSlide:appendSlide,prependSlide:prependSlide,removeSlide:removeSlide,removeAllSlides:removeAllSlides,update:update})}function Keyboard(_ref){let{swiper,extendParams,on,emit}=_ref;const document=getDocument();const window=getWindow();swiper.keyboard={enabled:false};extendParams({keyboard:{enabled:false,onlyInViewport:true,pageUpDown:true}});function handle(event){if(!swiper.enabled)return;const{rtlTranslate:rtl}=swiper;let e=event;if(e.originalEvent)e=e.originalEvent;const kc=e.keyCode||e.charCode;const pageUpDown=swiper.params.keyboard.pageUpDown;const isPageUp=pageUpDown&&kc===33;const isPageDown=pageUpDown&&kc===34;const isArrowLeft=kc===37;const isArrowRight=kc===39;const isArrowUp=kc===38;const isArrowDown=kc===40;if(!swiper.allowSlideNext&&(swiper.isHorizontal()&&isArrowRight||swiper.isVertical()&&isArrowDown||isPageDown)){return false}if(!swiper.allowSlidePrev&&(swiper.isHorizontal()&&isArrowLeft||swiper.isVertical()&&isArrowUp||isPageUp)){return false}if(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey){return undefined}if(document.activeElement&&document.activeElement.nodeName&&(document.activeElement.nodeName.toLowerCase()==="input"||document.activeElement.nodeName.toLowerCase()==="textarea")){return undefined}if(swiper.params.keyboard.onlyInViewport&&(isPageUp||isPageDown||isArrowLeft||isArrowRight||isArrowUp||isArrowDown)){let inView=false;if(elementParents(swiper.el,`.${swiper.params.slideClass}, swiper-slide`).length>0&&elementParents(swiper.el,`.${swiper.params.slideActiveClass}`).length===0){return undefined}const el=swiper.el;const swiperWidth=el.clientWidth;const swiperHeight=el.clientHeight;const windowWidth=window.innerWidth;const windowHeight=window.innerHeight;const swiperOffset=elementOffset(el);if(rtl)swiperOffset.left-=el.scrollLeft;const swiperCoord=[[swiperOffset.left,swiperOffset.top],[swiperOffset.left+swiperWidth,swiperOffset.top],[swiperOffset.left,swiperOffset.top+swiperHeight],[swiperOffset.left+swiperWidth,swiperOffset.top+swiperHeight]];for(let i=0;i<swiperCoord.length;i+=1){const point=swiperCoord[i];if(point[0]>=0&&point[0]<=windowWidth&&point[1]>=0&&point[1]<=windowHeight){if(point[0]===0&&point[1]===0)continue;inView=true}}if(!inView)return undefined}if(swiper.isHorizontal()){if(isPageUp||isPageDown||isArrowLeft||isArrowRight){if(e.preventDefault)e.preventDefault();else e.returnValue=false}if((isPageDown||isArrowRight)&&!rtl||(isPageUp||isArrowLeft)&&rtl)swiper.slideNext();if((isPageUp||isArrowLeft)&&!rtl||(isPageDown||isArrowRight)&&rtl)swiper.slidePrev()}else{if(isPageUp||isPageDown||isArrowUp||isArrowDown){if(e.preventDefault)e.preventDefault();else e.returnValue=false}if(isPageDown||isArrowDown)swiper.slideNext();if(isPageUp||isArrowUp)swiper.slidePrev()}emit("keyPress",kc);return undefined}function enable(){if(swiper.keyboard.enabled)return;document.addEventListener("keydown",handle);swiper.keyboard.enabled=true}function disable(){if(!swiper.keyboard.enabled)return;document.removeEventListener("keydown",handle);swiper.keyboard.enabled=false}on("init",()=>{if(swiper.params.keyboard.enabled){enable()}});on("destroy",()=>{if(swiper.keyboard.enabled){disable()}});Object.assign(swiper.keyboard,{enable:enable,disable:disable})}function Mousewheel(_ref){let{swiper,extendParams,on,emit}=_ref;const window=getWindow();extendParams({mousewheel:{enabled:false,releaseOnEdges:false,invert:false,forceToAxis:false,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}});swiper.mousewheel={enabled:false};let timeout;let lastScrollTime=now();let lastEventBeforeSnap;const recentWheelEvents=[];function normalize(e){const PIXEL_STEP=10;const LINE_HEIGHT=40;const PAGE_HEIGHT=800;let sX=0;let sY=0;let pX=0;let pY=0;if("detail"in e){sY=e.detail}if("wheelDelta"in e){sY=-e.wheelDelta/120}if("wheelDeltaY"in e){sY=-e.wheelDeltaY/120}if("wheelDeltaX"in e){sX=-e.wheelDeltaX/120}if("axis"in e&&e.axis===e.HORIZONTAL_AXIS){sX=sY;sY=0}pX=sX*PIXEL_STEP;pY=sY*PIXEL_STEP;if("deltaY"in e){pY=e.deltaY}if("deltaX"in e){pX=e.deltaX}if(e.shiftKey&&!pX){pX=pY;pY=0}if((pX||pY)&&e.deltaMode){if(e.deltaMode===1){pX*=LINE_HEIGHT;pY*=LINE_HEIGHT}else{pX*=PAGE_HEIGHT;pY*=PAGE_HEIGHT}}if(pX&&!sX){sX=pX<1?-1:1}if(pY&&!sY){sY=pY<1?-1:1}return{spinX:sX,spinY:sY,pixelX:pX,pixelY:pY}}function handleMouseEnter(){if(!swiper.enabled)return;swiper.mouseEntered=true}function handleMouseLeave(){if(!swiper.enabled)return;swiper.mouseEntered=false}function animateSlider(newEvent){if(swiper.params.mousewheel.thresholdDelta&&newEvent.delta<swiper.params.mousewheel.thresholdDelta){return false}if(swiper.params.mousewheel.thresholdTime&&now()-lastScrollTime<swiper.params.mousewheel.thresholdTime){return false}if(newEvent.delta>=6&&now()-lastScrollTime<60){return true}if(newEvent.direction<0){if((!swiper.isEnd||swiper.params.loop)&&!swiper.animating){swiper.slideNext();emit("scroll",newEvent.raw)}}else if((!swiper.isBeginning||swiper.params.loop)&&!swiper.animating){swiper.slidePrev();emit("scroll",newEvent.raw)}lastScrollTime=(new window.Date).getTime();return false}function releaseScroll(newEvent){const params=swiper.params.mousewheel;if(newEvent.direction<0){if(swiper.isEnd&&!swiper.params.loop&¶ms.releaseOnEdges){return true}}
14007else if(swiper.isBeginning&&!swiper.params.loop&¶ms.releaseOnEdges){return true}return false}function handle(event){let e=event;let disableParentSwiper=true;if(!swiper.enabled)return;if(event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`))return;const params=swiper.params.mousewheel;if(swiper.params.cssMode){e.preventDefault()}let targetEl=swiper.el;if(swiper.params.mousewheel.eventsTarget!=="container"){targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget)}const targetElContainsTarget=targetEl&&targetEl.contains(e.target);if(!swiper.mouseEntered&&!targetElContainsTarget&&!params.releaseOnEdges)return true;if(e.originalEvent)e=e.originalEvent;let delta=0;const rtlFactor=swiper.rtlTranslate?-1:1;const data=normalize(e);if(params.forceToAxis){if(swiper.isHorizontal()){if(Math.abs(data.pixelX)>Math.abs(data.pixelY))delta=-data.pixelX*rtlFactor;else return true}else if(Math.abs(data.pixelY)>Math.abs(data.pixelX))delta=-data.pixelY;else return true}else{delta=Math.abs(data.pixelX)>Math.abs(data.pixelY)?-data.pixelX*rtlFactor:-data.pixelY}if(delta===0)return true;if(params.invert)delta=-delta;let positions=swiper.getTranslate()+delta*params.sensitivity;if(positions>=swiper.minTranslate())positions=swiper.minTranslate();if(positions<=swiper.maxTranslate())positions=swiper.maxTranslate();disableParentSwiper=swiper.params.loop?true:!(positions===swiper.minTranslate()||positions===swiper.maxTranslate());if(disableParentSwiper&&swiper.params.nested)e.stopPropagation();if(!swiper.params.freeMode||!swiper.params.freeMode.enabled){const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta),raw:event};if(recentWheelEvents.length>=2){recentWheelEvents.shift()}const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:undefined;recentWheelEvents.push(newEvent);if(prevEvent){if(newEvent.direction!==prevEvent.direction||newEvent.delta>prevEvent.delta||newEvent.time>prevEvent.time+150){animateSlider(newEvent)}}else{animateSlider(newEvent)}if(releaseScroll(newEvent)){return true}}else{const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta)};const ignoreWheelEvents=lastEventBeforeSnap&&newEvent.time<lastEventBeforeSnap.time+500&&newEvent.delta<=lastEventBeforeSnap.delta&&newEvent.direction===lastEventBeforeSnap.direction;if(!ignoreWheelEvents){lastEventBeforeSnap=undefined;let position=swiper.getTranslate()+delta*params.sensitivity;const wasBeginning=swiper.isBeginning;const wasEnd=swiper.isEnd;if(position>=swiper.minTranslate())position=swiper.minTranslate();if(position<=swiper.maxTranslate())position=swiper.maxTranslate();swiper.setTransition(0);swiper.setTranslate(position);swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses();if(!wasBeginning&&swiper.isBeginning||!wasEnd&&swiper.isEnd){swiper.updateSlidesClasses()}if(swiper.params.loop){swiper.loopFix({direction:newEvent.direction<0?"next":"prev",byMousewheel:true})}if(swiper.params.freeMode.sticky){clearTimeout(timeout);timeout=undefined;if(recentWheelEvents.length>=15){recentWheelEvents.shift()}const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:undefined;const firstEvent=recentWheelEvents[0];recentWheelEvents.push(newEvent);if(prevEvent&&(newEvent.delta>prevEvent.delta||newEvent.direction!==prevEvent.direction)){recentWheelEvents.splice(0)}else if(recentWheelEvents.length>=15&&newEvent.time-firstEvent.time<500&&firstEvent.delta-newEvent.delta>=1&&newEvent.delta<=6){const snapToThreshold=delta>0?.8:.2;lastEventBeforeSnap=newEvent;recentWheelEvents.splice(0);timeout=nextTick(()=>{if(swiper.destroyed||!swiper.params)return;swiper.slideToClosest(swiper.params.speed,true,undefined,snapToThreshold)},0)}if(!timeout){timeout=nextTick(()=>{if(swiper.destroyed||!swiper.params)return;const snapToThreshold=.5;lastEventBeforeSnap=newEvent;recentWheelEvents.splice(0);swiper.slideToClosest(swiper.params.speed,true,undefined,snapToThreshold)},500)}}if(!ignoreWheelEvents)emit("scroll",e);if(swiper.params.autoplay&&swiper.params.autoplayDisableOnInteraction)swiper.autoplay.stop();if(params.releaseOnEdges&&(position===swiper.minTranslate()||position===swiper.maxTranslate())){return true}}}if(e.preventDefault)e.preventDefault();else e.returnValue=false;return false}
14007function events(method){let targetEl=swiper.el;if(swiper.params.mousewheel.eventsTarget!=="container"){targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget)}targetEl[method]("mouseenter",handleMouseEnter);targetEl[method]("mouseleave",handleMouseLeave);targetEl[method]("wheel",handle)}function enable(){if(swiper.params.cssMode){swiper.wrapperEl.removeEventListener("wheel",handle);return true}if(swiper.mousewheel.enabled)return false;events("addEventListener");swiper.mousewheel.enabled=true;return true}function disable(){if(swiper.params.cssMode){swiper.wrapperEl.addEventListener(event,handle);return true}if(!swiper.mousewheel.enabled)return false;events("removeEventListener");swiper.mousewheel.enabled=false;return true}on("init",()=>{if(!swiper.params.mousewheel.enabled&&swiper.params.cssMode){disable()}if(swiper.params.mousewheel.enabled)enable()});on("destroy",()=>{if(swiper.params.cssMode){enable()}if(swiper.mousewheel.enabled)disable()});Object.assign(swiper.mousewheel,{enable:enable,disable:disable})}function createElementIfNotDefined(swiper,originalParams,params,checkProps){if(swiper.params.createElements){Object.keys(checkProps).forEach(key=>{if(!params[key]&¶ms.auto===true){let element=elementChildren(swiper.el,`.${checkProps[key]}`)[0];if(!element){element=createElement("div",checkProps[key]);element.className=checkProps[key];swiper.el.append(element)}params[key]=element;originalParams[key]=element}})}return params}function Navigation(_ref){let{swiper,extendParams,on,emit}=_ref;extendParams({navigation:{nextEl:null,prevEl:null,hideOnClick:false,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}});swiper.navigation={nextEl:null,prevEl:null};function getEl(el){let res;if(el&&typeof el==="string"&&swiper.isElement){res=swiper.el.querySelector(el);if(res)return res}if(el){if(typeof el==="string")res=[...document.querySelectorAll(el)];if(swiper.params.uniqueNavElements&&typeof el==="string"&&res&&res.length>1&&swiper.el.querySelectorAll(el).length===1){res=swiper.el.querySelector(el)}else if(res&&res.length===1){res=res[0]}}if(el&&!res)return el;return res}function toggleEl(el,disabled){const params=swiper.params.navigation;el=makeElementsArray(el);el.forEach(subEl=>{if(subEl){subEl.classList[disabled?"add":"remove"](...params.disabledClass.split(" "));if(subEl.tagName==="BUTTON")subEl.disabled=disabled;if(swiper.params.watchOverflow&&swiper.enabled){subEl.classList[swiper.isLocked?"add":"remove"](params.lockClass)}}})}function update(){const{nextEl,prevEl}=swiper.navigation;if(swiper.params.loop){toggleEl(prevEl,false);toggleEl(nextEl,false);return}toggleEl(prevEl,swiper.isBeginning&&!swiper.params.rewind);toggleEl(nextEl,swiper.isEnd&&!swiper.params.rewind)}function onPrevClick(e){e.preventDefault();if(swiper.isBeginning&&!swiper.params.loop&&!swiper.params.rewind)return;swiper.slidePrev();emit("navigationPrev")}function onNextClick(e){e.preventDefault();if(swiper.isEnd&&!swiper.params.loop&&!swiper.params.rewind)return;swiper.slideNext();emit("navigationNext")}function init(){const params=swiper.params.navigation;swiper.params.navigation=createElementIfNotDefined(swiper,swiper.originalParams.navigation,swiper.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"});if(!(params.nextEl||params.prevEl))return;let nextEl=getEl(params.nextEl);let prevEl=getEl(params.prevEl);Object.assign(swiper.navigation,{nextEl:nextEl,prevEl:prevEl});nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);const initButton=(el,dir)=>{if(el){el.addEventListener("click",dir==="next"?onNextClick:onPrevClick)}if(!swiper.enabled&&el){el.classList.add(...params.lockClass.split(" "))}};nextEl.forEach(el=>initButton(el,"next"));prevEl.forEach(el=>initButton(el,"prev"))}function destroy(){let{nextEl,prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);const destroyButton=(el,dir)=>{el.removeEventListener("click",dir==="next"?onNextClick:onPrevClick);el.classList.remove(...swiper.params.navigation.disabledClass.split(" "))};nextEl.forEach(el=>destroyButton(el,"next"));prevEl.forEach(el=>destroyButton(el,"prev"))}on("init",()=>{if(swiper.params.navigation.enabled===false){disable()}else{init();
14007update()}});on("toEdge fromEdge lock unlock",()=>{update()});on("destroy",()=>{destroy()});on("enable disable",()=>{let{nextEl,prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);if(swiper.enabled){update();return}[...nextEl,...prevEl].filter(el=>!!el).forEach(el=>el.classList.add(swiper.params.navigation.lockClass))});on("click",(_s,e)=>{let{nextEl,prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);const targetEl=e.target;let targetIsButton=prevEl.includes(targetEl)||nextEl.includes(targetEl);if(swiper.isElement&&!targetIsButton){const path=e.path||e.composedPath&&e.composedPath();if(path){targetIsButton=path.find(pathEl=>nextEl.includes(pathEl)||prevEl.includes(pathEl))}}if(swiper.params.navigation.hideOnClick&&!targetIsButton){if(swiper.pagination&&swiper.params.pagination&&swiper.params.pagination.clickable&&(swiper.pagination.el===targetEl||swiper.pagination.el.contains(targetEl)))return;let isHidden;if(nextEl.length){isHidden=nextEl[0].classList.contains(swiper.params.navigation.hiddenClass)}else if(prevEl.length){isHidden=prevEl[0].classList.contains(swiper.params.navigation.hiddenClass)}if(isHidden===true){emit("navigationShow")}else{emit("navigationHide")}[...nextEl,...prevEl].filter(el=>!!el).forEach(el=>el.classList.toggle(swiper.params.navigation.hiddenClass))}});const enable=()=>{swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(" "));init();update()};const disable=()=>{swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(" "));destroy()};Object.assign(swiper.navigation,{enable:enable,disable:disable,update:update,init:init,destroy:destroy})}function classesToSelector(classes){if(classes===void 0){classes=""}return`.${classes.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function Pagination(_ref){let{swiper,extendParams,on,emit}=_ref;const pfx="swiper-pagination";extendParams({pagination:{el:null,bulletElement:"span",clickable:false,hideOnClick:false,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:false,type:"bullets",dynamicBullets:false,dynamicMainBullets:1,formatFractionCurrent:number=>number,formatFractionTotal:number=>number,bulletClass:`${pfx}-bullet`,bulletActiveClass:`${pfx}-bullet-active`,modifierClass:`${pfx}-`,currentClass:`${pfx}-current`,totalClass:`${pfx}-total`,hiddenClass:`${pfx}-hidden`,progressbarFillClass:`${pfx}-progressbar-fill`,progressbarOppositeClass:`${pfx}-progressbar-opposite`,clickableClass:`${pfx}-clickable`,lockClass:`${pfx}-lock`,horizontalClass:`${pfx}-horizontal`,verticalClass:`${pfx}-vertical`,paginationDisabledClass:`${pfx}-disabled`}});swiper.pagination={el:null,bullets:[]};let bulletSize;let dynamicBulletIndex=0;function isPaginationDisabled(){return!swiper.params.pagination.el||!swiper.pagination.el||Array.isArray(swiper.pagination.el)&&swiper.pagination.el.length===0}function setSideBullets(bulletEl,position){const{bulletActiveClass}=swiper.params.pagination;if(!bulletEl)return;bulletEl=bulletEl[`${position==="prev"?"previous":"next"}ElementSibling`];if(bulletEl){bulletEl.classList.add(`${bulletActiveClass}-${position}`);bulletEl=bulletEl[`${position==="prev"?"previous":"next"}ElementSibling`];if(bulletEl){bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`)}}}function onBulletClick(e){const bulletEl=e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));if(!bulletEl){return}e.preventDefault();const index=elementIndex(bulletEl)*swiper.params.slidesPerGroup;if(swiper.params.loop){if(swiper.realIndex===index)return;swiper.slideToLoop(index)}else{swiper.slideTo(index)}}function update(){const rtl=swiper.rtl;const params=swiper.params.pagination;if(isPaginationDisabled())return;let el=swiper.pagination.el;el=makeElementsArray(el);let current;let previousIndex;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.slides.length;const total=swiper.params.loop?Math.ceil(slidesLength/swiper.params.slidesPerGroup):swiper.snapGrid.length;
14007if(swiper.params.loop){previousIndex=swiper.previousRealIndex||0;current=swiper.params.slidesPerGroup>1?Math.floor(swiper.realIndex/swiper.params.slidesPerGroup):swiper.realIndex}else if(typeof swiper.snapIndex!=="undefined"){current=swiper.snapIndex;previousIndex=swiper.previousSnapIndex}else{previousIndex=swiper.previousIndex||0;current=swiper.activeIndex||0}if(params.type==="bullets"&&swiper.pagination.bullets&&swiper.pagination.bullets.length>0){const bullets=swiper.pagination.bullets;let firstIndex;let lastIndex;let midIndex;if(params.dynamicBullets){bulletSize=elementOuterSize(bullets[0],swiper.isHorizontal()?"width":"height",true);el.forEach(subEl=>{subEl.style[swiper.isHorizontal()?"width":"height"]=`${bulletSize*(params.dynamicMainBullets+4)}px`});if(params.dynamicMainBullets>1&&previousIndex!==undefined){dynamicBulletIndex+=current-(previousIndex||0);if(dynamicBulletIndex>params.dynamicMainBullets-1){dynamicBulletIndex=params.dynamicMainBullets-1}else if(dynamicBulletIndex<0){dynamicBulletIndex=0}}firstIndex=Math.max(current-dynamicBulletIndex,0);lastIndex=firstIndex+(Math.min(bullets.length,params.dynamicMainBullets)-1);midIndex=(lastIndex+firstIndex)/2}bullets.forEach(bulletEl=>{const classesToRemove=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(suffix=>`${params.bulletActiveClass}${suffix}`)].map(s=>typeof s==="string"&&s.includes(" ")?s.split(" "):s).flat();bulletEl.classList.remove(...classesToRemove)});if(el.length>1){bullets.forEach(bullet=>{const bulletIndex=elementIndex(bullet);if(bulletIndex===current){bullet.classList.add(...params.bulletActiveClass.split(" "))}else if(swiper.isElement){bullet.setAttribute("part","bullet")}if(params.dynamicBullets){if(bulletIndex>=firstIndex&&bulletIndex<=lastIndex){bullet.classList.add(...`${params.bulletActiveClass}-main`.split(" "))}if(bulletIndex===firstIndex){setSideBullets(bullet,"prev")}if(bulletIndex===lastIndex){setSideBullets(bullet,"next")}}})}else{const bullet=bullets[current];if(bullet){bullet.classList.add(...params.bulletActiveClass.split(" "))}if(swiper.isElement){bullets.forEach((bulletEl,bulletIndex)=>{bulletEl.setAttribute("part",bulletIndex===current?"bullet-active":"bullet")})}if(params.dynamicBullets){const firstDisplayedBullet=bullets[firstIndex];const lastDisplayedBullet=bullets[lastIndex];for(let i=firstIndex;i<=lastIndex;i+=1){if(bullets[i]){bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(" "))}}setSideBullets(firstDisplayedBullet,"prev");setSideBullets(lastDisplayedBullet,"next")}}if(params.dynamicBullets){const dynamicBulletsLength=Math.min(bullets.length,params.dynamicMainBullets+4);const bulletsOffset=(bulletSize*dynamicBulletsLength-bulletSize)/2-midIndex*bulletSize;const offsetProp=rtl?"right":"left";bullets.forEach(bullet=>{bullet.style[swiper.isHorizontal()?offsetProp:"top"]=`${bulletsOffset}px`})}}el.forEach((subEl,subElIndex)=>{if(params.type==="fraction"){subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl=>{fractionEl.textContent=params.formatFractionCurrent(current+1)});subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl=>{totalEl.textContent=params.formatFractionTotal(total)})}if(params.type==="progressbar"){let progressbarDirection;if(params.progressbarOpposite){progressbarDirection=swiper.isHorizontal()?"vertical":"horizontal"}else{progressbarDirection=swiper.isHorizontal()?"horizontal":"vertical"}const scale=(current+1)/total;let scaleX=1;let scaleY=1;if(progressbarDirection==="horizontal"){scaleX=scale}else{scaleY=scale}subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl=>{progressEl.style.transform=`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;progressEl.style.transitionDuration=`${swiper.params.speed}ms`})}if(params.type==="custom"&¶ms.renderCustom){subEl.innerHTML=params.renderCustom(swiper,current+1,total);if(subElIndex===0)emit("paginationRender",subEl)}else{if(subElIndex===0)emit("paginationRender",subEl);emit("paginationUpdate",subEl)}if(swiper.params.watchOverflow&&swiper.enabled){subEl.classList[swiper.isLocked?"add":"remove"](params.lockClass)}})}function render(){const params=swiper.params.pagination;if(isPaginationDisabled())return;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.grid&&swiper.params.grid.rows>1?swiper.slides.length/Math.ceil(swiper.params.grid.rows):swiper.slides.length;let el=swiper.pagination.el;el=makeElementsArray(el);let paginationHTML="";if(params.type==="bullets"){let numberOfBullets=swiper.params.loop?Math.
14007ceil(slidesLength/swiper.params.slidesPerGroup):swiper.snapGrid.length;if(swiper.params.freeMode&&swiper.params.freeMode.enabled&&numberOfBullets>slidesLength){numberOfBullets=slidesLength}for(let i=0;i<numberOfBullets;i+=1){if(params.renderBullet){paginationHTML+=params.renderBullet.call(swiper,i,params.bulletClass)}else{paginationHTML+=`<${params.bulletElement} ${swiper.isElement?'part="bullet"':""} class="${params.bulletClass}"></${params.bulletElement}>`}}}if(params.type==="fraction"){if(params.renderFraction){paginationHTML=params.renderFraction.call(swiper,params.currentClass,params.totalClass)}else{paginationHTML=`<span class="${params.currentClass}"></span>`+" / "+`<span class="${params.totalClass}"></span>`}}if(params.type==="progressbar"){if(params.renderProgressbar){paginationHTML=params.renderProgressbar.call(swiper,params.progressbarFillClass)}else{paginationHTML=`<span class="${params.progressbarFillClass}"></span>`}}swiper.pagination.bullets=[];el.forEach(subEl=>{if(params.type!=="custom"){subEl.innerHTML=paginationHTML||""}if(params.type==="bullets"){swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)))}});if(params.type!=="custom"){emit("paginationRender",el[0])}}function init(){swiper.params.pagination=createElementIfNotDefined(swiper,swiper.originalParams.pagination,swiper.params.pagination,{el:"swiper-pagination"});const params=swiper.params.pagination;if(!params.el)return;let el;if(typeof params.el==="string"&&swiper.isElement){el=swiper.el.querySelector(params.el)}if(!el&&typeof params.el==="string"){el=[...document.querySelectorAll(params.el)]}if(!el){el=params.el}if(!el||el.length===0)return;if(swiper.params.uniqueNavElements&&typeof params.el==="string"&&Array.isArray(el)&&el.length>1){el=[...swiper.el.querySelectorAll(params.el)];if(el.length>1){el=el.filter(subEl=>{if(elementParents(subEl,".swiper")[0]!==swiper.el)return false;return true})[0]}}if(Array.isArray(el)&&el.length===1)el=el[0];Object.assign(swiper.pagination,{el:el});el=makeElementsArray(el);el.forEach(subEl=>{if(params.type==="bullets"&¶ms.clickable){subEl.classList.add(...(params.clickableClass||"").split(" "))}subEl.classList.add(params.modifierClass+params.type);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);if(params.type==="bullets"&¶ms.dynamicBullets){subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);dynamicBulletIndex=0;if(params.dynamicMainBullets<1){params.dynamicMainBullets=1}}if(params.type==="progressbar"&¶ms.progressbarOpposite){subEl.classList.add(params.progressbarOppositeClass)}if(params.clickable){subEl.addEventListener("click",onBulletClick)}if(!swiper.enabled){subEl.classList.add(params.lockClass)}})}function destroy(){const params=swiper.params.pagination;if(isPaginationDisabled())return;let el=swiper.pagination.el;if(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.classList.remove(params.hiddenClass);subEl.classList.remove(params.modifierClass+params.type);subEl.classList.remove(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);if(params.clickable){subEl.classList.remove(...(params.clickableClass||"").split(" "));subEl.removeEventListener("click",onBulletClick)}})}if(swiper.pagination.bullets)swiper.pagination.bullets.forEach(subEl=>subEl.classList.remove(...params.bulletActiveClass.split(" ")))}on("changeDirection",()=>{if(!swiper.pagination||!swiper.pagination.el)return;const params=swiper.params.pagination;let{el}=swiper.pagination;el=makeElementsArray(el);el.forEach(subEl=>{subEl.classList.remove(params.horizontalClass,params.verticalClass);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass)})});on("init",()=>{if(swiper.params.pagination.enabled===false){disable()}else{init();render();update()}});on("activeIndexChange",()=>{if(typeof swiper.snapIndex==="undefined"){update()}});on("snapIndexChange",()=>{update()});on("snapGridLengthChange",()=>{render();update()});on("destroy",()=>{destroy()});on("enable disable",()=>{let{el}=swiper.pagination;if(el){el=makeElementsArray(el);el.forEach(subEl=>subEl.classList[swiper.enabled?"remove":"add"](swiper.params.pagination.lockClass))}});on("lock unlock",()=>
14007{update()});on("click",(_s,e)=>{const targetEl=e.target;const el=makeElementsArray(swiper.pagination.el);if(swiper.params.pagination.el&&swiper.params.pagination.hideOnClick&&el&&el.length>0&&!targetEl.classList.contains(swiper.params.pagination.bulletClass)){if(swiper.navigation&&(swiper.navigation.nextEl&&targetEl===swiper.navigation.nextEl||swiper.navigation.prevEl&&targetEl===swiper.navigation.prevEl))return;const isHidden=el[0].classList.contains(swiper.params.pagination.hiddenClass);if(isHidden===true){emit("paginationShow")}else{emit("paginationHide")}el.forEach(subEl=>subEl.classList.toggle(swiper.params.pagination.hiddenClass))}});const enable=()=>{swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);let{el}=swiper.pagination;if(el){el=makeElementsArray(el);el.forEach(subEl=>subEl.classList.remove(swiper.params.pagination.paginationDisabledClass))}init();render();update()};const disable=()=>{swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);let{el}=swiper.pagination;if(el){el=makeElementsArray(el);el.forEach(subEl=>subEl.classList.add(swiper.params.pagination.paginationDisabledClass))}destroy()};Object.assign(swiper.pagination,{enable:enable,disable:disable,render:render,update:update,init:init,destroy:destroy})}function Scrollbar(_ref){let{swiper,extendParams,on,emit}=_ref;const document=getDocument();let isTouched=false;let timeout=null;let dragTimeout=null;let dragStartPos;let dragSize;let trackSize;let divider;extendParams({scrollbar:{el:null,dragSize:"auto",hide:false,draggable:false,snapOnRelease:true,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:`swiper-scrollbar-horizontal`,verticalClass:`swiper-scrollbar-vertical`}});swiper.scrollbar={el:null,dragEl:null};function setTranslate(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;const{scrollbar,rtlTranslate:rtl}=swiper;const{dragEl,el}=scrollbar;const params=swiper.params.scrollbar;const progress=swiper.params.loop?swiper.progressLoop:swiper.progress;let newSize=dragSize;let newPos=(trackSize-dragSize)*progress;if(rtl){newPos=-newPos;if(newPos>0){newSize=dragSize-newPos;newPos=0}else if(-newPos+dragSize>trackSize){newSize=trackSize+newPos}}else if(newPos<0){newSize=dragSize+newPos;newPos=0}else if(newPos+dragSize>trackSize){newSize=trackSize-newPos}if(swiper.isHorizontal()){dragEl.style.transform=`translate3d(${newPos}px, 0, 0)`;dragEl.style.width=`${newSize}px`}else{dragEl.style.transform=`translate3d(0px, ${newPos}px, 0)`;dragEl.style.height=`${newSize}px`}if(params.hide){clearTimeout(timeout);el.style.opacity=1;timeout=setTimeout(()=>{el.style.opacity=0;el.style.transitionDuration="400ms"},1e3)}}function setTransition(duration){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;swiper.scrollbar.dragEl.style.transitionDuration=`${duration}ms`}function updateSize(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;const{scrollbar}=swiper;const{dragEl,el}=scrollbar;dragEl.style.width="";dragEl.style.height="";trackSize=swiper.isHorizontal()?el.offsetWidth:el.offsetHeight;divider=swiper.size/(swiper.virtualSize+swiper.params.slidesOffsetBefore-(swiper.params.centeredSlides?swiper.snapGrid[0]:0));if(swiper.params.scrollbar.dragSize==="auto"){dragSize=trackSize*divider}else{dragSize=parseInt(swiper.params.scrollbar.dragSize,10)}if(swiper.isHorizontal()){dragEl.style.width=`${dragSize}px`}else{dragEl.style.height=`${dragSize}px`}if(divider>=1){el.style.display="none"}else{el.style.display=""}if(swiper.params.scrollbar.hide){el.style.opacity=0}if(swiper.params.watchOverflow&&swiper.enabled){scrollbar.el.classList[swiper.isLocked?"add":"remove"](swiper.params.scrollbar.lockClass)}}function getPointerPosition(e){return swiper.isHorizontal()?e.clientX:e.clientY}function setDragPosition(e){const{scrollbar,rtlTranslate:rtl}=swiper;const{el}=scrollbar;let positionRatio;positionRatio=(getPointerPosition(e)-elementOffset(el)[swiper.isHorizontal()?"left":"top"]-(dragStartPos!==null?dragStartPos:dragSize/2))/(trackSize-dragSize);positionRatio=Math.max(Math.min(positionRatio,1),0);if(rtl){positionRatio=1-positionRatio}const position=swiper.minTranslate()+(swiper.maxTranslate()-swiper.minTranslate())*positionRatio;swiper.updateProgress(position);swiper.setTranslate(position);swiper.updateActiveIndex();swiper.updateSlidesClasses()}function onDragStart(e){const params=swiper.params.scrollbar;const{scrollbar,wrapperEl}=swiper;const{el,dragEl}=scrollbar;isTouched=true;dragStartPos=e.target===dragEl?getPointerPosition(e)-e.target.getBoundingClientRect()[swiper.isHorizontal()?"left":"top"]:null;e.preventDefault();e.stopPropagation();wrapperEl.style.transitionDuration="100ms";dragEl.style.transitionDuration="100ms";setDragPosition(e);clearTimeout(dragTimeout);el.style.transitionDuration="0ms";if(params.hide){el.style.opacity=1}if(swiper.params.cssMode){swiper.wrapperEl.style["scroll-snap-type"]="none"}emit("scrollbarDragStart",e)}function onDragMove(e){const{scrollbar,wrapperEl}=swiper;const{el,dragEl}=scrollbar;if(!isTouched)return;if(e.preventDefault&&e.cancelable)e.preventDefault();else e.returnValue=false;setDragPosition(e);wrapperEl.style.transitionDuration="0ms";el.style.transitionDuration="0ms";dragEl.style.transitionDuration="0ms";emit("scrollbarDragMove",e)}function onDragEnd(e){const params=swiper.params.scrollbar;const{scrollbar,wrapperEl}=swiper;const{el}=scrollbar;if(!isTouched)return;isTouched=false;
14007if(swiper.params.cssMode){swiper.wrapperEl.style["scroll-snap-type"]="";wrapperEl.style.transitionDuration=""}if(params.hide){clearTimeout(dragTimeout);dragTimeout=nextTick(()=>{el.style.opacity=0;el.style.transitionDuration="400ms"},1e3)}emit("scrollbarDragEnd",e);if(params.snapOnRelease){swiper.slideToClosest()}}function events(method){const{scrollbar,params}=swiper;const el=scrollbar.el;if(!el)return;const target=el;const activeListener=params.passiveListeners?{passive:false,capture:false}:false;const passiveListener=params.passiveListeners?{passive:true,capture:false}:false;if(!target)return;const eventMethod=method==="on"?"addEventListener":"removeEventListener";target[eventMethod]("pointerdown",onDragStart,activeListener);document[eventMethod]("pointermove",onDragMove,activeListener);document[eventMethod]("pointerup",onDragEnd,passiveListener)}function enableDraggable(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;events("on")}function disableDraggable(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;events("off")}function init(){const{scrollbar,el:swiperEl}=swiper;swiper.params.scrollbar=createElementIfNotDefined(swiper,swiper.originalParams.scrollbar,swiper.params.scrollbar,{el:"swiper-scrollbar"});const params=swiper.params.scrollbar;if(!params.el)return;let el;if(typeof params.el==="string"&&swiper.isElement){el=swiper.el.querySelector(params.el)}if(!el&&typeof params.el==="string"){el=document.querySelectorAll(params.el);if(!el.length)return}else if(!el){el=params.el}if(swiper.params.uniqueNavElements&&typeof params.el==="string"&&el.length>1&&swiperEl.querySelectorAll(params.el).length===1){el=swiperEl.querySelector(params.el)}if(el.length>0)el=el[0];el.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);let dragEl;if(el){dragEl=el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass));if(!dragEl){dragEl=createElement("div",swiper.params.scrollbar.dragClass);el.append(dragEl)}}Object.assign(scrollbar,{el:el,dragEl:dragEl});if(params.draggable){enableDraggable()}if(el){el.classList[swiper.enabled?"remove":"add"](...classesToTokens(swiper.params.scrollbar.lockClass))}}function destroy(){const params=swiper.params.scrollbar;const el=swiper.scrollbar.el;if(el){el.classList.remove(...classesToTokens(swiper.isHorizontal()?params.horizontalClass:params.verticalClass))}disableDraggable()}on("changeDirection",()=>{if(!swiper.scrollbar||!swiper.scrollbar.el)return;const params=swiper.params.scrollbar;let{el}=swiper.scrollbar;el=makeElementsArray(el);el.forEach(subEl=>{subEl.classList.remove(params.horizontalClass,params.verticalClass);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass)})});on("init",()=>{if(swiper.params.scrollbar.enabled===false){disable()}else{init();updateSize();setTranslate()}});on("update resize observerUpdate lock unlock changeDirection",()=>{updateSize()});on("setTranslate",()=>{setTranslate()});on("setTransition",(_s,duration)=>{setTransition(duration)});on("enable disable",()=>{const{el}=swiper.scrollbar;if(el){el.classList[swiper.enabled?"remove":"add"](...classesToTokens(swiper.params.scrollbar.lockClass))}});on("destroy",()=>{destroy()});const enable=()=>{swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));if(swiper.scrollbar.el){swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass))}init();updateSize();setTranslate()};const disable=()=>{swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));if(swiper.scrollbar.el){swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass))}destroy()};Object.assign(swiper.scrollbar,{enable:enable,disable:disable,updateSize:updateSize,setTranslate:setTranslate,init:init,destroy:destroy})}function Parallax(_ref){let{swiper,extendParams,on}=_ref;extendParams({parallax:{enabled:false}});const elementsSelector="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]";const setTransform=(el,progress)=>{const{rtl}=swiper;const rtlFactor=rtl?-1:1;const p=el.getAttribute("data-swiper-parallax")||"0";let x=el.getAttribute("data-swiper-parallax-x");let y=el.getAttribute("data-swiper-parallax-y");const scale=el.getAttribute("data-swiper-parallax-scale");const opacity=el.getAttribute("data-swiper-parallax-opacity");const rotate=el.getAttribute("data-swiper-parallax-rotate");if(x||y){x=x||"0";y=y||"0"}
14007else if(swiper.isHorizontal()){x=p;y="0"}else{y=p;x="0"}if(x.indexOf("%")>=0){x=`${parseInt(x,10)*progress*rtlFactor}%`}else{x=`${x*progress*rtlFactor}px`}if(y.indexOf("%")>=0){y=`${parseInt(y,10)*progress}%`}else{y=`${y*progress}px`}if(typeof opacity!=="undefined"&&opacity!==null){const currentOpacity=opacity-(opacity-1)*(1-Math.abs(progress));el.style.opacity=currentOpacity}let transform=`translate3d(${x}, ${y}, 0px)`;if(typeof scale!=="undefined"&&scale!==null){const currentScale=scale-(scale-1)*(1-Math.abs(progress));transform+=` scale(${currentScale})`}if(rotate&&typeof rotate!=="undefined"&&rotate!==null){const currentRotate=rotate*progress*-1;transform+=` rotate(${currentRotate}deg)`}el.style.transform=transform};const setTranslate=()=>{const{el,slides,progress,snapGrid,isElement}=swiper;const elements=elementChildren(el,elementsSelector);if(swiper.isElement){elements.push(...elementChildren(swiper.hostEl,elementsSelector))}elements.forEach(subEl=>{setTransform(subEl,progress)});slides.forEach((slideEl,slideIndex)=>{let slideProgress=slideEl.progress;if(swiper.params.slidesPerGroup>1&&swiper.params.slidesPerView!=="auto"){slideProgress+=Math.ceil(slideIndex/2)-progress*(snapGrid.length-1)}slideProgress=Math.min(Math.max(slideProgress,-1),1);slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl=>{setTransform(subEl,slideProgress)})})};const setTransition=function(duration){if(duration===void 0){duration=swiper.params.speed}const{el,hostEl}=swiper;const elements=[...el.querySelectorAll(elementsSelector)];if(swiper.isElement){elements.push(...hostEl.querySelectorAll(elementsSelector))}elements.forEach(parallaxEl=>{let parallaxDuration=parseInt(parallaxEl.getAttribute("data-swiper-parallax-duration"),10)||duration;if(duration===0)parallaxDuration=0;parallaxEl.style.transitionDuration=`${parallaxDuration}ms`})};on("beforeInit",()=>{if(!swiper.params.parallax.enabled)return;swiper.params.watchSlidesProgress=true;swiper.originalParams.watchSlidesProgress=true});on("init",()=>{if(!swiper.params.parallax.enabled)return;setTranslate()});on("setTranslate",()=>{if(!swiper.params.parallax.enabled)return;setTranslate()});on("setTransition",(_swiper,duration)=>{if(!swiper.params.parallax.enabled)return;setTransition(duration)})}function Zoom(_ref){let{swiper,extendParams,on,emit}=_ref;const window=getWindow();extendParams({zoom:{enabled:false,limitToOriginalSize:false,maxRatio:3,minRatio:1,toggle:true,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}});swiper.zoom={enabled:false};let currentScale=1;let isScaling=false;let fakeGestureTouched;let fakeGestureMoved;const evCache=[];const gesture={originX:0,originY:0,slideEl:undefined,slideWidth:undefined,slideHeight:undefined,imageEl:undefined,imageWrapEl:undefined,maxRatio:3};const image={isTouched:undefined,isMoved:undefined,currentX:undefined,currentY:undefined,minX:undefined,minY:undefined,maxX:undefined,maxY:undefined,width:undefined,height:undefined,startX:undefined,startY:undefined,touchesStart:{},touchesCurrent:{}};const velocity={x:undefined,y:undefined,prevPositionX:undefined,prevPositionY:undefined,prevTime:undefined};let scale=1;Object.defineProperty(swiper.zoom,"scale",{get(){return scale},set(value){if(scale!==value){const imageEl=gesture.imageEl;const slideEl=gesture.slideEl;emit("zoomChange",value,imageEl,slideEl)}scale=value}});function getDistanceBetweenTouches(){if(evCache.length<2)return 1;const x1=evCache[0].pageX;const y1=evCache[0].pageY;const x2=evCache[1].pageX;const y2=evCache[1].pageY;const distance=Math.sqrt((x2-x1)**2+(y2-y1)**2);return distance}function getMaxRatio(){const params=swiper.params.zoom;const maxRatio=gesture.imageWrapEl.getAttribute("data-swiper-zoom")||params.maxRatio;if(params.limitToOriginalSize&&gesture.imageEl&&gesture.imageEl.naturalWidth){const imageMaxRatio=gesture.imageEl.naturalWidth/gesture.imageEl.offsetWidth;return Math.min(imageMaxRatio,maxRatio)}return maxRatio}
14007function getScaleOrigin(){if(evCache.length<2)return{x:null,y:null};const box=gesture.imageEl.getBoundingClientRect();return[(evCache[0].pageX+(evCache[1].pageX-evCache[0].pageX)/2-box.x-window.scrollX)/currentScale,(evCache[0].pageY+(evCache[1].pageY-evCache[0].pageY)/2-box.y-window.scrollY)/currentScale]}function getSlideSelector(){return swiper.isElement?`swiper-slide`:`.${swiper.params.slideClass}`}function eventWithinSlide(e){const slideSelector=getSlideSelector();if(e.target.matches(slideSelector))return true;if(swiper.slides.filter(slideEl=>slideEl.contains(e.target)).length>0)return true;return false}function eventWithinZoomContainer(e){const selector=`.${swiper.params.zoom.containerClass}`;if(e.target.matches(selector))return true;if([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl=>containerEl.contains(e.target)).length>0)return true;return false}function onGestureStart(e){if(e.pointerType==="mouse"){evCache.splice(0,evCache.length)}if(!eventWithinSlide(e))return;const params=swiper.params.zoom;fakeGestureTouched=false;fakeGestureMoved=false;evCache.push(e);if(evCache.length<2){return}fakeGestureTouched=true;gesture.scaleStart=getDistanceBetweenTouches();if(!gesture.slideEl){gesture.slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);if(!gesture.slideEl)gesture.slideEl=swiper.slides[swiper.activeIndex];let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);if(imageEl){imageEl=imageEl.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]}gesture.imageEl=imageEl;if(imageEl){gesture.imageWrapEl=elementParents(gesture.imageEl,`.${params.containerClass}`)[0]}else{gesture.imageWrapEl=undefined}if(!gesture.imageWrapEl){gesture.imageEl=undefined;return}gesture.maxRatio=getMaxRatio()}if(gesture.imageEl){const[originX,originY]=getScaleOrigin();gesture.originX=originX;gesture.originY=originY;gesture.imageEl.style.transitionDuration="0ms"}isScaling=true}function onGestureChange(e){if(!eventWithinSlide(e))return;const params=swiper.params.zoom;const zoom=swiper.zoom;const pointerIndex=evCache.findIndex(cachedEv=>cachedEv.pointerId===e.pointerId);if(pointerIndex>=0)evCache[pointerIndex]=e;if(evCache.length<2){return}fakeGestureMoved=true;gesture.scaleMove=getDistanceBetweenTouches();if(!gesture.imageEl){return}zoom.scale=gesture.scaleMove/gesture.scaleStart*currentScale;if(zoom.scale>gesture.maxRatio){zoom.scale=gesture.maxRatio-1+(zoom.scale-gesture.maxRatio+1)**.5}if(zoom.scale<params.minRatio){zoom.scale=params.minRatio+1-(params.minRatio-zoom.scale+1)**.5}gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`}function onGestureEnd(e){if(!eventWithinSlide(e))return;if(e.pointerType==="mouse"&&e.type==="pointerout")return;const params=swiper.params.zoom;const zoom=swiper.zoom;const pointerIndex=evCache.findIndex(cachedEv=>cachedEv.pointerId===e.pointerId);if(pointerIndex>=0)evCache.splice(pointerIndex,1);if(!fakeGestureTouched||!fakeGestureMoved){return}fakeGestureTouched=false;fakeGestureMoved=false;if(!gesture.imageEl)return;zoom.scale=Math.max(Math.min(zoom.scale,gesture.maxRatio),params.minRatio);gesture.imageEl.style.transitionDuration=`${swiper.params.speed}ms`;gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`;currentScale=zoom.scale;isScaling=false;if(zoom.scale>1&&gesture.slideEl){gesture.slideEl.classList.add(`${params.zoomedSlideClass}`)}else if(zoom.scale<=1&&gesture.slideEl){gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`)}if(zoom.scale===1){gesture.originX=0;gesture.originY=0;gesture.slideEl=undefined}}let allowTouchMoveTimeout;function allowTouchMove(){swiper.touchEventsData.preventTouchMoveFromPointerMove=false}function preventTouchMove(){clearTimeout(allowTouchMoveTimeout);swiper.touchEventsData.preventTouchMoveFromPointerMove=true;allowTouchMoveTimeout=setTimeout(()=>{allowTouchMove()})}function onTouchStart(e){const device=swiper.device;if(!gesture.imageEl)return;if(image.isTouched)return;if(device.android&&e.cancelable)e.preventDefault();image.isTouched=true;const event=evCache.length>0?evCache[0]:e;image.touchesStart.x=event.pageX;image.touchesStart.y=event.pageY}function onTouchMove(e){if(!eventWithinSlide(e)||!eventWithinZoomContainer(e)){return}const zoom=swiper.zoom;if(!gesture.imageEl){return}if(!image.isTouched||!gesture.slideEl){return}if(!image.isMoved){image.width=gesture.imageEl.offsetWidth||gesture.imageEl.clientWidth;image.height=gesture.imageEl.offsetHeight||gesture.imageEl.clientHeight;image.startX=getTranslate(gesture.imageWrapEl,"x")||0;image.startY=getTranslate(gesture.imageWrapEl,"y")||0;gesture.slideWidth=gesture.slideEl.offsetWidth;gesture.slideHeight=gesture.slideEl.offsetHeight;gesture.imageWrapEl.style.transitionDuration="0ms"}const scaledWidth=image.width*zoom.scale;const scaledHeight=image.height*zoom.scale;image.minX=Math.min(gesture.slideWidth/2-scaledWidth/2,0);image.maxX=-image.minX;image.minY=Math.min(gesture.slideHeight/2-scaledHeight/2,0);image.maxY=-image.minY;image.touchesCurrent.x=evCache.length>0?evCache[0].pageX:e.pageX;image.touchesCurrent.y=evCache.length>0?evCache[0].pageY:e.pageY;const touchesDiff=Math.max(Math.abs(image.touchesCurrent.x-image.touchesStart.x),Math.abs(image.touchesCurrent.y-image.touchesStart.y));if(touchesDiff>5){swiper.allowClick=false}if(!image.isMoved&&!isScaling){if(swiper.isHorizontal()&&(Math.floor(image.minX)===Math.floor(image.startX)&&image.touchesCurrent.x<image.touchesStart.x||Math.floor(image.maxX)===Math.floor(image.startX)&&image.touchesCurrent.x>image.touchesStart.x)){image.isTouched=false;allowTouchMove();return}if(!swiper.isHorizontal()&&(Math.floor(image.minY)===Math.floor(image.startY)&&image.touchesCurrent.y<image.touchesStart.y||Math.floor(image.maxY)===Math.floor(image.startY)&&image.touchesCurrent.y>image.touchesStart.y)){image.isTouched=false;allowTouchMove();return}}if(e.cancelable){e.preventDefault()}e.stopPropagation();preventTouchMove();image.isMoved=true;const scaleRatio=(zoom.scale-currentScale)/(gesture.maxRatio-swiper.params.zoom.minRatio);const{originX,originY}=gesture;image.currentX=image.touchesCurrent.x-image.touchesStart.x+image.startX+scaleRatio*(image.width-originX*2);image.currentY=image.touchesCurrent.y-image.touchesStart.y+image.startY+scaleRatio*(image.height-originY*2);if(image.currentX<image.minX){image.currentX=image.minX+1-(image.minX-image.currentX+1)**.8}if(image.currentX>image.maxX){image.currentX=image.maxX-1+(image.currentX-image.maxX+1)**.8}if(image.currentY<image.minY){image.currentY=image.minY+1-(image.minY-image.currentY+1)**.8}if(image.currentY>image.maxY){image.currentY=image.maxY-1+(image.currentY-image.maxY+1)**.8}if(!velocity.prevPositionX)velocity.prevPositionX=image.touchesCurrent.x;if(!velocity.prevPositionY)velocity.prevPositionY=image.touchesCurrent.y;if(!velocity.prevTime)velocity.prevTime=Date.now();velocity.x=(image.touchesCurrent.x-velocity.prevPositionX)/(Date.now()-velocity.prevTime)/2;velocity.y=(image.touchesCurrent.y-velocity.prevPositionY)/(Date.now()-velocity.prevTime)/2;if(Math.abs(image.touchesCurrent.x-velocity.prevPositionX)<2)velocity.x=0;if(Math.abs(image.touchesCurrent.y-velocity.prevPositionY)<2)velocity.y=0;velocity.prevPositionX=image.touchesCurrent.x;velocity.prevPositionY=image.touchesCurrent.y;velocity.prevTime=Date.now();gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`}function onTouchEnd(){const zoom=swiper.zoom;if(!gesture.imageEl)return;if(!image.isTouched||!image.isMoved){image.isTouched=false;image.isMoved=false;return}image.isTouched=false;image.isMoved=false;let momentumDurationX=300;let momentumDurationY=300;const momentumDistanceX=velocity.x*momentumDurationX;const newPositionX=image.currentX+momentumDistanceX;const momentumDistanceY=velocity.y*momentumDurationY;const newPositionY=image.currentY+momentumDistanceY;if(velocity.x!==0)momentumDurationX=Math.abs((newPositionX-image.currentX)/velocity.x);if(velocity.y!==0)momentumDurationY=Math.abs((newPositionY-image.currentY)/velocity.y);const momentumDuration=Math.max(momentumDurationX,momentumDurationY);image.currentX=newPositionX;image.currentY=newPositionY;const scaledWidth=image.width*zoom.scale;const scaledHeight=image.height*zoom.scale;image.minX=Math.min(gesture.slideWidth/2-scaledWidth/2,0);image.maxX=-image.minX;image.minY=Math.min(gesture.slideHeight/2-scaledHeight/2,0);image.maxY=-image.minY;image.currentX=Math.max(Math.min(image.currentX,image.maxX),image.minX);image.currentY=Math.max(Math.min(image.currentY,image.maxY),image.minY);gesture.imageWrapEl.style.transitionDuration=`${momentumDuration}ms`;gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`}function onTransitionEnd(){const zoom=swiper.zoom;if(gesture.slideEl&&swiper.activeIndex!==swiper.slides.indexOf(gesture.slideEl)){if(gesture.imageEl){gesture.imageEl.style.transform="translate3d(0,
140070,0) scale(1)"}if(gesture.imageWrapEl){gesture.imageWrapEl.style.transform="translate3d(0,0,0)"}gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);zoom.scale=1;currentScale=1;gesture.slideEl=undefined;gesture.imageEl=undefined;gesture.imageWrapEl=undefined;gesture.originX=0;gesture.originY=0}}function zoomIn(e){const zoom=swiper.zoom;const params=swiper.params.zoom;if(!gesture.slideEl){if(e&&e.target){gesture.slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`)}if(!gesture.slideEl){if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){gesture.slideEl=elementChildren(swiper.slidesEl,`.${swiper.params.slideActiveClass}`)[0]}else{gesture.slideEl=swiper.slides[swiper.activeIndex]}}let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);if(imageEl){imageEl=imageEl.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]}gesture.imageEl=imageEl;if(imageEl){gesture.imageWrapEl=elementParents(gesture.imageEl,`.${params.containerClass}`)[0]}else{gesture.imageWrapEl=undefined}}if(!gesture.imageEl||!gesture.imageWrapEl)return;if(swiper.params.cssMode){swiper.wrapperEl.style.overflow="hidden";swiper.wrapperEl.style.touchAction="none"}gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);let touchX;let touchY;let offsetX;let offsetY;let diffX;let diffY;let translateX;let translateY;let imageWidth;let imageHeight;let scaledWidth;let scaledHeight;let translateMinX;let translateMinY;let translateMaxX;let translateMaxY;let slideWidth;let slideHeight;if(typeof image.touchesStart.x==="undefined"&&e){touchX=e.pageX;touchY=e.pageY}else{touchX=image.touchesStart.x;touchY=image.touchesStart.y}const forceZoomRatio=typeof e==="number"?e:null;
14007if(currentScale===1&&forceZoomRatio){touchX=undefined;touchY=undefined}const maxRatio=getMaxRatio();zoom.scale=forceZoomRatio||maxRatio;currentScale=forceZoomRatio||maxRatio;if(e&&!(currentScale===1&&forceZoomRatio)){slideWidth=gesture.slideEl.offsetWidth;slideHeight=gesture.slideEl.offsetHeight;offsetX=elementOffset(gesture.slideEl).left+window.scrollX;offsetY=elementOffset(gesture.slideEl).top+window.scrollY;diffX=offsetX+slideWidth/2-touchX;diffY=offsetY+slideHeight/2-touchY;imageWidth=gesture.imageEl.offsetWidth||gesture.imageEl.clientWidth;imageHeight=gesture.imageEl.offsetHeight||gesture.imageEl.clientHeight;scaledWidth=imageWidth*zoom.scale;scaledHeight=imageHeight*zoom.scale;translateMinX=Math.min(slideWidth/2-scaledWidth/2,0);translateMinY=Math.min(slideHeight/2-scaledHeight/2,0);translateMaxX=-translateMinX;translateMaxY=-translateMinY;translateX=diffX*zoom.scale;translateY=diffY*zoom.scale;if(translateX<translateMinX){translateX=translateMinX}if(translateX>translateMaxX){translateX=translateMaxX}if(translateY<translateMinY){translateY=translateMinY}if(translateY>translateMaxY){translateY=translateMaxY}}else{translateX=0;translateY=0}if(forceZoomRatio&&zoom.scale===1){gesture.originX=0;gesture.originY=0}gesture.imageWrapEl.style.transitionDuration="300ms";gesture.imageWrapEl.style.transform=`translate3d(${translateX}px, ${translateY}px,0)`;gesture.imageEl.style.transitionDuration="300ms";gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`}function zoomOut(){const zoom=swiper.zoom;const params=swiper.params.zoom;if(!gesture.slideEl){if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){gesture.slideEl=elementChildren(swiper.slidesEl,`.${swiper.params.slideActiveClass}`)[0]}else{gesture.slideEl=swiper.slides[swiper.activeIndex]}let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);if(imageEl){imageEl=imageEl.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]}gesture.imageEl=imageEl;if(imageEl){gesture.imageWrapEl=elementParents(gesture.imageEl,`.${params.containerClass}`)[0]}else{gesture.imageWrapEl=undefined}}if(!gesture.imageEl||!gesture.imageWrapEl)return;if(swiper.params.cssMode){swiper.wrapperEl.style.overflow="";swiper.wrapperEl.style.touchAction=""}zoom.scale=1;currentScale=1;gesture.imageWrapEl.style.transitionDuration="300ms";gesture.imageWrapEl.style.transform="translate3d(0,0,0)";gesture.imageEl.style.transitionDuration="300ms";gesture.imageEl.style.transform="translate3d(0,0,0) scale(1)";gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);gesture.slideEl=undefined;gesture.originX=0;gesture.originY=0}function zoomToggle(e){const zoom=swiper.zoom;if(zoom.scale&&zoom.scale!==1){zoomOut()}else{zoomIn(e)}}function getListeners(){const passiveListener=swiper.params.passiveListeners?{passive:true,capture:false}:false;const activeListenerWithCapture=swiper.params.passiveListeners?{passive:false,capture:true}:true;return{passiveListener:passiveListener,activeListenerWithCapture:activeListenerWithCapture}}function enable(){const zoom=swiper.zoom;if(zoom.enabled)return;zoom.enabled=true;const{passiveListener,activeListenerWithCapture}=getListeners();swiper.wrapperEl.addEventListener("pointerdown",onGestureStart,passiveListener);swiper.wrapperEl.addEventListener("pointermove",onGestureChange,activeListenerWithCapture);["pointerup","pointercancel","pointerout"].forEach(eventName=>{swiper.wrapperEl.addEventListener(eventName,onGestureEnd,passiveListener)});swiper.wrapperEl.addEventListener("pointermove",onTouchMove,activeListenerWithCapture)}function disable(){const zoom=swiper.zoom;if(!zoom.enabled)return;zoom.enabled=false;const{passiveListener,activeListenerWithCapture}=getListeners();swiper.wrapperEl.removeEventListener("pointerdown",onGestureStart,passiveListener);swiper.wrapperEl.removeEventListener("pointermove",onGestureChange,activeListenerWithCapture);["pointerup","pointercancel","pointerout"].forEach(eventName=>{swiper.wrapperEl.removeEventListener(eventName,onGestureEnd,passiveListener)});swiper.wrapperEl.removeEventListener("pointermove",onTouchMove,activeListenerWithCapture)}on("init",()=>{if(swiper.params.zoom.enabled){enable()}});on("destroy",()=>{disable()});on("touchStart",(_s,e)=>{if(!swiper.zoom.enabled)return;onTouchStart(e)});on("touchEnd",(_s,e)=>{if(!swiper.zoom.enabled)return;onTouchEnd()});on("doubleTap",(_s,e)=>{if(!swiper.animating&&swiper.params.zoom.enabled&&swiper.zoom.enabled&&swiper.params.zoom.toggle){zoomToggle(e)}});on("transitionEnd",()=>{if(swiper.zoom.enabled&&swiper.params.zoom.enabled){onTransitionEnd()}});on("slideChange",()=>{if(swiper.zoom.enabled&&swiper.params.zoom.enabled&&swiper.params.cssMode){onTransitionEnd()}});Object.assign(swiper.zoom,{enable:enable,disable:disable,in:zoomIn,out:zoomOut,toggle:zoomToggle})}function Controller(_ref){let{swiper,extendParams,on}=_ref;extendParams({controller:{control:undefined,inverse:false,by:"slide"}});swiper.controller={control:undefined};function LinearSpline(x,y){const binarySearch=function search(){let maxIndex;let minIndex;let guess;return(array,val)=>{minIndex=-1;maxIndex=array.length;while(maxIndex-minIndex>1){guess=maxIndex+minIndex>>1;
14007if(array[guess]<=val){minIndex=guess}else{maxIndex=guess}}return maxIndex}}();this.x=x;this.y=y;this.lastIndex=x.length-1;let i1;let i3;this.interpolate=function interpolate(x2){if(!x2)return 0;i3=binarySearch(this.x,x2);i1=i3-1;return(x2-this.x[i1])*(this.y[i3]-this.y[i1])/(this.x[i3]-this.x[i1])+this.y[i1]};return this}function getInterpolateFunction(c){swiper.controller.spline=swiper.params.loop?new LinearSpline(swiper.slidesGrid,c.slidesGrid):new LinearSpline(swiper.snapGrid,c.snapGrid)}function setTranslate(_t,byController){const controlled=swiper.controller.control;let multiplier;let controlledTranslate;const Swiper=swiper.constructor;function setControlledTranslate(c){if(c.destroyed)return;const translate=swiper.rtlTranslate?-swiper.translate:swiper.translate;if(swiper.params.controller.by==="slide"){getInterpolateFunction(c);controlledTranslate=-swiper.controller.spline.interpolate(-translate)}if(!controlledTranslate||swiper.params.controller.by==="container"){multiplier=(c.maxTranslate()-c.minTranslate())/(swiper.maxTranslate()-swiper.minTranslate());if(Number.isNaN(multiplier)||!Number.isFinite(multiplier)){multiplier=1}controlledTranslate=(translate-swiper.minTranslate())*multiplier+c.minTranslate()}if(swiper.params.controller.inverse){controlledTranslate=c.maxTranslate()-controlledTranslate}c.updateProgress(controlledTranslate);c.setTranslate(controlledTranslate,swiper);c.updateActiveIndex();c.updateSlidesClasses()}if(Array.isArray(controlled)){for(let i=0;i<controlled.length;i+=1){if(controlled[i]!==byController&&controlled[i]instanceof Swiper){setControlledTranslate(controlled[i])}}}else if(controlled instanceof Swiper&&byController!==controlled){setControlledTranslate(controlled)}}function setTransition(duration,byController){const Swiper=swiper.constructor;const controlled=swiper.controller.control;let i;function setControlledTransition(c){if(c.destroyed)return;c.setTransition(duration,swiper);if(duration!==0){c.transitionStart();if(c.params.autoHeight){nextTick(()=>{c.updateAutoHeight()})}elementTransitionEnd(c.wrapperEl,()=>{if(!controlled)return;c.transitionEnd()})}}if(Array.isArray(controlled)){for(i=0;i<controlled.length;i+=1){if(controlled[i]!==byController&&controlled[i]instanceof Swiper){setControlledTransition(controlled[i])}}}else if(controlled instanceof Swiper&&byController!==controlled){setControlledTransition(controlled)}}function removeSpline(){if(!swiper.controller.control)return;if(swiper.controller.spline){swiper.controller.spline=undefined;delete swiper.controller.spline}}on("beforeInit",()=>{if(typeof window!=="undefined"&&(typeof swiper.params.controller.control==="string"||swiper.params.controller.control instanceof HTMLElement)){const controlElements=typeof swiper.params.controller.control==="string"?[...document.querySelectorAll(swiper.params.controller.control)]:[swiper.params.controller.control];controlElements.forEach(controlElement=>{if(!swiper.controller.control)swiper.controller.control=[];if(controlElement&&controlElement.swiper){swiper.controller.control.push(controlElement.swiper)}else if(controlElement){const eventName=`${swiper.params.eventsPrefix}init`;const onControllerSwiper=e=>{swiper.controller.control.push(e.detail[0]);swiper.update();controlElement.removeEventListener(eventName,onControllerSwiper)};controlElement.addEventListener(eventName,onControllerSwiper)}});return}swiper.controller.control=swiper.params.controller.control});on("update",()=>{removeSpline()});on("resize",()=>{removeSpline()});on("observerUpdate",()=>{removeSpline()});on("setTranslate",(_s,translate,byController)=>{if(!swiper.controller.control||swiper.controller.control.destroyed)return;swiper.controller.setTranslate(translate,byController)});on("setTransition",(_s,duration,byController)=>{if(!swiper.controller.control||swiper.controller.control.destroyed)return;swiper.controller.setTransition(duration,byController)});Object.assign(swiper.controller,{setTranslate:setTranslate,setTransition:setTransition})}function A11y(_ref){let{swiper,extendParams,on}=_ref;extendParams({a11y:{enabled:true,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null,
14007scrollOnFocus:true}});swiper.a11y={clicked:false};let liveRegion=null;let preventFocusHandler;let focusTargetSlideEl;let visibilityChangedTimestamp=(new Date).getTime();function notify(message){const notification=liveRegion;if(notification.length===0)return;notification.innerHTML="";notification.innerHTML=message}function getRandomNumber(size){if(size===void 0){size=16}const randomChar=()=>Math.round(16*Math.random()).toString(16);return"x".repeat(size).replace(/x/g,randomChar)}function makeElFocusable(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("tabIndex","0")})}function makeElNotFocusable(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("tabIndex","-1")})}function addElRole(el,role){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("role",role)})}function addElRoleDescription(el,description){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-roledescription",description)})}function addElControls(el,controls){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-controls",controls)})}function addElLabel(el,label){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-label",label)})}function addElId(el,id){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("id",id)})}function addElLive(el,live){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-live",live)})}function disableEl(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-disabled",true)})}function enableEl(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute("aria-disabled",false)})}function onEnterOrSpaceKey(e){if(e.keyCode!==13&&e.keyCode!==32)return;const params=swiper.params.a11y;const targetEl=e.target;if(swiper.pagination&&swiper.pagination.el&&(targetEl===swiper.pagination.el||swiper.pagination.el.contains(e.target))){if(!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass)))return}if(swiper.navigation&&swiper.navigation.prevEl&&swiper.navigation.nextEl){const prevEls=makeElementsArray(swiper.navigation.prevEl);const nextEls=makeElementsArray(swiper.navigation.nextEl);if(nextEls.includes(targetEl)){if(!(swiper.isEnd&&!swiper.params.loop)){swiper.slideNext()}if(swiper.isEnd){notify(params.lastSlideMessage)}else{notify(params.nextSlideMessage)}}if(prevEls.includes(targetEl)){if(!(swiper.isBeginning&&!swiper.params.loop)){swiper.slidePrev()}if(swiper.isBeginning){notify(params.firstSlideMessage)}else{notify(params.prevSlideMessage)}}}if(swiper.pagination&&targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))){targetEl.click()}}function updateNavigation(){if(swiper.params.loop||swiper.params.rewind||!swiper.navigation)return;const{nextEl,prevEl}=swiper.navigation;if(prevEl){if(swiper.isBeginning){disableEl(prevEl);makeElNotFocusable(prevEl)}else{enableEl(prevEl);makeElFocusable(prevEl)}}if(nextEl){if(swiper.isEnd){disableEl(nextEl);makeElNotFocusable(nextEl)}else{enableEl(nextEl);makeElFocusable(nextEl)}}}function hasPagination(){return swiper.pagination&&swiper.pagination.bullets&&swiper.pagination.bullets.length}function hasClickablePagination(){return hasPagination()&&swiper.params.pagination.clickable}function updatePagination(){const params=swiper.params.a11y;if(!hasPagination())return;swiper.pagination.bullets.forEach(bulletEl=>{if(swiper.params.pagination.clickable){makeElFocusable(bulletEl);if(!swiper.params.pagination.renderBullet){addElRole(bulletEl,"button");addElLabel(bulletEl,params.paginationBulletMessage.replace(/\{\{index\}\}/,elementIndex(bulletEl)+1))}}if(bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))){bulletEl.setAttribute("aria-current","true")}else{bulletEl.removeAttribute("aria-current")}})}const initNavEl=(el,wrapperId,message)=>{makeElFocusable(el);if(el.tagName!=="BUTTON"){addElRole(el,"button");el.addEventListener("keydown",onEnterOrSpaceKey)}addElLabel(el,message);addElControls(el,wrapperId)};const handlePointerDown=e=>{if(focusTargetSlideEl&&focusTargetSlideEl!==e.target&&!focusTargetSlideEl.contains(e.target)){preventFocusHandler=true}swiper.a11y.clicked=true};const handlePointerUp=()=>{preventFocusHandler=false;requestAnimationFrame(()=>{requestAnimationFrame(()=>{if(!swiper.destroyed){swiper.a11y.clicked=false}})})};const onVisibilityChange=e=>{visibilityChangedTimestamp=(new Date).getTime()};const handleFocus=e=>
14007{if(swiper.a11y.clicked||!swiper.params.a11y.scrollOnFocus)return;if((new Date).getTime()-visibilityChangedTimestamp<100)return;const slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);if(!slideEl||!swiper.slides.includes(slideEl))return;focusTargetSlideEl=slideEl;const isActive=swiper.slides.indexOf(slideEl)===swiper.activeIndex;const isVisible=swiper.params.watchSlidesProgress&&swiper.visibleSlides&&swiper.visibleSlides.includes(slideEl);if(isActive||isVisible)return;if(e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents)return;if(swiper.isHorizontal()){swiper.el.scrollLeft=0}else{swiper.el.scrollTop=0}requestAnimationFrame(()=>{if(preventFocusHandler)return;if(swiper.params.loop){swiper.slideToLoop(parseInt(slideEl.getAttribute("data-swiper-slide-index")),0)}else{swiper.slideTo(swiper.slides.indexOf(slideEl),0)}preventFocusHandler=false})};const initSlides=()=>{const params=swiper.params.a11y;if(params.itemRoleDescriptionMessage){addElRoleDescription(swiper.slides,params.itemRoleDescriptionMessage)}if(params.slideRole){addElRole(swiper.slides,params.slideRole)}const slidesLength=swiper.slides.length;if(params.slideLabelMessage){swiper.slides.forEach((slideEl,index)=>{const slideIndex=swiper.params.loop?parseInt(slideEl.getAttribute("data-swiper-slide-index"),10):index;const ariaLabelMessage=params.slideLabelMessage.replace(/\{\{index\}\}/,slideIndex+1).replace(/\{\{slidesLength\}\}/,slidesLength);addElLabel(slideEl,ariaLabelMessage)})}};const init=()=>{const params=swiper.params.a11y;swiper.el.append(liveRegion);const containerEl=swiper.el;if(params.containerRoleDescriptionMessage){addElRoleDescription(containerEl,params.containerRoleDescriptionMessage)}if(params.containerMessage){addElLabel(containerEl,params.containerMessage)}const wrapperEl=swiper.wrapperEl;const wrapperId=params.id||wrapperEl.getAttribute("id")||`swiper-wrapper-${getRandomNumber(16)}`;const live=swiper.params.autoplay&&swiper.params.autoplay.enabled?"off":"polite";addElId(wrapperEl,wrapperId);addElLive(wrapperEl,live);initSlides();let{nextEl,prevEl}=swiper.navigation?swiper.navigation:{};nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);if(nextEl){nextEl.forEach(el=>initNavEl(el,wrapperId,params.nextSlideMessage))}if(prevEl){prevEl.forEach(el=>initNavEl(el,wrapperId,params.prevSlideMessage))}if(hasClickablePagination()){const paginationEl=makeElementsArray(swiper.pagination.el);paginationEl.forEach(el=>{el.addEventListener("keydown",onEnterOrSpaceKey)})}const document=getDocument();document.addEventListener("visibilitychange",onVisibilityChange);swiper.el.addEventListener("focus",handleFocus,true);swiper.el.addEventListener("focus",handleFocus,true);swiper.el.addEventListener("pointerdown",handlePointerDown,true);swiper.el.addEventListener("pointerup",handlePointerUp,true)};function destroy(){if(liveRegion)liveRegion.remove();let{nextEl,prevEl}=swiper.navigation?swiper.navigation:{};nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);if(nextEl){nextEl.forEach(el=>el.removeEventListener("keydown",onEnterOrSpaceKey))}if(prevEl){prevEl.forEach(el=>el.removeEventListener("keydown",onEnterOrSpaceKey))}if(hasClickablePagination()){const paginationEl=makeElementsArray(swiper.pagination.el);paginationEl.forEach(el=>{el.removeEventListener("keydown",onEnterOrSpaceKey)})}const document=getDocument();document.removeEventListener("visibilitychange",onVisibilityChange);if(swiper.el&&typeof swiper.el!=="string"){swiper.el.removeEventListener("focus",handleFocus,true);swiper.el.removeEventListener("pointerdown",handlePointerDown,true);swiper.el.removeEventListener("pointerup",handlePointerUp,true)}}on("beforeInit",()=>{liveRegion=createElement("span",swiper.params.a11y.notificationClass);liveRegion.setAttribute("aria-live","assertive");liveRegion.setAttribute("aria-atomic","true")});on("afterInit",()=>{if(!swiper.params.a11y.enabled)return;init()});on("slidesLengthChange snapGridLengthChange slidesGridLengthChange",()=>{if(!swiper.params.a11y.enabled)return;initSlides()});on("fromEdge toEdge afterInit lock unlock",()=>{if(!swiper.params.a11y.enabled)return;updateNavigation()});on("paginationUpdate",()=>{if(!swiper.params.a11y.enabled)return;updatePagination()});on("destroy",()=>{if(!swiper.params.a11y.enabled)return;destroy()})}function History(_ref){let{swiper,extendParams,on}=_ref;extendParams({history:{enabled:false,root:"",replaceState:false,key:"slides",keepQuery:false}});let initialized=false;let paths={};const slugify=text=>{return text.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")};const getPathValues=urlOverride=>{const window=getWindow();let location;if(urlOverride){location=new URL(urlOverride)}else{location=window.location}const pathArray=location.pathname.slice(1).split("/").filter(part=>part!=="");const total=pathArray.length;const key=pathArray[total-2];const value=pathArray[total-1];return{key:key,value:value}};const setHistory=(key,index)=>{const window=getWindow();if(!initialized||!swiper.params.history.enabled)return;let location;if(swiper.params.url){location=new URL(swiper.params.url)}else{location=window.location}const slide=swiper.virtual&&swiper.params.virtual.enabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${index}"]`):swiper.slides[index];let value=slugify(slide.getAttribute("data-history"));if(swiper.params.history.root.length>0){let root=swiper.params.history.root;if(root[root.length-1]==="/")root=root.slice(0,root.length-1);value=`${root}/${key?`${key}/`:""}${value}`}else if(!location.pathname.includes(key)){value=`${key?`${key}/`:""}${value}`}if(swiper.params.history.keepQuery){value+=location.search}const currentState=window.history.state;if(currentState&¤tState.value===value){return}if(swiper.params.history.replaceState){window.history.replaceState({value:value},null,value)}else{window.history.pushState({value:value},null,value)}};const scrollToSlide=(speed,value,runCallbacks)=>{if(value){for(let i=0,length=swiper.slides.length;i<length;i+=1){const slide=swiper.slides[i];const slideHistory=slugify(slide.getAttribute("data-history"));if(slideHistory===value){const index=swiper.getSlideIndex(slide);swiper.slideTo(index,speed,runCallbacks)}}}else{swiper.slideTo(0,speed,runCallbacks)}};const setHistoryPopState=()=>{paths=getPathValues(swiper.params.url);
14007scrollToSlide(swiper.params.speed,paths.value,false)};const init=()=>{const window=getWindow();if(!swiper.params.history)return;if(!window.history||!window.history.pushState){swiper.params.history.enabled=false;swiper.params.hashNavigation.enabled=true;return}initialized=true;paths=getPathValues(swiper.params.url);if(!paths.key&&!paths.value){if(!swiper.params.history.replaceState){window.addEventListener("popstate",setHistoryPopState)}return}scrollToSlide(0,paths.value,swiper.params.runCallbacksOnInit);if(!swiper.params.history.replaceState){window.addEventListener("popstate",setHistoryPopState)}};const destroy=()=>{const window=getWindow();if(!swiper.params.history.replaceState){window.removeEventListener("popstate",setHistoryPopState)}};on("init",()=>{if(swiper.params.history.enabled){init()}});on("destroy",()=>{if(swiper.params.history.enabled){destroy()}});on("transitionEnd _freeModeNoMomentumRelease",()=>{if(initialized){setHistory(swiper.params.history.key,swiper.activeIndex)}});on("slideChange",()=>{if(initialized&&swiper.params.cssMode){setHistory(swiper.params.history.key,swiper.activeIndex)}})}function HashNavigation(_ref){let{swiper,extendParams,emit,on}=_ref;let initialized=false;const document=getDocument();const window=getWindow();extendParams({hashNavigation:{enabled:false,replaceState:false,watchState:false,getSlideIndex(_s,hash){if(swiper.virtual&&swiper.params.virtual.enabled){const slideWithHash=swiper.slides.filter(slideEl=>slideEl.getAttribute("data-hash")===hash)[0];if(!slideWithHash)return 0;const index=parseInt(slideWithHash.getAttribute("data-swiper-slide-index"),10);return index}return swiper.getSlideIndex(elementChildren(swiper.slidesEl,`.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0])}}});const onHashChange=()=>{emit("hashChange");const newHash=document.location.hash.replace("#","");const activeSlideEl=swiper.virtual&&swiper.params.virtual.enabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];const activeSlideHash=activeSlideEl?activeSlideEl.getAttribute("data-hash"):"";if(newHash!==activeSlideHash){const newIndex=swiper.params.hashNavigation.getSlideIndex(swiper,newHash);if(typeof newIndex==="undefined"||Number.isNaN(newIndex))return;swiper.slideTo(newIndex)}};const setHash=()=>{if(!initialized||!swiper.params.hashNavigation.enabled)return;const activeSlideEl=swiper.virtual&&swiper.params.virtual.enabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];const activeSlideHash=activeSlideEl?activeSlideEl.getAttribute("data-hash")||activeSlideEl.getAttribute("data-history"):"";if(swiper.params.hashNavigation.replaceState&&window.history&&window.history.replaceState){window.history.replaceState(null,null,`#${activeSlideHash}`||"");emit("hashSet")}else{document.location.hash=activeSlideHash||"";emit("hashSet")}};const init=()=>{if(!swiper.params.hashNavigation.enabled||swiper.params.history&&swiper.params.history.enabled)return;initialized=true;const hash=document.location.hash.replace("#","");if(hash){const speed=0;const index=swiper.params.hashNavigation.getSlideIndex(swiper,hash);swiper.slideTo(index||0,speed,swiper.params.runCallbacksOnInit,true)}if(swiper.params.hashNavigation.watchState){window.addEventListener("hashchange",onHashChange)}};const destroy=()=>{if(swiper.params.hashNavigation.watchState){window.removeEventListener("hashchange",onHashChange)}};on("init",()=>{if(swiper.params.hashNavigation.enabled){init()}});on("destroy",()=>{if(swiper.params.hashNavigation.enabled){destroy()}});on("transitionEnd _freeModeNoMomentumRelease",()=>{if(initialized){setHash()}});on("slideChange",()=>{if(initialized&&swiper.params.cssMode){setHash()}})}function Autoplay(_ref){let{swiper,extendParams,on,emit,params}=_ref;swiper.autoplay={running:false,paused:false,timeLeft:0};extendParams({autoplay:{enabled:false,delay:3e3,waitForTransition:true,disableOnInteraction:false,stopOnLastSlide:false,reverseDirection:false,pauseOnMouseEnter:false}});let timeout;let raf;let autoplayDelayTotal=params&¶ms.autoplay?params.autoplay.delay:3e3;let autoplayDelayCurrent=params&¶ms.autoplay?params.autoplay.delay:3e3;let autoplayTimeLeft;let autoplayStartTime=(new Date).getTime();let wasPaused;let isTouched;let pausedByTouch;let touchStartTimeout;let slideChanged;let pausedByInteraction;let pausedByPointerEnter;
14007function onTransitionEnd(e){if(!swiper||swiper.destroyed||!swiper.wrapperEl)return;if(e.target!==swiper.wrapperEl)return;swiper.wrapperEl.removeEventListener("transitionend",onTransitionEnd);if(pausedByPointerEnter||e.detail&&e.detail.bySwiperTouchMove){return}resume()}const calcTimeLeft=()=>{if(swiper.destroyed||!swiper.autoplay.running)return;if(swiper.autoplay.paused){wasPaused=true}else if(wasPaused){autoplayDelayCurrent=autoplayTimeLeft;wasPaused=false}const timeLeft=swiper.autoplay.paused?autoplayTimeLeft:autoplayStartTime+autoplayDelayCurrent-(new Date).getTime();swiper.autoplay.timeLeft=timeLeft;emit("autoplayTimeLeft",timeLeft,timeLeft/autoplayDelayTotal);raf=requestAnimationFrame(()=>{calcTimeLeft()})};const getSlideDelay=()=>{let activeSlideEl;if(swiper.virtual&&swiper.params.virtual.enabled){activeSlideEl=swiper.slides.filter(slideEl=>slideEl.classList.contains("swiper-slide-active"))[0]}else{activeSlideEl=swiper.slides[swiper.activeIndex]}if(!activeSlideEl)return undefined;const currentSlideDelay=parseInt(activeSlideEl.getAttribute("data-swiper-autoplay"),10);return currentSlideDelay};const run=delayForce=>{if(swiper.destroyed||!swiper.autoplay.running)return;cancelAnimationFrame(raf);calcTimeLeft();let delay=typeof delayForce==="undefined"?swiper.params.autoplay.delay:delayForce;autoplayDelayTotal=swiper.params.autoplay.delay;autoplayDelayCurrent=swiper.params.autoplay.delay;const currentSlideDelay=getSlideDelay();if(!Number.isNaN(currentSlideDelay)&¤tSlideDelay>0&&typeof delayForce==="undefined"){delay=currentSlideDelay;autoplayDelayTotal=currentSlideDelay;autoplayDelayCurrent=currentSlideDelay}autoplayTimeLeft=delay;const speed=swiper.params.speed;const proceed=()=>{if(!swiper||swiper.destroyed)return;if(swiper.params.autoplay.reverseDirection){if(!swiper.isBeginning||swiper.params.loop||swiper.params.rewind){swiper.slidePrev(speed,true,true);emit("autoplay")}else if(!swiper.params.autoplay.stopOnLastSlide){swiper.slideTo(swiper.slides.length-1,speed,true,true);emit("autoplay")}}else{if(!swiper.isEnd||swiper.params.loop||swiper.params.rewind){swiper.slideNext(speed,true,true);emit("autoplay")}else if(!swiper.params.autoplay.stopOnLastSlide){swiper.slideTo(0,speed,true,true);emit("autoplay")}}if(swiper.params.cssMode){autoplayStartTime=(new Date).getTime();requestAnimationFrame(()=>{run()})}};if(delay>0){clearTimeout(timeout);timeout=setTimeout(()=>{proceed()},delay)}else{requestAnimationFrame(()=>{proceed()})}return delay};const start=()=>{autoplayStartTime=(new Date).getTime();swiper.autoplay.running=true;run();emit("autoplayStart")};const stop=()=>{swiper.autoplay.running=false;clearTimeout(timeout);cancelAnimationFrame(raf);emit("autoplayStop")};const pause=(internal,reset)=>{if(swiper.destroyed||!swiper.autoplay.running)return;clearTimeout(timeout);if(!internal){pausedByInteraction=true}const proceed=()=>{emit("autoplayPause");if(swiper.params.autoplay.waitForTransition){swiper.wrapperEl.addEventListener("transitionend",onTransitionEnd)}else{resume()}};swiper.autoplay.paused=true;if(reset){if(slideChanged){autoplayTimeLeft=swiper.params.autoplay.delay}slideChanged=false;proceed();return}const delay=autoplayTimeLeft||swiper.params.autoplay.delay;autoplayTimeLeft=delay-((new Date).getTime()-autoplayStartTime);if(swiper.isEnd&&autoplayTimeLeft<0&&!swiper.params.loop)return;if(autoplayTimeLeft<0)autoplayTimeLeft=0;proceed()};const resume=()=>{if(swiper.isEnd&&autoplayTimeLeft<0&&!swiper.params.loop||swiper.destroyed||!swiper.autoplay.running)return;autoplayStartTime=(new Date).getTime();if(pausedByInteraction){pausedByInteraction=false;run(autoplayTimeLeft)}else{run()}swiper.autoplay.paused=false;emit("autoplayResume")};const onVisibilityChange=()=>{if(swiper.destroyed||!swiper.autoplay.running)return;const document=getDocument();if(document.visibilityState==="hidden"){pausedByInteraction=true;pause(true)}if(document.visibilityState==="visible"){resume()}};const onPointerEnter=e=>{if(e.pointerType!=="mouse")return;pausedByInteraction=true;pausedByPointerEnter=true;if(swiper.animating||swiper.autoplay.paused)return;pause(true)};const onPointerLeave=e=>{if(e.pointerType!=="mouse")return;pausedByPointerEnter=false;
14007if(swiper.autoplay.paused){resume()}};const attachMouseEvents=()=>{if(swiper.params.autoplay.pauseOnMouseEnter){swiper.el.addEventListener("pointerenter",onPointerEnter);swiper.el.addEventListener("pointerleave",onPointerLeave)}};const detachMouseEvents=()=>{if(swiper.el&&typeof swiper.el!=="string"){swiper.el.removeEventListener("pointerenter",onPointerEnter);swiper.el.removeEventListener("pointerleave",onPointerLeave)}};const attachDocumentEvents=()=>{const document=getDocument();document.addEventListener("visibilitychange",onVisibilityChange)};const detachDocumentEvents=()=>{const document=getDocument();document.removeEventListener("visibilitychange",onVisibilityChange)};on("init",()=>{if(swiper.params.autoplay.enabled){attachMouseEvents();attachDocumentEvents();start()}});on("destroy",()=>{detachMouseEvents();detachDocumentEvents();if(swiper.autoplay.running){stop()}});on("_freeModeStaticRelease",()=>{if(pausedByTouch||pausedByInteraction){resume()}});on("_freeModeNoMomentumRelease",()=>{if(!swiper.params.autoplay.disableOnInteraction){pause(true,true)}else{stop()}});on("beforeTransitionStart",(_s,speed,internal)=>{if(swiper.destroyed||!swiper.autoplay.running)return;if(internal||!swiper.params.autoplay.disableOnInteraction){pause(true,true)}else{stop()}});on("sliderFirstMove",()=>{if(swiper.destroyed||!swiper.autoplay.running)return;if(swiper.params.autoplay.disableOnInteraction){stop();return}isTouched=true;pausedByTouch=false;pausedByInteraction=false;touchStartTimeout=setTimeout(()=>{pausedByInteraction=true;pausedByTouch=true;pause(true)},200)});on("touchEnd",()=>{if(swiper.destroyed||!swiper.autoplay.running||!isTouched)return;clearTimeout(touchStartTimeout);clearTimeout(timeout);if(swiper.params.autoplay.disableOnInteraction){pausedByTouch=false;isTouched=false;return}if(pausedByTouch&&swiper.params.cssMode)resume();pausedByTouch=false;isTouched=false});on("slideChange",()=>{if(swiper.destroyed||!swiper.autoplay.running)return;slideChanged=true});Object.assign(swiper.autoplay,{start:start,stop:stop,pause:pause,resume:resume})}function Thumb(_ref){let{swiper,extendParams,on}=_ref;extendParams({thumbs:{swiper:null,multipleActiveThumbs:true,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let initialized=false;let swiperCreated=false;swiper.thumbs={swiper:null};function onThumbClick(){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;const clickedIndex=thumbsSwiper.clickedIndex;const clickedSlide=thumbsSwiper.clickedSlide;if(clickedSlide&&clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass))return;if(typeof clickedIndex==="undefined"||clickedIndex===null)return;let slideToIndex;if(thumbsSwiper.params.loop){slideToIndex=parseInt(thumbsSwiper.clickedSlide.getAttribute("data-swiper-slide-index"),10)}else{slideToIndex=clickedIndex}if(swiper.params.loop){swiper.slideToLoop(slideToIndex)}else{swiper.slideTo(slideToIndex)}}function init(){const{thumbs:thumbsParams}=swiper.params;if(initialized)return false;initialized=true;const SwiperClass=swiper.constructor;if(thumbsParams.swiper instanceof SwiperClass){swiper.thumbs.swiper=thumbsParams.swiper;Object.assign(swiper.thumbs.swiper.originalParams,{watchSlidesProgress:true,slideToClickedSlide:false});Object.assign(swiper.thumbs.swiper.params,{watchSlidesProgress:true,slideToClickedSlide:false});swiper.thumbs.swiper.update()}else if(isObject(thumbsParams.swiper)){const thumbsSwiperParams=Object.assign({},thumbsParams.swiper);Object.assign(thumbsSwiperParams,{watchSlidesProgress:true,slideToClickedSlide:false});swiper.thumbs.swiper=new SwiperClass(thumbsSwiperParams);swiperCreated=true}swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);swiper.thumbs.swiper.on("tap",onThumbClick);return true}function update(initial){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;const slidesPerView=thumbsSwiper.params.slidesPerView==="auto"?thumbsSwiper.slidesPerViewDynamic():thumbsSwiper.params.slidesPerView;let thumbsToActivate=1;const thumbActiveClass=swiper.params.thumbs.slideThumbActiveClass;if(swiper.params.slidesPerView>
140071&&!swiper.params.centeredSlides){thumbsToActivate=swiper.params.slidesPerView}if(!swiper.params.thumbs.multipleActiveThumbs){thumbsToActivate=1}thumbsToActivate=Math.floor(thumbsToActivate);thumbsSwiper.slides.forEach(slideEl=>slideEl.classList.remove(thumbActiveClass));if(thumbsSwiper.params.loop||thumbsSwiper.params.virtual&&thumbsSwiper.params.virtual.enabled){for(let i=0;i<thumbsToActivate;i+=1){elementChildren(thumbsSwiper.slidesEl,`[data-swiper-slide-index="${swiper.realIndex+i}"]`).forEach(slideEl=>{slideEl.classList.add(thumbActiveClass)})}}else{for(let i=0;i<thumbsToActivate;i+=1){if(thumbsSwiper.slides[swiper.realIndex+i]){thumbsSwiper.slides[swiper.realIndex+i].classList.add(thumbActiveClass)}}}const autoScrollOffset=swiper.params.thumbs.autoScrollOffset;const useOffset=autoScrollOffset&&!thumbsSwiper.params.loop;if(swiper.realIndex!==thumbsSwiper.realIndex||useOffset){const currentThumbsIndex=thumbsSwiper.activeIndex;let newThumbsIndex;let direction;if(thumbsSwiper.params.loop){const newThumbsSlide=thumbsSwiper.slides.filter(slideEl=>slideEl.getAttribute("data-swiper-slide-index")===`${swiper.realIndex}`)[0];newThumbsIndex=thumbsSwiper.slides.indexOf(newThumbsSlide);direction=swiper.activeIndex>swiper.previousIndex?"next":"prev"}else{newThumbsIndex=swiper.realIndex;direction=newThumbsIndex>swiper.previousIndex?"next":"prev"}if(useOffset){newThumbsIndex+=direction==="next"?autoScrollOffset:-1*autoScrollOffset}if(thumbsSwiper.visibleSlidesIndexes&&thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex)<0){if(thumbsSwiper.params.centeredSlides){if(newThumbsIndex>currentThumbsIndex){newThumbsIndex=newThumbsIndex-Math.floor(slidesPerView/2)+1}else{newThumbsIndex=newThumbsIndex+Math.floor(slidesPerView/2)-1}}else if(newThumbsIndex>currentThumbsIndex&&thumbsSwiper.params.slidesPerGroup===1);thumbsSwiper.slideTo(newThumbsIndex,initial?0:undefined)}}}on("beforeInit",()=>{const{thumbs}=swiper.params;if(!thumbs||!thumbs.swiper)return;if(typeof thumbs.swiper==="string"||thumbs.swiper instanceof HTMLElement){const document=getDocument();const getThumbsElementAndInit=()=>{const thumbsElement=typeof thumbs.swiper==="string"?document.querySelector(thumbs.swiper):thumbs.swiper;if(thumbsElement&&thumbsElement.swiper){thumbs.swiper=thumbsElement.swiper;init();update(true)}else if(thumbsElement){const eventName=`${swiper.params.eventsPrefix}init`;const onThumbsSwiper=e=>{thumbs.swiper=e.detail[0];thumbsElement.removeEventListener(eventName,onThumbsSwiper);init();update(true);thumbs.swiper.update();swiper.update()};thumbsElement.addEventListener(eventName,onThumbsSwiper)}return thumbsElement};const watchForThumbsToAppear=()=>{if(swiper.destroyed)return;const thumbsElement=getThumbsElementAndInit();if(!thumbsElement){requestAnimationFrame(watchForThumbsToAppear)}};requestAnimationFrame(watchForThumbsToAppear)}else{init();update(true)}});on("slideChange update resize observerUpdate",()=>{update()});on("setTransition",(_s,duration)=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;thumbsSwiper.setTransition(duration)});on("beforeDestroy",()=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;if(swiperCreated){thumbsSwiper.destroy()}});Object.assign(swiper.thumbs,{init:init,update:update})}function freeMode(_ref){let{swiper,extendParams,emit,once}=_ref;extendParams({freeMode:{enabled:false,momentum:true,momentumRatio:1,momentumBounce:true,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:false,minimumVelocity:.02}});function onTouchStart(){if(swiper.params.cssMode)return;const translate=swiper.getTranslate();swiper.setTranslate(translate);swiper.setTransition(0);swiper.touchEventsData.velocities.length=0;swiper.freeMode.onTouchEnd({currentPos:swiper.rtl?swiper.translate:-swiper.translate})}function onTouchMove(){if(swiper.params.cssMode)return;const{touchEventsData:data,touches}=swiper;if(data.velocities.length===0){data.velocities.push({position:touches[swiper.isHorizontal()?"startX":"startY"],time:data.touchStartTime})}data.velocities.push({position:touches[swiper.isHorizontal()?"currentX":"currentY"],time:now()})}function onTouchEnd(_ref2){let{currentPos}=_ref2;
14007if(swiper.params.cssMode)return;const{params,wrapperEl,rtlTranslate:rtl,snapGrid,touchEventsData:data}=swiper;const touchEndTime=now();const timeDiff=touchEndTime-data.touchStartTime;if(currentPos<-swiper.minTranslate()){swiper.slideTo(swiper.activeIndex);return}if(currentPos>-swiper.maxTranslate()){if(swiper.slides.length<snapGrid.length){swiper.slideTo(snapGrid.length-1)}else{swiper.slideTo(swiper.slides.length-1)}return}if(params.freeMode.momentum){if(data.velocities.length>1){const lastMoveEvent=data.velocities.pop();const velocityEvent=data.velocities.pop();const distance=lastMoveEvent.position-velocityEvent.position;const time=lastMoveEvent.time-velocityEvent.time;swiper.velocity=distance/time;swiper.velocity/=2;if(Math.abs(swiper.velocity)<params.freeMode.minimumVelocity){swiper.velocity=0}if(time>150||now()-lastMoveEvent.time>300){swiper.velocity=0}}else{swiper.velocity=0}swiper.velocity*=params.freeMode.momentumVelocityRatio;data.velocities.length=0;let momentumDuration=1e3*params.freeMode.momentumRatio;const momentumDistance=swiper.velocity*momentumDuration;let newPosition=swiper.translate+momentumDistance;if(rtl)newPosition=-newPosition;let doBounce=false;let afterBouncePosition;const bounceAmount=Math.abs(swiper.velocity)*20*params.freeMode.momentumBounceRatio;let needsLoopFix;if(newPosition<swiper.maxTranslate()){if(params.freeMode.momentumBounce){if(newPosition+swiper.maxTranslate()<-bounceAmount){newPosition=swiper.maxTranslate()-bounceAmount}afterBouncePosition=swiper.maxTranslate();doBounce=true;data.allowMomentumBounce=true}else{newPosition=swiper.maxTranslate()}if(params.loop&¶ms.centeredSlides)needsLoopFix=true}else if(newPosition>swiper.minTranslate()){if(params.freeMode.momentumBounce){if(newPosition-swiper.minTranslate()>bounceAmount){newPosition=swiper.minTranslate()+bounceAmount}afterBouncePosition=swiper.minTranslate();doBounce=true;data.allowMomentumBounce=true}else{newPosition=swiper.minTranslate()}if(params.loop&¶ms.centeredSlides)needsLoopFix=true}else if(params.freeMode.sticky){let nextSlide;for(let j=0;j<snapGrid.length;j+=1){if(snapGrid[j]>-newPosition){nextSlide=j;break}}if(Math.abs(snapGrid[nextSlide]-newPosition)<Math.abs(snapGrid[nextSlide-1]-newPosition)||swiper.swipeDirection==="next"){newPosition=snapGrid[nextSlide]}else{newPosition=snapGrid[nextSlide-1]}newPosition=-newPosition}if(needsLoopFix){once("transitionEnd",()=>{swiper.loopFix()})}if(swiper.velocity!==0){if(rtl){momentumDuration=Math.abs((-newPosition-swiper.translate)/swiper.velocity)}else{momentumDuration=Math.abs((newPosition-swiper.translate)/swiper.velocity)}if(params.freeMode.sticky){const moveDistance=Math.abs((rtl?-newPosition:newPosition)-swiper.translate);const currentSlideSize=swiper.slidesSizesGrid[swiper.activeIndex];if(moveDistance<currentSlideSize){momentumDuration=params.speed}else if(moveDistance<2*currentSlideSize){momentumDuration=params.speed*1.5}else{momentumDuration=params.speed*2.5}}}else if(params.freeMode.sticky){swiper.slideToClosest();return}if(params.freeMode.momentumBounce&&doBounce){swiper.updateProgress(afterBouncePosition);swiper.setTransition(momentumDuration);swiper.setTranslate(newPosition);swiper.transitionStart(true,swiper.swipeDirection);swiper.animating=true;elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed||!data.allowMomentumBounce)return;emit("momentumBounce");swiper.setTransition(params.speed);setTimeout(()=>{swiper.setTranslate(afterBouncePosition);elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed)return;swiper.transitionEnd()})},0)})}else if(swiper.velocity){emit("_freeModeNoMomentumRelease");swiper.updateProgress(newPosition);swiper.setTransition(momentumDuration);swiper.setTranslate(newPosition);swiper.transitionStart(true,swiper.swipeDirection);if(!swiper.animating){swiper.animating=true;elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed)return;swiper.transitionEnd()})}}else{swiper.updateProgress(newPosition)}swiper.updateActiveIndex();swiper.updateSlidesClasses()}else if(params.freeMode.sticky){swiper.slideToClosest();return}else if(params.freeMode){emit("_freeModeNoMomentumRelease")}if(!params.freeMode.momentum||timeDiff>=params.longSwipesMs){emit("_freeModeStaticRelease");
14007swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses()}}Object.assign(swiper,{freeMode:{onTouchStart:onTouchStart,onTouchMove:onTouchMove,onTouchEnd:onTouchEnd}})}function Grid(_ref){let{swiper,extendParams,on}=_ref;extendParams({grid:{rows:1,fill:"column"}});let slidesNumberEvenToRows;let slidesPerRow;let numFullColumns;let wasMultiRow;const getSpaceBetween=()=>{let spaceBetween=swiper.params.spaceBetween;if(typeof spaceBetween==="string"&&spaceBetween.indexOf("%")>=0){spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiper.size}else if(typeof spaceBetween==="string"){spaceBetween=parseFloat(spaceBetween)}return spaceBetween};const initSlides=slides=>{const{slidesPerView}=swiper.params;const{rows,fill}=swiper.params.grid;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:slides.length;numFullColumns=Math.floor(slidesLength/rows);if(Math.floor(slidesLength/rows)===slidesLength/rows){slidesNumberEvenToRows=slidesLength}else{slidesNumberEvenToRows=Math.ceil(slidesLength/rows)*rows}if(slidesPerView!=="auto"&&fill==="row"){slidesNumberEvenToRows=Math.max(slidesNumberEvenToRows,slidesPerView*rows)}slidesPerRow=slidesNumberEvenToRows/rows};const unsetSlides=()=>
14007{if(swiper.slides){swiper.slides.forEach(slide=>{if(slide.swiperSlideGridSet){slide.style.height="";slide.style[swiper.getDirectionLabel("margin-top")]=""}})}};const updateSlide=(i,slide,slides)=>{const{slidesPerGroup}=swiper.params;const spaceBetween=getSpaceBetween();const{rows,fill}=swiper.params.grid;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:slides.length;let newSlideOrderIndex;let column;let row;if(fill==="row"&&slidesPerGroup>1){const groupIndex=Math.floor(i/(slidesPerGroup*rows));const slideIndexInGroup=i-rows*slidesPerGroup*groupIndex;const columnsInGroup=groupIndex===0?slidesPerGroup:Math.min(Math.ceil((slidesLength-groupIndex*rows*slidesPerGroup)/rows),slidesPerGroup);row=Math.floor(slideIndexInGroup/columnsInGroup);column=slideIndexInGroup-row*columnsInGroup+groupIndex*slidesPerGroup;newSlideOrderIndex=column+row*slidesNumberEvenToRows/rows;slide.style.order=newSlideOrderIndex}else if(fill==="column"){column=Math.floor(i/rows);row=i-column*rows;if(column>numFullColumns||column===numFullColumns&&row===rows-1){row+=1;if(row>=rows){row=0;column+=1}}}else{row=Math.floor(i/slidesPerRow);column=i-row*slidesPerRow}slide.row=row;slide.column=column;slide.style.height=`calc((100% - ${(rows-1)*spaceBetween}px) / ${rows})`;slide.style[swiper.getDirectionLabel("margin-top")]=row!==0?spaceBetween&&`${spaceBetween}px`:"";slide.swiperSlideGridSet=true};const updateWrapperSize=(slideSize,snapGrid)=>{const{centeredSlides,roundLengths}=swiper.params;const spaceBetween=getSpaceBetween();const{rows}=swiper.params.grid;swiper.virtualSize=(slideSize+spaceBetween)*slidesNumberEvenToRows;swiper.virtualSize=Math.ceil(swiper.virtualSize/rows)-spaceBetween;if(!swiper.params.cssMode){swiper.wrapperEl.style[swiper.getDirectionLabel("width")]=`${swiper.virtualSize+spaceBetween}px`}if(centeredSlides){const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];if(roundLengths)slidesGridItem=Math.floor(slidesGridItem);if(snapGrid[i]<swiper.virtualSize+snapGrid[0])newSlidesGrid.push(slidesGridItem)}snapGrid.splice(0,snapGrid.length);snapGrid.push(...newSlidesGrid)}};const onInit=()=>{wasMultiRow=swiper.params.grid&&swiper.params.grid.rows>1};const onUpdate=()=>{const{params,el}=swiper;const isMultiRow=params.grid&¶ms.grid.rows>1;if(wasMultiRow&&!isMultiRow){el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`);numFullColumns=1;swiper.emitContainerClasses()}else if(!wasMultiRow&&isMultiRow){el.classList.add(`${params.containerModifierClass}grid`);if(params.grid.fill==="column"){el.classList.add(`${params.containerModifierClass}grid-column`)}swiper.emitContainerClasses()}wasMultiRow=isMultiRow};on("init",onInit);on("update",onUpdate);swiper.grid={initSlides:initSlides,unsetSlides:unsetSlides,updateSlide:updateSlide,updateWrapperSize:updateWrapperSize}}function appendSlide(slides){const swiper=this;const{params,slidesEl}=swiper;if(params.loop){swiper.loopDestroy()}const appendElement=slideEl=>{if(typeof slideEl==="string"){const tempDOM=document.createElement("div");tempDOM.innerHTML=slideEl;slidesEl.append(tempDOM.children[0]);tempDOM.innerHTML=""}else{slidesEl.append(slideEl)}};if(typeof slides==="object"&&"length"in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])appendElement(slides[i])}}else{appendElement(slides)}swiper.recalcSlides();if(params.loop){swiper.loopCreate()}if(!params.observer||swiper.isElement){swiper.update()}}function prependSlide(slides){const swiper=this;const{params,activeIndex,slidesEl}=swiper;if(params.loop){swiper.loopDestroy()}let newActiveIndex=activeIndex+1;const prependElement=slideEl=>{if(typeof slideEl==="string"){const tempDOM=document.createElement("div");tempDOM.innerHTML=slideEl;slidesEl.prepend(tempDOM.children[0]);tempDOM.innerHTML=""}else{slidesEl.prepend(slideEl)}};if(typeof slides==="object"&&"length"in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])prependElement(slides[i])}newActiveIndex=activeIndex+slides.length}else{prependElement(slides)}swiper.recalcSlides();if(params.loop){swiper.loopCreate()}
14007if(!params.observer||swiper.isElement){swiper.update()}swiper.slideTo(newActiveIndex,0,false)}function addSlide(index,slides){const swiper=this;const{params,activeIndex,slidesEl}=swiper;let activeIndexBuffer=activeIndex;if(params.loop){activeIndexBuffer-=swiper.loopedSlides;swiper.loopDestroy();swiper.recalcSlides()}const baseLength=swiper.slides.length;if(index<=0){swiper.prependSlide(slides);return}if(index>=baseLength){swiper.appendSlide(slides);return}let newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+1:activeIndexBuffer;const slidesBuffer=[];for(let i=baseLength-1;i>=index;i-=1){const currentSlide=swiper.slides[i];currentSlide.remove();slidesBuffer.unshift(currentSlide)}if(typeof slides==="object"&&"length"in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])slidesEl.append(slides[i])}newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+slides.length:activeIndexBuffer}else{slidesEl.append(slides)}for(let i=0;i<slidesBuffer.length;i+=1){slidesEl.append(slidesBuffer[i])}swiper.recalcSlides();if(params.loop){swiper.loopCreate()}if(!params.observer||swiper.isElement){swiper.update()}if(params.loop){swiper.slideTo(newActiveIndex+swiper.loopedSlides,0,false)}else{swiper.slideTo(newActiveIndex,0,false)}}function removeSlide(slidesIndexes){const swiper=this;const{params,activeIndex}=swiper;let activeIndexBuffer=activeIndex;if(params.loop){activeIndexBuffer-=swiper.loopedSlides;swiper.loopDestroy()}let newActiveIndex=activeIndexBuffer;let indexToRemove;if(typeof slidesIndexes==="object"&&"length"in slidesIndexes){for(let i=0;i<slidesIndexes.length;i+=1){indexToRemove=slidesIndexes[i];if(swiper.slides[indexToRemove])swiper.slides[indexToRemove].remove();if(indexToRemove<newActiveIndex)newActiveIndex-=1}newActiveIndex=Math.max(newActiveIndex,0)}else{indexToRemove=slidesIndexes;if(swiper.slides[indexToRemove])swiper.slides[indexToRemove].remove();if(indexToRemove<newActiveIndex)newActiveIndex-=1;newActiveIndex=Math.max(newActiveIndex,0)}swiper.recalcSlides();if(params.loop){swiper.loopCreate()}if(!params.observer||swiper.isElement){swiper.update()}if(params.loop){swiper.slideTo(newActiveIndex+swiper.loopedSlides,0,false)}else{swiper.slideTo(newActiveIndex,0,false)}}function removeAllSlides(){const swiper=this;const slidesIndexes=[];for(let i=0;i<swiper.slides.length;i+=1){slidesIndexes.push(i)}swiper.removeSlide(slidesIndexes)}function Manipulation(_ref){let{swiper}=_ref;Object.assign(swiper,{appendSlide:appendSlide.bind(swiper),prependSlide:prependSlide.bind(swiper),addSlide:addSlide.bind(swiper),removeSlide:removeSlide.bind(swiper),removeAllSlides:removeAllSlides.bind(swiper)})}function effectInit(params){const{effect,swiper,on,setTranslate,setTransition,overwriteParams,perspective,recreateShadows,getEffectParams}=params;on("beforeInit",()=>{if(swiper.params.effect!==effect)return;swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);if(perspective&&perspective()){swiper.classNames.push(`${swiper.params.containerModifierClass}3d`)}const overwriteParamsResult=overwriteParams?overwriteParams():{};Object.assign(swiper.params,overwriteParamsResult);Object.assign(swiper.originalParams,overwriteParamsResult)});on("setTranslate",()=>{if(swiper.params.effect!==effect)return;setTranslate()});on("setTransition",(_s,duration)=>{if(swiper.params.effect!==effect)return;setTransition(duration)});on("transitionEnd",()=>{if(swiper.params.effect!==effect)return;if(recreateShadows){if(!getEffectParams||!getEffectParams().slideShadows)return;
14007swiper.slides.forEach(slideEl=>{slideEl.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(shadowEl=>shadowEl.remove())});recreateShadows()}});let requireUpdateOnVirtual;on("virtualUpdate",()=>{if(swiper.params.effect!==effect)return;if(!swiper.slides.length){requireUpdateOnVirtual=true}requestAnimationFrame(()=>{if(requireUpdateOnVirtual&&swiper.slides&&swiper.slides.length){setTranslate();requireUpdateOnVirtual=false}})})}function effectTarget(effectParams,slideEl){const transformEl=getSlideTransformEl(slideEl);if(transformEl!==slideEl){transformEl.style.backfaceVisibility="hidden";transformEl.style["-webkit-backface-visibility"]="hidden"}return transformEl}function effectVirtualTransitionEnd(_ref){let{swiper,duration,transformElements,allSlides}=_ref;const{activeIndex}=swiper;const getSlide=el=>{if(!el.parentElement){const slide=swiper.slides.filter(slideEl=>slideEl.shadowRoot&&slideEl.shadowRoot===el.parentNode)[0];return slide}return el.parentElement};if(swiper.params.virtualTranslate&&duration!==0){let eventTriggered=false;let transitionEndTarget;if(allSlides){transitionEndTarget=transformElements}else{transitionEndTarget=transformElements.filter(transformEl=>{const el=transformEl.classList.contains("swiper-slide-transform")?getSlide(transformEl):transformEl;return swiper.getSlideIndex(el)===activeIndex})}transitionEndTarget.forEach(el=>{elementTransitionEnd(el,()=>{if(eventTriggered)return;if(!swiper||swiper.destroyed)return;eventTriggered=true;swiper.animating=false;const evt=new window.CustomEvent("transitionend",{bubbles:true,cancelable:true});swiper.wrapperEl.dispatchEvent(evt)})})}}function EffectFade(_ref){let{swiper,extendParams,on}=_ref;extendParams({fadeEffect:{crossFade:false}});const setTranslate=()=>{const{slides}=swiper;const params=swiper.params.fadeEffect;for(let i=0;i<slides.length;i+=1){const slideEl=swiper.slides[i];const offset=slideEl.swiperSlideOffset;let tx=-offset;if(!swiper.params.virtualTranslate)tx-=swiper.translate;let ty=0;if(!swiper.isHorizontal()){ty=tx;tx=0}const slideOpacity=swiper.params.fadeEffect.crossFade?Math.max(1-Math.abs(slideEl.progress),0):1+Math.min(Math.max(slideEl.progress,-1),0);const targetEl=effectTarget(params,slideEl);targetEl.style.opacity=slideOpacity;targetEl.style.transform=`translate3d(${tx}px, ${ty}px, 0px)`}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`});effectVirtualTransitionEnd({swiper:swiper,duration:duration,transformElements:transformElements,allSlides:true})};effectInit({effect:"fade",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:true,spaceBetween:0,virtualTranslate:!swiper.params.cssMode})})}function EffectCube(_ref){let{swiper,extendParams,on}=_ref;extendParams({cubeEffect:{slideShadows:true,shadow:true,shadowOffset:20,shadowScale:.94}});const createSlideShadows=(slideEl,progress,isHorizontal)=>{let shadowBefore=isHorizontal?slideEl.querySelector(".swiper-slide-shadow-left"):slideEl.querySelector(".swiper-slide-shadow-top");let shadowAfter=isHorizontal?slideEl.querySelector(".swiper-slide-shadow-right"):slideEl.querySelector(".swiper-slide-shadow-bottom");if(!shadowBefore){shadowBefore=createElement("div",`swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal?"left":"top"}`.split(" "));slideEl.append(shadowBefore)}if(!shadowAfter){shadowAfter=createElement("div",`swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal?"right":"bottom"}`.split(" "));slideEl.append(shadowAfter)}if(shadowBefore)shadowBefore.style.opacity=Math.max(-progress,0);if(shadowAfter)shadowAfter.style.opacity=Math.max(progress,0)};const recreateShadows=()=>{const isHorizontal=swiper.isHorizontal();
14007swiper.slides.forEach(slideEl=>{const progress=Math.max(Math.min(slideEl.progress,1),-1);createSlideShadows(slideEl,progress,isHorizontal)})};const setTranslate=()=>{const{el,wrapperEl,slides,width:swiperWidth,height:swiperHeight,rtlTranslate:rtl,size:swiperSize,browser}=swiper;const r=getRotateFix(swiper);const params=swiper.params.cubeEffect;const isHorizontal=swiper.isHorizontal();const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;let wrapperRotate=0;let cubeShadowEl;if(params.shadow){if(isHorizontal){cubeShadowEl=swiper.wrapperEl.querySelector(".swiper-cube-shadow");if(!cubeShadowEl){cubeShadowEl=createElement("div","swiper-cube-shadow");swiper.wrapperEl.append(cubeShadowEl)}cubeShadowEl.style.height=`${swiperWidth}px`}else{cubeShadowEl=el.querySelector(".swiper-cube-shadow");if(!cubeShadowEl){cubeShadowEl=createElement("div","swiper-cube-shadow");el.append(cubeShadowEl)}}}for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];let slideIndex=i;if(isVirtual){slideIndex=parseInt(slideEl.getAttribute("data-swiper-slide-index"),10)}let slideAngle=slideIndex*90;let round=Math.floor(slideAngle/360);if(rtl){slideAngle=-slideAngle;round=Math.floor(-slideAngle/360)}
14007const progress=Math.max(Math.min(slideEl.progress,1),-1);let tx=0;let ty=0;let tz=0;if(slideIndex%4===0){tx=-round*4*swiperSize;tz=0}else if((slideIndex-1)%4===0){tx=0;tz=-round*4*swiperSize}else if((slideIndex-2)%4===0){tx=swiperSize+round*4*swiperSize;tz=swiperSize}else if((slideIndex-3)%4===0){tx=-swiperSize;tz=3*swiperSize+swiperSize*4*round}if(rtl){tx=-tx}if(!isHorizontal){ty=tx;tx=0}const transform=`rotateX(${r(isHorizontal?0:-slideAngle)}deg) rotateY(${r(isHorizontal?slideAngle:0)}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;if(progress<=1&&progress>-1){wrapperRotate=slideIndex*90+progress*90;if(rtl)wrapperRotate=-slideIndex*90-progress*90}slideEl.style.transform=transform;if(params.slideShadows){createSlideShadows(slideEl,progress,isHorizontal)}}wrapperEl.style.transformOrigin=`50% 50% -${swiperSize/2}px`;wrapperEl.style["-webkit-transform-origin"]=`50% 50% -${swiperSize/2}px`;if(params.shadow){if(isHorizontal){cubeShadowEl.style.transform=`translate3d(0px, ${swiperWidth/2+params.shadowOffset}px, ${-swiperWidth/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`}else{const shadowAngle=Math.abs(wrapperRotate)-Math.floor(Math.abs(wrapperRotate)/90)*90;const multiplier=1.5-(Math.sin(shadowAngle*2*Math.PI/360)/2+Math.cos(shadowAngle*2*Math.PI/360)/2);const scale1=params.shadowScale;const scale2=params.shadowScale/multiplier;const offset=params.shadowOffset;cubeShadowEl.style.transform=`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight/2+offset}px, ${-swiperHeight/2/scale2}px) rotateX(-89.99deg)`}}const zFactor=(browser.isSafari||browser.isWebView)&&browser.needPerspectiveFix?-swiperSize/2:0;wrapperEl.style.transform=`translate3d(0px,0,${zFactor}px) rotateX(${r(swiper.isHorizontal()?0:wrapperRotate)}deg) rotateY(${r(swiper.isHorizontal()?-wrapperRotate:0)}deg)`;wrapperEl.style.setProperty("--swiper-cube-translate-z",`${zFactor}px`)};const setTransition=duration=>{const{el,slides}=swiper;
14007slides.forEach(slideEl=>{slideEl.style.transitionDuration=`${duration}ms`;slideEl.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(subEl=>{subEl.style.transitionDuration=`${duration}ms`})});if(swiper.params.cubeEffect.shadow&&!swiper.isHorizontal()){const shadowEl=el.querySelector(".swiper-cube-shadow");if(shadowEl)shadowEl.style.transitionDuration=`${duration}ms`}};effectInit({effect:"cube",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,recreateShadows:recreateShadows,getEffectParams:()=>swiper.params.cubeEffect,perspective:()=>true,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:true,resistanceRatio:0,spaceBetween:0,centeredSlides:false,virtualTranslate:true})})}function createShadow(suffix,slideEl,side){const shadowClass=`swiper-slide-shadow${side?`-${side}`:""}${suffix?` swiper-slide-shadow-${suffix}`:""}`;const shadowContainer=getSlideTransformEl(slideEl);let shadowEl=shadowContainer.querySelector(`.${shadowClass.split(" ").join(".")}`);if(!shadowEl){shadowEl=createElement("div",shadowClass.split(" "));shadowContainer.append(shadowEl)}return shadowEl}function EffectFlip(_ref){let{swiper,extendParams,on}=_ref;extendParams({flipEffect:{slideShadows:true,limitRotation:true}});const createSlideShadows=(slideEl,progress)=>{let shadowBefore=swiper.isHorizontal()?slideEl.querySelector(".swiper-slide-shadow-left"):slideEl.querySelector(".swiper-slide-shadow-top");let shadowAfter=swiper.isHorizontal()?slideEl.querySelector(".swiper-slide-shadow-right"):slideEl.querySelector(".swiper-slide-shadow-bottom");if(!shadowBefore){shadowBefore=createShadow("flip",slideEl,swiper.isHorizontal()?"left":"top")}if(!shadowAfter){shadowAfter=createShadow("flip",slideEl,swiper.isHorizontal()?"right":"bottom")}if(shadowBefore)shadowBefore.style.opacity=Math.max(-progress,0);if(shadowAfter)shadowAfter.style.opacity=Math.max(progress,0)};const recreateShadows=()=>{swiper.params.flipEffect;
14007swiper.slides.forEach(slideEl=>{let progress=slideEl.progress;if(swiper.params.flipEffect.limitRotation){progress=Math.max(Math.min(slideEl.progress,1),-1)}createSlideShadows(slideEl,progress)})};const setTranslate=()=>{const{slides,rtlTranslate:rtl}=swiper;const params=swiper.params.flipEffect;const rotateFix=getRotateFix(swiper);for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];let progress=slideEl.progress;if(swiper.params.flipEffect.limitRotation){progress=Math.max(Math.min(slideEl.progress,1),-1)}const offset=slideEl.swiperSlideOffset;const rotate=-180*progress;let rotateY=rotate;let rotateX=0;let tx=swiper.params.cssMode?-offset-swiper.translate:-offset;let ty=0;if(!swiper.isHorizontal()){ty=tx;tx=0;rotateX=-rotateY;rotateY=0}else if(rtl){rotateY=-rotateY}slideEl.style.zIndex=-Math.abs(Math.round(progress))+slides.length;if(params.slideShadows){createSlideShadows(slideEl,progress)}const transform=`translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateFix(rotateX)}deg) rotateY(${rotateFix(rotateY)}deg)`;const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper:swiper,duration:duration,transformElements:transformElements})};effectInit({effect:"flip",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,recreateShadows:recreateShadows,getEffectParams:()=>swiper.params.flipEffect,perspective:()=>true,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:true,spaceBetween:0,virtualTranslate:!swiper.params.cssMode})})}function EffectCoverflow(_ref){let{swiper,extendParams,on}=_ref;extendParams({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:true}});const setTranslate=()=>{const{width:swiperWidth,height:swiperHeight,slides,slidesSizesGrid}=swiper;const params=swiper.params.coverflowEffect;const isHorizontal=swiper.isHorizontal();const transform=swiper.translate;const center=isHorizontal?-transform+swiperWidth/2:-transform+swiperHeight/2;const rotate=isHorizontal?params.rotate:-params.rotate;const translate=params.depth;const r=getRotateFix(swiper);for(let i=0,length=slides.length;i<length;i+=1){const slideEl=slides[i];const slideSize=slidesSizesGrid[i];const slideOffset=slideEl.swiperSlideOffset;const centerOffset=(center-slideOffset-slideSize/2)/slideSize;const offsetMultiplier=typeof params.modifier==="function"?params.modifier(centerOffset):centerOffset*params.modifier;let rotateY=isHorizontal?rotate*offsetMultiplier:0;let rotateX=isHorizontal?0:rotate*offsetMultiplier;let translateZ=-translate*Math.abs(offsetMultiplier);let stretch=params.stretch;if(typeof stretch==="string"&&stretch.indexOf("%")!==-1){stretch=parseFloat(params.stretch)/100*slideSize}let translateY=isHorizontal?0:stretch*offsetMultiplier;let translateX=isHorizontal?stretch*offsetMultiplier:0;let scale=1-(1-params.scale)*Math.abs(offsetMultiplier);if(Math.abs(translateX)<.001)translateX=0;if(Math.abs(translateY)<.001)translateY=0;if(Math.abs(translateZ)<.001)translateZ=0;if(Math.abs(rotateY)<.001)rotateY=0;if(Math.abs(rotateX)<.001)rotateX=0;if(Math.abs(scale)<.001)scale=0;const slideTransform=`translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${r(rotateX)}deg) rotateY(${r(rotateY)}deg) scale(${scale})`;const targetEl=effectTarget(params,slideEl);targetEl.style.transform=slideTransform;slideEl.style.zIndex=-Math.abs(Math.round(offsetMultiplier))+1;if(params.slideShadows){let shadowBeforeEl=isHorizontal?slideEl.querySelector(".swiper-slide-shadow-left"):slideEl.querySelector(".swiper-slide-shadow-top");let shadowAfterEl=isHorizontal?slideEl.querySelector(".swiper-slide-shadow-right"):slideEl.querySelector(".swiper-slide-shadow-bottom");if(!shadowBeforeEl){shadowBeforeEl=createShadow("coverflow",slideEl,isHorizontal?"left"
14007:"top")}if(!shadowAfterEl){shadowAfterEl=createShadow("coverflow",slideEl,isHorizontal?"right":"bottom")}if(shadowBeforeEl)shadowBeforeEl.style.opacity=offsetMultiplier>0?offsetMultiplier:0;if(shadowAfterEl)shadowAfterEl.style.opacity=-offsetMultiplier>0?-offsetMultiplier:0}}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})})};effectInit({effect:"coverflow",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,perspective:()=>true,overwriteParams:()=>({watchSlidesProgress:true})})}function EffectCreative(_ref){let{swiper,extendParams,on}=_ref;extendParams({creativeEffect:{limitProgress:1,shadowPerProgress:false,progressMultiplier:1,perspective:true,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const getTranslateValue=value=>{if(typeof value==="string")return value;return`${value}px`};const setTranslate=()=>{const{slides,wrapperEl,slidesSizesGrid}=swiper;const params=swiper.params.creativeEffect;const{progressMultiplier:multiplier}=params;const isCenteredSlides=swiper.params.centeredSlides;const rotateFix=getRotateFix(swiper);if(isCenteredSlides){const margin=slidesSizesGrid[0]/2-swiper.params.slidesOffsetBefore||0;wrapperEl.style.transform=`translateX(calc(50% - ${margin}px))`}for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];const slideProgress=slideEl.progress;const progress=Math.min(Math.max(slideEl.progress,-params.limitProgress),params.limitProgress);let originalProgress=progress;if(!isCenteredSlides){originalProgress=Math.min(Math.max(slideEl.originalProgress,-params.limitProgress),params.limitProgress)}const offset=slideEl.swiperSlideOffset;const t=[swiper.params.cssMode?-offset-swiper.translate:-offset,0,0];const r=[0,0,0];let custom=false;if(!swiper.isHorizontal()){t[1]=t[0];t[0]=0}let data={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};if(progress<0){data=params.next;custom=true}else if(progress>0){data=params.prev;custom=true}t.forEach((value,index)=>{t[index]=`calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress*multiplier)}))`});r.forEach((value,index)=>{let val=data.rotate[index]*Math.abs(progress*multiplier);r[index]=val});slideEl.style.zIndex=-Math.abs(Math.round(slideProgress))+slides.length;const translateString=t.join(", ");const rotateString=`rotateX(${rotateFix(r[0])}deg) rotateY(${rotateFix(r[1])}deg) rotateZ(${rotateFix(r[2])}deg)`;const scaleString=originalProgress<0?`scale(${1+(1-data.scale)*originalProgress*multiplier})`:`scale(${1-(1-data.scale)*originalProgress*multiplier})`;const opacityString=originalProgress<0?1+(1-data.opacity)*originalProgress*multiplier:1-(1-data.opacity)*originalProgress*multiplier;const transform=`translate3d(${translateString}) ${rotateString} ${scaleString}`;if(custom&&data.shadow||!custom){let shadowEl=slideEl.querySelector(".swiper-slide-shadow");if(!shadowEl&&data.shadow){shadowEl=createShadow("creative",slideEl)}if(shadowEl){const shadowOpacity=params.shadowPerProgress?progress*(1/params.limitProgress):progress;shadowEl.style.opacity=Math.min(Math.max(Math.abs(shadowOpacity),0),1)}}const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform;targetEl.style.opacity=opacityString;if(data.origin){targetEl.style.transformOrigin=data.origin}}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll(".swiper-slide-shadow").forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper:swiper,duration:duration,transformElements:transformElements,allSlides:true})};effectInit({effect:"creative",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,perspective:()=>swiper.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:true,virtualTranslate:!swiper.params.cssMode})})}function EffectCards(_ref){let{swiper,extendParams,on}=_ref;extendParams({cardsEffect:{slideShadows:true,rotate:true,perSlideRotate:2,perSlideOffset:8}});const setTranslate=()=>{const{slides,activeIndex,rtlTranslate:rtl}=swiper;const params=swiper.params.cardsEffect;const{startTranslate,isTouched}=swiper.touchEventsData;const currentTranslate=rtl?-swiper.translate:swiper.translate;
14007for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];const slideProgress=slideEl.progress;const progress=Math.min(Math.max(slideProgress,-4),4);let offset=slideEl.swiperSlideOffset;if(swiper.params.centeredSlides&&!swiper.params.cssMode){swiper.wrapperEl.style.transform=`translateX(${swiper.minTranslate()}px)`}if(swiper.params.centeredSlides&&swiper.params.cssMode){offset-=slides[0].swiperSlideOffset}let tX=swiper.params.cssMode?-offset-swiper.translate:-offset;let tY=0;const tZ=-100*Math.abs(progress);let scale=1;let rotate=-params.perSlideRotate*progress;let tXAdd=params.perSlideOffset-Math.abs(progress)*.75;const slideIndex=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.from+i:i;const isSwipeToNext=(slideIndex===activeIndex||slideIndex===activeIndex-1)&&progress>0&&progress<1&&(isTouched||swiper.params.cssMode)&¤tTranslate<startTranslate;const isSwipeToPrev=(slideIndex===activeIndex||slideIndex===activeIndex+1)&&progress<0&&progress>-1&&(isTouched||swiper.params.cssMode)&¤tTranslate>startTranslate;if(isSwipeToNext||isSwipeToPrev){const subProgress=(1-Math.abs((Math.abs(progress)-.5)/.5))**.5;rotate+=-28*progress*subProgress;scale+=-.5*subProgress;tXAdd+=96*subProgress;tY=`${-25*subProgress*Math.abs(progress)}%`}if(progress<0){tX=`calc(${tX}px ${rtl?"-":"+"} (${tXAdd*Math.abs(progress)}%))`}else if(progress>0){tX=`calc(${tX}px ${rtl?"-":"+"} (-${tXAdd*Math.abs(progress)}%))`}else{tX=`${tX}px`}if(!swiper.isHorizontal()){const prevY=tY;tY=tX;tX=prevY}const scaleString=progress<0?`${1+(1-scale)*progress}`:`${1-(1-scale)*progress}`;const transform=` 14008 translate3d(${tX}, ${tY}, ${tZ}px) 14009 rotateZ(${params.rotate?rtl?-rotate:rotate:0}deg) 14010 scale(${scaleString}) 14011 `;if(params.slideShadows){let shadowEl=slideEl.querySelector(".swiper-slide-shadow");if(!shadowEl){shadowEl=createShadow("cards",slideEl)}if(shadowEl)shadowEl.style.opacity=Math.min(Math.max((Math.abs(progress)-.5)/.5,0),1)}slideEl.style.zIndex=-Math.abs(Math.round(slideProgress))+slides.length;const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll(".swiper-slide-shadow").forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper:swiper,duration:duration,transformElements:transformElements})};effectInit({effect:"cards",swiper:swiper,on:on,setTranslate:setTranslate,setTransition:setTransition,perspective:()=>true,overwriteParams:()=>({watchSlidesProgress:true,virtualTranslate:!swiper.params.cssMode})})}const modules=[Virtual,Keyboard,Mousewheel,Navigation,Pagination,Scrollbar,Parallax,Zoom,Controller,A11y,History,HashNavigation,Autoplay,Thumb,freeMode,Grid,Manipulation,EffectFade,EffectCube,EffectFlip,EffectCoverflow,EffectCreative,EffectCards];Swiper.use(modules);return Swiper}(); 14012/* End */ 14013; 14014; /* Start:"a:4:{s:4:"full";s:64:"/local/templates/culture/build/js/spellchecker.js?17665672441484";s:6:"source";s:49:"/local/templates/culture/build/js/spellchecker.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 14015$(document).ready(function(){ 14016 // ÑÑа ÑÑнкÑÐ¸Ñ Ð¿Ð¾Ð»ÑÑÐ°ÐµÑ Ð½Ð°Ñ ÑезÑлÑÑÐ°Ñ Ð¿ÑовеÑки оÑÑогÑаÑии 14017 fix_spell = function(data) { 14018 data.forEach(function(elem) { 14019 14020 // она Ð½Ð°Ñ Ð¾Ð´Ð¸Ñ Ð½Ð°Ñе поле ввода по имени 14021 $('#chat-bot-form textarea').val( 14022 14023 // и менÑÐµÑ Ð²ÑÑ Ð½Ð° пÑавилÑнÑе Ñлова без оÑибок 14024 $('#chat-bot-form textarea').val().replace( 14025 elem['word'], 14026 elem['s'][0] || elem['word'] 14027 ) 14028 ); 14029 }); 14030 } 14031}); 14032 14033// обÑабоÑÑик нажаÑÐ¸Ñ Ð½Ð° клавиÑи 14034let chatDiv = document.getElementById('chat-bot-form'); 14035if (chatDiv) { 14036chatDiv.addEventListener('keydown', function(e) { 14037 14038// еÑли Ð½Ð°Ð¶Ð°Ñ Ð¿Ñобел или ÑнÑÐµÑ 14039if((e.keyCode == 32) || (e.keyCode == 13) ){ 14040 14041 // делим ÑекÑÑ Ð½Ð° ÑÑÑоки 14042 var lines = $('#chat-bot-form textarea').val().replace(/\r\n|\n\r|\n|\r/g, "\n").split("\n"); 14043 14044 // и обÑабаÑÑваем каждÑÑ ÑÑÑоÑкÑ:
14045 lines.forEach(function(line) { 14046 if (line.length) { 14047 14048 // оÑпÑавлÑем ÑÑÑÐ¾ÐºÑ Ñо Ñловами на пÑовеÑÐºÑ Ð² СпеллеÑ, ÑезÑлÑÑÐ°Ñ ÑÑÐ°Ð·Ñ Ð¾ÑпÑавлÑеÑÑÑ Ð² ÑÑнкÑÐ¸Ñ fix_spell 14049 $.getScript('https://speller.yandex.net/services/spellservice.json/checkText?text=' + line + '&callback=fix_spell'); 14050 } 14051 }); 14052} 14053}); 14054} 14055/* End */ 14056; 14057; /* Start:"a:4:{s:4:"full";s:59:"/local/templates/culture/build/js/svg.min.js?17665672444088";s:6:"source";s:44:"/local/templates/culture/build/js/svg.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 14058"use strict"; 14059 14060(function () { 14061 if ("undefined" !== typeof window && window.addEventListener) { 14062 var e = Object.create(null), 14063 l, 14064 d = function d() { 14065 clearTimeout(l); 14066 l = setTimeout(n, 100); 14067 }, 14068 m = function m() {}, 14069 t = function t() { 14070 window.addEventListener("resize", d, !1); 14071 window.addEventListener("orientationchange", d, !1); 14072 if (window.MutationObserver) { 14073 var k = new MutationObserver(d); 14074 k.observe(document.documentElement, { 14075 childList: !0, 14076 subtree: !0, 14077 attributes: !0 14078 }); 14079 m = function m() { 14080 try { 14081 k.disconnect(), window.removeEventListener("resize", d, !1), window.removeEventListener("orientationchange", d, !1); 14082 } catch (v) {} 14083 }; 14084 } else document.documentElement.addEventListener("DOMSubtreeModified", d, !1), m = function m() { 14085 document.documentElement.removeEventListener("DOMSubtreeModified", d, !1); 14086 window.removeEventListener("resize", d, !1); 14087 window.removeEventListener("orientationchange", d, !1); 14088 }; 14089 }, 14090 u = function u(k) { 14091 function e(a) { 14092 if (void 0 !== a.protocol) var c = a;else c = document.createElement("a"), c.href = a; 14093 return c.protocol.replace(/:/g, "") + c.host; 14094 } 14095 if (window.XMLHttpRequest) { 14096 var d = new XMLHttpRequest(); 14097 var m = e(location); 14098 k = e(k); 14099 d = void 0 === d.withCredentials && "" !== k && k !== m ? XDomainRequest || void 0 : XMLHttpRequest; 14100 } 14101 return d; 14102 }; 14103 var n = function n() { 14104 function d() { 14105 --q; 14106 0 === q && (m(), t()); 14107 } 14108 function l(a) { 14109 return function () { 14110 !0 !== e[a.base] && (a.useEl.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", "#" + a.hash), a.useEl.hasAttribute("href") && a.useEl.setAttribute("href", "#" + a.hash)); 14111 }; 14112 } 14113 function p(a) { 14114 return function () { 14115 var c = document.body, 14116 b = document.createElement("x"); 14117 a.onload = null; 14118 b.innerHTML = a.responseText; 14119 if (b = b.getElementsByTagName("svg")[0]) b.setAttribute("aria-hidden", "true"), b.style.position = "absolute", b.style.width = 0, b.style.height = 0, b.style.overflow = "hidden", c.insertBefore(b, c.firstChild); 14120 d(); 14121 }; 14122 } 14123 function n(a) { 14124 return function () { 14125 a.onerror = null; 14126 a.ontimeout = null; 14127 d(); 14128 }; 14129 } 14130 var a, 14131 c, 14132 q = 0; 14133 m(); 14134 var f = document.getElementsByTagName("use"); 14135 for (c = 0; c < f.length; c += 1) { 14136 try { 14137 var g = f[c].getBoundingClientRect(); 14138 } catch (w) { 14139 g = !1; 14140 } 14141 var h = (a = f[c].getAttribute("href") || f[c].getAttributeNS("http://www.w3.org/1999/xlink", "href") || f[c].getAttribute("xlink:href")) && a.split ? a.split("#") : ["", ""]; 14142 var b = h[0]; 14143 h = h[1]; 14144 var r = g && 0 === g.left && 0 === g.right && 0 === g.top && 0 === g.bottom; 14145 g && 0 === g.width && 0 === g.height && !r ? (f[c].hasAttribute("href") && f[c].setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", a), b.length && (a = e[b], !0 !== a && setTimeout(l({ 14146 useEl: f[c], 14147 base: b, 14148 hash: h 14149 }), 0), void 0 === a && (h = u(b), void 0 !== h && (a = new h(), e[b] = a, a.onload = p(a), a.onerror = n(a), a.ontimeout = n(a), a.open("GET", b), a.send(), q += 1)))) : r ? b.length && e[b] && setTimeout(l({ 14150 useEl: f[c], 14151 base: b, 14152 hash: h 14153 }), 0) : void 0 === e[b] ? e[b] = !0 : e[b].onload && (e[b].abort(), delete e[b].onload, e[b] = !0); 14154 } 14155 f = ""; 14156 q += 1; 14157 d(); 14158 }; 14159 var p = function p() { 14160 window.removeEventListener("load", p, !1); 14161 l = setTimeout(n, 0); 14162 }; 14163 "complete" !== document.readyState ? window.addEventListener("load", p, !1) : p(); 14164 } 14165})(); 14166/* End */ 14167; 14168; /* Start:"a:4:{s:4:"full";s:79:"/local/templates/culture/build/js/page/components/cookiePopup.js?17665672441496";s:6:"source";s:64:"/local/templates/culture/build/js/page/components/cookiePopup.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 14169"use strict"; 14170 14171$(function () { 14172 function el(selector) { 14173 return document.querySelector(selector); 14174 } 14175 function els(selector) { 14176 return document.querySelectorAll(selector); 14177 } 14178 function cookie(name) { 14179 var c = document.cookie.split('; ').find(function (cookie) { 14180 return cookie && cookie.startsWith(name + '='); 14181 }); 14182 return c ? c.split('=')[1] : false;
14183 } 14184 14185 // СÑÐ°Ð·Ñ ÑкÑÑваем popup еÑли ÑоглаÑие Ñже дано 14186 if (cookie('cookie-accepted') === "true") { 14187 el('.cookie-popup').style.display = 'none'; // ÐобавлÑем полное ÑкÑÑÑие 14188 return; // ÐÑекÑаÑаем вÑполнение ÑкÑипÑа 14189 } 14190 14191 setTimeout(function () { 14192 function on(selector, event, action) { 14193 els(selector).forEach(function (e) { 14194 return e.addEventListener(event, action); 14195 }); 14196 } 14197 on('.cookie-popup .cookie-popup-actions-accept', 'click', function () { 14198 el('.cookie-popup').classList.add('cookie-popup--accepted'); 14199 document.cookie = "cookie-accepted=true; path=/; max-age=" + (60*60*24*365); // ÐобавлÑем ÑÑок дейÑÑÐ²Ð¸Ñ 14200 }); 14201 14202 // ÐоказÑваем popup ÑолÑко еÑли ÑоглаÑие не дано 14203 if (cookie('cookie-accepted') !== "true") { 14204 el('.cookie-popup').classList.add('cookie-popup--not-accepted'); 14205 } 14206 }, 5000); 14207}); 14208/* End */ 14209; 14210; /* Start:"a:4:{s:4:"full";s:65:"/local/templates/culture/build/js/shared/header.js?17665672445318";s:6:"source";s:50:"/local/templates/culture/build/js/shared/header.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 14211"use strict"; 14212 14213$(document).on("click", "#js_menuToggle", function () { 14214 if ($("#js_headerNav").is(":hidden")) { 14215 $("#js_headerNav").slideDown(300, function () { 14216 if ($(this).css("display") === "none") { 14217 $(this).css("display", "block"); 14218 } 14219 }); 14220 } else { 14221 $("#js_headerNav").hide(); 14222 } 14223}); 14224$(function () { 14225 var url = window.location.pathname; 14226 var links = $('.nav__link'); 14227 if (url && links) { 14228 links.each(function (_, link) { 14229 var href = $(link).attr('href'); 14230 if (url === href && href) { 14231 link.classList.add('nav__link_active'); 14232 } else { 14233 link.classList.remove('nav__link_active'); 14234 } 14235 }); 14236 } 14237}); 14238$(document).ready(function () { 14239 searchHeaderDesctop(); 14240 searchHeaderMobile(); 14241}); 14242var validHeaderFunction = function validHeaderFunction(item) { 14243 item.validate({ 14244 rules: { 14245 search: { 14246 minlength: 3, 14247 required: true 14248 } 14249 }, 14250 messages: { 14251 search: { 14252 required: 'Ðоле не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑÑм', 14253 minlength: 'ÐведиÑе более 3 Ñимволов' 14254 } 14255 } 14256 }); 14257}; 14258var replaceSymbol = function replaceSymbol(input) { 14259 input.on('input', function (event) { 14260 var reg = /[^a-zA-Zа-ÑÑÐ-ЯÐ0-9-â'\s\.,\?\!:;\(\)"«»]/g.exec(event.target.value); 14261 event.target.value = event.target.value.replace(reg, ''); 14262 }); 14263}; 14264var searchHeaderDesctop = function searchHeaderDesctop() { 14265 var searchBtnHeader = $('#searchBtnHeader'); 14266 var searchIconHeader = $('#searchIconHeader'); 14267 var searchInputHeader = $('#searchInputHeader'); 14268 var searchFormHeader = $('#searchFormHeader'); 14269 var headerSearch = $('.header__search'); 14270 var searchWrap = $('.header__search .header__search-wrap'); 14271 var selectL = $(".header__wrap-lang-inner"); 14272 searchIconHeader.click(function (e) { 14273 e.stopPropagation(); 14274 $(document).one('click', function () { 14275 headerSearch.removeClass('header__search-active'); 14276 searchInputHeader.removeClass('header__search-input-active'); 14277 searchIconHeader.addClass("header__search-btn-active"); 14278 searchBtnHeader.removeClass("header__search-btn-active"); 14279 searchFormHeader.removeClass("header__search-form-active"); 14280 searchWrap.removeClass('header__search-wrap-active'); 14281 }); 14282 var navContainer = $('.header__nav'); 14283 headerSearch.addClass('header__search-active'); 14284 searchIconHeader.removeClass("header__search-btn-active"); 14285 searchBtnHeader.addClass("header__search-btn-active"); 14286 searchFormHeader.addClass("header__search-form-active"); 14287 // searchFormHeader.addClass("header__search-form-active").width(navContainer.width()); 14288 searchInputHeader.addClass("header__search-input-active");
14289 searchWrap.addClass('header__search-wrap-active'); 14290 selectL.removeClass("header__wrap-lang-inner-active"); 14291 searchInputHeader.focus(); 14292 }); 14293 headerSearch.on('click', function (e) { 14294 e.stopPropagation(); 14295 }); 14296 validHeaderFunction(searchFormHeader); 14297 replaceSymbol(searchInputHeader); 14298 var btnLang = $(".header__lang"); 14299 var cookie = $.cookie('lang'); 14300 if (!cookie) { 14301 $.cookie('lang', 'RU', { 14302 path: '/' 14303 }); 14304 cookie = $.cookie('lang'); 14305 } 14306 langSet(btnLang, cookie); 14307 btnLang.click(function (e) { 14308 e.stopPropagation(); 14309 $(document).one('click', function () { 14310 selectL.removeClass("header__wrap-lang-inner-active"); 14311 }); 14312 headerSearch.removeClass('header__search-active'); 14313 searchInputHeader.removeClass('header__search-input-active'); 14314 searchIconHeader.addClass("header__search-btn-active"); 14315 searchBtnHeader.removeClass("header__search-btn-active"); 14316 searchFormHeader.removeClass("header__search-form-active"); 14317 searchWrap.removeClass('header__search-wrap-active'); 14318 selectL.toggleClass("header__wrap-lang-inner-active"); 14319 var lang = $(".header__lang-select a"); 14320 lang.one('click', function (el) { 14321 $.cookie("lang", el.target.innerText, { 14322 path: '/' 14323 }); 14324 cookie = $.cookie('lang'); 14325 langSet(btnLang, cookie); 14326 }); 14327 }); 14328 selectL.on('click', function (e) { 14329 e.stopPropagation(); 14330 }); 14331}; 14332var searchHeaderMobile = function searchHeaderMobile() { 14333 var searchFormHeaderMobile = $('#searchFormHeaderMobile'); 14334 var searchInputHeaderMobile = $('#searchInputHeaderMobile'); 14335 validHeaderFunction(searchFormHeaderMobile); 14336 replaceSymbol(searchInputHeaderMobile); 14337}; 14338var langSet = function langSet(btn, cookie) { 14339 btn.eq(0)[0].dataset.lang = cookie; 14340 btn.eq(0)[0].innerText = cookie; 14341}; 14342$(function () { 14343 var itemBvi = 'bvi-open'; 14344 var bviOpen = $('.bvi-open, .header-nav__btn_view'); 14345 var checkBvi = localStorage.getItem('bvi-open'); 14346 var panelBvi = $('.bvi-panel'); 14347 if (checkBvi && !panelBvi.length) { 14348 bviOpen.trigger('click'); 14349 } 14350 bviOpen.on('mouseup', function () { 14351 localStorage.setItem(itemBvi, 'true'); 14352 }); 14353}); 14354/* End */ 14355; 14356; /* Start:"a:4:{s:4:"full";s:76:"/local/templates/culture/build/js/shared/svg-injector.min.js?176656724416755";s:6:"source";s:60:"/local/templates/culture/build/js/shared/svg-injector.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 14357"use strict"; 14358 14359function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } 14360/*! 14361 * SVGInjector v2.1.5 - Fast, caching, dynamic inline SVG DOM injection library 14362 * https://github.com/flobacher/SVGInjector2 14363 * forked from: 14364 * https://github.com/iconic/SVGInjector 14365 * 14366 * Copyright (c) 2015 flobacher <[email protected]> 14367 * @license MIT 14368 * 14369 * original Copyright (c) 2014 Waybury <[email protected]> 14370 * @license MIT 14371 */ 14372!function (e, t) { 14373 "use strict"; 14374 14375 var r = function () { 14376 function r(e) { 14377 r.instanceCounter++, this.init(e); 14378 } 14379 var n, 14380 i, 14381 s, 14382 l, 14383 a, 14384 o, 14385 c, 14386 u, 14387 f, 14388 p, 14389 d, 14390 v, 14391 g, 14392 m, 14393 h, 14394 b, 14395 y, 14396 S, 14397 A, 14398 C, 14399 x, 14400 k, 14401 N, 14402 w, 14403 j, 14404 E, 14405 I, 14406 F, 14407 T, 14408 G, 14409 V = "http://www.w3.org/2000/svg", 14410 O = "http://www.w3.org/1999/xlink", 14411 q = ["sprite"]; 14412 return s = [], r.instanceCounter = 0, r.prototype.init = function (r) { 14413 r = r || {}, n = {}, o = {}, o.isLocal = "file:" === e.location.protocol, o.hasSvgSupport = t.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"), i = { 14414 count: 0, 14415 elements: [] 14416 }, l = {}, a = {}, a.evalScripts = r.evalScripts || "always", a.pngFallback = r.pngFallback || !1, a.svgFallbackDir = r.svgFallbackDir || !1, a.onlyInject
14416VisiblePart = r.onlyInjectVisiblePart || !0, a.keepStylesClass = void 0 === r.keepStylesClass ? "" : r.keepStylesClass, a.spriteClassName = void 0 === r.spriteClassName ? "sprite" : r.spriteClassName, a.spriteClassIdName = void 0 === r.spriteClassIdName ? "sprite--" : r.spriteClassIdName, a.removeStylesClass = void 0 === r.removeStylesClass ? "icon" : r.removeStylesClass, a.removeAllStyles = void 0 !== r.removeAllStyles && r.removeAllStyles, a.fallbackClassName = void 0 === r.fallbackClassName ? q : r.fallbackClassName, a.prefixStyleTags = void 0 === r.prefixStyleTags || r.prefixStyleTags, a.spritesheetURL = void 0 !== r.spritesheetURL && "" !== r.spritesheetURL && r.spritesheetURL, a.prefixFragIdClass = a.spriteClassIdName, a.forceFallbacks = void 0 !== r.forceFallbacks && r.forceFallbacks, a.forceFallbacks && (o.hasSvgSupport = !1), x(t.querySelector("html"), "no-svg", o.hasSvgSupport), o.hasSvgSupport && void 0 === r.removeStylesClass && C(a.removeStylesClass); 14417 }, r.prototype.inject = function (e, t, r) { 14418 if (void 0 !== e.length) { 14419 if (0 === e.length) t && t(0);else { 14420 var n = 0, 14421 i = this; 14422 I.call(e, function (s) { 14423 i.injectElement(s, function (i) { 14424 r && "function" == typeof r && r(i), t && e.length === ++n && t(n); 14425 }); 14426 }); 14427 } 14428 } else e ? this.injectElement(e, function (n) { 14429 r && "function" == typeof r && r(n), t && t(1), e = null; 14430 }) : t && t(0); 14431 }, G = r.prototype.injectElement = function (e, t) { 14432 var r, 14433 n = e.getAttribute("data-src") || e.getAttribute("src"); 14434 if (!n) { 14435 if (!a.spritesheetURL) return; 14436 if ("" === (r = h(e))) return; 14437 n = a.spritesheetURL + "#" + r; 14438 } 14439 e.setAttribute("data-src", n); 14440 var s = n.split("#"); 14441 1 === s.length && s.push(""); 14442 var l; 14443 if (!/\.svg/i.test(n)) return void t("Attempted to inject a file with a non-svg extension: " + n); 14444 if (!o.hasSvgSupport) { 14445 var f = e.getAttribute("data-fallback") || e.getAttribute("data-png"); 14446 return void (f ? (e.setAttribute("src", f), t(null)) : a.pngFallback ? (s.length > 1 && s[1] ? (l = s[1] + ".png", j(a.fallbackClassName) ? c(e, s[1], a.fallbackClassName) : w(a.fallbackClassName) ? a.fallbackClassName(e, s[1]) : "string" == typeof a.fallbackClassName ? E(e, a.fallbackClassName) : e.setAttribute("src", a.pngFallback + "/" + l)) : (l = n.split("/").pop().replace(".svg", ".png"), e.setAttribute("src", a.pngFallback + "/" + l)), t(null)) : t("This browser does not support SVG and no PNG fallback was defined.")); 14447 } 14448 j(a.fallbackClassName) && u(e, s[1], a.fallbackClassName), -1 === i.elements.indexOf(e) && (i.elements.push(e), A(t, n, e)); 14449 }, r.prototype.getEnv = function () { 14450 return o; 14451 }, r.prototype.getConfig = function () { 14452 return a; 14453 }, c = function c(e, t, r) { 14454 var n = void 0 === r ? q : r.slice(0); 14455 I.call(n, function (e, r) { 14456 n[r] = e.replace("%s", t); 14457 }), E(e, n); 14458 }, u = function u(e, t, r) { 14459 r = void 0 === r ? q.slice(0) : r.slice(0); 14460 var n, 14461 i, 14462 s = e.getAttribute("class"); 14463 void 0 !== s && null !== s && (i = s.split(" ")) && (I.call(r, function (e) { 14464 e = e.replace("%s", t), (n = i.indexOf(e)) >= 0 && (i[n] = ""); 14465 }), e.setAttribute("class", N(i.join(" ")))); 14466 }, p = function p(e, t, r, n) { 14467 var i = 0; 14468 return e.textContent = e.textContent.replace(/url\(('|")*#.+('|")*(?=\))/g, function (e) { 14469 return i++, e + "-" + t; 14470 }), i; 14471 }, f = function f(e, t) { 14472 var r, 14473 n, 14474 i, 14475 s, 14476 l, 14477 a, 14478 o, 14479 c, 14480 u, 14481 f, 14482 p, 14483 d, 14484 v, 14485 g, 14486 m, 14487 h, 14488 b = [{ 14489 def: "linearGradient", 14490 attrs: ["fill", "stroke"] 14491 }, { 14492 def: "radialGradient", 14493 attrs: ["fill", "stroke"] 14494 }, { 14495 def: "clipPath", 14496 attrs: ["clip-path"] 14497 }, { 14498 def: "mask", 14499 attrs: ["mask"] 14500 }, { 14501 def: "filter", 14502 attrs: ["filter"] 14503 }, { 14504 def: "color-profile", 14505 attrs: ["color-profile"] 14506 }, { 14507 def: "cursor", 14508 attrs: ["cursor"] 14509 }, { 14510 def: "marker", 14511 attrs: ["marker", "marker-start", "marker-mid", "marker-end"] 14512 }]; 14513 I.call(b, function (b) { 14514 for (n = e.querySelectorAll(b.def + "[id]"), s = 0, i = n.length; s < i; s++) { 14515 for (r = n[s].id + "-" + t, c = b.attrs, f = 0, u = c.length; f < u; f++) for (l = e.querySelectorAll("[" + c[f] + '="url(#' + n[s].id + ')"]'), o = 0, a = l.length; o < a; o++) l[o].setAttribute(c[f], "url(#" + r + ")"); 14516 for (p = e.querySelectorAll("[*|href]"), g = [], v = 0, d = p.length; v < d; v++) p[v].getAttributeNS(O, "href").toString() === "#" + n[s].id && g.push(p[v]); 14517 for (h = 0, m = g.length; h < m; h++) g[h].setAttributeNS(O, "href", "#" + r); 14518 n[s].id = r; 14519 } 14520 }); 14521 }, d = function d(e, t, r) { 14522 var n; 14523 void 0 === r && (r = ["id", "viewBox"]); 14524 for (var i = 0; i < e.attributes.length; i++) n = e.attributes.item(i), r.indexOf(n.name) < 0 && t.setAttribute(n.name, n.value); 14525 }, v = function v(e) { 14526 var r = t.createElementNS(V, "svg"); 14527 return I.call(e.childNodes, function (e) { 14528 r.appendChild(e.cloneNode(!0)); 14529 }), d(e, r), r; 14530 }, g = function g(e, t, r) { 14531 var n, 14532 i, 14533 s, 14534 l, 14535 a, 14536 o, 14537 c = r.getAttribute("data-src").split("#"), 14538 u = e.textContent, 14539 f = "", 14540 p = function p(e, t, r) { 14541 r[t] = "." + s + " " + e; 14542 }; 14543 if (c.length > 1) i = c[1], s = i + "-" + t, n = new RegExp("\\." + i + " ", "g"), e.textContent = u.replace(n, "." + s + " ");else { 14544 for (l = c[0].split("/"), s = l[l.length - 1].replace(".svg", "") + "-" + t, n = new RegExp("([\\s\\S]*?){([\\s\\S]*?)}", "g"); null !== (a = n.exec(u));) { 14545 o = a[1].trim().split(", "), o.forEach(p); 14546 f += o.join(", ") + "{" + a[2] + "}\n"; 14547 } 14548 e.textContent = f; 14549 } 14550 r.setAttribute("class", r.getAttribute("class") + " " + s); 14551 }, m = function m(e) { 14552 var t = e.getAttribute("class"); 14553 return t ? t.trim().split(" ") : []; 14554 }, h = function h(e) { 14555 var t = m(e), 14556 r = ""; 14557 return I.call(t, function (e) { 14558 e.indexOf(a.spriteClassIdName) >= 0 && (r = e.replace(a.spriteClassIdName, "")); 14559 }), r; 14560 }, b = function b(e, t, r) { 14561 var n, 14562 i, 14563 s, 14564 l, 14565 a, 14566 o, 14567 c = null, 14568 u = !1, 14569 f = !1, 14570 p = null; 14571 if (void 0 === r) n = c = t.cloneNode(!0), c.getAttribute("width") || t.getAttribute("width") || (f = !0);else if (!(n = t.getElementById(r))) return; 14572 if (s = n.getAttribute("viewBox"), i = s.split(" "), !c) { 14573 if (n instanceof SVGSymbolElement) c = v(n), f = u = !0;else if (n instanceof SVGViewElement) {
14574 if (p = null, e.onlyInjectVisiblePart) { 14575 var d = '*[width="' + i[2] + '"][height="' + i[3] + '"]'; 14576 l = {}, 0 === Math.abs(parseInt(i[0])) ? d += ":not([x])" : (l.x = i[0], d += '[x="' + i[0] + '"]'), 0 === Math.abs(parseInt(i[1])) ? d += ":not([y])" : (l.y = i[1], d += '[y="' + i[1] + '"]'), o = t.querySelectorAll(d), o.length, p = o[0]; 14577 } 14578 if (p && p instanceof SVGSVGElement) { 14579 c = p.cloneNode(!0); 14580 for (var g in l) "width" !== g && "height" !== g && c.removeAttribute(g); 14581 } else if (p && p instanceof SVGUseElement) { 14582 var h = t.getElementById(p.getAttributeNS(O, "href").substr(1)); 14583 c = v(h), s = h.getAttribute("viewBox"), i = s.split(" "), f = u = !0; 14584 } else f = u = !0, c = t.cloneNode(!0); 14585 } 14586 a = m(c); 14587 var b = e.prefixFragIdClass + r; 14588 a.indexOf(b) < 0 && (a.push(b), c.setAttribute("class", a.join(" "))); 14589 } 14590 return u && c.setAttribute("viewBox", i.join(" ")), f && (c.setAttribute("width", i[2] + "px"), c.setAttribute("height", i[3] + "px")), c.setAttribute("xmlns", V), c.setAttribute("xmlns:xlink", O), c; 14591 }, y = function y(e, t, r, n) { 14592 s[e] = s[e] || [], s[e].push({ 14593 callback: r, 14594 fragmentId: t, 14595 element: n, 14596 name: name 14597 }); 14598 }, S = function S(e) { 14599 for (var t, r = 0, n = s[e].length; r < n; r++) !function (r) { 14600 setTimeout(function () { 14601 t = s[e][r], k(e, t.fragmentId, t.callback, t.element, t.n
14601ame); 14602 }, 0); 14603 }(r); 14604 }, A = function A(t, r, i) { 14605 var s, l, a, c, u; 14606 if (s = r.split("#"), l = s[0], a = 2 === s.length ? s[1] : void 0, void 0 !== a && (u = l.split("/"), c = u[u.length - 1].replace(".svg", "")), void 0 !== n[l]) n[l] instanceof SVGSVGElement ? k(l, a, t, i, c) : y(l, a, t, i, c);else { 14607 if (!e.XMLHttpRequest) return t("Browser does not support XMLHttpRequest"), !1; 14608 n[l] = {}, y(l, a, t, i, c); 14609 var f = new XMLHttpRequest(); 14610 f.onreadystatechange = function () { 14611 if (4 === f.readyState) { 14612 if (404 === f.status || null === f.responseXML) return t("Unable to load SVG file: " + l), !1; 14613 if (!(200 === f.status || o.isLocal && 0 === f.status)) return t("There was a problem injecting the SVG: " + f.status + " " + f.statusText), !1; 14614 if (f.responseXML instanceof Document) n[l] = f.responseXML.documentElement;else if (DOMParser && DOMParser instanceof Function) { 14615 var e; 14616 try { 14617 var i = new DOMParser(); 14618 e = i.parseFromString(f.responseText, "text/xml"); 14619 } catch (t) { 14620 e = void 0; 14621 } 14622 if (!e || e.getElementsByTagName("parsererror").length) return t("Unable to parse SVG file: " + r), !1; 14623 n[l] = e.documentElement; 14624 } 14625 S(l); 14626 } 14627 }, f.open("GET", l), f.overrideMimeType && f.overrideMimeType("text/xml"), f.send(); 14628 } 14629 }, C = function C(e) { 14630 var r = "svg." + e + " {fill: currentColor;}", 14631 n = t.head || t.getElementsByTagName("head")[0], 14632 i = t.createElement("style"); 14633 i.type = "text/css", i.styleSheet ? i.styleSheet.cssText = r : i.appendChild(t.createTextNode(r)), n.appendChild(i); 14634 }, x = function x(e, t, r) { 14635 r ? e.className.replace(t, "") : e.className += " " + t; 14636 }, k = function k(t, r, s, o, c) { 14637 var u, v, h, y, S, A, C, x; 14638 if (void 0 === (u = b(a, n[t], r)) || "string" == typeof u) return S = o.getAttribute("data-fallback-svg"), S = !(!S && !a.svgFallbackDir) && a.svgFallbackDir + "/" + r + ".svg", S ? (o.setAttribute("data-src", S), i.elements.splice(i.elements.indexOf(o), 1), G(o, s)) : s(u), !1; 14639 u.setAttribute("role", "img"), I.call(u.children || [], function (e) { 14640 e instanceof SVGDefsElement || e instanceof SVGTitleElement || e instanceof SVGDescElement || e.setAttribute("role", "presentation"); 14641 }), y = o.getAttribute("aria-hidden") || u.getAttribute("aria-hidden"), y ? (u.setAttribute("aria-hidden", "true"), C = u.querySelector("title"), x = u.querySelector("desc"), C && u.removeChild(C), x && u.removeChild(x)) : (h = F("desc", u, o, r, !1), v = F("title", u, o, r, !1), (h.length > 0 || v.length > 0) && (A = v + " " + h, u.setAttribute("aria-labelledby", A.trim()))), d(o, u, ["class"]); 14642 var k = [].concat(u.getAttribute("class") || [], "injected-svg", o.getAttribute("class") || []).join(" "); 14643 u.setAttribute("class", N(k)), f(u, i.count, c), u.removeAttribute("xmlns:a"); 14644 for (var w, j, E = u.querySelectorAll("script"), T = [], V = 0, O = E.length; V < O; V++) (j = E[V].getAttribute("type")) && "application/ecmascript" !== j && "application/javascript" !== j || (w = E[V].innerText || E[V].textContent, T.push(w), u.removeChild(E[V])); 14645 if (T.length > 0 && ("always" === a.evalScripts || "once" === a.evalScripts && !l[t])) { 14646 for (var q = 0, L = T.length; q < L; q++) new Function(T[q])(e); 14647 l[t] = !0; 14648 } 14649 var M = u.querySelectorAll("style"); 14650 I.call(M, function (e) { 14651 var t = m(u), 14652 r = !0; 14653 (t.indexOf(a.removeStylesClass) >= 0 || a.removeAllStyles) && t.indexOf(a.keepStylesClass) < 0 ? e.parentNode.removeChild(e) : (p(e, i.count, u, c) > 0 && (r = !1), a.prefixStyleTags && (g(e, i.count, u, c), r = !1), r && (e.textContent += "")); 14654 }), o.parentNode.replaceChild(u, o), delete i.elements[i.elements.indexOf(o)], i.count++, s(u); 14655 }, N = function N(e) { 14656 e = e.split(" "); 14657 for (var t = {}, r = e.length, n = []; r--;) t.hasOwnProperty(e[r]) || (t[e[r]] = 1, n.unshift(e[r])); 14658 return n.join(" "); 14659 }, w = function w(e) { 14660 return !!(e && e.constructor && e.call && e.apply); 14661 }, j = function j(e) { 14662 return "[object Array]" === Object.prototype.toString.call(e); 14663 }, E = function E(e, t) { 14664 var r = e.getAttribute("class"); 14665 r = r || "", j(t) && (t = t.join(" ")), t = r + " " + t, e.setAttribute("class", N(t)); 14666 }, I = Array.prototype.forEach || function (e, t) { 14667 if (void 0 === this || null === this || "function" != typeof e) throw new TypeError(); 14668 var r, 14669 n = this.length >>> 0; 14670 for (r = 0; r < n; ++r) r in this && e.call(t, this[r], r, this); 14671 }, F = function F(e, t, r, n, s) { 14672 var l, 14673 a = n ? n + "-" : ""; 14674 return a += e + "-" + i.count, l = r.querySelector(e), l ? T(e, t, l.textContent, a, t.firstChild) : (l = t.querySelector(e), l ? l.setAttribute("id", a) : s ? T(e, t, n, a, t.firstChild) : a = ""), a; 14675 }, T = function T(e, r, n, i, s) { 14676 var l, 14677 a = r.querySelector(e); 14678 return l = t.createElementNS(V, e), l.appendChild(t.createTextNode(n)), l.setAttribute("id", i), r.insertBefore(l, s), a && a.parentNode.removeChild(a), l; 14679 }, r; 14680 }(); 14681 "object" == (typeof angular === "undefined" ? "undefined" : _typeof(angular)) ? angular.module("svginjector", []).provider("svgInjectorOptions", function () { 14682 var e = {}; 14683 return { 14684 set: function set(t) { 14685 e = t; 14686 }, 14687 $get: function $get() { 14688 return e; 14689 } 14690 }; 14691 }).factory("svgInjectorFactory", ["svgInjectorOptions", function (e) { 14692 return new r(e); 14693 }]).directive("svg", ["svgInjectorFactory", function (e) { 14694 var t = e.getConfig(); 14695 return { 14696 restrict: "E", 14697 link: function link(r, n, i) { 14698 i["class"] && i["class"].indexOf(t.spriteClassIdName) >= 0 ? i.$observe("class", function () { 14699 e.inject(n[0]); 14700 }) : (i.dataSrc || i.src) && e.inject(n[0]); 14701 } 14702 }; 14703 }]) : "object" == (typeof module === "undefined" ? "undefined" : _typeof(module)) && "object" == _typeof(module.exports) ? module.exports = r : "function" == typeof define && define.amd ? define(function () { 14704 return r; 14705 }) : "object" == _typeof(e) && (e.SVGInjector = r); 14706}(window, document); 14707/* End */ 14708; 14709; /* Start:"a:4:{s:4:"full";s:64:"/local/templates/culture/build/js/shared/main.js?176656724415888";s:6:"source";s:48:"/local/templates/culture/build/js/shared/main.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 14710"use strict"; 14711 14712new SVGInjector({ 14713 removeAllStyles: true, 14714 removeStylesClass: "icon" 14715}).inject(document.querySelectorAll("svg[data-src]")); 14716 14717// ÐпÑимизиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¸Ð½Ð¸ÑиализаÑÐ¸Ñ Swiper Ñо Ñлайдами видимоÑÑи и lazy loading 14718let swipers = {}; 14719let loadedSwipers = new Set(); 14720 14721// ÐонÑигÑÑаÑии ÑлайдеÑов Ñ Ð¾Ð¿ÑимизаÑией загÑÑзки изобÑажений 14722const swiperConfigs = { 14723 slider1: { 14724 selector: '.slider1', 14725 config: { 14726 slidesPerView: 1, 14727 pagination: { 14728 el: ".slider1-pagination", 14729 clickable: true, 14730 }, 14731 navigation: { 14732 nextEl: ".swiper-button-next", 14733 prevEl: ".swiper-button-prev", 14734 }, 14735 grabCursor: true, 14736 loop: true, 14737 preloadImages: false, 14738 lazy: { 14739 loadPrevNext: true, 14740 loadPrevNextAmount: 1, 14741 }, 14742 on: { 14743 init: function() { 14744 preloadSliderImages(this); 14745 }, 14746 slideChange: function() { 14747 lazyLoadImages(this); 14748 } 14749 } 14750 } 14751 }, 14752 slider2: { 14753 selector: '.slider2', 14754 config: { 14755 slidesPerView: 1, 14756 pagination: { 14757 el: ".slider2-pagination", 14758 clickable: true, 14759 }, 14760 navigation: { 14761 nextEl: ".swiper-button-next", 14762 prevEl: ".swiper-button-prev", 14763 }, 14764 grabCursor: true, 14765 loop: true, 14766 centeredSlides: true, 14767 preloadImages: false, 14768 lazy: { 14769 loadPrevNext: true, 14770 loadPrevNextAmount: 1, 14771 }, 14772 on: { 14773 init: function() { 14774 preloadSliderImages(this); 14775 }, 14776 slideChange: function() { 14777 lazyLoadImages(this); 14778 } 14779 } 14780 } 14781 }, 14782 slider_news: { 14783 selector: '.slider_news', 14784 config: { 14785 pagination: { 14786 el: ".event-pagination", 14787 clickable: true, 14788 }, 14789 navigation: { 14790 nextEl: ".swiper-button-next", 14791 prevEl: ".swiper-button-prev", 14792 }, 14793 breakpoints: { 14794 320: { slidesPerView: 1, slidesPerGroup: 1 }, 14795 480: { slidesPerView: 2, slidesPerGroup: 2 }, 14796 900: { slidesPerView: 3, slidesPerGroup: 3 }, 14797 1200: { slidesPerView: 4, slidesPerGroup: 4 } 14798 }, 14799 grabCursor: true, 14800 loop: true, 14801 spaceBetween: 20, 14802 preloadImages: false, 14803 lazy: { 14804 loadPrevNext: true, 14805 loadPrevNextAmount: 2, 14806 }, 14807 on: { 14808 init: function() { 14809 preloadSliderImages(this); 14810 }, 14811 slideChange: function() { 14812 lazyLoadImages(this); 14813 } 14814 } 14815 } 14816 }, 14817 slider_links: { 14818 selector: '.slider_links', 14819 config: { 14820 pagination: { 14821 el: ".links-pagination", 14822 clickable: true, 14823 }, 14824 navigation: { 14825 nextEl: ".swiper-button-next", 14826 prevEl: ".swiper-button-prev", 14827 }, 14828 breakpoints: { 14829 320: { slidesPerView: 2, slidesPerGroup: 2 }, 14830 480: { slidesPerView: 3, slidesPerGroup: 3 }, 14831 1024: { slidesPerView: 4, slidesPerGroup: 4 }, 14832 1200: { slidesPerView: 5, slidesPerGroup: 5 } 14833 }, 14834 grabCursor: true, 14835 loop: true, 14836 spaceBetween: 20, 14837 preloadImages: false, 14838 lazy: { 14839 loadPrevNext: true, 14840 loadPrevNextAmount: 2, 14841 }, 14842 on: { 14843 init: function() { 14844 preloadSliderImages(this); 14845 }, 14846 slideChange: function() { 14847 lazyLoadImages(this); 14848 } 14849 } 14850 } 14851 }, 14852 slider_events: { 14853 selector: '.slider_events', 14854 config: { 14855 pagination: { 14856 el: ".event-pagination", 14857 clickable: true, 14858 }, 14859 navigation: { 14860 nextEl: ".event-button-next", 14861 prevEl: ".event-button-prev", 14862 }, 14863 breakpoints: { 14864 320: { slidesPerView: 1, slidesPerGroup: 1 }, 14865 480: { slidesPerView: 2, slidesPerGroup: 2 }, 14866 900: { slidesPerView: 3, slidesPerGroup: 3 }, 14867 1200: { slidesPerView: 4, slidesPerGroup: 4 } 14868 }, 14869 grabCursor: true, 14870 loop: true, 14871 spaceBetween: 20, 14872 preloadImages: false, 14873 lazy: { 14874 loadPrevNext: true, 14875 loadPrevNextAmount: 2, 14876 }, 14877 on: { 14878 init: function() { 14879 preloadSliderImages(this); 14880 }, 14881 slideChange: function() { 14882 lazyLoadImages(this); 14883 } 14884 } 14885 } 14886 }, 14887 slider_org: { 14888 selector: '.slider_org', 14889 config: { 14890 pagination: { 14891 el: ".org-pagination", 14892 clickable: true, 14893 }, 14894 navigation: { 14895 nextEl: ".org-button-next", 14896 prevEl: ".org-button-prev", 14897 }, 14898 breakpoints: { 14899 320: { slidesPerView: 1, slidesPerGroup: 1 }, 14900 480: { slidesPerView: 2, slidesPerGroup: 2 }, 14901 900: { slidesPerView: 3, slidesPerGroup: 3 }, 14902 1200: { slidesPerView: 4, slidesPerGroup: 4 } 14903 }, 14904 grabCursor: true, 14905 loop: true, 14906 spaceBetween: 20, 14907 preloadImages: false, 14908 lazy: { 14909 loadPrevNext: true, 14910 loadPrevNextAmount: 2, 14911 }, 14912 on: { 14913 init: function() { 14914 preloadSliderImages(this); 14915 }, 14916 slideChange: function() { 14917 lazyLoadImages(this); 14918 } 14919 } 14920 } 14921 } 14922}; 14923 14924/** 14925 * ÐÑедзагÑÑÐ¶Ð°ÐµÑ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑекÑÑего Ñлайда и ÑоÑÐµÐ´Ð½Ð¸Ñ 14926 */ 14927function preloadSliderImages(swiper) { 14928 if (!swiper) return; 14929 14930 const slides = swiper.slides; 14931 if (!slides || slides.length === 0) return; 14932 14933 // ÐÑедзагÑÑжаем ÑекÑÑий Ñлайд 14934 const activeIndex = swiper.activeIndex; 14935 preloadImageInSlide(slides[activeIndex]); 14936 14937 // ÐÑедзагÑÑжаем ÑоÑедние ÑÐ»Ð°Ð¹Ð´Ñ 14938 if (activeIndex > 0) { 14939 preloadImageInSlide(slides[activeIndex - 1]); 14940 } 14941 if (activeIndex < slides.length - 1) { 14942 preloadImageInSlide(slides[activeIndex + 1]); 14943 } 14944} 14945 14946/** 14947 * ÐÐµÐ½Ð¸Ð²Ð°Ñ Ð·Ð°Ð³ÑÑзка изобÑажений в Ñлайде 14948 */ 14949function lazyLoadImages(swiper) { 14950 if (!swiper) return; 14951 14952 const slides = swiper.slides; 14953 if (!slides || slides.length === 0) return; 14954 14955 const activeIndex = swiper.activeIndex; 14956 14957 // ÐагÑÑжаем ÑекÑÑий Ñлайд 14958 preloadImageInSlide(slides[activeIndex]); 14959 14960 // ÐÑедзагÑÑжаем ÑледÑÑÑий и пÑедÑдÑÑий ÑÐ»Ð°Ð¹Ð´Ñ 14961 if (activeIndex > 0) { 14962 preloadImageInSlide(slides[activeIndex - 1]); 14963 } 14964 if (activeIndex < slides.length - 1) { 14965 preloadImageInSlide(slides[activeIndex + 1]); 14966 } 14967} 14968 14969/** 14970 * ÐагÑÑÐ¶Ð°ÐµÑ Ð¸Ð·Ð¾Ð±Ñажение в Ñлайде 14971 */ 14972function preloadImageInSlide(slide) { 14973 if (!slide) return; 14974 14975 // ÐÑовеÑÑем ÑлеменÑÑ Ñ background-image 14976 const bgElements = slide.querySelectorAll('[style*="background-image"]');
14977 bgElements.forEach(element => { 14978 // ÐÑовеÑÑем, Ñже ли загÑÑжено 14979 const bgImage = element.style.backgroundImage; 14980 if (bgImage && bgImage.includes('url(')) { 14981 // ÐзобÑажение Ñже в CSS, ниÑего не нÑжно делаÑÑ 14982 } 14983 }); 14984 14985 // ÐÑовеÑÑем img Ñеги 14986 const images = slide.querySelectorAll('img[data-src]'); 14987 images.forEach(img => { 14988 if (!img.src || img.src === '') { 14989 img.src = img.getAttribute('data-src'); 14990 } 14991 }); 14992} 14993 14994/** 14995 * ÐниÑиализиÑÑÐµÑ ÑÐ»Ð°Ð¹Ð´ÐµÑ Ð¿Ð¾ конÑигÑÑаÑии 14996 */ 14997function initializeSwiper(name, config) { 14998 if (!config.selector) return; 14999 15000 // ÐÑопÑÑкаем, еÑли Ñже иниÑиализиÑован 15001 if (loadedSwipers.has(name)) { 15002 return; 15003 } 15004 15005 const element = document.querySelector(config.selector); 15006 if (!element) { 15007 console.warn(`Swiper element not found: ${config.selector}`); 15008 return; 15009 } 15010 15011 try { 15012 if (typeof Swiper !== 'undefined') { 15013 // ÐÑовеÑÑем колиÑеÑÑво Ñлайдов 15014 const slides = element.querySelectorAll('.swiper-slide'); 15015 const slideCount = slides.length; 15016 15017 // Создаем ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ¾Ð½ÑигÑÑаÑии Ð´Ð»Ñ ÑÑого ÑлайдеÑа 15018 const finalConfig = JSON.parse(JSON.stringify(config.config)); 15019 15020 // ÐпÑеделÑем минималÑное колиÑеÑÑво Ñлайдов Ð´Ð»Ñ loop Ñежима 15021 let minSlidesForLoop = 3; // по ÑмолÑÐ°Ð½Ð¸Ñ 15022 15023 if (finalConfig.breakpoints) { 15024 // ÐеÑем макÑималÑнÑй slidesPerView из breakpoints 15025 const breakpointValues = Object.values(finalConfig.breakpoints); 15026 const maxSlidesPerView = Math.max(...breakpointValues.map(bp => bp.slidesPerView || 1)); 15027 minSlidesForLoop = maxSlidesPerView * 2; // нÑжно минимÑм slidesPerView * 2 Ñлайдов 15028 } else if (finalConfig.slidesPerView) { 15029 minSlidesForLoop = finalConfig.slidesPerView * 2; 15030 } 15031 15032 // ÐÑклÑÑаем loop еÑли Ñлайдов недоÑÑаÑоÑно 15033 if (slideCount < minSlidesForLoop) { 15034 finalConfig.loop = false; 15035 console.warn(`Loop disabled for "${name}" - only ${slideCount} slides (min required: ${minSlidesForLoop})`); 15036 } 15037 15038 // ÐÑклÑÑаем centeredSlides еÑли недоÑÑаÑоÑно Ñлайдов 15039 if (slideCount < 3 && finalConfig.centeredSlides) { 15040 finalConfig.centeredSlides = false; 15041 } 15042 15043 swipers[name] = new Swiper(config.selector, finalConfig); 15044 loadedSwipers.add(name); 15045 console.log(`Swiper "${name}" initialized successfully (${slideCount} slides)`); 15046 15047 // ÐÑименÑем опÑимизаÑÐ¸Ñ Ð·Ð°Ð³ÑÑзки изобÑажений 15048 preloadSliderImages(swipers[name]); 15049 } 15050 } catch (error) { 15051 console.error(`Error initializing Swiper "${name}":`, error); 15052 } 15053} 15054 15055/** 15056 * ÐниÑиализиÑÑÐµÑ Ð²Ñе видимÑе ÑлайдеÑÑ (above the fold) 15057 */ 15058function initializeVisibleSwipers() { 15059 if (typeof Swiper === 'undefined') { 15060 console.error('Swiper не загÑÑжен!'); 15061 return; 15062 } 15063 15064 console.log('Swiper загÑÑжен, веÑÑиÑ:', Swiper.version); 15065 15066 // ÐниÑиализиÑÑем ÑолÑко видимÑе ÑлайдеÑÑ (пеÑвÑе в viewport) 15067 const prioritySwipers = ['slider1', 'slider2']; 15068 prioritySwipers.forEach(name => { 15069 if (swiperConfigs[name]) { 15070 const element = document.querySelector(swiperConfigs[name].selector); 15071 if (element && element.offsetParent !== null) { 15072 initializeSwiper(name, swiperConfigs[name]); 15073 } 15074 } 15075 }); 15076} 15077 15078/** 15079 * ÐÑÐ»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ð¸Ð½Ð¸ÑиализаÑÐ¸Ñ ÑлайдеÑов, коÑоÑÑе не Ð²Ð¸Ð´Ð½Ñ Ð² viewport 15080 */ 15081function deferredInitializeSwipers() { 15082 if (typeof Swiper === 'undefined') { 15083 return; 15084 } 15085 15086 // ÐÑполÑзÑем Intersection Observer Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ ÑÑÑекÑивной иниÑиализаÑии 15087 if ('IntersectionObserver' in window) {
15088 Object.entries(swiperConfigs).forEach(([name, config]) => { 15089 if (loadedSwipers.has(name)) return; 15090 15091 const element = document.querySelector(config.selector); 15092 if (!element) return; 15093 15094 const observer = new IntersectionObserver((entries) => { 15095 entries.forEach(entry => { 15096 if (entry.isIntersecting && !loadedSwipers.has(name)) { 15097 initializeSwiper(name, config); 15098 observer.unobserve(entry.target); 15099 } 15100 }); 15101 }, { 15102 rootMargin: '100px' // ÐаÑинаем загÑÑÐ·ÐºÑ Ð·Ð° 100px до viewport 15103 }); 15104 15105 observer.observe(element); 15106 }); 15107 } else { 15108 // Fallback Ð´Ð»Ñ ÑÑаÑÑÑ Ð±ÑаÑзеÑов 15109 Object.entries(swiperConfigs).forEach(([name, config]) => { 15110 if (!loadedSwipers.has(name)) { 15111 const element = document.querySelector(config.selector); 15112 if (element) { 15113 initializeSwiper(name, config); 15114 } 15115 } 15116 }); 15117 } 15118} 15119 15120/** 15121 * ÐпÑимизаÑÐ¸Ñ Ð·Ð°Ð³ÑÑзки изобÑажений в ÑлайдеÑÐ°Ñ 15122 */ 15123function optimizeSliderImages() { 15124 // ÐобавлÑем loading="lazy" ко вÑем изобÑажениÑм в ÑлайдеÑÐ°Ñ 15125 const sliderImages = document.querySelectorAll('.swiper img'); 15126 sliderImages.forEach(img => { 15127 if (!img.hasAttribute('loading')) { 15128 img.setAttribute('loading', 'lazy'); 15129 } 15130 }); 15131 15132 // УÑÑанавливаем placeholder Ð´Ð»Ñ background-images 15133 const bgSlides = document.querySelectorAll('.swiper-slide[style*="background-image"]');
vendor: 10,735 bytes, lines 15134-15185
15134 bgSlides.forEach(slide => { 15135 if (!slide.hasAttribute('data-loading-optimized')) { 15136 // ÐобавлÑем placeholder ÑÐ²ÐµÑ 15137 slide.style.backgroundColor = '#f0f0f0'; 15138 slide.setAttribute('data-loading-optimized', 'true'); 15139 } 15140 }); 15141} 15142 15143// ÐниÑиализаÑÐ¸Ñ Ð¿Ñи загÑÑзке DOM 15144document.addEventListener('DOMContentLoaded', function() { 15145 // ÐпÑимизиÑÑем загÑÑÐ·ÐºÑ Ð¸Ð·Ð¾Ð±Ñажений 15146 optimizeSliderImages(); 15147 15148 // СнаÑала иниÑиализиÑÑем видимÑе ÑлайдеÑÑ (above the fold) 15149 initializeVisibleSwipers(); 15150 15151 // ÐÑÐ»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ð¸Ð½Ð¸ÑиализаÑÐ¸Ñ Ð¾ÑÑалÑнÑÑ ÑлайдеÑов 15152 // ÐÑполÑзÑем requestIdleCallback еÑли доÑÑÑпна, инаÑе setTimeout 15153 if ('requestIdleCallback' in window) { 15154 requestIdleCallback(() => { 15155 deferredInitializeSwipers(); 15156 }, { timeout: 3000 }); 15157 } else { 15158 setTimeout(() => { 15159 deferredInitializeSwipers(); 15160 }, 2000); 15161 } 15162}); 15163 15164// ÐниÑиализаÑÐ¸Ñ Ð¿Ñи ÑкÑолле (Ð´Ð»Ñ ÑлайдеÑов, коÑоÑÑе поÑвлÑÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ) 15165window.addEventListener('scroll', function() { 15166 deferredInitializeSwipers(); 15167}, { passive: true }); 15168 15169// ÐниÑиализаÑÐ¸Ñ Ð¿Ñи изменении ÑазмеÑа окна 15170window.addEventListener('resize', function() { 15171 deferredInitializeSwipers(); 15172}, { passive: true }); 15173/* End */ 15174; 15175; /* Start:"a:4:{s:4:"full";s:61:"/local/templates/culture/build/js/gsap.min.js?176656724471157";s:6:"source";s:45:"/local/templates/culture/build/js/gsap.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 15176/*! 15177 * GSAP 3.11.4 15178 * https://greensock.com 15179 * 15180 * @license Copyright 2022, GreenSock. All rights reserved. 15181 * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership. 15182 * @author: Jack Doyle, [email protected] 15183 */ 15184 15185!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).window=t.window||{})}(this,function(e){"use strict";function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function r(t){return"string"==typeof t}function s(t){return"function"==typeof t}function t(t){return"number"==typeof t}function u(t){return void 0===t}function v(t){return"object"==typeof t}function w(t){return!1!==t}function x(){return"undefined"!=typeof window}function y(t){return s(t)||r(t)}function P(t){return(i=yt(t,ot))&&Ce}function Q(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")}function R(t,e){return!e&&console.warn(t)}function S(t,e){return t&&(ot[t]=e)&&i&&(i[t]=e)||ot}function T(){return 0}function ea(t){var e,r,i=t[0];if(v(i)||s(i)||(t=[t]),!(e=(i._gsap||{}).harness)){for(r=gt.length;r--&&!gt[r].targetTest(i););e=gt[r]}for(r=t.length;r--;)t[r]&&(t[r]._gsap||(t[r]._gsap=new jt(t[r],e)))||t.splice(r,1);return t}function fa(t){return t._gsap||ea(Ot(t))[0]._gsap}function ga(t,e,r){return(r=t[e])&&s(r)?t[e]():u(r)&&t.getAttribute&&t.getAttribute(e)||r}function ha(t,e){return(t=t.split(",")).forEach(e)||t}function ia(t){return Math.round(1e5*t)/1e5||0}function ja(t){return Math.round(1e7*t)/1e7||0}function ka(t,e){var r=e.charAt(0),i=parseFloat(e.substr(2));return t=parseFloat(t),"+"===r?t+i:"-"===r?t-i:"*"===r?t*i:t/i}function la(t,e){for(var r=e.length,i=0;t.indexOf(e[i])<0&&++i<r;);return i<r}function ma(){var t,e,r=ct.length,i=ct.slice(0);for(dt={},t=ct.length=0;t<r;t++)(e=i[t])&&e._lazy&&(e.render(e._lazy[0],e._lazy[1],!0)._lazy=0)}function na(t,e,r,i){ct.length&&!B&&ma(),t.render(e,r,i||B&&e<0&&(t._initted||t._startAt)),ct.length&&!B&&ma()}function oa(t){var e=parseFloat(t);return(e||0===e)&&(t+"").match(at).length<2?e:r(t)?t.trim():t}function pa(t){return t}function qa(t,e){for(var r in e)r in t||(t[r]=e[r]);return t}function ta(t,e){for(var r in e)"__proto__"!==r&&"constructor"!==r&&"prototype"!==r&&(t[r]=v(e[r])?ta(t[r]||(t[r]={}),e[r]):e[r]);return t}function ua(t,e){var r,i={};for(r in t)r in e||(i[r]=t[r]);return i}function va(t){var e=t.parent||L,r=t.keyframes?function _setKeyframeDefaults(i){return function(t,e){for(var r in e)r in t||"duration"===r&&i||"ease"===r||(t[r]=e[r])}}($(t.keyframes)):qa;if(w(t.inherit))for(;e;)r(t,e.vars.defaults),e=e.parent||e._dp;return t}function xa(t,e,r,i,n){void 0===r&&(r="_first"),void 0===i&&(i="_last");var a,s=t[i];if(n)for(a=e[n];s&&s[n]>a;)s=s._prev;return s?(e._next=s._next,s._next=e):(e._next=t[r],t[r]=e),e._next?e._next._prev=e:t[i]=e,e._prev=s,e.parent=e._dp=t,e}function ya(t,e,r,i){void 0===r&&(r="_first"),void 0===i&&(i="_last");var n=e._prev,a=e._next;n?n._next=a:t[r]===e&&(t[r]=a),a?a._prev=n:t[i]===e&&(t[i]=n),e._next=e._prev=e.parent=null}function za(t,e){!t.parent||e&&!t.parent.autoRemoveChildren||t.parent.remove(t),t._act=0}function Aa(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var r=t;r;)r._dirty=1,r=r.parent;return t}function Ca(t,e,r,i){return t._startAt&&(B?t._startAt.revert(ht):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))}function Ea(t){return t._repeat?Tt(t._tTime,t=t.duration()+t._rDelay)*t:0}function Ga(t,e){return(t-e._start)*e._ts+(0<=e._ts?0:e._dirty?e.totalDuration():e._tDur)}function Ha(t){return t._end=ja(t._start+(t._tDur/Math.abs(t._ts||t._rts||V)||0))}function Ia(t,e){var r=t._dp;return r&&r.smoothChildTiming&&t._ts&&(t._start=ja(r._time-(0<t._ts?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),Ha(t),r._dirty||Aa(r,t)),t}function Ja(t,e){var r;if((e._time||e._initted&&!e._dur)&&(r=Ga(t.rawTime(),e),(!e._dur||kt(0,e.totalDuration(),r)-e._tTime>V)&&e.render(r,!0)),Aa(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur<t.duration())for(r=t;r._dp;)0<=r.rawTime()&&r.totalTime(r._tTime),r=r._dp;t._zTime=-V}}function Ka(e,r,i,n){return r.parent&&za(r),r._start=ja((t(i)?i:i||e!==L?xt(e,i,r):e._time)+r._delay),r._end=ja(r._start+(r.totalDuration()/Math.abs(r.timeScale())||0)),xa(e,r,"_first","_last",e._sort?"_start":0),bt(r)||(e._recent=r),n||Ja(e,r),e._ts<0&&Ia(e,e._tTime),e}function La(t,e){return(ot.ScrollTrigger||Q("scrollTrigger",e))&&ot.ScrollTrigger.create(e,t)}function Ma(t,e,r,i,n){return Ht(t,e,n),t._initted?!r&&t._pt&&!B&&(t._dur&&!1!==t.vars.lazy||!t._dur&&t.vars.lazy)&&f!==Et.frame?(ct.push(t),t._lazy=[n,i],1):void 0:1}function Ra(t,e,r,i){var n=t._repeat,a=ja(e)||0,s=t._tTime/t._tDur;return s&&!i&&(t._time*=a/t._dur),t._dur=a,t._tDur=n?n<0?1e10:ja(a*(n+1)+t._rDelay*n):a,0<s&&!i&&Ia(t,t._tTime=t._tDur*s),t.parent&&Ha(t),r||Aa(t.parent,t),t}function Sa(t){return t instanceof Ut?Aa(t):Ra(t,t._dur)}function Va(e,r,i){var n,a,s=t(r[1]),o=(s?2:1)+(e<2?0:1),u=r[o];if(s&&(u.duration=r[1]),u.parent=i,e){for(n=u,a=i;a&&!("immediateRender"in n);)n=a.vars.defaults||{},a=w(a.vars.inherit)&&a.parent;u.immediateRender=w(n.immediateRender),e<2?u.runBackwards=1:u.startAt=r[o-1]}return new Gt(r[0],u,r[1+o])}function Wa(t,e){return t||0===t?e(t):e}function Ya(t,e){return r(t)&&(e=st.exec(t))?e[1]:""}function _a(t,e){return t&&v(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&v(t[0]))&&!t.nodeType&&t!==h}function cb(r){return r=Ot(r)[0]||R("Invalid scope")||{},function(t){var e=r.current||r.nativeElement||r;return Ot(t,e.querySelectorAll?e:e===r?R("Invalid scope")||a.createElement("div"):r)}}function db(t){return t.sort(function(){return.5-Math.random()})}function eb(t){if(s(t))return t;var p=v(t)?t:{each:t},_=Yt(p.ease),m=p.from||0,g=parseFloat(p.base)||0,y={},e=0<m&&m<1,T=isNaN(m)||e,b=p.axis,w=m,x=m;return r(m)?w=x={center:.5,edges:.5,end:1}[m]||0:!e&&T&&(w=m[0],x=m[1]),function(t,e,r){var i,n,a,s,o,u,h,l,f,c=(r||p).length,d=y[c];if(!d){if(!(f="auto"===p.grid?0:(p.grid||[1,U])[1])){for(h=-U;h<(h=r[f++].getBoundingClientRect().left)&&f<c;);f--}for(d=y[c]=[],i=T?Math.min(f,c)*w-.5:m%f,n=f===U?0:T?c*x/f-.5:m/f|0,l=U,u=h=0;u<c;u++)a=u%f-i,s=n-(u/f|0),d[u]=o=b?Math.abs("y"===b?s:a):K(a*a+s*s),h<o&&(h=o),o<l&&(l=o);"random"===m&&db(d),d.max=h-l,d.min=l,d.v=c=(parseFloat(p.amount)||parseFloat(p.each)*(c<f?c-1:b?"y"===b?c/f:f:Math.max(f,c/f))||0)*("edges"===m?-1:1),d.b=c<0?g-c:g,d.u=Ya(p.amount||p.each)||0,_=_&&c<0?Lt(_):_}return c=(d[t]-d.min)/d.max||0,ja(d.b+(_?_(c):c)*d.v)+d.u}}function fb(i){var n=Math.pow(10,((i+"").split(".")[1]||"").length);return function(e){var r=ja(Math.round(parseFloat(e)/i)*i*n);return(r-r%1)/n+(t(e)?0:Ya(e))}}function gb(h,e){var l,f,r=$(h);return!r&&v(h)&&(l=r=h.radius||U,h.values?(h=Ot(h.values),(f=!t(h[0]))&&(l*=l)):h=fb(h.increment)),Wa(e,r?s(h)?function(t){return f=h(t),Math.abs(f-t)<=l?f:t}:function(e){for(var r,i,n=parseFloat(f?e.x:e),a=parseFloat(f?e.y:0),s=U,o=0,u=h.length;u--;)(r=f?(r=h[u].x-n)*r+(i=h[u].y-a)*i:Math.abs(h[u]-n))<s&&(s=r,o=u);return o=!l||s<=l?h[o]:e,f||o===e||t(e)?o:o+Ya(e)}:fb(h))}function hb(t,e,r,i){return Wa($(t)?!e:!0===r?!!(r=0):!i,function(){return $(t)?t[~~(Math.random()*t.length)]:(r=r||1e-5)&&(i=r<1?Math.pow(10,(r+"").length-2):1)&&Math.floor(Math.round((t-r/2+Math.random()*(e-t+.99*r))/r)*r*i)/i})}function lb(e,r,t){return Wa(t,function(t){return e[~~r(t)]})}function ob(t){for(var e,r,i,n,a=0,s="";~(e=t.indexOf("random(",a));)i=t.indexOf(")",e),n="["===t.charAt(e+7),r=t.substr(e+7,i-e-7).match(n?at:tt),s+=t.substr(a,e-a)+hb(n?r:+r[0],n?0:+r[1],+r[2]||1e-5),a=i+1;return s+t.substr(a,t.length-a)}function rb(t,e,r){var i,n,a,s=t.labels,o=U;for(i in s)(n=s[i]-e)<0==!!r&&n&&o>(n=Math.abs(n))&&(a=i,o=n);return a}function tb(t){return za(t),t.scrollTrigger&&t.scrollTrigger.kill(!!B),t.progress()<1&&Ct(t,"onInterrupt"),t}function yb(t,e,r){return(6*(t+=t<0?1:1<t?-1:0)<1?e+(r-e)*t*6:t<.5?r:3*t<2?e+(r-e)*(2/3-t)*6:e)*At+.5|0}function zb(e,r,i){var n,a,s,o,u,h,l,f,c,d,p=e?t(e)?[e>>16,e>>8&At,e&At]:0:St.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),St[e])p=St[e];else if("#"===e.charAt(0)){if(e.length<6&&(e="#"+(n=e.charAt(1))+n+(a=e.charAt(2))+a+(s=e.charAt(3))+s+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&At,p&At,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&At,e&At]}else if("hsl"===e.substr(0,3))if(p=d=e.match(tt),r){if(~e.indexOf("="))return p=e.match(et),i&&p.length<4&&(p[3]=1),p}else o=+p[0]%360/360,u=p[1]/100,n=2*(h=p[2]/100)-(a=h<=.5?h*(u+1):h+u-h*u),3<p.length&&(p[3]*=1),p[0]=yb(o+1/3,n,a),p[1]=yb(o,n,a),p[2]=yb(o-1/3,n,a);else p=e.match(tt)||St.transparent;p=p.map(Number)}
vendor: 4,669 bytes, line 15185
15185return r&&!d&&(n=p[0]/At,a=p[1]/At,s=p[2]/At,h=((l=Math.max(n,a,s))+(f=Math.min(n,a,s)))/2,l===f?o=u=0:(c=l-f,u=.5<h?c/(2-l-f):c/(l+f),o=l===n?(a-s)/c+(a<s?6:0):l===a?(s-n)/c+2:(n-a)/c+4,o*=60),p[0]=~~(o+.5),p[1]=~~(100*u+.5),p[2]=~~(100*h+.5)),i&&p.length<4&&(p[3]=1),p}function Ab(t){var r=[],i=[],n=-1;return t.split(Rt).forEach(function(t){var e=t.match(rt)||[];r.push.apply(r,e),i.push(n+=e.length+1)}),r.c=i,r}function Bb(t,e,r){var i,n,a,s,o="",u=(t+o).match(Rt),h=e?"hsla(":"rgba(",l=0;if(!u)return t;if(u=u.map(function(t){return(t=zb(t,e,1))&&h+(e?t[0]+","+t[1]+"%,"+t[2]+"%,"+t[3]:t.join(","))+")"}),r&&(a=Ab(t),(i=r.c).join(o)!==a.c.join(o)))for(s=(n=t.replace(Rt,"1").split(rt)).length-1;l<s;l++)o+=n[l]+(~i.indexOf(l)?u.shift()||h+"0,0,0,0)":(a.length?a:u.length?u:r).shift());if(!n)for(s=(n=t.split(Rt)).length-1;l<s;l++)o+=n[l]+u[l];return o+n[s]}function Eb(t){var e,r=t.join(" ");if(Rt.lastIndex=0,Rt.test(r))return e=Dt.test(r),t[1]=Bb(t[1],e),t[0]=Bb(t[0],e,Ab(t[1])),!0}function Nb(t){var e=(t+"").split("("),r=Ft[e[0]];return r&&1<e.length&&r.config?r.config.apply(null,~t.indexOf("{")?[function _parseObjectInString(t){for(var e,r,i,n={},a=t.substr(1,t.length-3).split(":"),s=a[0],o=1,u=a.length;o<u;o++)r=a[o],e=o!==u-1?r.lastIndexOf(","):r.length,i=r.substr(0,e),n[s]=isNaN(i)?i.replace(Bt,"").trim():+i,s=r.substr(e+1).trim();return n}(e[1])]:function _valueInParentheses(t){var e=t.indexOf("(")+1,r=t.indexOf(")"),i=t.indexOf("(",e);return t.substring(e,~i&&i<r?t.indexOf(")",r+1):r)}(t).split(",").map(oa)):Ft._CE&&It.test(t)?Ft._CE("",t):r}function Pb(t,e){for(var r,i=t._first;i;)i instanceof Ut?Pb(i,e):!i.vars.yoyoEase||i._yoyo&&i._repeat||i._yoyo===e||(i.timeline?Pb(i.timeline,e):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=e)),i=i._next}function Rb(t,e,r,i){void 0===r&&(r=function easeOut(t){return 1-e(1-t)}),void 0===i&&(i=function easeInOut(t){return t<.5?e(2*t)/2:1-e(2*(1-t))/2});var n,a={easeIn:e,easeOut:r,easeInOut:i};return ha(t,function(t){for(var e in Ft[t]=ot[t]=a,Ft[n=t.toLowerCase()]=r,a)Ft[n+("easeIn"===e?".in":"easeOut"===e?".out":".inOut")]=Ft[t+"."+e]=a[e]}),a}function Sb(e){return function(t){return t<.5?(1-e(1-2*t))/2:.5+e(2*(t-.5))/2}}function Tb(r,t,e){function Hm(t){return 1===t?1:i*Math.pow(2,-10*t)*G((t-a)*n)+1}var i=1<=t?t:1,n=(e||(r?.3:.45))/(t<1?t:1),a=n/W*(Math.asin(1/i)||0),s="out"===r?Hm:"in"===r?function(t){return 1-Hm(1-t)}:Sb(Hm);return n=W/n,s.config=function(t,e){return Tb(r,t,e)},s}function Ub(e,r){function Pm(t){return t?--t*t*((r+1)*t+r)+1:0}void 0===r&&(r=1.70158);var t="out"===e?Pm:"in"===e?function(t){return 1-Pm(1-t)}:Sb(Pm);return t.config=function(t){return Ub(e,t)},t}var I,B,l,L,h,n,a,i,o,f,c,d,p,_,m,g,b,k,M,O,C,A,D,E,z,F,Y,N,j={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},q={duration:.5,overwrite:!1,delay:0},U=1e8,V=1/U,W=2*Math.PI,X=W/4,H=0,K=Math.sqrt,Z=Math.cos,G=Math.sin,J="function"==typeof ArrayBuffer&&ArrayBuffer.isView||function(){},$=Array.isArray,tt=/(?:-?\.?\d|\.)+/gi,et=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,rt=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,it=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,nt=/[+-]=-?[.\d]+/,at=/[^,'"\[\]\s]+/gi,st=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ot={},ut={suppressEvents:!0,isStart:!0,kill:!1},ht={suppressEvents:!0,kill:!1},lt={suppressEvents:!0},ft={},ct=[],dt={},pt={},_t={},mt=30,gt=[],vt="",yt=function _merge(t,e){for(var r in e)t[r]=e[r];return t},Tt=function _animationCycle(t,e){var r=Math.floor(t/=e);return t&&r===t?r-1:r},bt=function _isFromOrFromStart(t){var e=t.data;return"isFromStart"===e||"isStart"===e},wt={_start:0,endTime:T,totalDuration:T},xt=function _parsePosition(t,e,i){var n,a,s,o=t.labels,u=t._recent||wt,h=t.duration()>=U?u.endTime(!1):t._dur;return r(e)&&(isNaN(e)||e in o)?(a=e.charAt(0),s="%"===e.substr(-1),n=e.indexOf("="),"<"===a||">"===a?(0<=n&&(e=e.replace(/=/,"")),("<"===a?u._start:u.endTime(0<=u._repeat))+(parseFloat(e.substr(1))||0)*(s?(n<0?u:i).totalDuration()/100:1)):n<0?(e in o||(o[e]=h),o[e]):(a=parseFloat(e.charAt(n-1)+e.substr(n+1)),s&&i&&(a=a/100*($(i)?i[0]:i).totalDuration()),1<n?_parsePosition(t,e.substr(0,n-1),i)+a:h+a)):null==e?h:+e},kt=function _clamp(t,e,r){return r<t?t:e<r?e:r},Mt=[].slice,Ot=function toArray(t,e,i){return l&&!e&&l.selector?l.selector(t):!r(t)||i||!n&&zt()?$(t)?function _flatten(t,e,i){return void 0===i&&(i=[]),t.forEach(function(t){return r(t)&&!e||_a(t,1)?i.push.apply(i,Ot(t)):i.push(t)})||i}(t,i):_a(t)?Mt.call(t,0):t?[t]:[]:Mt.call((e||a).querySelectorAll(t),0)},Pt=function mapRange(e,t,r,i,n){var a=t-e,s=i-r;return Wa(n,function(t){return r+((t-e)/a*s||0)})},Ct=function _callback(t,e,r){var i,n,a,s=t.vars,o=s[e],u=l,h=t._ctx;
vendor: 7,063 bytes, line 15185
15185if(o)return i=s[e+"Params"],n=s.callbackScope||t,r&&ct.length&&ma(),h&&(l=h),a=i?o.apply(n,i):o.call(n),l=u,a},At=255,St={aqua:[0,At,At],lime:[0,At,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,At],navy:[0,0,128],white:[At,At,At],olive:[128,128,0],yellow:[At,At,0],orange:[At,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[At,0,0],pink:[At,192,203],cyan:[0,At,At],transparent:[At,At,At,0]},Rt=function(){var t,e="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b";for(t in St)e+="|"+t+"\\b";return new RegExp(e+")","gi")}(),Dt=/hsl[a]?\(/,Et=(M=Date.now,O=500,C=33,A=M(),D=A,z=E=1e3/240,g={time:0,frame:0,tick:function tick(){wl(!0)},deltaRatio:function deltaRatio(t){return b/(1e3/(t||60))},wake:function wake(){o&&(!n&&x()&&(h=n=window,a=h.document||{},ot.gsap=Ce,(h.gsapVersions||(h.gsapVersions=[])).push(Ce.version),P(i||h.GreenSockGlobals||!h.gsap&&h||{}),m=h.requestAnimationFrame),p&&g.sleep(),_=m||function(t){return setTimeout(t,z-1e3*g.time+1|0)},d=1,wl(2))},sleep:function sleep(){(m?h.cancelAnimationFrame:clearTimeout)(p),d=0,_=T},lagSmoothing:function lagSmoothing(t,e){O=t||1/0,C=Math.min(e||33,O)},fps:function fps(t){E=1e3/(t||240),z=1e3*g.time+E},add:function add(n,t,e){var a=t?function(t,e,r,i){n(t,e,r,i),g.remove(a)}:n;return g.remove(n),F[e?"unshift":"push"](a),zt(),a},remove:function remove(t,e){~(e=F.indexOf(t))&&F.splice(e,1)&&e<=k&&k--},_listeners:F=[]}),zt=function _wake(){return!d&&Et.wake()},Ft={},It=/^[\d.\-M][\d.\-,\s]/,Bt=/["']/g,Lt=function _invertEase(e){return function(t){return 1-e(1-t)}},Yt=function _parseEase(t,e){return t&&(s(t)?t:Ft[t]||Nb(t))||e};function wl(t){var e,r,i,n,a=M()-D,s=!0===t;if(O<a&&(A+=a-C),(0<(e=(i=(D+=a)-A)-z)||s)&&(n=++g.frame,b=i-1e3*g.time,g.time=i/=1e3,z+=e+(E<=e?4:E-e),r=1),s||(p=_(wl)),r)for(k=0;k<F.length;k++)F[k](i,b,n,t)}function en(t){return t<N?Y*t*t:t<.7272727272727273?Y*Math.pow(t-1.5/2.75,2)+.75:t<.9090909090909092?Y*(t-=2.25/2.75)*t+.9375:Y*Math.pow(t-2.625/2.75,2)+.984375}ha("Linear,Quad,Cubic,Quart,Quint,Strong",function(t,e){var r=e<5?e+1:e;Rb(t+",Power"+(r-1),e?function(t){return Math.pow(t,r)}:function(t){return t},function(t){return 1-Math.pow(1-t,r)},function(t){return t<.5?Math.pow(2*t,r)/2:1-Math.pow(2*(1-t),r)/2})}),Ft.Linear.easeNone=Ft.none=Ft.Linear.easeIn,Rb("Elastic",Tb("in"),Tb("out"),Tb()),Y=7.5625,N=1/2.75,Rb("Bounce",function(t){return 1-en(1-t)},en),Rb("Expo",function(t){return t?Math.pow(2,10*(t-1)):0}),Rb("Circ",function(t){return-(K(1-t*t)-1)}),Rb("Sine",function(t){return 1===t?1:1-Z(t*X)}),Rb("Back",Ub("in"),Ub("out"),Ub()),Ft.SteppedEase=Ft.steps=ot.SteppedEase={config:function config(t,e){void 0===t&&(t=1);var r=1/t,i=t+(e?0:1),n=e?1:0;return function(t){return((i*kt(0,.99999999,t)|0)+n)*r}}},q.ease=Ft["quad.out"],ha("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(t){return vt+=t+","+t+"Params,"});var Nt,jt=function GSCache(t,e){this.id=H++,(t._gsap=this).target=t,this.harness=e,this.get=e?e.get:ga,this.set=e?e.getSetter:re},qt=((Nt=Animation.prototype).delay=function delay(t){return t||0===t?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+t-this._delay),this._delay=t,this):this._delay},Nt.duration=function duration(t){return arguments.length?this.totalDuration(0<this._repeat?t+(t+this._rDelay)*this._repeat:t):this.totalDuration()&&this._dur},Nt.totalDuration=function totalDuration(t){return arguments.length?(this._dirty=0,Ra(this,this._repeat<0?t:(t-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},Nt.totalTime=function totalTime(t,e){if(zt(),!arguments.length)return this._tTime;var r=this._dp;if(r&&r.smoothChildTiming&&this._ts){for(Ia(this,t),!r._dp||r.parent||Ja(r,this);r&&r.parent;)r.parent._time!==r._start+(0<=r._ts?r._tTime/r._ts:(r.totalDuration()-r._tTime)/-r._ts)&&r.totalTime(r._tTime,!0),r=r.parent;!this.parent&&this._dp.autoRemoveChildren&&(0<this._ts&&t<this._tDur||this._ts<0&&0<t||!this._tDur&&!t)&&Ka(this._dp,this,this._start-this._delay)}return(this._tTime!==t||!this._dur&&!e||this._initted&&Math.abs(this._zTime)===V||!t&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=t),na(this,t,e)),this},Nt.time=function time(t,e){return arguments.length?this.totalTime(Math.min(this.totalDuration(),t+Ea(this))%(this._dur+this._rDelay)||(t?this._dur:0),e):this._time},Nt.totalProgress=function totalProgress(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.ratio},Nt.progress=function progress(t,e){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?t:1-t)+Ea(this),e):this.duration()?Math.min(1,this._time/this._dur):this.ratio},Nt.iteration=function iteration(t,e){var r=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(t-1)*r,e):this._repeat?Tt(this._tTime,r)+1:1},Nt.timeScale=function timeScale(t){if(!arguments.length)return this._rts===-V?0:this._rts;if(this._rts===t)return this;var e=this.parent&&this._ts?Ga(this.parent._time,this):this._tTime;return this._rts=+t||0,this._ts=this._ps||t===-V?0:this._rts,this.totalTime(kt(-this._delay,this._tDur,e),!0),Ha(this),function _recacheAncestors(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t}(this)},Nt.paused=function paused(t){return arguments.length?(this._ps!==t&&((this._ps=t)?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(zt(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&Math.abs(this._zTime)!==V&&(this._tTime-=V)))),this):this._ps},Nt.startTime=function startTime(t){if(arguments.length){this._start=t;var e=this.parent||this._dp;return!e||!e._sort&&this.parent||Ka(e,this,t-this._delay),this}return this._start},Nt.endTime=function endTime(t){return this._start+(w(t)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},Nt.rawTime=function rawTime(t){var e=this.parent||this._dp;return e?t&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ga(e.rawTime(t),this):this._tTime:this._tTime},Nt.revert=function revert(t){void 0===t&&(t=lt);var e=B;return B=t,(this._initted||this._startAt)&&(this.timeline&&this.timeline.revert(t),this.totalTime(-.01,t.suppressEvents)),"nested"!==this.data&&!1!==t.kill&&this.kill(),B=e,this},Nt.globalTime=function globalTime(t){for(var e=this,r=arguments.length?t:e.rawTime();e;)r=e._start+r/(e._ts||1),e=e._dp;return!this.parent&&this._sat?this._sat.vars.immediateRender?-1:this._sat.globalTime(t):r},Nt.repeat=function repeat(t){return arguments.length?(this._repeat=t===1/0?-2:t,Sa(this)):-2===this._repeat?1/0:this._repeat},Nt.repeatDelay=function repeatDelay(t){if(arguments.length){var e=this._time;return this._rDelay=t,Sa(this),e?this.time(e):this}return this._rDelay},Nt.yoyo=function yoyo(t){return arguments.length?(this._yoyo=t,this):this._yoyo}
vendor: 8,948 bytes, line 15185
15185,Nt.seek=function seek(t,e){return this.totalTime(xt(this,t),w(e))},Nt.restart=function restart(t,e){return this.play().totalTime(t?-this._delay:0,w(e))},Nt.play=function play(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},Nt.reverse=function reverse(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},Nt.pause=function pause(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},Nt.resume=function resume(){return this.paused(!1)},Nt.reversed=function reversed(t){return arguments.length?(!!t!==this.reversed()&&this.timeScale(-this._rts||(t?-V:0)),this):this._rts<0},Nt.invalidate=function invalidate(){return this._initted=this._act=0,this._zTime=-V,this},Nt.isActive=function isActive(){var t,e=this.parent||this._dp,r=this._start;return!(e&&!(this._ts&&this._initted&&e.isActive()&&(t=e.rawTime(!0))>=r&&t<this.endTime(!0)-V))},Nt.eventCallback=function eventCallback(t,e,r){var i=this.vars;return 1<arguments.length?(e?(i[t]=e,r&&(i[t+"Params"]=r),"onUpdate"===t&&(this._onUpdate=e)):delete i[t],this):i[t]},Nt.then=function then(t){var i=this;return new Promise(function(e){function zo(){var t=i.then;i.then=null,s(r)&&(r=r(i))&&(r.then||r===i)&&(i.then=t),e(r),i.then=t}var r=s(t)?t:pa;i._initted&&1===i.totalProgress()&&0<=i._ts||!i._tTime&&i._ts<0?zo():i._prom=zo})},Nt.kill=function kill(){tb(this)},Animation);function Animation(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,Ra(this,+t.duration,1,1),this.data=t.data,l&&(this._ctx=l).data.push(this),d||Et.wake()}qa(qt.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-V,_prom:0,_ps:!1,_rts:1});var Ut=function(i){function Timeline(t,e){var r;return void 0===t&&(t={}),(r=i.call(this,t)||this).labels={},r.smoothChildTiming=!!t.smoothChildTiming,r.autoRemoveChildren=!!t.autoRemoveChildren,r._sort=w(t.sortChildren),L&&Ka(t.parent||L,_assertThisInitialized(r),e),t.reversed&&r.reverse(),t.paused&&r.paused(!0),t.scrollTrigger&&La(_assertThisInitialized(r),t.scrollTrigger),r}_inheritsLoose(Timeline,i);var e=Timeline.prototype;return e.to=function to(t,e,r){return Va(0,arguments,this),this},e.from=function from(t,e,r){return Va(1,arguments,this),this},e.fromTo=function fromTo(t,e,r,i){return Va(2,arguments,this),this},e.set=function set(t,e,r){return e.duration=0,e.parent=this,va(e).repeatDelay||(e.repeat=0),e.immediateRender=!!e.immediateRender,new Gt(t,e,xt(this,r),1),this},e.call=function call(t,e,r){return Ka(this,Gt.delayedCall(0,t,e),r)},e.staggerTo=function staggerTo(t,e,r,i,n,a,s){return r.duration=e,r.stagger=r.stagger||i,r.onComplete=a,r.onCompleteParams=s,r.parent=this,new Gt(t,r,xt(this,n)),this},e.staggerFrom=function staggerFrom(t,e,r,i,n,a,s){return r.runBackwards=1,va(r).immediateRender=w(r.immediateRender),this.staggerTo(t,e,r,i,n,a,s)},e.staggerFromTo=function staggerFromTo(t,e,r,i,n,a,s,o){return i.startAt=r,va(i).immediateRender=w(i.immediateRender),this.staggerTo(t,e,i,n,a,s,o)},e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_=this._time,m=this._dirty?this.totalDuration():this._tDur,g=this._dur,v=t<=0?0:ja(t),y=this._zTime<0!=t<0&&(this._initted||!g);if(this!==L&&m<v&&0<=t&&(v=m),v!==this._tTime||r||y){if(_!==this._time&&g&&(v+=this._time-_,t+=this._time-_),i=v,f=this._start,u=!(l=this._ts),y&&(g||(_=this._zTime),!t&&e||(this._zTime=t)),this._repeat){if(d=this._yoyo,o=g+this._rDelay,this._repeat<-1&&t<0)return this.totalTime(100*o+t,e,r);if(i=ja(v%o),v===m?(s=this._repeat,i=g):((s=~~(v/o))&&s===v/o&&(i=g,s--),g<i&&(i=g)),c=Tt(this._tTime,o),!_&&this._tTime&&c!==s&&(c=s),d&&1&s&&(i=g-i,p=1),s!==c&&!this._lock){var T=d&&1&c,b=T===(d&&1&s);if(s<c&&(T=!T),_=T?0:g,this._lock=1,this.render(_||(p?0:ja(s*o)),e,!g)._lock=0,this._tTime=v,!e&&this.parent&&Ct(this,"onRepeat"),this.vars.repeatRefresh&&!p&&(this.invalidate()._lock=1),_&&_!==this._time||u!=!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(g=this._dur,m=this._tDur,b&&(this._lock=2,_=T?g:-1e-4,this.render(_,!0),this.vars.repeatRefresh&&!p&&this.invalidate()),this._lock=0,!this._ts&&!u)return this;Pb(this,p)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(h=function _findNextPauseTween(t,e,r){var i;if(e<r)for(i=t._first;i&&i._start<=r;){if("isPause"===i.data&&i._start>e)return i;i=i._next}else for(i=t._last;i&&i._start>=r;){if("isPause"===i.data&&i._start<e)return i;i=i._prev}}(this,ja(_),ja(i)))&&(v-=i-(i=h._start)),this._tTime=v,this._time=i,this._act=!l,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=t,_=0),!_&&i&&!e&&(Ct(this,"onStart"),this._tTime!==v))return this;if(_<=i&&0<=t)for(n=this._first;n;){if(a=n._next,(n._act||i>=n._start)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(i-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(i-n._start)*n._ts,e,r),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=-V);break}}n=a}else{n=this._last;for(var w=t<0?t:i;n;){if(a=n._prev,(n._act||w<=n._end)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(w-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(w-n._start)*n._ts,e,r||B&&(n._initted||n._startAt)),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=w?-V:V);break}}n=a}}if(h&&!e&&(this.pause(),h.render(_<=i?0:-V)._zTime=_<=i?1:-1,this._ts))return this._start=f,Ha(this),this.render(t,e,r);this._onUpdate&&!e&&Ct(this,"onUpdate",!0),(v===m&&this._tTime>=this.totalDuration()||!v&&_)&&(f!==this._start&&Math.abs(l)===Math.abs(this._ts)||this._lock||(!t&&g||!(v===m&&0<this._ts||!v&&this._ts<0)||za(this,1),e||t<0&&!_||!v&&!_&&m||(Ct(this,v===m&&0<=t?"onComplete":"onReverseComplete",!0),!this._prom||v<m&&0<this.timeScale()||this._prom())))}return this},e.add=function add(e,i){var n=this;if(t(i)||(i=xt(this,i,e)),!(e instanceof qt)){if($(e))return e.forEach(function(t){return n.add(t,i)}),this;if(r(e))return this.addLabel(e,i);if(!s(e))return this;e=Gt.delayedCall(0,e)}return this!==e?Ka(this,e,i):this},e.getChildren=function getChildren(t,e,r,i){void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===r&&(r=!0),void 0===i&&(i=-U);for(var n=[],a=this._first;a;)a._start>=i&&(a instanceof Gt?e&&n.push(a):(r&&n.push(a),t&&n.push.apply(n,a.getChildren(!0,e,r)))),a=a._next;return n},e.getById=function getById(t){for(var e=this.getChildren(1,1,1),r=e.length;r--;)if(e[r].vars.id===t)return e[r]},e.remove=function remove(t){return r(t)?this.removeLabel(t):s(t)?this.killTweensOf(t):(ya(this,t),t===this._recent&&(this._recent=this._last),Aa(this))},e.totalTime=function totalTime(t,e){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ja(Et.time-(0<this._ts?t/this._ts:(this.totalDuration()-t)/-this._ts))),i.prototype.totalTime.call(this,t,e),this._forcing=0,this):this._tTime},e.addLabel=function addLabel(t,e){return this.labels[t]=xt(this,e),this},e.removeLabel=function removeLabel(t){return delete this.labels[t],this},e.addPause=function addPause(t,e,r){var i=Gt.delayedCall(0,e||T,r);return i.data="isPause",this._hasPause=1,Ka(this,i,xt(this,t))},e.removePause=function removePause(t){var e=this._first;for(t=xt(this,t);e;)e._start===t&&"isPause"===e.data&&za(e),e=e._next},e.killTweensOf=function killTweensOf(t,e,r){for(var i=this.getTweensOf(t,r),n=i.length;n--;)Vt!==i[n]&&i[n].kill(t,e);return this},e.getTweensOf=function getTweensOf(e,r){for(var i,n=[],a=Ot(e),s=this._first,o=t(r);s;)s instanceof Gt?la(s._targets,a)&&(o?(!Vt||s._initted&&s._ts)&&s.globalTime(0)<=r&&s.globalTime(s.totalDuration())>r:!r||s.isActive())&&n.push(s):(i=s.getTweensOf(a,r)).length&&n.push.apply(n,i),s=s._next;return n},e.tweenTo=function tweenTo(t,e){e=e||{};var r,i=this,n=xt(i,t),a=e.startAt,s=e.onStart,o=e.onStartParams,u=e.immediateRender,h=Gt.to(i,qa({ease:e.ease||"none",lazy:!1,immediateRender:!1,time:n,overwrite:"auto",duration:e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale())||V,onStart:function onStart(){if(i.pause(),!r){var t=e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale());h._dur!==t&&Ra(h,t,0,1).render(h._time,!0,!0),r=1}s&&s.apply(h,o||[])}},e));return u?h.render(0):h},e.tweenFromTo=function tweenFromTo(t,e,r){return this.tweenTo(e,qa({startAt:{time:xt(this,t)}},r))},e.recent=function recent(){return this._recent},e.nextLabel=function nextLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t))},e.previousLabel=function previousLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t),1)},e.currentLabel=function currentLabel(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+V)},e.shiftChildren=function shiftChildren(t,e,r){void 0===r&&(r=0);for(var i,n=this._first,a=this.labels;n;)n._start>=r&&(n._start+=t,n._end+=t),n=n._next;if(e)for(i in a)a[i]>=r&&(a[i]+=t);return Aa(this)}
vendor: 14,610 bytes, line 15185
15185,e.invalidate=function invalidate(t){var e=this._first;for(this._lock=0;e;)e.invalidate(t),e=e._next;return i.prototype.invalidate.call(this,t)},e.clear=function clear(t){void 0===t&&(t=!0);for(var e,r=this._first;r;)e=r._next,this.remove(r),r=e;return this._dp&&(this._time=this._tTime=this._pTime=0),t&&(this.labels={}),Aa(this)},e.totalDuration=function totalDuration(t){var e,r,i,n=0,a=this,s=a._last,o=U;if(arguments.length)return a.timeScale((a._repeat<0?a.duration():a.totalDuration())/(a.reversed()?-t:t));if(a._dirty){for(i=a.parent;s;)e=s._prev,s._dirty&&s.totalDuration(),o<(r=s._start)&&a._sort&&s._ts&&!a._lock?(a._lock=1,Ka(a,s,r-s._delay,1)._lock=0):o=r,r<0&&s._ts&&(n-=r,(!i&&!a._dp||i&&i.smoothChildTiming)&&(a._start+=r/a._ts,a._time-=r,a._tTime-=r),a.shiftChildren(-r,!1,-Infinity),o=0),s._end>n&&s._ts&&(n=s._end),s=e;Ra(a,a===L&&a._time>n?a._time:n,1,1),a._dirty=0}return a._tDur},Timeline.updateRoot=function updateRoot(t){if(L._ts&&(na(L,Ga(t,L)),f=Et.frame),Et.frame>=mt){mt+=j.autoSleep||120;var e=L._first;if((!e||!e._ts)&&j.autoSleep&&Et._listeners.length<2){for(;e&&!e._ts;)e=e._next;e||Et.sleep()}}},Timeline}(qt);qa(Ut.prototype,{_lock:0,_hasPause:0,_forcing:0});function _b(t,e,i,n,a,o){var u,h,l,f;if(pt[t]&&!1!==(u=new pt[t]).init(a,u.rawVars?e[t]:function _processVars(t,e,i,n,a){if(s(t)&&(t=Qt(t,a,e,i,n)),!v(t)||t.style&&t.nodeType||$(t)||J(t))return r(t)?Qt(t,a,e,i,n):t;var o,u={};for(o in t)u[o]=Qt(t[o],a,e,i,n);return u}(e[t],n,a,o,i),i,n,o)&&(i._pt=h=new pe(i._pt,a,t,0,1,u.render,u,0,u.priority),i!==c))for(l=i._ptLookup[i._targets.indexOf(a)],f=u._props.length;f--;)l[u._props[f]]=h;return u}function fc(t,r,e,i){var n,a,s=r.ease||i||"power1.inOut";if($(r))a=e[t]||(e[t]=[]),r.forEach(function(t,e){return a.push({t:e/(r.length-1)*100,v:t,e:s})});else for(n in r)a=e[n]||(e[n]=[]),"ease"===n||a.push({t:parseFloat(t),v:r[n],e:s})}var Vt,Wt,Xt=function _addPropTween(t,e,i,n,a,o,u,h,l,f){s(n)&&(n=n(a||0,t,o));var c,d=t[e],p="get"!==i?i:s(d)?l?t[e.indexOf("set")||!s(t["get"+e.substr(3)])?e:"get"+e.substr(3)](l):t[e]():d,_=s(d)?l?ee:$t:Jt;if(r(n)&&(~n.indexOf("random(")&&(n=ob(n)),"="===n.charAt(1)&&(!(c=ka(p,n)+(Ya(p)||0))&&0!==c||(n=c))),!f||p!==n||Wt)return isNaN(p*n)||""===n?(d||e in t||Q(e,n),function _addComplexStringPropTween(t,e,r,i,n,a,s){var o,u,h,l,f,c,d,p,_=new pe(this._pt,t,e,0,1,se,null,n),m=0,g=0;for(_.b=r,_.e=i,r+="",(d=~(i+="").indexOf("random("))&&(i=ob(i)),a&&(a(p=[r,i],t,e),r=p[0],i=p[1]),u=r.match(it)||[];o=it.exec(i);)l=o[0],f=i.substring(m,o.index),h?h=(h+1)%5:"rgba("===f.substr(-5)&&(h=1),l!==u[g++]&&(c=parseFloat(u[g-1])||0,_._pt={_next:_._pt,p:f||1===g?f:",",s:c,c:"="===l.charAt(1)?ka(c,l)-c:parseFloat(l)-c,m:h&&h<4?Math.round:0},m=it.lastIndex);return _.c=m<i.length?i.substring(m,i.length):"",_.fp=s,(nt.test(i)||d)&&(_.e=0),this._pt=_}.call(this,t,e,p,n,_,h||j.stringFilter,l)):(c=new pe(this._pt,t,e,+p||0,n-(p||0),"boolean"==typeof d?ae:ne,0,_),l&&(c.fp=l),u&&c.modifier(u,this,t),this._pt=c)},Ht=function _initTween(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_,m=t.vars,g=m.ease,v=m.startAt,y=m.immediateRender,T=m.lazy,b=m.onUpdate,x=m.onUpdateParams,k=m.callbackScope,M=m.runBackwards,O=m.yoyoEase,P=m.keyframes,C=m.autoRevert,A=t._dur,S=t._startAt,R=t._targets,D=t.parent,E=D&&"nested"===D.data?D.vars.targets:R,z="auto"===t._overwrite&&!I,F=t.timeline;if(!F||P&&g||(g="none"),t._ease=Yt(g,q.ease),t._yEase=O?Lt(Yt(!0===O?g:O,q.ease)):0,O&&t._yoyo&&!t._repeat&&(O=t._yEase,t._yEase=t._ease,t._ease=O),t._from=!F&&!!m.runBackwards,!F||P&&!m.stagger){if(p=(l=R[0]?fa(R[0]).harness:0)&&m[l.prop],i=ua(m,ft),S&&(S._zTime<0&&S.progress(1),e<0&&M&&y&&!C?S.render(-1,!0):S.revert(M&&A?ht:ut),S._lazy=0),v){if(za(t._startAt=Gt.set(R,qa({data:"isStart",overwrite:!1,parent:D,immediateRender:!0,lazy:!S&&w(T),startAt:null,delay:0,onUpdate:b,onUpdateParams:x,callbackScope:k,stagger:0},v))),t._startAt._dp=0,t._startAt._sat=t,e<0&&(B||!y&&!C)&&t._startAt.revert(ht),y&&A&&e<=0&&r<=0)return void(e&&(t._zTime=e))}else if(M&&A&&!S)if(e&&(y=!1),a=qa({overwrite:!1,data:"isFromStart",lazy:y&&!S&&w(T),immediateRender:y,stagger:0,parent:D},i),p&&(a[l.prop]=p),za(t._startAt=Gt.set(R,a)),t._startAt._dp=0,t._startAt._sat=t,e<0&&(B?t._startAt.revert(ht):t._startAt.render(-1,!0)),t._zTime=e,y){if(!e)return}else _initTween(t._startAt,V,V);for(t._pt=t._ptCache=0,T=A&&w(T)||T&&!A,n=0;n<R.length;n++){if(h=(o=R[n])._gsap||ea(R)[n]._gsap,t._ptLookup[n]=c={},dt[h.id]&&ct.length&&ma(),d=E===R?n:E.indexOf(o),l&&!1!==(f=new l).init(o,p||i,t,d,E)&&(t._pt=s=new pe(t._pt,o,f.name,0,1,f.render,f,0,f.priority),f._props.forEach(function(t){c[t]=s}),f.priority&&(u=1)),!l||p)for(a in i)pt[a]&&(f=_b(a,i,t,d,o,E))?f.priority&&(u=1):c[a]=s=Xt.call(t,o,a,"get",i[a],d,E,0,m.stringFilter);t._op&&t._op[n]&&t.kill(o,t._op[n]),z&&t._pt&&(Vt=t,L.killTweensOf(o,c,t.globalTime(e)),_=!t.parent,Vt=0),t._pt&&T&&(dt[h.id]=1)}u&&de(t),t._onInit&&t._onInit(t)}t._onUpdate=b,t._initted=(!t._op||t._pt)&&!_,P&&e<=0&&F.render(U,!0,!0)},Qt=function _parseFuncOrString(t,e,i,n,a){return s(t)?t.call(e,i,n,a):r(t)&&~t.indexOf("random(")?ob(t):t},Kt=vt+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",Zt={};ha(Kt+",id,stagger,delay,duration,paused,scrollTrigger",function(t){return Zt[t]=1});var Gt=function(z){function Tween(e,r,i,n){var a;"number"==typeof r&&(i.duration=r,r=i,i=null);var s,o,u,h,l,f,c,d,p=(a=z.call(this,n?r:va(r))||this).vars,_=p.duration,m=p.delay,g=p.immediateRender,T=p.stagger,b=p.overwrite,x=p.keyframes,k=p.defaults,M=p.scrollTrigger,O=p.yoyoEase,P=r.parent||L,C=($(e)||J(e)?t(e[0]):"length"in r)?[e]:Ot(e);if(a._targets=C.length?ea(C):R("GSAP target "+e+" not found. https://greensock.com",!j.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=b,x||T||y(_)||y(m)){if(r=a.vars,(s=a.timeline=new Ut({data:"nested",defaults:k||{},targets:P&&"nested"===P.data?P.vars.targets:C})).kill(),s.parent=s._dp=_assertThisInitialized(a),s._start=0,T||y(_)||y(m)){if(h=C.length,c=T&&eb(T),v(T))for(l in T)~Kt.indexOf(l)&&((d=d||{})[l]=T[l]);for(o=0;o<h;o++)(u=ua(r,Zt)).stagger=0,O&&(u.yoyoEase=O),d&&yt(u,d),f=C[o],u.duration=+Qt(_,_assertThisInitialized(a),o,f,C),u.delay=(+Qt(m,_assertThisInitialized(a),o,f,C)||0)-a._delay,!T&&1===h&&u.delay&&(a._delay=m=u.delay,a._start+=m,u.delay=0),s.to(f,u,c?c(o,f,C):0),s._ease=Ft.none;s.duration()?_=m=0:a.timeline=0}else if(x){va(qa(s.vars.defaults,{ease:"none"})),s._ease=Yt(x.ease||r.ease||"none");var A,S,D,E=0;if($(x))x.forEach(function(t){return s.to(C,t,">")}),s.duration();else{for(l in u={},x)"ease"===l||"easeEach"===l||fc(l,x[l],u,x.easeEach);for(l in u)for(A=u[l].sort(function(t,e){return t.t-e.t}),o=E=0;o<A.length;o++)(D={ease:(S=A[o]).e,duration:(S.t-(o?A[o-1].t:0))/100*_})[l]=S.v,s.to(C,D,E),E+=D.duration;s.duration()<_&&s.to({},{duration:_-s.duration()})}}_||a.duration(_=s.duration())}else a.timeline=0;return!0!==b||I||(Vt=_assertThisInitialized(a),L.killTweensOf(C),Vt=0),Ka(P,_assertThisInitialized(a),i),r.reversed&&a.reverse(),r.paused&&a.paused(!0),(g||!_&&!x&&a._start===ja(P._time)&&w(g)&&function _hasNoPausedAncestors(t){return!t||t._ts&&_hasNoPausedAncestors(t.parent)}(_assertThisInitialized(a))&&"nested"!==P.data)&&(a._tTime=-V,a.render(Math.max(0,-m)||0)),M&&La(_assertThisInitialized(a),M),a}_inheritsLoose(Tween,z);var e=Tween.prototype;return e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c=this._time,d=this._tDur,p=this._dur,_=t<0,m=d-V<t&&!_?d:t<V?0:t;if(p){if(m!==this._tTime||!t||r||!this._initted&&this._tTime||this._startAt&&this._zTime<0!=_){if(i=m,l=this.timeline,this._repeat){if(s=p+this._rDelay,this._repeat<-1&&_)return this.totalTime(100*s+t,e,r);if(i=ja(m%s),m===d?(a=this._repeat,i=p):((a=~~(m/s))&&a===m/s&&(i=p,a--),p<i&&(i=p)),(u=this._yoyo&&1&a)&&(f=this._yEase,i=p-i),o=Tt(this._tTime,s),i===c&&!r&&this._initted)return this._tTime=m,this;a!==o&&(l&&this._yEase&&Pb(l,u),!this.vars.repeatRefresh||u||this._lock||(this._lock=r=1,this.render(ja(s*a),!0).invalidate()._lock=0))}if(!this._initted){if(Ma(this,_?t:i,r,e,m))return this._tTime=0,this;if(c!==this._time)return this;if(p!==this._dur)return this.render(t,e,r)}if(this._tTime=m,this._time=i,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=h=(f||this._ease)(i/p),this._from&&(this.ratio=h=1-h),i&&!c&&!e&&(Ct(this,"onStart"),this._tTime!==m))return this;for(n=this._pt;n;)n.r(h,n.d),n=n._next;l&&l.render(t<0?t:!i&&u?-V:l._dur*l._ease(i/this._dur),e,r)||this._startAt&&(this._zTime=t),this._onUpdate&&!e&&(_&&Ca(this,t,0,r),Ct(this,"onUpdate")),this._repeat&&a!==o&&this.vars.onRepeat&&!e&&this.parent&&Ct(this,"onRepeat"),m!==this._tDur&&m||this._tTime!==m||(_&&!this._onUpdate&&Ca(this,t,0,!0),!t&&p||!(m===this._tDur&&0<this._ts||!m&&this._ts<0)||za(this,1),e||_&&!c||!(m||c||u)||(Ct(this,m===d?"onComplete":"onReverseComplete",!0),!this._prom||m<d&&0<this.timeScale()||this._prom()))}}else!function _renderZeroDurationTween(t,e,r,i){var n,a,s,o=t.ratio,u=e<0||!e&&(!t._start&&function _parentPlayheadIsBeforeStart(t){var e=t.parent;return e&&e._ts&&e._initted&&!e._lock&&(e.rawTime()<0||_parentPlayheadIsBeforeStart(e))}(t)&&(t._initted||!bt(t))||(t._ts<0||t._dp._ts<0)&&!bt(t))?0:1,h=t._rDelay,l=0;if(h&&t._repeat&&(l=kt(0,t._tDur,e),a=Tt(l,h),t._yoyo&&1&a&&(u=1-u),a!==Tt(t._tTime,h)&&(o=1-u,t.vars.repeatRefresh&&t._initted&&t.invalidate())),u!==o||B||i||t._zTime===V||!e&&t._zTime){if(!t._initted&&Ma(t,e,i,r,l))return;for(s=t._zTime,t._zTime=e||(r?V:0),r=r||e&&!s,t.ratio=u,t._from&&(u=1-u),t._time=0,t._tTime=l,n=t._pt;n;)n.r(u,n.d),n=n._next;e<0&&Ca(t,e,0,!0),t._onUpdate&&!r&&Ct(t,"onUpdate"),l&&t._repeat&&!r&&t.parent&&Ct(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===u&&(u&&za(t,1),r||B||(Ct(t,u?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)}(this,t,e,r);return this},e.targets=function targets(){return this._targets},e.invalidate=function invalidate(t){return t&&this.vars.runBackwards||(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),z.prototype.invalidate.call(this,t)},e.resetTo=function resetTo(t,e,r,i){d||Et.wake(),this._ts||this.play();var n,a=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Ht(this,a),n=this._ease(a/this._dur),function _updatePropTweens(t,e,r,i,n,a,s){var o,u,h,l,f=(t._pt&&t._ptCache||(t._ptCache={}))[e];if(!f)for(f=t._ptCache[e]=[],h=t._ptLookup,l=t._targets.length;l--;){if((o=h[l][e])&&o.d&&o.d._pt)for(o=o.d._pt;o&&o.p!==e&&o.fp!==e;)o=o._next;if(!o)return Wt=1,t.vars[e]="+=0",Ht(t,s),Wt=0,1;f.push(o)}for(l=f.length;l--;)(o=(u=f[l])._pt||u).s=!i&&0!==i||n?o.s+(i||0)+a*o.c:i,o.c=r-o.s,u.e&&(u.e=ia(r)+Ya(u.e)),u.b&&(u.b=o.s+Ya(u.b))}(this,t,e,r,i,n,a)?this.resetTo(t,e,r,i):(Ia(this,0),this.parent||xa(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function kill(t,e){if(void 0===e&&(e="all"),!(t||e&&"all"!==e))return this._lazy=this._pt=0,this.parent?tb(this):this;if(this.timeline){var i=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,Vt&&!0!==Vt.vars.overwrite)._first||tb(this),this.parent&&i!==this.timeline.totalDuration()&&Ra(this,this._dur*this.timeline._tDur/i,0,1),this}var n,a,s,o,u,h,l,f=this._targets,c=t?Ot(t):f,d=this._ptLookup,p=this._pt;if((!e||"all"===e)&&function _arraysMatch(t,e){for(var r=t.length,i=r===e.length;i&&r--&&t[r]===e[r];);return r<0}(f,c))return"all"===e&&(this._pt=0),tb(this);for(n=this._op=this._op||[],"all"!==e&&(r(e)&&(u={},ha(e,function(t){return u[t]=1}),e=u),e=function _addAliasesToVars(t,e){var r,i,n,a,s=t[0]?fa(t[0]).harness:0,o=s&&s.aliases;if(!o)return e;for(i in r=yt({},e),o)if(i in r)for(n=(a=o[i].split(",")).length;n--;)r[a[n]]=r[i];return r}(f,e)),l=f.length;l--;)if(~c.indexOf(f[l]))for(u in a=d[l],"all"===e?(n[l]=e,o=a,s={}):(s=n[l]=n[l]||{},o=e),o)(h=a&&a[u])&&("kill"in h.d&&!0!==h.d.kill(u)||ya(this,h,"_pt"),delete a[u]),"all"!==s&&(s[u]=1);return this._initted&&!this._pt&&p&&tb(this),this},Tween.to=function to(t,e,r){return new Tween(t,e,r)},Tween.from=function from(t,e){return Va(1,arguments)},Tween.delayedCall=function delayedCall(t,e,r,i){return new Tween(e,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:e,onReverseComplete:e,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},Tween.fromTo=function fromTo(t,e,r){return Va(2,arguments)},Tween.set=function set(t,e){return e.duration=0,e.repeatDelay||(e.repeat=0),new Tween(t,e)},Tween.killTweensOf=function killTweensOf(t,e,r){return L.killTweensOf(t,e,r)},Tween}(qt);qa(Gt.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),ha("staggerTo,staggerFrom,staggerFromTo",function(r){Gt[r]=function(){var t=new Ut,e=Mt.call(arguments,0);return e.splice("staggerFromTo"===r?5:4,0,0),t[r].apply(t,e)}});function nc(t,e,r){return t.setAttribute(e,r)}function vc(t,e,r,i){i.mSet(t,e,i.m.call(i.tween,r,i.mt),i)}var Jt=function _setterPlain(t,e,r){return t[e]=r},$t=function _setterFunc(t,e,r){return t[e](r)},ee=function _setterFuncWithParam(t,e,r,i){return t[e](i.fp,r)},re=function _getSetter(t,e){return s(t[e])?$t:u(t[e])&&t.setAttribute?nc:Jt},ne=function _renderPlain(t,e){return e.set(e.t,e.p,Math.round(1e6*(e.s+e.c*t))/1e6,e)},ae=function _renderBoolean(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},se=function _renderComplexString(t,e){var r=e._pt,i="";if(!t&&e.b)i=e.b;else if(1===t&&e.e)i=e.e;else{for(;r;)i=r.p+(r.m?r.m(r.s+r.c*t):Math.round(1e4*(r.s+r.c*t))/1e4)+i,r=r._next;i+=e.c}e.set(e.t,e.p,i,e)},oe=function _renderPropTweens(t,e){for(var r=e._pt;r;)r.r(t,r.d),r=r._next},le=function _addPluginModifier(t,e,r,i){for(var n,a=this._pt;a;)n=a._next,a.p===i&&a.modifier(t,e,r),a=n},fe=function _killPropTweensOf(t){for(var e,r,i=this._pt;i;)r=i._next,i.p===t&&!i.op||i.op===t?ya(this,i,"_pt"):i.dep||(e=1),i=r;return!e},de=function _sortPropTweensByPriority(t){for(var e,r,i,n,a=t._pt;a;){for(e=a._next,r=i;r&&r.pr>a.pr;)r=r._next;(a._prev=r?r._prev:n)?a._prev._next=a:i=a,(a._next=r)?r._prev=a:n=a,a=e}t._pt=i},pe=(PropTween.prototype.modifier=function modifier(t,e,r){this.mSet=this.mSet||this.set,this.set=vc,this.m=t,this.mt=r,this.tween=e},PropTween);function PropTween(t,e,r,i,n,a,s,o,u){this.t=e,this.s=i,this.c=n,this.p=r,this.r=a||ne,this.d=s||this,this.set=o||Jt,this.pr=u||0,(this._next=t)&&(t._prev=this)}ha(vt+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(t){return ft[t]=1}),ot.TweenMax=ot.TweenLite=Gt,ot.TimelineLite=ot.TimelineMax=Ut,
15185L=new Ut({sortChildren:!1,defaults:q,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),j.stringFilter=Eb;function Cc(t){return(Te[t]||we).map(function(t){return t()})}function Dc(){var t=Date.now(),o=[];2<t-xe&&(Cc("matchMediaInit"),ye.forEach(function(t){var e,r,i,n,a=t.queries,s=t.conditions;for(r in a)(e=h.matchMedia(a[r]).matches)&&(i=1),e!==s[r]&&(s[r]=e,n=1);n&&(t.revert(),i&&o.push(t))}),Cc("matchMediaRevert"),o.forEach(function(t){return t.onMatch(t)}),xe=t,Cc("matchMedia"))}var _e,ye=[],Te={},we=[],xe=0,ke=((_e=Context.prototype).add=function add(t,i,n){function Cw(){var t,e=l,r=a.selector;return e&&e!==a&&e.data.push(a),n&&(a.selector=cb(n)),l=a,t=i.apply(a,arguments),s(t)&&a._r.push(t),l=e,a.selector=r,a.isReverted=!1,t}s(t)&&(n=i,i=t,t=s);var a=this;return a.last=Cw,t===s?Cw(a):t?a[t]=Cw:Cw},_e.ignore=function ignore(t){var e=l;l=null,t(this),l=e},_e.getTweens=function getTweens(){var e=[];return this.data.forEach(function(t){return t instanceof Context?e.push.apply(e,t.getTweens()):t instanceof Gt&&!(t.parent&&"nested"===t.parent.data)&&e.push(t)}),e},_e.clear=function clear(){this._r.length=this.data.length=0},_e.kill=function kill(e,t){var r=this;if(e){var i=this.getTweens();this.data.forEach(function(t){"isFlip"===t.data&&(t.revert(),t.getChildren(!0,!0,!1).forEach(function(t){return i.splice(i.indexOf(t),1)}))}),i.map(function(t){return{g:t.globalTime(0),t:t}}).sort(function(t,e){return e.g-t.g||-1}).forEach(function(t){return t.t.revert(e)}),this.data.forEach(function(t){return!(t instanceof qt)&&t.revert&&t.revert(e)}),this._r.forEach(function(t){return t(e,r)}),this.isReverted=!0}else this.data.forEach(function(t){return t.kill&&t.kill()});if(this.clear(),t){var n=ye.indexOf(this);~n&&ye.splice(n,1)}},_e.revert=function revert(t){this.kill(t||{})},Context);function Context(t,e){this.selector=e&&cb(e),this.data=[],this._r=[],this.isReverted=!1,t&&this.add(t)}var Me,Oe=((Me=MatchMedia.prototype).add=function add(t,e,r){v(t)||(t={matches:t});var i,n,a,s=new ke(0,r||this.scope),o=s.conditions={};for(n in this.contexts.push(s),e=s.add("onMatch",e),s.queries=t)"all"===n?a=1:(i=h.matchMedia(t[n]))&&(ye.indexOf(s)<0&&ye.push(s),(o[n]=i.matches)&&(a=1),i.addListener?i.addListener(Dc):i.addEventListener("change",Dc));return a&&e(s),this},Me.revert=function revert(t){this.kill(t||{})}
vendor: 4,965 bytes, line 15185
15185,Me.kill=function kill(e){this.contexts.forEach(function(t){return t.kill(e,!0)})},MatchMedia);function MatchMedia(t){this.contexts=[],this.scope=t}var Pe={registerPlugin:function registerPlugin(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];e.forEach(function(t){return function _createPlugin(t){var e=(t=!t.name&&t.default||t).name,r=s(t),i=e&&!r&&t.init?function(){this._props=[]}:t,n={init:T,render:oe,add:Xt,kill:fe,modifier:le,rawVars:0},a={targetTest:0,get:0,getSetter:re,aliases:{},register:0};if(zt(),t!==i){if(pt[e])return;qa(i,qa(ua(t,n),a)),yt(i.prototype,yt(n,ua(t,a))),pt[i.prop=e]=i,t.targetTest&&(gt.push(i),ft[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}S(e,i),t.register&&t.register(Ce,i,pe)}(t)})},timeline:function timeline(t){return new Ut(t)},getTweensOf:function getTweensOf(t,e){return L.getTweensOf(t,e)},getProperty:function getProperty(i,t,e,n){r(i)&&(i=Ot(i)[0]);var a=fa(i||{}).get,s=e?pa:oa;return"native"===e&&(e=""),i?t?s((pt[t]&&pt[t].get||a)(i,t,e,n)):function(t,e,r){return s((pt[t]&&pt[t].get||a)(i,t,e,r))}:i},quickSetter:function quickSetter(r,e,i){if(1<(r=Ot(r)).length){var n=r.map(function(t){return Ce.quickSetter(t,e,i)}),a=n.length;return function(t){for(var e=a;e--;)n[e](t)}}r=r[0]||{};var s=pt[e],o=fa(r),u=o.harness&&(o.harness.aliases||{})[e]||e,h=s?function(t){var e=new s;c._pt=0,e.init(r,i?t+i:t,c,0,[r]),e.render(1,e),c._pt&&oe(1,c)}:o.set(r,u);return s?h:function(t){return h(r,u,i?t+i:t,o,1)}},quickTo:function quickTo(t,i,e){function Ux(t,e,r){return n.resetTo(i,t,e,r)}var r,n=Ce.to(t,yt(((r={})[i]="+=0.1",r.paused=!0,r),e||{}));return Ux.tween=n,Ux},isTweening:function isTweening(t){return 0<L.getTweensOf(t,!0).length},defaults:function defaults(t){return t&&t.ease&&(t.ease=Yt(t.ease,q.ease)),ta(q,t||{})},config:function config(t){return ta(j,t||{})},registerEffect:function registerEffect(t){var i=t.name,n=t.effect,e=t.plugins,a=t.defaults,r=t.extendTimeline;(e||"").split(",").forEach(function(t){return t&&!pt[t]&&!ot[t]&&R(i+" effect requires "+t+" plugin.")}),_t[i]=function(t,e,r){return n(Ot(t),qa(e||{},a),r)},r&&(Ut.prototype[i]=function(t,e,r){return this.add(_t[i](t,v(e)?e:(r=e)&&{},this),r)})},registerEase:function registerEase(t,e){Ft[t]=Yt(e)},parseEase:function parseEase(t,e){return arguments.length?Yt(t,e):Ft},getById:function getById(t){return L.getById(t)},exportRoot:function exportRoot(t,e){void 0===t&&(t={});var r,i,n=new Ut(t);for(n.smoothChildTiming=w(t.smoothChildTiming),L.remove(n),n._dp=0,n._time=n._tTime=L._time,r=L._first;r;)i=r._next,!e&&!r._dur&&r instanceof Gt&&r.vars.onComplete===r._targets[0]||Ka(n,r,r._start-r._delay),r=i;return Ka(L,n,0),n},context:function context(t,e){return t?new ke(t,e):l},matchMedia:function matchMedia(t){return new Oe(t)},matchMediaRefresh:function matchMediaRefresh(){return ye.forEach(function(t){var e,r,i=t.conditions;for(r in i)i[r]&&(i[r]=!1,e=1);e&&t.revert()})||Dc()},addEventListener:function addEventListener(t,e){var r=Te[t]||(Te[t]=[]);~r.indexOf(e)||r.push(e)},removeEventListener:function removeEventListener(t,e){var r=Te[t],i=r&&r.indexOf(e);0<=i&&r.splice(i,1)},utils:{wrap:function wrap(e,t,r){var i=t-e;return $(e)?lb(e,wrap(0,e.length),t):Wa(r,function(t){return(i+(t-e)%i)%i+e})},wrapYoyo:function wrapYoyo(e,t,r){var i=t-e,n=2*i;return $(e)?lb(e,wrapYoyo(0,e.length-1),t):Wa(r,function(t){return e+(i<(t=(n+(t-e)%n)%n||0)?n-t:t)})},distribute:eb,random:hb,snap:gb,normalize:function normalize(t,e,r){return Pt(t,e,0,1,r)},getUnit:Ya,clamp:function clamp(e,r,t){return Wa(t,function(t){return kt(e,r,t)})},splitColor:zb,toArray:Ot,selector:cb,mapRange:Pt,pipe:function pipe(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(t){return e.reduce(function(t,e){return e(t)},t)}},unitize:function unitize(e,r){return function(t){return e(parseFloat(t))+(r||Ya(t))}},interpolate:function interpolate(e,i,t,n){var a=isNaN(e+i)?0:function(t){return(1-t)*e+t*i};if(!a){var s,o,u,h,l,f=r(e),c={};if(!0===t&&(n=1)&&(t=null),f)e={p:e},i={p:i};else if($(e)&&!$(i)){for(u=[],h=e.length,l=h-2,o=1;o<h;o++)u.push(interpolate(e[o-1],e[o]));h--,a=function func(t){t*=h;var e=Math.min(l,~~t);return u[e](t-e)},t=i}else n||(e=yt($(e)?[]:{},e));if(!u){for(s in i)Xt.call(c,e,s,"get",i[s]);a=function func(t){return oe(t,c)||(f?e.p:e)}}}return Wa(t,a)},shuffle:db},install:P,effects:_t,ticker:Et,updateRoot:Ut.updateRoot,plugins:pt,globalTimeline:L,core:{PropTween:pe,globals:S,Tween:Gt,Timeline:Ut,Animation:qt,getCache:fa,_removeLinkedListItem:ya,reverting:function reverting(){return B},context:function context(t){return t&&l&&(l.data.push(t),t._ctx=l),l},suppressOverwrites:function suppressOverwrites(t){return I=t}}};ha("to,from,fromTo,delayedCall,set,killTweensOf",function(t){return Pe[t]=Gt[t]}),Et.add(Ut.updateRoot),c=Pe.to({},{duration:0});function Hc(t,e){for(var r=t._pt;r&&r.p!==e&&r.op!==e&&r.fp!==e;)r=r._next;return r}
15185function Jc(t,a){return{name:t,rawVars:1,init:function init(t,n,e){e._onInit=function(t){var e,i;if(r(n)&&(e={},ha(n,function(t){return e[t]=1}),n=e),a){for(i in e={},n)e[i]=a(n[i]);n=e}!function _addModifiers(t,e){var r,i,n,a=t._targets;for(r in e)for(i=a.length;i--;)(n=(n=t._ptLookup[i][r])&&n.d)&&(n._pt&&(n=Hc(n,r)),n&&n.modifier&&n.modifier(e[r],t,a[i],r))}(t,n)}}}}var Ce=Pe.registerPlugin({name:"attr",init:function init(t,e,r,i,n){var a,s,o;for(a in this.tween=r,e)o=t.getAttribute(a)||"",(s=this.add(t,"setAttribute",(o||0)+"",e[a],i,n,0,0,a)).op=a,s.b=o,this._props.push(a)},render:function render(t,e){for(var r=e._pt;r;)B?r.set(r.t,r.p,r.b,r):r.r(t,r.d),r=r._next}},{name:"endArray",init:function init(t,e){for(var r=e.length;r--;)this.add(t,r,t[r]||0,e[r],0,0,0,0,0,1)}},Jc("roundProps",fb),Jc("modifiers"),Jc("snap",gb))||Pe;Gt.version=Ut.version=Ce.version="3.11.4",o=1,x()&&zt();function td(t,e){return e.set(e.t,e.p,Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function ud(t,e){return e.set(e.t,e.p,1===t?e.e:Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function vd(t,e){return e.set(e.t,e.p,t?Math.round(1e4*(e.s+e.c*t))/1e4+e.u:e.b,e)}function wd(t,e){var r=e.s+e.c*t;e.set(e.t,e.p,~~(r+(r<0?-.5:.5))+e.u,e)}function xd(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)}function yd(t,e){return e.set(e.t,e.p,1!==t?e.b:e.e,e)}function zd(t,e,r){return t.style[e]=r}function Ad(t,e,r){return t.style.setProperty(e,r)}function Bd(t,e,r){return t._gsap[e]=r}function Cd(t,e,r){return t._gsap.scaleX=t._gsap.scaleY=r}function Dd(t,e,r,i,n){var a=t._gsap;a.scaleX=a.scaleY=r,a.renderTransform(n,a)}function Ed(t,e,r,i,n){var a=t._gsap;a[e]=r,a.renderTransform(n,a)}function Hd(t,e){var r=this,i=this.target,n=i.style;if(t in rr){if(this.tfm=this.tfm||{},"transform"!==t&&(~(t=hr[t]||t).indexOf(",")?t.split(",").forEach(function(t){return r.tfm[t]=mr(i,t)}):this.tfm[t]=i._gsap.x?i._gsap[t]:mr(i,t)),0<=this.props.indexOf(lr))return;i._gsap.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(fr,e,"")),t=lr}(n||e)&&this.props.push(t,e,n[t])}function Id(t){t.translate&&(t.removeProperty("translate"),t.removeProperty("scale"),t.removeProperty("rotate"))}function Jd(){var t,e,r=this.props,i=this.target,n=i.style,a=i._gsap;for(t=0;t<r.length;t+=3)r[t+1]?i[r[t]]=r[t+2]:r[t+2]?n[r[t]]=r[t+2]:n.removeProperty(r[t].replace(sr,"-$1").toLowerCase());if(this.tfm){for(e in this.tfm)a[e]=this.tfm[e];a.svg&&(a.renderTransform(),i.setAttribute("data-svg-origin",this.svgo||"")),!(t=Fe())||t.isStart||n[lr]||(Id(n),a.uncache=1)}}function Kd(t,e){var r={target:t,props:[],revert:Jd,save:Hd};return e&&e.split(",").forEach(function(t){return r.save(t)}),r}function Md(t,e){var r=Se.createElementNS?Se.createElementNS((e||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),t):Se.createElement(t);return r.style?r:Se.createElement(t)}function Nd(t,e,r){var i=getComputedStyle(t);return i[e]||i.getPropertyValue(e.replace(sr,"-$1").toLowerCase())||i.getPropertyValue(e)||!r&&Nd(t,dr(e)||e,1)||""}function Qd(){(function _windowExists(){return"undefined"!=typeof window})()&&window.document&&(Ae=window,Se=Ae.document,Re=Se.documentElement,Ee=Md("div")||{style:{}},Md("div"),lr=dr(lr),fr=lr+"Origin",Ee.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Ie=!!dr("perspective"),Fe=Ce.core.reverting,De=1)}function Rd(t){var e,r=Md("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,n=this.nextSibling,a=this.style.cssText;if(Re.appendChild(r),r.appendChild(this),this.style.display="block",t)try{e=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=Rd}catch(t){}else this._gsapBBox&&(e=this._gsapBBox());return i&&(n?i.insertBefore(this,n):i.appendChild(this)),Re.removeChild(r),this.style.cssText=a,e}function Sd(t,e){for(var r=e.length;r--;)if(t.hasAttribute(e[r]))return t.getAttribute(e[r])}function Td(e){var r;try{r=e.getBBox()}catch(t){r=Rd.call(e,!0)}return r&&(r.width||r.height)||e.getBBox===Rd||(r=Rd.call(e,!0)),!r||r.width||r.x||r.y?r:{x:+Sd(e,["x","cx","x1"])||0,y:+Sd(e,["y","cy","y1"])||0,width:0,height:0}}function Ud(t){return!(!t.getCTM||t.parentNode&&!t.ownerSVGElement||!Td(t))}function Vd(t,e){if(e){var r=t.style;e in rr&&e!==fr&&(e=lr),r.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),r.removeProperty(e.replace(sr,"-$1").toLowerCase())):r.removeAttribute(e)}}function Wd(t,e,r,i,n,a){var s=new pe(t._pt,e,r,0,1,a?yd:xd);return(t._pt=s).b=i,s.e=n,t._props.push(r),s}function Zd(t,e,r,i){var n,a,s,o,u=parseFloat(r)||0,h=(r+"").trim().substr((u+"").length)||"px",l=Ee.style,f=or.test(e),c="svg"===t.tagName.toLowerCase(),d=(c?"client":"offset")+(f?"Width":"Height"),p="px"===i,_="%"===i;return i===h||!u||pr[i]||pr[h]?u:("px"===h||p||(u=Zd(t,e,r,"px")),o=t.getCTM&&Ud(t),!_&&"%"!==h||!rr[e]&&!~e.indexOf("adius")?(l[f?"width":"height"]=100+(p?h:i),a=~e.indexOf("adius")||"em"===i&&t.appendChild&&!c?t:t.parentNode,o&&(a=(t.ownerSVGElement||{}).parentNode),a&&a!==Se&&a.appendChild||(a=Se.body),(s=a._gsap)&&_&&s.width&&f&&s.time===Et.time&&!s.uncache?ia(u/s.width*100):(!_&&"%"!==h||_r[Nd(a,"display")]||(l.position=Nd(t,"position")),a===t&&(l.position="static"),a.appendChild(Ee),n=Ee[d],a.removeChild(Ee),l.position="absolute",f&&_&&((s=fa(a)).time=Et.time,s.width=a[d]),ia(p?n*u/100:n&&u?100/n*u:0))):(n=o?t.getBBox()[f?"width":"height"]:t[d],ia(_?u/n*100:u/100*n)))}function _d(t,e,r,i){if(!r||"none"===r){var n=dr(e,t,1),a=n&&Nd(t,n,1);a&&a!==r?(e=n,r=a):"borderColor"===e&&(r=Nd(t,"borderTopColor"))}var s,o,u,h,l,f,c,d,p,_,m,g=new pe(this._pt,t.style,e,0,1,se),v=0,y=0;if(g.b=r,g.e=i,r+="","auto"===(i+="")&&(t.style[e]=i,i=Nd(t,e)||i,t.style[e]=r),Eb(s=[r,i]),i=s[1],u=(r=s[0]).match(rt)||[],(i.match(rt)||[]).length){for(;o=rt.exec(i);)c=o[0],p=i.substring(v,o.index),l?l=(l+1)%5:"rgba("!==p.substr(-5)&&"hsla("!==p.substr(-5)||(l=1),c!==(f=u[y++]||"")&&(h=parseFloat(f)||0,m=f.substr((h+"").length),"="===c.charAt(1)&&(c=ka(h,c)+m),d=parseFloat(c),_=c.substr((d+"").length),v=rt.lastIndex-_.length,_||(_=_||j.units[e]||m,v===i.length&&(i+=_,g.e+=_)),m!==_&&(h=Zd(t,e,f,_)||0),g._pt={_next:g._pt,p:p||1===y?p:",",s:h,c:d-h,m:l&&l<4||"zIndex"===e?Math.round:0});g.c=v<i.length?i.substring(v,i.length):""}
vendor: 9,491 bytes, line 15185
15185else g.r="display"===e&&"none"===i?yd:xd;return nt.test(i)&&(g.e=0),this._pt=g}function be(t){var e=t.split(" "),r=e[0],i=e[1]||"50%";return"top"!==r&&"bottom"!==r&&"left"!==i&&"right"!==i||(t=r,r=i,i=t),e[0]=gr[r]||r,e[1]=gr[i]||i,e.join(" ")}function ce(t,e){if(e.tween&&e.tween._time===e.tween._dur){var r,i,n,a=e.t,s=a.style,o=e.u,u=a._gsap;if("all"===o||!0===o)s.cssText="",i=1;else for(n=(o=o.split(",")).length;-1<--n;)r=o[n],rr[r]&&(i=1,r="transformOrigin"===r?fr:lr),Vd(a,r);i&&(Vd(a,lr),u&&(u.svg&&a.removeAttribute("transform"),br(a,1),u.uncache=1,Id(s)))}}function ge(t){return"matrix(1, 0, 0, 1, 0, 0)"===t||"none"===t||!t}function he(t){var e=Nd(t,lr);return ge(e)?yr:e.substr(7).match(et).map(ia)}function ie(t,e){var r,i,n,a,s=t._gsap||fa(t),o=t.style,u=he(t);return s.svg&&t.getAttribute("transform")?"1,0,0,1,0,0"===(u=[(n=t.transform.baseVal.consolidate().matrix).a,n.b,n.c,n.d,n.e,n.f]).join(",")?yr:u:(u!==yr||t.offsetParent||t===Re||s.svg||(n=o.display,o.display="block",(r=t.parentNode)&&t.offsetParent||(a=1,i=t.nextElementSibling,Re.appendChild(t)),u=he(t),n?o.display=n:Vd(t,"display"),a&&(i?r.insertBefore(t,i):r?r.appendChild(t):Re.removeChild(t))),e&&6<u.length?[u[0],u[1],u[4],u[5],u[12],u[13]]:u)}function je(t,e,r,i,n,a){var s,o,u,h=t._gsap,l=n||ie(t,!0),f=h.xOrigin||0,c=h.yOrigin||0,d=h.xOffset||0,p=h.yOffset||0,_=l[0],m=l[1],g=l[2],v=l[3],y=l[4],T=l[5],b=e.split(" "),w=parseFloat(b[0])||0,x=parseFloat(b[1])||0;r?l!==yr&&(o=_*v-m*g)&&(u=w*(-m/o)+x*(_/o)-(_*T-m*y)/o,w=w*(v/o)+x*(-g/o)+(g*T-v*y)/o,x=u):(w=(s=Td(t)).x+(~b[0].indexOf("%")?w/100*s.width:w),x=s.y+(~(b[1]||b[0]).indexOf("%")?x/100*s.height:x)),i||!1!==i&&h.smooth?(y=w-f,T=x-c,h.xOffset=d+(y*_+T*g)-y,h.yOffset=p+(y*m+T*v)-T):h.xOffset=h.yOffset=0,h.xOrigin=w,h.yOrigin=x,h.smooth=!!i,h.origin=e,h.originIsAbsolute=!!r,t.style[fr]="0px 0px",a&&(Wd(a,h,"xOrigin",f,w),Wd(a,h,"yOrigin",c,x),Wd(a,h,"xOffset",d,h.xOffset),Wd(a,h,"yOffset",p,h.yOffset)),t.setAttribute("data-svg-origin",w+" "+x)}function me(t,e,r){var i=Ya(e);return ia(parseFloat(e)+parseFloat(Zd(t,"x",r+"px",i)))+i}function te(t,e,i,n,a){var s,o,u=360,h=r(a),l=parseFloat(a)*(h&&~a.indexOf("rad")?ir:1)-n,f=n+l+"deg";return h&&("short"===(s=a.split("_")[1])&&(l%=u)!==l%180&&(l+=l<0?u:-u),"cw"===s&&l<0?l=(l+36e9)%u-~~(l/u)*u:"ccw"===s&&0<l&&(l=(l-36e9)%u-~~(l/u)*u)),t._pt=o=new pe(t._pt,e,i,n,l,ud),o.e=f,o.u="deg",t._props.push(i),o}function ue(t,e){for(var r in e)t[r]=e[r];return t}function ve(t,e,r){var i,n,a,s,o,u,h,l=ue({},r._gsap),f=r.style;for(n in l.svg?(a=r.getAttribute("transform"),r.setAttribute("transform",""),f[lr]=e,i=br(r,1),Vd(r,lr),r.setAttribute("transform",a)):(a=getComputedStyle(r)[lr],f[lr]=e,i=br(r,1),f[lr]=a),rr)(a=l[n])!==(s=i[n])&&"perspective,force3D,transformOrigin,svgOrigin".indexOf(n)<0&&(o=Ya(a)!==(h=Ya(s))?Zd(r,n,a,h):parseFloat(a),u=parseFloat(s),t._pt=new pe(t._pt,i,n,o,u-o,td),t._pt.u=h||0,t._props.push(n));ue(i,l)}var Ae,Se,Re,De,Ee,ze,Fe,Ie,Be=Ft.Power0,Le=Ft.Power1,Ye=Ft.Power2,Ne=Ft.Power3,qe=Ft.Power4,Ue=Ft.Linear,Ve=Ft.Quad,We=Ft.Cubic,Xe=Ft.Quart,He=Ft.Quint,Qe=Ft.Strong,Ke=Ft.Elastic,Ze=Ft.Back,Ge=Ft.SteppedEase,Je=Ft.Bounce,$e=Ft.Sine,tr=Ft.Expo,er=Ft.Circ,rr={},ir=180/Math.PI,nr=Math.PI/180,ar=Math.atan2,sr=/([A-Z])/g,or=/(left|right|width|margin|padding|x)/i,ur=/[\s,\(]\S/,hr={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},lr="transform",fr=lr+"Origin",cr="O,Moz,ms,Ms,Webkit".split(","),dr=function _checkPropPrefix(t,e,r){var i=(e||Ee).style,n=5;if(t in i&&!r)return t;for(t=t.charAt(0).toUpperCase()+t.substr(1);n--&&!(cr[n]+t in i););return n<0?null:(3===n?"ms":0<=n?cr[n]:"")+t},pr={deg:1,rad:1,turn:1},_r={grid:1,flex:1},mr=function _get(t,e,r,i){var n;return De||Qd(),e in hr&&"transform"!==e&&~(e=hr[e]).indexOf(",")&&(e=e.split(",")[0]),rr[e]&&"transform"!==e?(n=br(t,i),n="transformOrigin"!==e?n[e]:n.svg?n.origin:wr(Nd(t,fr))+" "+n.zOrigin+"px"):(n=t.style[e])&&"auto"!==n&&!i&&!~(n+"").indexOf("calc(")||(n=vr[e]&&vr[e](t,e,r)||Nd(t,e)||ga(t,e)||("opacity"===e?1:0)),r&&!~(n+"").trim().indexOf(" ")?Zd(t,e,n,r)+r:n},gr={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},vr={clearProps:function clearProps(t,e,r,i,n){if("isFromStart"!==n.data){var a=t._pt=new pe(t._pt,e,r,0,0,ce);return a.u=i,a.pr=-10,a.tween=n,t._props.push(r),1}}},yr=[1,0,0,1,0,0],Tr={},br=function _parseTransform(t,e){var r=t._gsap||new jt(t);if("x"in r&&!e&&!r.uncache)return r;var i,n,a,s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w,x,k,M,O,P,C,A,S,R,D,E,z,F=t.style,I=r.scaleX<0,B="deg",L=getComputedStyle(t),Y=Nd(t,fr)||"0";return i=n=a=u=h=l=f=c=d=0,s=o=1,r.svg=!(!t.getCTM||!Ud(t)),L.translate&&("none"===L.translate&&"none"===L.scale&&"none"===L.rotate||(F[lr]=("none"!==L.translate?"translate3d("+(L.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+("none"!==L.rotate?"rotate("+L.rotate+") ":"")+("none"!==L.scale?"scale("+L.scale.split(" ").join(",")+") ":"")+("none"!==L[lr]?L[lr]:"")),F.scale=F.rotate=F.translate="none"),m=ie(t,r.svg),r.svg&&(O=r.uncache?(P=t.getBBox(),Y=r.xOrigin-P.x+"px "+(r.yOrigin-P.y)+"px",""):!e&&t.getAttribute("data-svg-origin"),je(t,O||Y,!!O||r.originIsAbsolute,!1!==r.smooth,m)),p=r.xOrigin||0,_=r.yOrigin||0,m!==yr&&(T=m[0],b=m[1],w=m[2],x=m[3],i=k=m[4],n=M=m[5],6===m.length?(s=Math.sqrt(T*T+b*b),o=Math.sqrt(x*x+w*w),u=T||b?ar(b,T)*ir:0,(f=w||x?ar(w,x)*ir+u:0)&&(o*=Math.abs(Math.cos(f*nr))),r.svg&&(i-=p-(p*T+_*w),n-=_-(p*b+_*x))):(z=m[6],D=m[7],A=m[8],S=m[9],R=m[10],E=m[11],i=m[12],n=m[13],a=m[14],h=(g=ar(z,R))*ir,g&&(O=k*(v=Math.cos(-g))+A*(y=Math.sin(-g)),P=M*v+S*y,C=z*v+R*y,A=k*-y+A*v,S=M*-y+S*v,R=z*-y+R*v,E=D*-y+E*v,k=O,M=P,z=C),l=(g=ar(-w,R))*ir,g&&(v=Math.cos(-g),E=x*(y=Math.sin(-g))+E*v,T=O=T*v-A*y,b=P=b*v-S*y,w=C=w*v-R*y),u=(g=ar(b,T))*ir,g&&(O=T*(v=Math.cos(g))+b*(y=Math.sin(g)),P=k*v+M*y,b=b*v-T*y,M=M*v-k*y,T=O,k=P),h&&359.9<Math.abs(h)+Math.abs(u)&&(h=u=0,l=180-l),s=ia(Math.sqrt(T*T+b*b+w*w)),o=ia(Math.sqrt(M*M+z*z)),g=ar(k,M),f=2e-4<Math.abs(g)?g*ir:0,d=E?1/(E<0?-E:E):0),r.svg&&(O=t.getAttribute("transform"),r.forceCSS=t.setAttribute("transform","")||!ge(Nd(t,lr)),O&&t.setAttribute("transform",O))),90<Math.abs(f)&&Math.abs(f)<270&&(I?(s*=-1,f+=u<=0?180:-180,u+=u<=0?180:-180):(o*=-1,f+=f<=0?180:-180)),e=e||r.uncache,r.x=i-((r.xPercent=i&&(!e&&r.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-i)?-50:0)))?t.offsetWidth*r.xPercent/100:0)+"px",r.y=n-((r.yPercent=n&&(!e&&r.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-n)?-50:0)))?t.offsetHeight*r.yPercent/100:0)+"px",r.z=a+"px",r.scaleX=ia(s),r.scaleY=ia(o),r.rotation=ia(u)+B,r.rotationX=ia(h)+B,r.rotationY=ia(l)+B,r.skewX=f+B,r.skewY=c+B,r.transformPerspective=d+"px",(r.zOrigin=parseFloat(Y.split(" ")[2])||0)&&(F[fr]=wr(Y)),r.xOffset=r.yOffset=0,r.force3D=j.force3D,r.renderTransform=r.svg?Cr:Ie?Pr:xr,r.uncache=0,r},wr=function _firstTwoOnly(t){return(t=t.split(" "))[0]+" "+t[1]},xr=function _renderNon3DTransforms(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Pr(t,e)},kr="0deg",Mr="0px",Or=") ",Pr=function _renderCSSTransforms(t,e){var r=e||this,i=r.xPercent,n=r.yPercent,a=r.x,s=r.y,o=r.z,u=r.rotation,h=r.rotationY,l=r.rotationX,f=r.skewX,c=r.skewY,d=r.scaleX,p=r.scaleY,_=r.transformPerspective,m=r.force3D,g=r.target,v=r.zOrigin,y="",T="auto"===m&&t&&1!==t||!0===m;if(v&&(l!==kr||h!==kr)){var b,w=parseFloat(h)*nr,x=Math.sin(w),k=Math.cos(w);w=parseFloat(l)*nr,b=Math.cos(w),a=me(g,a,x*b*-v),s=me(g,s,-Math.sin(w)*-v),o=me(g,o,k*b*-v+v)}_!==Mr&&(y+="perspective("+_+Or),(i||n)&&(y+="translate("+i+"%, "+n+"%) "),!T&&a===Mr&&s===Mr&&o===Mr||(y+=o!==Mr||T?"translate3d("+a+", "+s+", "+o+") ":"translate("+a+", "+s+Or),u!==kr&&(y+="rotate("+u+Or),h!==kr&&(y+="rotateY("+h+Or),l!==kr&&(y+="rotateX("+l+Or),f===kr&&c===kr||(y+="skew("+f+", "+c+Or),1===d&&1===p||(y+="scale("+d+", "+p+Or),g.style[lr]=y||"translate(0, 0)"},Cr=function _renderSVGTransforms(t,e){var r,i,n,a,s,o=e||this,u=o.xPercent,h=o.yPercent,l=o.x,f=o.y,c=o.rotation,d=o.skewX,p=o.skewY,_=o.scaleX,m=o.scaleY,g=o.target,v=o.xOrigin,y=o.yOrigin,T=o.xOffset,b=o.yOffset,w=o.forceCSS,x=parseFloat(l),k=parseFloat(f);c=parseFloat(c),d=parseFloat(d),(p=parseFloat(p))&&(d+=p=parseFloat(p),c+=p),c||d?(c*=nr,d*=nr,r=Math.cos(c)*_,i=Math.sin(c)*_,n=Math.sin(c-d)*-m,a=Math.cos(c-d)*m,d&&(p*=nr,s=Math.tan(d-p),n*=s=Math.sqrt(1+s*s),a*=s,p&&(s=Math.tan(p),r*=s=Math.sqrt(1+s*s),i*=s)),r=ia(r),i=ia(i),n=ia(n),a=ia(a)):(r=_,a=m,i=n=0),(x&&!~(l+"").indexOf("px")||k&&!~(f+"").indexOf("px"))&&(x=Zd(g,"x",l,"px"),k=Zd(g,"y",f,"px")),(v||y||T||b)&&(x=ia(x+v-(v*r+y*n)+T),k=ia(k+y-(v*i+y*a)+b)),(u||h)&&(s=g.getBBox(),x=ia(x+u/100*s.width),k=ia(k+h/100*s.height)),s="matrix("+r+","+i+","+n+","+a+","+x+","+k+")",g.setAttribute("transform",s),w&&(g.style[lr]=s)};ha("padding,margin,Width,Radius",function(e,r){var t="Right",i="Bottom",n="Left",o=(r<3?["Top",t,i,n]:["Top"+n,"Top"+t,i+t,i+n]).map(function(t){return r<2?e+t:"border"+t+e});vr[1<r?"border"+e:e]=function(e,t,r,i,n){var a,s;if(arguments.length<4)return a=o.map(function(t){return mr(e,t,r)}),5===(s=a.join(" ")).split(a[0]).length?a[0]:s;a=(i+"").split(" "),s={},o.forEach(function(t,e){return s[t]=a[e]=a[e]||a[(e-1)/2|0]}),e.init(t,s,n)}});var Ar,Sr,Rr,Dr={name:"css",register:Qd,targetTest:function targetTest(t){return t.style&&t.nodeType},init:function init(t,e,i,n,a){var s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w=this._props,x=t.style,k=i.vars.startAt;for(c in De||Qd(),this.styles=this.styles||Kd(t),b=this.styles.props,this.tween=i,e)if("autoRound"!==c&&(o=e[c],!pt[c]||
vendor: 7,648 bytes, lines 15185-15200
15185!_b(c,e,i,n,t,a)))if(l=typeof o,f=vr[c],"function"===l&&(l=typeof(o=o.call(i,n,t,a))),"string"===l&&~o.indexOf("random(")&&(o=ob(o)),f)f(this,t,c,o,i)&&(T=1);else if("--"===c.substr(0,2))s=(getComputedStyle(t).getPropertyValue(c)+"").trim(),o+="",Rt.lastIndex=0,Rt.test(s)||(d=Ya(s),p=Ya(o)),p?d!==p&&(s=Zd(t,c,s,p)+p):d&&(o+=d),this.add(x,"setProperty",s,o,n,a,0,0,c),w.push(c),b.push(c,0,x[c]);else if("undefined"!==l){if(k&&c in k?(s="function"==typeof k[c]?k[c].call(i,n,t,a):k[c],r(s)&&~s.indexOf("random(")&&(s=ob(s)),Ya(s+"")||(s+=j.units[c]||Ya(mr(t,c))||""),"="===(s+"").charAt(1)&&(s=mr(t,c))):s=mr(t,c),h=parseFloat(s),(_="string"===l&&"="===o.charAt(1)&&o.substr(0,2))&&(o=o.substr(2)),u=parseFloat(o),c in hr&&("autoAlpha"===c&&(1===h&&"hidden"===mr(t,"visibility")&&u&&(h=0),b.push("visibility",0,x.visibility),Wd(this,x,"visibility",h?"inherit":"hidden",u?"inherit":"hidden",!u)),"scale"!==c&&"transform"!==c&&~(c=hr[c]).indexOf(",")&&(c=c.split(",")[0])),m=c in rr)if(this.styles.save(c),g||((v=t._gsap).renderTransform&&!e.parseTransform||br(t,e.parseTransform),y=!1!==e.smoothOrigin&&v.smooth,(g=this._pt=new pe(this._pt,x,lr,0,1,v.renderTransform,v,0,-1)).dep=1),"scale"===c)this._pt=new pe(this._pt,v,"scaleY",v.scaleY,(_?ka(v.scaleY,_+u):u)-v.scaleY||0,td),this._pt.u=0,w.push("scaleY",c),c+="X";else{if("transformOrigin"===c){b.push(fr,0,x[fr]),o=be(o),v.svg?je(t,o,0,y,0,this):((p=parseFloat(o.split(" ")[2])||0)!==v.zOrigin&&Wd(this,v,"zOrigin",v.zOrigin,p),Wd(this,x,c,wr(s),wr(o)));continue}if("svgOrigin"===c){je(t,o,1,y,0,this);continue}if(c in Tr){te(this,v,c,h,_?ka(h,_+o):o);continue}if("smoothOrigin"===c){Wd(this,v,"smooth",v.smooth,o);continue}if("force3D"===c){v[c]=o;continue}if("transform"===c){ve(this,o,t);continue}}else c in x||(c=dr(c)||c);if(m||(u||0===u)&&(h||0===h)&&!ur.test(o)&&c in x)u=u||0,(d=(s+"").substr((h+"").length))!==(p=Ya(o)||(c in j.units?j.units[c]:d))&&(h=Zd(t,c,s,p)),this._pt=new pe(this._pt,m?v:x,c,h,(_?ka(h,_+u):u)-h,m||"px"!==p&&"zIndex"!==c||!1===e.autoRound?td:wd),this._pt.u=p||0,d!==p&&"%"!==p&&(this._pt.b=s,this._pt.r=vd);else if(c in x)_d.call(this,t,c,s,_?_+o:o);else if(c in t)this.add(t,c,s||t[c],_?_+o:o,n,a);else if("parseTransform"!==c){Q(c,o);continue}m||(c in x?b.push(c,0,x[c]):b.push(c,1,s||t[c])),w.push(c)}T&&de(this)},render:function render(t,e){if(e.tween._time||!Fe())for(var r=e._pt;r;)r.r(t,r.d),r=r._next;else e.styles.revert()},get:mr,aliases:hr,getSetter:function getSetter(t,e,r){var i=hr[e];return i&&i.indexOf(",")<0&&(e=i),e in rr&&e!==fr&&(t._gsap.x||mr(t,"x"))?r&&ze===r?"scale"===e?Cd:Bd:(ze=r||{})&&("scale"===e?Dd:Ed):t.style&&!u(t.style[e])?zd:~e.indexOf("-")?Ad:re(t,e)},core:{_removeProperty:Vd,_getMatrix:ie}};Ce.utils.checkPrefix=dr,Ce.core.getStyleSaver=Kd,Rr=ha((Ar="x,y,z,scale,scaleX,scaleY,xPercent,yPercent")+","+(Sr="rotation,rotationX,rotationY,skewX,skewY")+",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective",function(t){rr[t]=1}),ha(Sr,function(t){j.units[t]="deg",Tr[t]=1}),hr[Rr[13]]=Ar+","+Sr,ha("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY",function(t){var e=t.split(":");hr[e[1]]=Rr[e[0]]}),ha("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(t){j.units[t]="px"}),Ce.registerPlugin(Dr);var Er=Ce.registerPlugin(Dr)||Ce,zr=Er.core.Tween;e.Back=Ze,e.Bounce=Je,e.CSSPlugin=Dr,e.Circ=er,e.Cubic=We,e.Elastic=Ke,e.Expo=tr,e.Linear=Ue,e.Power0=Be,e.Power1=Le,e.Power2=Ye,e.Power3=Ne,e.Power4=qe,e.Quad=Ve,e.Quart=Xe,e.Quint=He,e.Sine=$e,e.SteppedEase=Ge,e.Strong=Qe,e.TimelineLite=Ut,e.TimelineMax=Ut,e.TweenLite=Gt,e.TweenMax=zr,e.default=Er,e.gsap=Er;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}}); 15186 15187 15188/* End */ 15189; 15190; /* Start:"a:4:{s:4:"full";s:70:"/local/templates/culture/build/js/ScrollTrigger.min.js?176656724440596";s:6:"source";s:54:"/local/templates/culture/build/js/ScrollTrigger.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 15191/*! 15192 * ScrollTrigger 3.11.4 15193 * https://greensock.com 15194 * 15195 * @license Copyright 2022, GreenSock. All rights reserved. 15196 * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership. 15197 * @author: Jack Doyle, [email protected] 15198 */ 15199 15200!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function r(){return we||"undefined"!=typeof window&&(we=window.gsap)&&we.registerPlugin&&we}function z(e,t){return~Fe.indexOf(e)&&Fe[Fe.indexOf(e)+1][t]}function A(e){return!!~t.indexOf(e)}function B(e,t,r,n,o){return e.addEventListener(t,r,{passive:!n,capture:!!o})}function C(e,t,r,n){return e.removeEventListener(t,r,!!n)}function F(){return Be&&Be.isPressed||ze.cache++}function G(r,n){function Tc(e){if(e||0===e){o&&(Ce.history.scrollRestoration="manual");var t=Be&&Be.isPressed;e=Tc.v=Math.round(e)||(Be&&Be.iOS?1:0),r(e),Tc.cacheID=ze.cache,t&&i("ss",e)}else(n||ze.cache!==Tc.cacheID||i("ref"))&&(Tc.cacheID=ze.cache,Tc.v=r());return Tc.v+Tc.offset}return Tc.offset=0,r&&Tc}function J(e){return we.utils.toArray(e)[0]||("string"==typeof e&&!1!==we.config().nullTargetWarn?console.warn("Element not found:",e):null)}function K(t,e){var r=e.s,n=e.sc;A(t)&&(t=Ee.scrollingElement||ke);var o=ze.indexOf(t),i=n===Ke.sc?1:2;~o||(o=ze.push(t)-1),ze[o+i]||t.addEventListener("scroll",F);var a=ze[o+i],s=a||(ze[o+i]=G(z(t,r),!0)||(A(t)?n:G(function(e){return arguments.length?t[r]=e:t[r]})));return s.target=t,a||(s.smooth="smooth"===we.getProperty(t,"scrollBehavior")),s}function L(e,t,o){function pd(e,t){var r=Ne();t||n<r-s?(a=i,i=e,l=s,s=r):o?i+=e:i=a+(e-a)/(r-l)*(s-l)}var i=e,a=e,s=Ne(),l=s,n=t||50,c=Math.max(500,3*n);return{update:pd,reset:function reset(){a=i=o?0:i,l=s=0},getVelocity:function getVelocity(e){var t=l,r=a,n=Ne();return!e&&0!==e||e===i||pd(e),s===l||c<n-l?0:(i+(o?r:-r))/((o?n:s)-t)*1e3}}}function M(e,t){return t&&!e._gsapAllow&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e}function N(e){var t=Math.max.apply(Math,e),r=Math.min.apply(Math,e);return Math.abs(t)>=Math.abs(r)?t:r}function O(){(Ae=we.core.globals().ScrollTrigger)&&Ae.core&&function _integrate(){var e=Ae.core,r=e.bridge||{},t=e._scrollers,n=e._proxies;t.push.apply(t,ze),n.push.apply(n,Fe),ze=t,Fe=n,i=function _bridge(e,t){return r[e](t)}}()}function P(e){return(we=e||r())&&"undefined"!=typeof document&&document.body&&(Ce=window,ke=(Ee=document).documentElement,Me=Ee.body,t=[Ce,Ee,ke,Me],we.utils.clamp,Ie=we.core.context||function(){},Oe="onpointerenter"in Me?"pointer":"mouse",Pe=E.isTouch=Ce.matchMedia&&Ce.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in Ce||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints?2:0,De=E.eventTypes=("ontouchstart"in ke?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in ke?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout(function(){return o=0},500),O(),Se=1),Se}var we,Se,Ce,Ee,ke,Me,Pe,Oe,Ae,t,Be,De,Ie,o=1,Le=[],ze=[],Fe=[],Ne=Date.now,i=function _bridge(e,t){return t},n="scrollLeft",a="scrollTop",Xe={s:n,p:"left",p2:"Left",os:"right",os2:"Right",d:"width",d2:"Width",a:"x",sc:G(function(e){return arguments.length?Ce.scrollTo(e,Ke.sc()):Ce.pageXOffset||Ee[n]||ke[
vendor: 11,053 bytes, line 15200
15200n]||Me[n]||0})},Ke={s:a,p:"top",p2:"Top",os:"bottom",os2:"Bottom",d:"height",d2:"Height",a:"y",op:Xe,sc:G(function(e){return arguments.length?Ce.scrollTo(Xe.sc(),e):Ce.pageYOffset||Ee[a]||ke[a]||Me[a]||0})};Xe.op=Ke,ze.cache=0;var E=(Observer.prototype.init=function init(e){Se||P(we)||console.warn("Please gsap.registerPlugin(Observer)"),Ae||O();var o=e.tolerance,a=e.dragMinimum,t=e.type,i=e.target,r=e.lineHeight,n=e.debounce,s=e.preventDefault,l=e.onStop,c=e.onStopDelay,u=e.ignore,f=e.wheelSpeed,p=e.event,d=e.onDragStart,g=e.onDragEnd,h=e.onDrag,v=e.onPress,b=e.onRelease,m=e.onRight,y=e.onLeft,x=e.onUp,w=e.onDown,_=e.onChangeX,T=e.onChangeY,S=e.onChange,E=e.onToggleX,k=e.onToggleY,D=e.onHover,I=e.onHoverEnd,R=e.onMove,Y=e.ignoreCheck,z=e.isNormalizer,X=e.onGestureStart,W=e.onGestureEnd,H=e.onWheel,U=e.onEnable,j=e.onDisable,q=e.onClick,V=e.scrollSpeed,G=e.capture,Z=e.allowClicks,$=e.lockAxis,Q=e.onLockAxis;function Qe(){return ye=Ne()}function Re(e,t){return(se.event=e)&&u&&~u.indexOf(e.target)||t&&ge&&"touch"!==e.pointerType||Y&&Y(e,t)}function Te(){var e=se.deltaX=N(be),t=se.deltaY=N(me),r=Math.abs(e)>=o,n=Math.abs(t)>=o;S&&(r||n)&&S(se,e,t,be,me),r&&(m&&0<se.deltaX&&m(se),y&&se.deltaX<0&&y(se),_&&_(se),E&&se.deltaX<0!=le<0&&E(se),le=se.deltaX,be[0]=be[1]=be[2]=0),n&&(w&&0<se.deltaY&&w(se),x&&se.deltaY<0&&x(se),T&&T(se),k&&se.deltaY<0!=ce<0&&k(se),ce=se.deltaY,me[0]=me[1]=me[2]=0),(ne||re)&&(R&&R(se),re&&(h(se),re=!1),ne=!1),ie&&!(ie=!1)&&Q&&Q(se),oe&&(H(se),oe=!1),ee=0}function Ue(e,t,r){be[r]+=e,me[r]+=t,se._vx.update(e),se._vy.update(t),n?ee=ee||requestAnimationFrame(Te):Te()}function Ve(e,t){$&&!ae&&(se.axis=ae=Math.abs(e)>Math.abs(t)?"x":"y",ie=!0),"y"!==ae&&(be[2]+=e,se._vx.update(e,!0)),"x"!==ae&&(me[2]+=t,se._vy.update(t,!0)),n?ee=ee||requestAnimationFrame(Te):Te()}function We(e){if(!Re(e,1)){var t=(e=M(e,s)).clientX,r=e.clientY,n=t-se.x,o=r-se.y,i=se.isDragging;se.x=t,se.y=r,(i||Math.abs(se.startX-t)>=a||Math.abs(se.startY-r)>=a)&&(h&&(re=!0),i||(se.isDragging=!0),Ve(n,o),i||d&&d(se))}}function Ye(t){if(!Re(t,1)){C(z?i:ve,De[1],We,!0);var e=!isNaN(se.y-se.startY),r=se.isDragging&&(3<Math.abs(se.x-se.startX)||3<Math.abs(se.y-se.startY)),n=M(t);!r&&e&&(se._vx.reset(),se._vy.reset(),s&&Z&&we.delayedCall(.08,function(){if(300<Ne()-ye&&!t.defaultPrevented)if(t.target.click)t.target.click();else if(ve.createEvent){var e=ve.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,Ce,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(e)}})),se.isDragging=se.isGesturing=se.isPressed=!1,l&&!z&&te.restart(!0),g&&r&&g(se),b&&b(se,r)}}function Ze(e){return e.touches&&1<e.touches.length&&(se.isGesturing=!0)&&X(e,se.isDragging)}function $e(){return(se.isGesturing=!1)||W(se)}function _e(e){if(!Re(e)){var t=ue(),r=fe();Ue((t-pe)*V,(r-de)*V,1),pe=t,de=r,l&&te.restart(!0)}}function af(e){if(!Re(e)){e=M(e,s),H&&(oe=!0);var t=(1===e.deltaMode?r:2===e.deltaMode?Ce.innerHeight:1)*f;Ue(e.deltaX*t,e.deltaY*t,0),l&&!z&&te.restart(!0)}}function bf(e){if(!Re(e)){var t=e.clientX,r=e.clientY,n=t-se.x,o=r-se.y;se.x=t,se.y=r,ne=!0,(n||o)&&Ve(n,o)}}function cf(e){se.event=e,D(se)}function df(e){se.event=e,I(se)}function ef(e){return Re(e)||M(e,s)&&q(se)}this.target=i=J(i)||ke,this.vars=e,u=u&&we.utils.toArray(u),o=o||1e-9,a=a||0,f=f||1,V=V||1,t=t||"wheel,touch,pointer",n=!1!==n,r=r||parseFloat(Ce.getComputedStyle(Me).lineHeight)||22;var ee,te,re,ne,oe,ie,ae,se=this,le=0,ce=0,ue=K(i,Xe),fe=K(i,Ke),pe=ue(),de=fe(),ge=~t.indexOf("touch")&&!~t.indexOf("pointer")&&"pointerdown"===De[0],he=A(i),ve=i.ownerDocument||Ee,be=[0,0,0],me=[0,0,0],ye=0,xe=se.onPress=function(e){Re(e,1)||(se.axis=ae=null,te.pause(),se.isPressed=!0,e=M(e),le=ce=0,se.startX=se.x=e.clientX,se.startY=se.y=e.clientY,se._vx.reset(),se._vy.reset(),B(z?i:ve,De[1],We,s,!0),se.deltaX=se.deltaY=0,v&&v(se))};te=se._dc=we.delayedCall(c||.25,function onStopFunc(){se._vx.reset(),se._vy.reset(),te.pause(),l&&l(se)}).pause(),se.deltaX=se.deltaY=0,se._vx=L(0,50,!0),se._vy=L(0,50,!0),se.scrollX=ue,se.scrollY=fe,se.isDragging=se.isGesturing=se.isPressed=!1,Ie(this),se.enable=function(e){return se.isEnabled||(B(he?ve:i,"scroll",F),0<=t.indexOf("scroll")&&B(he?ve:i,"scroll",_e,s,G),0<=t.indexOf("wheel")&&B(i,"wheel",af,s,G),(0<=t.indexOf("touch")&&Pe||0<=t.indexOf("pointer"))&&(B(i,De[0],xe,s,G),B(ve,De[2],Ye),B(ve,De[3],Ye),Z&&B(i,"click",Qe,!1,!0),q&&B(i,"click",ef),X&&B(ve,"gesturestart",Ze),W&&B(ve,"gestureend",$e),D&&B(i,Oe+"enter",cf),I&&B(i,Oe+"leave",df),R&&B(i,Oe+"move",bf)),se.isEnabled=!0,e&&e.type&&xe(e),U&&U(se)),se},se.disable=function(){se.isEnabled&&(Le.filter(function(e){return e!==se&&A(e.target)}).length||C(he?ve:i,"scroll",F),se.isPressed&&(se._vx.reset(),se._vy.reset(),C(z?i:ve,De[1],We,!0)),C(he?ve:i,"scroll",_e,G),C(i,"wheel",af,G),C(i,De[0],xe,G),C(ve,De[2],Ye),C(ve,De[3],Ye),C(i,"click",Qe,!0),C(i,"click",ef),C(ve,"gesturestart",Ze),C(ve,"gestureend",$e),C(i,Oe+"enter",cf),C(i,Oe+"leave",df),C(i,Oe+"move",bf),se.isEnabled=se.isPressed=se.isDragging=!1,j&&j(se))},se.kill=se.revert=function(){se.disable();var e=Le.indexOf(se);0<=e&&Le.splice(e,1),Be===se&&(Be=0)},Le.push(se),z&&A(i)&&(Be=se),se.enable(p)},function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}(Observer,[{key:"velocityX",get:function get(){return this._vx.getVelocity()}},{key:"velocityY",get:function get(){return this._vy.getVelocity()}}]),Observer);function Observer(e){this.init(e)}E.version="3.11.4",E.create=function(e){return new E(e)},E.register=P,E.getAll=function(){return Le.slice()},E.getById=function(t){return Le.filter(function(e){return e.vars.id===t})[0]},r()&&we.registerPlugin(E);function ya(){return ot=1}function za(){return ot=0}function Aa(e){return e}function Ba(e){return Math.round(1e5*e)/1e5||0}function Ca(){return"undefined"!=typeof window}function Da(){return He||Ca()&&(He=window.gsap)&&He.registerPlugin&&He}function Ea(e){return!!~l.indexOf(e)}function Fa(e){return z(e,"getBoundingClientRect")||(Ea(e)?function(){return Yt.width=Je.innerWidth,Yt.height=Je.innerHeight,Yt}:function(){return Mt(e)})}function Ia(e,t){var r=t.s,n=t.d2,o=t.d,i=t.a;return(r="scroll"+n)&&(i=z(e,r))?i()-Fa(e)()[o]:Ea(e)?(qe[r]||Ge[r])-(Je["inner"+n]||qe["client"+n]||Ge["client"+n]):e[r]-e["offset"+n]}function Ja(e,t){for(var r=0;r<g.length;r+=3)t&&!~t.indexOf(g[r+1])||e(g[r],g[r+1],g[r+2])}function Ka(e){return"string"==typeof e}function La(e){return"function"==typeof e}function Ma(e){return"number"==typeof e}function Na(e){return"object"==typeof e}function Oa(e,t,r){return e&&e.progress(t?0:1)&&r&&e.pause()}function Pa(e,t){if(e.enabled){var r=t(e);r&&r.totalTime&&(e.callbackAnimation=r)}}function eb(e){return Je.getComputedStyle(e)}function gb(e,t){for(var r in t)r in e||(e[r]=t[r]);return e}function ib(e,t){var r=t.d2;return e["offset"+r]||e["client"+r]||0}function jb(e){var t,r=[],n=e.labels,o=e.duration();for(t in n)r.push(n[t]/o);return r}function lb(o){var i=He.utils.snap(o),a=Array.isArray(o)&&o.slice(0).sort(function(e,t){return e-t});return a?function(e,t,r){var n;if(void 0===r&&(r=.001),!t)return i(e);if(0<t){for(e-=r,n=0;n<a.length;n++)if(a[n]>=e)return a[n];return a[n-1]}for(n=a.length,e+=r;n--;)if(a[n]<=e)return a[n];return a[0]}:function(e,t,r){void 0===r&&(r=.001);var n=i(e);return!t||Math.abs(n-e)<r||n-e<0==t<0?n:i(t<0?e-o:e+o)}}function nb(t,r,e,n){return e.split(",").forEach(function(e){return t(r,e,n)})}function ob(e,t,r,n,o){return e.addEventListener(t,r,{passive:!n,capture:!!o})}function pb(e,t,r,n){return e.removeEventListener(t,r,!!n)}function qb(e,t,r){return r&&r.wheelHandler&&e(t,"wheel",r)}function ub(e,t){if(Ka(e)){var r=e.indexOf("="),n=~r?(e.charAt(r-1)+1)*parseFloat(e.substr(r+1)):0;~r&&(e.indexOf("%")>r&&(n*=t/100),e=e.substr(0,r-1)),e=n+(e in I?I[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e}function vb(e,t,r,n,o,i,a,s){var l=o.startColor,c=o.endColor,u=o.fontSize,f=o.indent,p=o.fontWeight,d=je.createElement("div"),g=Ea(r)||"fixed"===z(r,"pinType"),h=-1!==e.indexOf("scroller"),v=g?Ge:r,b=-1!==e.indexOf("start"),m=b?l:c,y="border-color:"+m+";font-size:"+u+";color:"+m+";font-weight:"+p+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return y+="position:"+((h||s)&&g?"fixed;":"absolute;"),!h&&!s&&g||(y+=(n===Ke?T:S)+":"+(i+parseFloat(f))+"px;"),a&&(y+="box-sizing:border-box;text-align:left;width:"+a.offsetWidth+"px;"),d._isStart=b,d.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),d.style.cssText=y,d.innerText=t||0===t?e+"-"+t:e,v.children[0]?v.insertBefore(d,v.children[0]):v.appendChild(d),d._offset=d["offset"+n.op.d2],R(d,0,n,b),d}function Ab(){return 34<gt()-ht&&(w=w||requestAnimationFrame(j))}function Bb(){v&&v.isPressed&&!(v.startX>Ge.clientWidth)||(ze.cache++,v?w=w||requestAnimationFrame(j):j(),ht||W("scrollStart"),ht=gt())}function Cb(){y=Je.innerWidth,m=Je.innerHeight}function Db(){ze.cache++,nt||h||je.fullscreenElement||je.webkitFullscreenElement||b&&y===Je.innerWidth&&!(Math.abs(Je.innerHeight-m)>.25*Je.innerHeight)||c.restart(!0)}function Gb(){return pb(Q,"scrollEnd",Gb)||It(!0)}function Jb(e){for(var t=0;t<H.length;t+=5)(!e||H[t+4]&&H[t+4].query===e)&&(H[t].style.cssText=H[t+1],H[t].getBBox&&H[t].setAttribute("transform",H[t+2]||""),H[t+3].uncache=1)}function Kb(e,t){var r;for(it=0;it<At.length;it++)!(r=At[it])||t&&r._ctx!==t||(e?r.kill(1):r.revert(!0,!0));t&&Jb(t),t||W("revert")}function Lb(e,t){ze.cache++,!t&&ut||ze.forEach(function(e){return La(e)&&e.cacheID++&&(e.rec=0)}),Ka(e)&&(Je.history.scrollRestoration=x=e)}function Yb(e,t,r,n){if(!e._gsap.swappedIn){for(var o,i=q.length,a=t.style,s=e.style;i--;)a[o=q[i]]=r[o];a.position="absolute"===r.position?"absolute":"relative","inline"===r.display&&(a.display="inline-block"),s[S]=s[T]="auto",a.flexBasis=r.flexBasis||"auto",a.overflow="visible",a.boxSizing="border-box",a[mt]=ib(e,Xe)+kt,a[yt]=ib(e,Ke)+kt,a[St]=s[Ct]=s.top=s.left="0",Rt(n),s[mt]=s.maxWidth=r[mt],s[yt]=s.maxHeight=r[yt],s[St]=r[St],e.parentNode!==t&&(e.parentNode.insertBefore(t,e),t.appendChild(e)),e._gsap.swappedIn=!0}}function _b(e){for(var t=V.length,r=e.style,n=[],o=0;o<t;o++)n.push(V[o],r[V[o]]);return n.t=e,n}function cc(e,t,r,n,o,i,a,s,l,c,u,f,p){La(e)&&(e=e(s)),Ka(e)&&"max"===e.substr(0,3)&&(e=f+("="===e.charAt(4)?ub("0"+e.substr(3),r):0));var d,g,h,v=p?p.time():0;if(p&&p.seek(0),Ma(e))a&&R(a,r,n,!0);else{La(t)&&(t=t(s));var b,m,y,x,w=(e||"0").split(" ");h=J(t)||Ge,(b=Mt(h)||{})&&(b.left||b.top)||"none"!==eb(h).display||(x=h.style.display,h.style.display="block",b=Mt(h),x?h.style.display=x:h.style.removeProperty("display")),m=ub(w[0],b[n.d]),y=ub(w[1]||"0",r),e=b[n.p]-l[n.p]-c+m+o-y,a&&R(a,y,n,r-y<20||a._isStart&&20<y),r-=r-y}if(i){var _=e+r,T=i._isStart;d="scroll"+n.d2,R(i,_,n,T&&20<_||!T&&(u?Math.max(Ge[d],qe[d]):i.parentNode[d])<=_+1),u&&(l=Mt(a),u&&(i.style[n.op.p]=l[n.op.p]-n.op.m-i._offset+kt))}return p&&h&&(d=Mt(h),p.seek(f),g=Mt(h),p._caScrollDist=d[n.p]-g[n.p],e=e/p._c
15200aScrollDist*f),p&&p.seek(v),p?e:Math.round(e)}function ec(e,t,r,n){if(e.parentNode!==t){var o,i,a=e.style;if(t===Ge){for(o in e._stOrig=a.cssText,i=eb(e))+o||$.test(o)||!i[o]||"string"!=typeof a[o]||"0"===o||(a[o]=i[o]);a.top=r,a.left=n}else a.cssText=e._stOrig;He.core.getCache(e).uncache=1,t.appendChild(e)}}function fc(l,e){function Uj(e,t,r,n,o){var i=Uj.tween,a=t.onComplete,s={};return r=r||f(),o=n&&o||0,n=n||e-r,i&&i.kill(),c=Math.round(r),t[p]=e,(t.modifiers=s)[p]=function(e){return(e=Math.round(f()))!==c&&e!==u&&3<Math.abs(e-c)&&3<Math.abs(e-u)?(i.kill(),Uj.tween=0):e=r+n*i.ratio+o*i.ratio*i.ratio,u=c,c=Math.round(e)},t.onUpdate=function(){ze.cache++,j()},t.onComplete=function(){Uj.tween=0,a&&a.call(i)},i=Uj.tween=He.to(l,t)}var c,u,f=K(l,e),p="_scroll"+e.p2;return(l[p]=f).wheelHandler=function(){return Uj.tween&&Uj.tween.kill()&&(Uj.tween=0)},ob(l,"wheel",f.wheelHandler),Uj}var He,s,Je,je,qe,Ge,l,c,et,tt,rt,u,nt,ot,f,it,p,d,g,at,st,h,v,b,m,y,k,lt,x,ct,w,ut,ft,pt,dt=1,gt=Date.now,_=gt(),ht=0,vt=0,bt=Math.abs,T="right",S="bottom",mt="width",yt="height",xt="Right",wt="Left",_t="Top",Tt="Bottom",St="padding",Ct="margin",Et="Width",D="Height",kt="px",Mt=function _getBounds(e,t){var r=t&&"matrix(1, 0, 0, 1, 0, 0)"!==eb(e)[f]&&He.to(e,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),n=e.getBoundingClientRect();return r&&r.progress(0).kill(),n},Pt={startColor:"green",endColor:"red",indent:0,fontSize:"16px",fontWeight:"normal"},Ot={toggleActions:"play",anticipatePin:0},I={top:0,left:0,center:.5,bottom:1,right:1},R=function _positionMarker(e,t,r,n){var o={display:"block"},i=r[n?"os2":"p2"],a=r[n?"p2":"os2"];e._isFlipped=n,o[r.a+"Percent"]=n?-100:0,o[r.a]=n?"1px":0,o["border"+i+Et]=1,o["border"+a+Et]=0,o[r.p]=t+"px",He.set(e,o)},At=[],Bt={},Y={},X=[],W=function _dispatch(e){return Y[e]&&Y[e].map(function(e){return e()})||X},H=[],Dt=0,It=function _refreshAll(e,t){if(!ht||e){ut=Q.isRefreshing=!0,ze.forEach(function(e){return La(e)&&e.cacheID++&&(e.rec=e())});var r=W("refreshInit");at&&Q.sort(),t||Kb(),ze.forEach(function(e){La(e)&&(e.smooth&&(e.target.style.scrollBehavior="auto"),e(0))}),At.slice(0).forEach(function(e){return e.refresh()}),At.forEach(function(e,t){if(e._subPinOffset&&e.pin){var r=e.vars.horizontal?"offsetWidth":"offsetHeight",n=e.pin[r];e.revert(!0,1),e.adjustPinSpacing(e.pin[r]-n),e.revert(!1,1)}}),At.forEach(function(e){return"max"===e.vars.end&&e.setPositions(e.start,Math.max(e.start+1,Ia(e.scroller,e._dir)))}),r.forEach(function(e){return e&&e.render&&e.render(-1)}),ze.forEach(function(e){La(e)&&(e.smooth&&requestAnimationFrame(function(){return e.target.style.scrollBehavior="smooth"}),e.rec&&e(e.rec))}),Lb(x,1),c.pause(),Dt++,j(2),At.forEach(function(e){return La(e.vars.onRefresh)&&e.vars.onRefresh(e)}),ut=Q.isRefreshing=!1,W("refresh")}else ob(Q,"scrollEnd",Gb)},U=0,Lt=1,j=function _updateAll(e){if(!ut||2===e){Q.isUpdating=!0,pt&&pt.update(0);var t=At.length,r=gt(),n=50<=r-_,o=t&&At[0].scroll();if(Lt=o<U?-1:1,U=o,n&&(ht&&!ot&&200<r-ht&&(ht=0,W("scrollEnd")),rt=_,_=r),Lt<0){for(it=t;0<it--;)At[it]&&At[it].update(0,n);Lt=1}else for(it=0;it<t;it++)At[it]&&At[it].update(0,n);Q.isUpdating=!1}w=0},q=["left","top",S,T,Ct+Tt,Ct+xt,Ct+_t,Ct+wt,"display","flexShrink","float","zIndex","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","justifySelf","alignSelf","placeSelf","order"],V=q.concat([mt,yt,"boxSizing","max"+Et,"max"+D,"position",Ct,St,St+_t,St+xt,St+Tt,St+wt]),Z=/([A-Z])/g,Rt=function _setState(e){if(e){var t,r,n=e.t.style,o=e.length,i=0;for((e.t._gsap||He.core.getCache(e.t)).uncache=1;i<o;i+=2)r=e[i+1],t=e[i],r?n[t]=r:n[t]&&n.removeProperty(t.replace(Z,"-$1").toLowerCase())}},Yt={left:0,top:0},$=/(webkit|moz|length|cssText|inset)/i,Q=(ScrollTrigger.prototype.init=function init(S,C){if(this.progress=this.start=0,this.vars&&this.kill(!0,!0),vt){var E,n,d,k,M,P,O,A,B,D,I,e,L,R,Y,F,N,t,X,b,W,H,m,U,y,j,x,r,w,_,q,o,g,V,G,Z,$,T,i,Q=(S=gb(Ka(S)||Ma(S)||S.nodeType?{trigger:S}:S,Ot)).onUpdate,ee=S.toggleClass,a=S.id,te=S.onToggle,re=S.onRefresh,ne=S.scrub,oe=S.trigger,ie=S.pin,ae=S.pinSpacing,se=S.invalidateOnRefresh,le=S.anticipatePin,s=S.onScrubComplete,h=S.onSnapComplete,ce=S.once,ue=S.snap,fe=S.pinReparent,l=S.pinSpacer,pe=S.containerAnimation,de=S.fastScrollEnd,ge=S.preventOverlaps,he=S.horizontal||S.containerAnimation&&!1!==S.horizontal?Xe:Ke,ve=!ne&&0!==ne,be=J(S.scroller||Je),c=He.core.getCache(be),me=Ea(be),ye="fixed"===("pinType"in S?S.pinType:z(be,"pinType")||me&&"f
15200ixed"),xe=[S.onEnter,S.onLeave,S.onEnterBack,S.onLeaveBack],we=ve&&S.toggleActions.split(" "),u="markers"in S?S.markers:Ot.markers,_e=me?0:parseFloat(eb(be)["border"+he.p2+Et])||0,Te=this,Se=S.onRefreshInit&&function(){return S.onRefreshInit(Te)},Ce=function _getSizeFunc(e,t,r){var n=r.d,o=r.d2,i=r.a;return(i=z(e,"getBoundingClientRect"))?function(){return i()[n]}:function(){return(t?Je["inner"+o]:e["client"+o])||0}}(be,me,he),Ee=function _getOffsetsFunc(e,t){return!t||~Fe.indexOf(e)?Fa(e):function(){return Yt}}(be,me),ke=0,Me=0,Pe=K(be,he);if(lt(Te),Te._dir=he,le*=45,Te.scroller=be,Te.scroll=pe?pe.time.bind(pe):Pe,k=Pe(),Te.vars=S,C=C||S.animation,"refreshPriority"in S&&(at=1,-9999===S.refreshPriority&&(pt=Te)),c.tweenScroll=c.tweenScroll||{top:fc(be,Ke),left:fc(be,Xe)},Te.tweenTo=E=c.tweenScroll[he.p],Te.scrubDuration=function(e){(o=Ma(e)&&e)?q?q.duration(e):q=He.to(C,{ease:"expo",totalProgress:"+=0.001",duration:o,paused:!0,onComplete:function onComplete(){return s&&s(Te)}}):(q&&q.progress(1).kill(),q=0)},C&&(C.vars.lazy=!1,C._initted||!1!==C.vars.immediateRender&&!1!==S.immediateRender&&C.duration()&&C.render(0,!0,!0),Te.animation=C.pause(),(C.scrollTrigger=Te).scrubDuration(ne),w=0,a=a||C.vars.id),At.push(Te),ue&&(Na(ue)&&!ue.push||(ue={snapTo:ue}),"scrollBehavior"in Ge.style&&He.set(me?[Ge,qe]:be,{scrollBehavior:"auto"}),ze.forEach(function(e){return La(e)&&e.target===(me?je.scrollingElement||qe:be)&&(e.smooth=!1)}),d=La(ue.snapTo)?ue.snapTo:"labels"===ue.snapTo?function _getClosestLabel(t){return function(e){return He.utils.snap(jb(t),e)}}(C):"labelsDirectional"===ue.snapTo?function _getLabelAtDirection(r){return function(e,t){return lb(jb(r))(e,t.direction)}}(C):!1!==ue.directional?function(e,t){return lb(ue.snapTo)(e,gt()-Me<500?0:t.direction)}:He.utils.snap(ue.snapTo),g=ue.duration||{min:.1,max:2},g=Na(g)?tt(g.min,g.max):tt(g,g),V=He.delayedCall(ue.delay||o/2||.1,function(){var e=Pe(),t=gt()-Me<500,r=E.tween;if(!(t||Math.abs(Te.getVelocity())<10)||r||ot||ke===e)Te.isActive&&ke!==e&&V.restart(!0);else{var n=(e-P)/L,o=C&&!ve?C.totalProgress():n,i=t?0:(o-_)/(gt()-rt)*1e3||0,a=He.utils.clamp(-n,1-n,bt(i/2)*i/.185),s=n+(!1===ue.inertia?0:a),l=tt(0,1,d(s,Te)),c=Math.round(P+l*L),u=ue.onStart,f=ue.onInterrupt,p=ue.onComplete;if(e<=O&&P<=e&&c!==e){if(r&&!r._initted&&r.data<=bt(c-e))return;!1===ue.inertia&&(a=l-n),E(c,{duration:g(bt(.185*Math.max(bt(s-o),bt(l-o))/i/.05||0)),ease:ue.ease||"power3",data:bt(c-e),onInterrupt:function onInterrupt(){return V.restart(!0)&&f&&f(Te)},onComplete:function onComplete(){Te.update(),ke=Pe(),w=_=C&&!ve?C.totalProgress():Te.progress,h&&h(Te),p&&p(Te)}},e,a*L,c-e-a*L),u&&u(Te,E.tween)}}}).pause()),a&&(Bt[a]=Te),i=(i=(oe=Te.trigger=J(oe||ie))&&oe._gsap&&oe._gsap.stRevert)&&i(Te),ie=!0===ie?oe:J(ie),Ka(ee)&&(ee={targets:oe,className:ee}),ie&&(!1===ae||ae===Ct||(ae=!(!ae&&ie.parentNode&&ie.parentNode.style&&"flex"===eb(ie.parentNode).display)&&St),Te.pin=ie,(n=He.core.getCache(ie)).spacer?R=n.pinState:(l&&((l=J(l))&&!l.nodeType&&(l=l.current||l.nativeElement),n.spacerIsNative=!!l,l&&(n.spacerState=_b(l))),n.spacer=N=l||je.createElement("div"),N.classList.add("pin-spacer"),a&&N.classList.add("pin-spacer-"+a),n.pinState=R=_b(ie)),!1!==S.force3D&&He.set(ie,{force3D:!0}),Te.spacer=N=n.spacer,r=eb(ie),m=r[ae+he.os2],X=He.getProperty(ie),b=He.quickSetter(ie,he.a,kt),Yb(ie,N,r),F=_b(ie)),u){e=Na(u)?gb(u,Pt):Pt,D=vb("scroller-start",a,be,he,e,0),I=vb("scroller-end",a,be,he,e,0,D),t=D["offset"+he.op.d2];var f=J(z(be,"content")||be);A=this.markerStart=vb("start",a,f,he,e,t,0,pe),B=this.markerEnd=vb("end",a,f,he,e,t,0,pe),pe&&(T=He.quickSetter([A,B],he.a,kt)),ye||Fe.length&&!0===z(be,"fixedMarkers")||(function _makePositionable(e){var t=eb(e).position;e.style.position="absolute"===t||"fixed"===t?t:"relative"}(me?Ge:be),He.set([D,I],{force3D:!0}),y=He.quickSetter(D,he.a,kt),x=He.quickSetter(I,he.a,kt))}if(pe){var p=pe.vars.onUpdate,v=pe.vars.onUpdateParams;pe.eventCallback("onUpdate",function(){Te.update(0,0,1),p&&p.apply(v||[])})}Te.previous=function(){return At[At.indexOf(Te)-1]},Te.next=function(){return At[At.indexOf(Te)+1]},Te.revert=function(e,t){if(!t)return Te.kill(!0);var r=!1!==e||!Te.enabled,n=nt;r!==Te.isReverted&&(r&&(Z=Math.max(Pe(),Te.scroll.rec||0),G=Te.progress,$=C&&C.progress()),A&&[A,B,D,I].forEac
15200h(function(e){return e.style.display=r?"none":"block"}),r&&(nt=1,Te.update(r)),!ie||fe&&Te.isActive||(r?function _swapPinOut(e,t,r){Rt(r);var n=e._gsap;if(n.spacerIsNative)Rt(n.spacerState);else if(e._gsap.swappedIn){var o=t.parentNode;o&&(o.insertBefore(e,t),o.removeChild(t))}e._gsap.swappedIn=!1}(ie,N,R):Yb(ie,N,eb(ie),U)),r||Te.update(r),nt=n,Te.isReverted=r)},Te.refresh=function(e,t){if(!nt&&Te.enabled||t)if(ie&&e&&ht)ob(ScrollTrigger,"scrollEnd",Gb);else{!ut&&Se&&Se(Te),nt=1,Me=gt(),E.tween&&(E.tween.kill(),E.tween=0),q&&q.pause(),se&&C&&C.revert({kill:!1}).invalidate(),Te.isReverted||Te.revert(!0,!0),Te._subPinOffset=!1;for(var r,n,o,i,a,s,l,c,u,f,p,d=Ce(),g=Ee(),h=pe?pe.duration():Ia(be,he),v=0,b=0,m=S.end,y=S.endTrigger||oe,x=S.start||(0!==S.start&&oe?ie?"0 0":"0 100%":0),w=Te.pinnedContainer=S.pinnedContainer&&J(S.pinnedContainer),_=oe&&Math.max(0,At.indexOf(Te))||0,T=_;T--;)(s=At[T]).end||s.refresh(0,1)||(nt=1),!(l=s.pin)||l!==oe&&l!==ie||s.isReverted||((f=f||[]).unshift(s),s.revert(!0,!0)),s!==At[T]&&(_--,T--);for(La(x)&&(x=x(Te)),P=cc(x,oe,d,he,Pe(),A,D,Te,g,_e,ye,h,pe)||(ie?-.001:0),La(m)&&(m=m(Te)),Ka(m)&&!m.indexOf("+=")&&(~m.indexOf(" ")?m=(Ka(x)?x.split(" ")[0]:"")+m:(v=ub(m.substr(2),d),m=Ka(x)?x:P+v,y=oe)),O=Math.max(P,cc(m||(y?"100% 0":h),y,d,he,Pe()+v,B,I,Te,g,_e,ye,h,pe))||-.001,L=O-P||(P-=.01)&&.001,v=0,T=_;T--;)(l=(s=At[T]).pin)&&s.start-s._pinPush<=P&&!pe&&0<s.end&&(r=s.end-s.start,(l===oe&&s.start-s._pinPush<P||l===w)&&!Ma(x)&&(v+=r*(1-s.progress)),l===ie&&(b+=r));if(P+=v,O+=v,Te._pinPush=b,A&&v&&((r={})[he.a]="+="+v,w&&(r[he.p]="-="+Pe()),He.set([A,B],r)),ie)r=eb(ie),i=he===Ke,o=Pe(),W=parseFloat(X(he.a))+b,!h&&1<O&&((p={style:p=(me?je.scrollingElement||qe:be).style,value:p["overflow"+he.a.toUpperCase()]})["overflow"+he.a.toUpperCase()]="scroll"),Yb(ie,N,r),F=_b(ie),n=Mt(ie,!0),c=ye&&K(be,i?Xe:Ke)(),ae&&((U=[ae+he.os2,L+b+kt]).t=N,(T=ae===St?ib(ie,he)+L+b:0)&&U.push(he.d,T+kt),Rt(U),w&&At.forEach(function(e){e.pin===w&&!1!==e.vars.pinSpacing&&(e._subPinOffset=!0)}),ye&&Pe(Z)),ye&&((a={top:n.top+(i?o-P:c)+kt,left:n.left+(i?c:o-P)+kt,boxSizing:"border-box",position:"fixed"})[mt]=a.maxWidth=Math.ceil(n.width)+kt,a[yt]=a.maxHeight=Math.ceil(n.height)+kt,a[Ct]=a[Ct+_t]=a[Ct+xt]=a[Ct+Tt]=a[Ct+wt]="0",a[St]=r[St],a[St+_t]=r[St+_t],a[St+xt]=r[St+xt],a[St+Tt]=r[St+Tt],a[St+wt]=r[St+wt],Y=function _copyState(e,t,r){for(var n,o=[],i=e.length,a=r?8:0;a<i;a+=2)n=e[a],o.push(n,n in t?t[n]:e[a+1]);return o.t=e.t,o}(R,a,fe),ut&&Pe(0)),C?(u=C._initted,st(1),C.render(C.duration(),!0,!0),H=X(he.a)-W+L+b,j=1<Math.abs(L-H),ye&&j&&Y.splice(Y.length-2,2),C.render(0,!0,!0),u||C.invalidate(!0),C.parent||C.totalTime(C.totalTime()),st(0)):H=L,p&&(p.value?p.style["overflow"+he.a.toUpperCase()]=p.value:p.style.removeProperty("overflow-"+he.a));else if(oe&&Pe()&&!pe)for(n=oe.parentNode;n&&n!==Ge;)n._pinOffset&&(P-=n._pinOffset,O-=n._pinOffset),n=n.parentNode;f&&f.forEach(function(e){return e.revert(!1,!0)}),Te.start=P,Te.end=O,k=M=ut?Z:Pe(),pe||ut||(k<Z&&Pe(Z),Te.scroll.rec=0),Te.revert(!1,!0),V&&(ke=-1,Te.isActive&&Pe(P+L*G),V.restart(!0)),nt=0,C&&ve&&(C._initted||$)&&C.progress()!==$&&C.progress($,!0).render(C.time(),!0,!0),G===Te.progress&&!pe||(C&&!ve&&C.totalProgress(G,!0),Te.progress=(k-P)/L===G?0:G),ie&&ae&&(N._pinOffset=Math.round(Te.progress*H)),re&&!ut&&re(Te)}},Te.getVelocity=function(){return(Pe()-M)/(gt()-rt)*1e3||0},Te.endAnimation=function(){Oa(Te.callbackAnimation),C&&(q?q.progress(1):C.paused()?ve||Oa(C,Te.direction<0,1):Oa(C,C.reversed()))},Te.labelToScroll=function(e){return C&&C.labels&&(P||Te.refresh()||P)+C.labels[e]/C.duration()*L||0},Te.getTrailing=function(t){var e=At.indexOf(Te),r=0<Te.direction?At.slice(0,e).reverse():At.slice(e+1);return(Ka(t)?r.filter(function(e){return e.vars.preventOverlaps===t}):r).filter(function(e){return 0<Te.direction?e.end<=P:e.start>=O})},Te.update=function(e,t,r){if(!pe||r||e){var n,o,i,a,s,l,c,u=ut?Z:Te.scroll(),f=e?0:(u-P)/L,p=f<0?0:1<f?1:f||0,d=Te.progress;if(t&&(M=k,k=pe?Pe():u,ue&&(_=w,w=C&&!ve?C.totalProgress():p)),le&&!p&&ie&&!nt&&!dt&&ht&&P<u+(u-M)/(gt()-rt)*le&&(p=1e-4),p!==d&&Te.enabled){if(a=(s=(n=Te.isActive=!!p&&p<1)!=(!!d&&d<1))||!!p!=!!d,Te.direction=d<p?1:-1,Te.progress=p,a&&!nt&&(o=p&&!d?0:1===p?1:1===d?2:3,ve&&(i=!s&&"none"!==we[o+1]&&we[o+1]||we[o],c=C&&("complete"===i||"reset"===i||i in C))),ge&&(s||c)&&
vendor: 16,795 bytes, lines 15200-15297
15200(c||ne||!C)&&(La(ge)?ge(Te):Te.getTrailing(ge).forEach(function(e){return e.endAnimation()})),ve||(!q||nt||dt?C&&C.totalProgress(p,!!nt):(q._dp._time-q._start!==q._time&&q.render(q._dp._time-q._start),q.resetTo?q.resetTo("totalProgress",p,C._tTime/C._tDur):(q.vars.totalProgress=p,q.invalidate().restart()))),ie)if(e&&ae&&(N.style[ae+he.os2]=m),ye){if(a){if(l=!e&&d<p&&u<O+1&&u+1>=Ia(be,he),fe)if(e||!n&&!l)ec(ie,N);else{var g=Mt(ie,!0),h=u-P;ec(ie,Ge,g.top+(he===Ke?h:0)+kt,g.left+(he===Ke?0:h)+kt)}Rt(n||l?Y:F),j&&p<1&&n||b(W+(1!==p||l?0:H))}}else b(Ba(W+H*p));!ue||E.tween||nt||dt||V.restart(!0),ee&&(s||ce&&p&&(p<1||!ct))&&et(ee.targets).forEach(function(e){return e.classList[n||ce?"add":"remove"](ee.className)}),!Q||ve||e||Q(Te),a&&!nt?(ve&&(c&&("complete"===i?C.pause().totalProgress(1):"reset"===i?C.restart(!0).pause():"restart"===i?C.restart(!0):C[i]()),Q&&Q(Te)),!s&&ct||(te&&s&&Pa(Te,te),xe[o]&&Pa(Te,xe[o]),ce&&(1===p?Te.kill(!1,1):xe[o]=0),s||xe[o=1===p?1:3]&&Pa(Te,xe[o])),de&&!n&&Math.abs(Te.getVelocity())>(Ma(de)?de:2500)&&(Oa(Te.callbackAnimation),q?q.progress(1):Oa(C,"reverse"===i?1:!p,1))):ve&&Q&&!nt&&Q(Te)}if(x){var v=pe?u/pe.duration()*(pe._caScrollDist||0):u;y(v+(D._isFlipped?1:0)),x(v)}T&&T(-u/pe.duration()*(pe._caScrollDist||0))}},Te.enable=function(e,t){Te.enabled||(Te.enabled=!0,ob(be,"resize",Db),ob(me?je:be,"scroll",Bb),Se&&ob(ScrollTrigger,"refreshInit",Se),!1!==e&&(Te.progress=G=0,k=M=ke=Pe()),!1!==t&&Te.refresh())},Te.getTween=function(e){return e&&E?E.tween:q},Te.setPositions=function(e,t){ie&&(W+=e-P,H+=t-e-L,ae===St&&Te.adjustPinSpacing(t-e-L)),Te.start=P=e,Te.end=O=t,L=t-e,Te.update()},Te.adjustPinSpacing=function(e){if(U){var t=U.indexOf(he.d)+1;U[t]=parseFloat(U[t])+e+kt,U[1]=parseFloat(U[1])+e+kt,Rt(U)}},Te.disable=function(e,t){if(Te.enabled&&(!1!==e&&Te.revert(!0,!0),Te.enabled=Te.isActive=!1,t||q&&q.pause(),Z=0,n&&(n.uncache=1),Se&&pb(ScrollTrigger,"refreshInit",Se),V&&(V.pause(),E.tween&&E.tween.kill()&&(E.tween=0)),!me)){for(var r=At.length;r--;)if(At[r].scroller===be&&At[r]!==Te)return;pb(be,"resize",Db),pb(be,"scroll",Bb)}},Te.kill=function(e,t){Te.disable(e,t),q&&!t&&q.kill(),a&&delete Bt[a];var r=At.indexOf(Te);0<=r&&At.splice(r,1),r===it&&0<Lt&&it--,r=0,At.forEach(function(e){return e.scroller===Te.scroller&&(r=1)}),r||ut||(Te.scroll.rec=0),C&&(C.scrollTrigger=null,e&&C.revert({kill:!1}),t||C.kill()),A&&[A,B,D,I].forEach(function(e){return e.parentNode&&e.parentNode.removeChild(e)}),pt===Te&&(pt=0),ie&&(n&&(n.uncache=1),r=0,At.forEach(function(e){return e.pin===ie&&r++}),r||(n.spacer=0)),S.onKill&&S.onKill(Te)},Te.enable(!1,!1),i&&i(Te),C&&C.add&&!L?He.delayedCall(.01,function(){return P||O||Te.refresh()})&&(L=.01)&&(P=O=0):Te.refresh(),ie&&function _queueRefreshAll(){if(ft!==Dt){var e=ft=Dt;requestAnimationFrame(function(){return e===Dt&&It(!0)})}}()}else this.update=this.refresh=this.kill=Aa},ScrollTrigger.register=function register(e){return s||(He=e||Da(),Ca()&&window.document&&ScrollTrigger.enable(),s=vt),s},ScrollTrigger.defaults=function defaults(e){if(e)for(var t in e)Ot[t]=e[t];return Ot},ScrollTrigger.disable=function disable(t,r){vt=0,At.forEach(function(e){return e[r?"kill":"disable"](t)}),pb(Je,"wheel",Bb),pb(je,"scroll",Bb),clearInterval(u),pb(je,"touchcancel",Aa),pb(Ge,"touchstart",Aa),nb(pb,je,"pointerdown,touchstart,mousedown",ya),nb(pb,je,"pointerup,touchend,mouseup",za),c.kill(),Ja(pb);for(var e=0;e<ze.length;e+=3)qb(pb,ze[e],ze[e+1]),qb(pb,ze[e],ze[e+2])},ScrollTrigger.enable=function enable(){if(Je=window,je=document,qe=je.documentElement,Ge=je.body,He&&(et=He.utils.toArray,tt=He.utils.clamp,lt=He.core.context||Aa,st=He.core.suppressOverwrites||Aa,x=Je.history.scrollRestoration||"auto",He.core.globals("ScrollTrigger",ScrollTrigger),Ge)){vt=1,E.register(He),ScrollTrigger.isTouch=E.isTouch,k=E.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),ob(Je,"wheel",Bb),l=[Je,je,qe,Ge],He.matchMedia?(ScrollTrigger.matchMedia=function(e){var t,r=He.matchMedia();for(t in e)r.add(t,e[t]);return r},He.addEventListener("matchMediaInit",function(){return Kb()}),He.addEventListener("matchMediaRevert",function(){return Jb()}),He.addEventListener("matchMedia",function(){It(0,1),W("matchMedia")}),He.matchMedia("(orientation: portrait)",function(){return Cb(),Cb})):console.warn("Requires GSAP 3.11.0 or later"),Cb(),ob(je,"scroll",Bb);var e,t,r=Ge.style,n=r.borderTopStyle,o=He.core.Animation.prototype;for(o.revert||Object.defineProperty(o,"revert",{value:function value(){return this.time(-.01,!0)}}),r.borderTopStyle="solid",e=Mt(Ge),Ke.m=Math.round(e.top+Ke.sc())||0,Xe.m=Math.round(e.left+Xe.sc())||0,n?r.borderTopStyle=n:r.removeProperty("border-top-style"),u=setInterval(Ab,250),He.delayedCall(.5,function(){return dt=0}),ob(je,"touchcancel",Aa),ob(Ge,"touchstart",Aa),nb(ob,je,"pointerdown,touchstart,mousedown",ya),nb(ob,je,"pointerup,touchend,mouseup",za),f=He.utils.checkPrefix("transform"),V.push(f),s=gt(),c=He.delayedCall(.2,It).pause(),g=[je,"visibilitychange",function(){var e=Je.innerWidth,t=Je.innerHeight;je.hidden?(p=e,d=t):p===e&&d===t||Db()},je,"DOMContentLoaded",It,Je,"load",It,Je,"resize",Db],Ja(ob),At.forEach(function(e){return e.enable(0,1)}),t=0;t<ze.length;t+=3)qb(pb,ze[t],ze[t+1]),qb(pb,ze[t],ze[t+2])}},ScrollTrigger.config=function config(e){"limitCallbacks"in e&&(ct=!!e.limitCallbacks);var t=e.syncInterval;t&&clearInterval(u)||(u=t)&&setInterval(Ab,t),"ignoreMobileResize"in e&&(b=1===ScrollTrigger.isTouch&&e.ignoreMobileResize),"autoRefreshEvents"in e&&(Ja(pb)||Ja(ob,e.autoRefreshEvents||"none"),h=-1===(e.autoRefreshEvents+"").indexOf("resize"))},ScrollTrigger.scrollerProxy=function scrollerProxy(e,t){var r=J(e),n=ze.indexOf(r),o=Ea(r);~n&&ze.splice(n,o?6:2),t&&(o?Fe.unshift(Je,t,Ge,t,qe,t):Fe.unshift(r,t))},ScrollTrigger.clearMatchMedia=function clearMatchMedia(t){At.forEach(function(e){return e._ctx&&e._ctx.query===t&&e._ctx.kill(!0,!0)})},ScrollTrigger.isInViewport=function isInViewport(e,t,r){var n=(Ka(e)?J(e):e).getBoundingClientRect(),o=n[r?mt:yt]*t||0;return r?0<n.right-o&&n.left+o<Je.innerWidth:0<n.bottom-o&&n.top+o<Je.innerHeight},ScrollTrigger.positionInViewport=function positionInViewport(e,t,r){Ka(e)&&(e=J(e));var n=e.getBoundingClientRect(),o=n[r?mt:yt],i=null==t?o/2:t in I?I[t]*o:~t.indexOf("%")?parseFloat(t)*o/100:parseFloat(t)||0;return r?(n.left+i)/Je.innerWidth:(n.top+i)/Je.innerHeight},ScrollTrigger.killAll=function killAll(e){if(At.slice(0).forEach(function(e){return"ScrollSmoother"!==e.vars.id&&e.kill()}),!0!==e){var t=Y.killAll||[];Y={},t.forEach(function(e){return e()})}},ScrollTrigger);function ScrollTrigger(e,t){s||ScrollTrigger.register(He)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),this.init(e,t)}Q.version="3.11.4",Q.saveStyles=function(e){return e?et(e).forEach(function(e){if(e&&e.style){var t=H.indexOf(e);0<=t&&H.splice(t,5),H.push(e,e.style.cssText,e.getBBox&&e.getAttribute("transform"),He.core.getCache(e),lt())}}):H},Q.revert=function(e,t){return Kb(!e,t)},Q.create=function(e,t){return new Q(e,t)},Q.refresh=function(e){return e?Db():(s||Q.register())&&It(!0)},Q.update=function(e){return++ze.cache&&j(!0===e?2:0)},Q.clearScrollMemory=Lb,Q.maxScroll=function(e,t){return Ia(e,t?Xe:Ke)},Q.getScrollFunc=function(e,t){return K(J(e),t?Xe:Ke)},Q.getById=function(e){return Bt[e]},Q.getAll=function(){return At.filter(function(e){return"ScrollSmoother"!==e.vars.id})},Q.isScrolling=function(){return!!ht},Q.snapDirectional=lb,Q.addEventListener=function(e,t){var r=Y[e]||(Y[e]=[]);~r.indexOf(t)||r.push(t)},Q.removeEventListener=function(e,t){var r=Y[e],n=r&&r.indexOf(t);0<=n&&r.splice(n,1)},Q.batch=function(e,t){function Io(e,t){var r=[],n=[],o=He.delayedCall(i,function(){t(r,n),r=[],n=[]}).pause();return function(e){r.length||o.restart(!0),r.push(e.trigger),n.push(e),a<=r.length&&o.progress(1)}}var r,n=[],o={},i=t.interval||.016,a=t.batchMax||1e9;for(r in t)o[r]="on"===r.substr(0,2)&&La(t[r])&&"onRefreshInit"!==r?Io(0,t[r]):t[r];return La(a)&&(a=a(),ob(Q,"refresh",function(){return a=t.batchMax()})),et(e).forEach(function(e){var t={};for(r in o)t[r]=o[r];t.trigger=e,n.push(Q.create(t))}),n};function hc(e,t,r,n){return n<t?e(n):t<0&&e(0),n<r?(n-t)/(r-t):r<0?t/(t-r):1}function ic(e,t){!0===t?e.style.removeProperty("touch-action"):e.style.touchAction=!0===t?"auto":t?"pan-"+t+(E.isTouch?" pinch-zoom":""):"none",e===qe&&ic(Ge,t)}function kc(e){var t,r=e.event,n=e.target,o=e.axis,i=(r.changedTouches?r.changedTouches[0]:r).target,a=i._gsap||He.core.getCache(i),s=gt();if(!a._isScrollT||2e3<s-a._isScrollT){for(;i&&i!==Ge&&(i.scrollHeight<=i.clientHeight&&i.scrollWidth<=i.clientWidth||!te[(t=eb(i)).overflowY]&&!te[t.overflowX]);)i=i.parentNode;a._isScroll=i&&i!==n&&!Ea(i)&&(te[(t=eb(i)).overflowY]||te[t.overflowX]),a._isScrollT=s}!a._isScroll&&"x"!==o||(r.stopPropagation(),r._gsapAllow=!0)}function lc(e,t,r,n){return E.create({target:e,capture:!0,debounce:!1,lockAxis:!0,type:t,onWheel:n=n&&kc,onPress:n,onDrag:n,onScroll:n,onEnable:function onEnable(){return r&&ob(je,E.eventTypes[0],ne,!1,!0)},onDisable:function onDisable(){return pb(je,E.eventTypes[0],ne,!0)}})}function pc(e){function Ep(){return o=!1}function Hp(){i=Ia(p,Ke),S=tt(k?1:0,i),f&&(T=tt(0,Ia(p,Xe))),l=Dt}function Ip(){h._gsap.y=Ba(parseFloat(h._gsap.y)+v.offset)+"px",h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(h._gsap.y)+", 0, 1)",v.offset=v.cacheID=0}function Op(){Hp(),a.isActive()&&a.vars.scrollY>i&&(v()>i?a.progress(1)&&v(i):a.resetTo("scrollY",i))}Na(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var n,i,l,o,a,c,u,s,f=e.normalizeScrollX,t=e.momentum,r=e.allowNestedScroll,p=J(e.target)||qe,d=He.core.globals().ScrollSmoother,g=d&&d.get(),h=k&&(e.content&&J(e.content)||g&&!1!==e.content&&!g.smooth()&&g.content()),v=K(p,Ke),b=K(p,Xe),m=1,y=(E.isTouch&&Je.visualViewport?Je.visualViewport.scale*Je.visualViewport.width:Je.outerWidth)/Je.innerWidth,x=0,w=La(t)?function(){return t(n)}:function(){return t||2.8},_=lc(p,e.type,!0,r),T=Aa,S=Aa;return h&&He.set(h,{y:"+=0"}),e.ignoreCheck=function(e){return k&&"touchmove"===e.type&&function ignoreDrag(){if(o){requestAnimationFrame(Ep);var e=Ba(n.deltaY/2),t=S(v.v-e);if(h&&t!==v.v+v.offset){v.offset=t-v.v;var r=Ba((parseFloat(h&&h._gsap.y)||0)-v.offset);h.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+r+", 0, 1)",h._gsap.y=r+"px",v.cacheID=ze.cache,j()}return!0}v.offset&&Ip(),o=!0}()||1.05<m&&"touchstart"!==e.type||n.isGesturing||e.touches&&1<e.touches.length},e.onPress=function(){var e=m;m=Ba((Je.visualViewport&&Je.visualViewport.scale||1)/y),a.pause(),e!==m&&ic(p,1.01<m||!f&&"x"),c=b(),u=v(),Hp(),l=Dt},e.onRelease=e.onGestureStart=function(e,t){if(v.offset&&Ip(),t){ze.cache++;var r,n,o=w();f&&(n=(r=b())+.05*o*-e.velocityX/.227,o*=hc(b,r,n,Ia(p,Xe)),a.vars.scrollX=T(n)),n=(r=v())+.05*o*-e.velocityY/.227,o*=hc(v,r,n,Ia(p,Ke)),a.vars.scrollY=S(n),a.invalidate().duration(o).play(.01),(k&&a.vars.scrollY>=i||i-1<=r)&&He.to({},{onUpdate:Op,duration:o})}else s.restart(!0)},e.onWheel=function(){a._ts&&a.pause(),1e3<gt()-x&&(l=0,x=gt())},e.onChange=function(e,t,r,n,o){if(Dt!==l&&Hp(),t&&f&&b(T(n[2]===t?c+(e.startX-e.x):b()+t-n[1])),r){v.offset&&Ip();var i=o[2]===r,a=i?u+e.startY-e.y:v()+r-o[1],s=S(a);i&&a!==s&&(u+=s-a),v(s)}(r||t)&&j()},e.onEnable=function(){ic(p,!f&&"x"),Q.addEventListener("refresh",Op),ob(Je,"resize",Op),v.smooth&&(v.target.style.scrollBehavior="auto",v.smooth=b.smooth=!1),_.enable()},e.onDisable=function(){ic(p,!0),pb(Je,"resize",Op),Q.removeEventListener("refresh",Op),_.kill()},e.lockAxis=!1!==e.lockAxis,((n=new E(e)).iOS=k)&&!v()&&v(1),k&&He.ticker.add(Aa),s=n._dc,a=He.to(n,{ease:"power4",paused:!0,scrollX:f?"+=0.1":"+=0",scrollY:"+=0.1",onComplete:s.vars.onComplete}),n}var ee,te={auto:1,scroll:1},re=/(input|label|select|textarea)/i,ne=function _captureInputs(e){var t=re.test(e.target.tagName);(t||ee)&&(e._gsapAllow=!0,ee=t)};Q.sort=function(e){return At.sort(e||function(e,t){return-1e6*(e.vars.refreshPriority||0)+e.start-(t.start+-1e6*(t.vars.refreshPriority||0))})},Q.observe=function(e){return new E(e)},Q.normalizeScroll=function(e){if(void 0===e)return v;if(!0===e&&v)return v.enable();if(!1===e)return v&&v.kill();var t=e instanceof E?e:pc(e);return v&&v.target===t.target&&v.kill(),Ea(t.target)&&(v=t),t},Q.core={_getVelocityProp:L,_inputObserver:lc,_scrollers:ze,_proxies:Fe,bridge:{ss:function ss(){ht||W("scrollStart"),ht=gt()},ref:function ref(){return nt}}},Da()&&He.registerPlugin(Q),e.ScrollTrigger=Q,e.default=Q;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}}); 15201 15202 15203/* End */ 15204; 15205; /* Start:"a:4:{s:4:"full";s:73:"/local/templates/culture/build/js/notifications-header.js?176656724411358";s:6:"source";s:57:"/local/templates/culture/build/js/notifications-header.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 15206/** 15207 * СкÑÐ¸Ð¿Ñ Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñведомлений в header 15208 * ÐинамиÑеÑки обновлÑÐµÑ ÑÑеÑÑик и ÑпиÑок Ñведомлений без пеÑезагÑÑзки ÑÑÑаниÑÑ 15209 */ 15210 15211(function() { 15212 'use strict'; 15213 15214 const NotificationsHeader = { 15215 // ÐонÑигÑÑаÑÐ¸Ñ 15216 config: { 15217 updateInterval: 30000, // ÐбновлÑÑÑ ÐºÐ°Ð¶Ð´Ñе 30 ÑекÑнд 15218 ajaxUrl: '/local/ajax/get_notifications.php', 15219 containerSelector: '.personal-notifications', 15220 countSelector: '.personal-notifications__count', 15221 listSelector: '.personal-notifications__list', 15222 dropdownSelector: '.personal-notifications__dropdown', 15223 emptyMessageSelector: '.personal-notifications__empty' 15224 }, 15225 15226 // ÐниÑиализаÑÐ¸Ñ 15227 init: function() { 15228 if (!this.isAuthorized()) { 15229 return; 15230 } 15231 15232 // УÑÑанавливаем авÑомаÑиÑеÑкое обновление 15233 this.setupAutoUpdate(); 15234 15235 // ÐобавлÑем обÑабоÑÑик Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñи оÑкÑÑÑии dropdown 15236 this.setupDropdownHandler(); 15237 }, 15238 15239 // ÐÑовеÑÑем авÑоÑизаÑÐ¸Ñ 15240 isAuthorized: function() { 15241 return typeof BX !== 'undefined' && BX.bitrix_sessid && 15242 document.querySelector(this.config.containerSelector) !== null; 15243 }, 15244 15245 // ÐаÑÑÑойка авÑомаÑиÑеÑкого Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ 15246 setupAutoUpdate: function() { 15247 const self = this; 15248 15249 // ÐбновлÑем ÑÑÐ°Ð·Ñ Ð¿Ñи загÑÑзке 15250 this.updateNotifications(); 15251 15252 // ÐаÑем обновлÑем пеÑиодиÑеÑки 15253 setInterval(function() { 15254 self.updateNotifications(); 15255 }, this.config.updateInterval); 15256 15257 // ÐбновлÑем пÑи видимоÑÑи ÑÑÑаниÑÑ (когда полÑзоваÑÐµÐ»Ñ Ð²ÐµÑнÑлÑÑ Ð½Ð° вкладкÑ) 15258 if (typeof document.hidden !== 'undefined') { 15259 document.addEventListener('visibilitychange', function() { 15260 if (!document.hidden) { 15261 self.updateNotifications(); 15262 } 15263 }); 15264 } 15265 }, 15266 15267 // ÐаÑÑÑойка обÑабоÑÑика dropdown 15268 setupDropdownHandler: function() { 15269 const self = this; 15270 const container = document.querySelector(this.config.containerSelector); 15271 15272 if (!container) { 15273 return; 15274 } 15275 15276 // ÐÑи клике на trigger оÑкÑÑваем/закÑÑваем dropdown 15277 const trigger = container.querySelector('.personal-notifications__trigger'); 15278 const dropdown = container.querySelector(this.config.dropdownSelector); 15279 15280 if (trigger && dropdown) { 15281 trigger.addEventListener('click', function(e) { 15282 e.stopPropagation(); 15283 dropdown.classList.toggle('is-active'); 15284 self.updateNotifications(); 15285 }); 15286 } 15287 15288 // ÐакÑÑваем dropdown пÑи клике вне ÑлеменÑа 15289 document.addEventListener('click', function(e) { 15290 if (!container.contains(e.target) && dropdown && dropdown.classList.contains('is-active')) { 15291 dropdown.classList.remove('is-active'); 15292 } 15293 }); 15294 15295 // ÐакÑÑваем dropdown пÑи клике на ÑлеменÑÑ Ð²Ð½ÑÑÑи 15296 if (dropdown) { 15297 const items = dropdown.querySelectorAll('.personal-notifications__item');
15298 items.forEach(item => { 15299 item.addEventListener('click', function(e) { 15300 if (e.target.tagName === 'A') { 15301 dropdown.classList.remove('is-active'); 15302 } 15303 }); 15304 }); 15305 } 15306 }, 15307 15308 // ÐолÑÑиÑÑ ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ñ ÑеÑвеÑа 15309 updateNotifications: function() { 15310 const self = this; 15311 15312 fetch(this.config.ajaxUrl, { 15313 method: 'GET', 15314 credentials: 'include', 15315 headers: { 15316 'X-Requested-With': 'XMLHttpRequest' 15317 } 15318 }) 15319 .then(response => { 15320 // ÐÑовеÑÑем ÑÑаÑÑÑ Ð¾ÑвеÑа 15321 if (!response.ok) { 15322 throw new Error(`HTTP error! status: ${response.status}`); 15323 } 15324 // ÐÑовеÑÑем Ñип конÑенÑа 15325 const contentType = response.headers.get('content-type'); 15326 if (!contentType || !contentType.includes('application/json')) { 15327 throw new Error('Invalid response format: expected JSON'); 15328 } 15329 return response.json(); 15330 }) 15331 .then(data => { 15332 if (data && data.success) { 15333 self.updateUI(data); 15334 } else if (data && data.error) { 15335 console.warn('Notification API error:', data.error); 15336 } 15337 }) 15338 .catch(error => { 15339 console.error('Error fetching notifications:', error); 15340 // ÐÑÑаемÑÑ Ð¸ÑполÑзоваÑÑ fallback 15341 self.tryFallbackUrl(); 15342 }); 15343 }, 15344 15345 // Fallback URL еÑли оÑновной не ÑабоÑÐ°ÐµÑ 15346 tryFallbackUrl: function() { 15347 const self = this; 15348 const fallbackUrl = '/local/ajax/get_notifications_fallback.php'; 15349 15350 if (this.config.ajaxUrl === fallbackUrl) { 15351 // ÐÑли Ñже пÑÑалиÑÑ fallback, не повÑоÑÑем 15352 return; 15353 } 15354 15355 console.log('Trying fallback notifications URL...'); 15356 this.config.ajaxUrl = fallbackUrl; 15357 15358 fetch(fallbackUrl, { 15359 method: 'GET', 15360 credentials: 'include', 15361 headers: { 15362 'X-Requested-With': 'XMLHttpRequest' 15363 } 15364 }) 15365 .then(response => { 15366 if (!response.ok) { 15367 throw new Error(`HTTP error! status: ${response.status}`); 15368 } 15369 return response.json(); 15370 }) 15371 .then(data => { 15372 if (data && data.success) { 15373 self.updateUI(data); 15374 } 15375 }) 15376 .catch(error => { 15377 console.error('Error fetching notifications from fallback:', error); 15378 // ÐÑодолжаем ÑабоÑÑ ÑайÑа даже еÑли ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ загÑÑжаÑÑÑÑ 15379 }); 15380 }, 15381 15382 // ÐбновиÑÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ 15383 updateUI: function(data) { 15384 // ÐбновлÑем ÑÑеÑÑик 15385 this.updateCounter(data.unreadCount); 15386 15387 // ÐбновлÑем ÑпиÑок Ñведомлений 15388 if (data.notifications && data.notifications.length > 0) { 15389 this.updateNotificationsList(data.notifications); 15390 } else { 15391 this.showEmptyMessage(); 15392 } 15393 }, 15394 15395 // ÐбновиÑÑ ÑÑеÑÑик 15396 updateCounter: function(count) { 15397 const counter = document.querySelector(this.config.countSelector); 15398 if (counter) { 15399 counter.textContent = count; 15400 15401 // СкÑÑваем ÑÑÑÑÑик еÑли 0, показÑваем еÑли > 0 15402 if (count > 0) { 15403 counter.style.display = ''; 15404 counter.classList.add('has-notifications'); 15405 counter.classList.remove('has-no-notifications'); 15406 } else { 15407 counter.style.display = 'none'; 15408 counter.classList.remove('has-notifications'); 15409 counter.classList.add('has-no-notifications'); 15410 } 15411 } 15412 }, 15413 15414 // ÐбновиÑÑ ÑпиÑок Ñведомлений 15415 updateNotificationsList: function(notifications) { 15416 const list = document.querySelector(this.config.listSelector); 15417 const empty = document.querySelector(this.config.emptyMessageSelector); 15418 const dropdown = document.querySelector(this.config.dropdownSelector); 15419 15420 if (!list) { 15421 return; 15422 } 15423 15424 // СкÑÑваем ÑообÑение об оÑÑÑÑÑÑвии Ñведомлений 15425 if (empty) { 15426 empty.classList.remove('is-active'); 15427 } 15428 15429 15430 // ÐÑиÑаем ÑпиÑок 15431 list.innerHTML = ''; 15432 15433 // ÐобавлÑем ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ 15434 notifications.forEach(notification => { 15435 const item = this.createNotificationItem(notification); 15436 list.appendChild(item); 15437 }); 15438 }, 15439 15440 // СоздаÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ 15441 createNotificationItem: function(notification) { 15442 const div = document.createElement('div'); 15443 const readClass = notification.isRead ? 'personal-notifications__item--read' : 'personal-notifications__item--unread'; 15444 15445 div.className = `personal-notifications__item ${readClass}`; 15446 15447 let html = ` 15448 <div class="personal-notifications__item-title"> 15449 ${notification.name} 15450 </div> 15451 <div class="personal-notifications__item-status"> 15452 СÑаÑÑÑ: ${notification.status} 15453 </div> 15454 `; 15455 15456 if (notification.section) { 15457 html += ` 15458 <div class="personal-notifications__item-section"> 15459 Раздел: ${notification.section} 15460 </div> 15461 `; 15462 } 15463 15464 html += ` 15465 <div class="personal-notifications__item-date"> 15466 ${notification.date} 15467 </div> 15468 `; 15469 15470 div.innerHTML = html; 15471 return div; 15472 }, 15473 15474 // ÐоказаÑÑ ÑообÑение об оÑÑÑÑÑÑвии Ñведомлений 15475 showEmptyMessage: function() { 15476 const list = document.querySelector(this.config.listSelector); 15477 const empty = document.querySelector(this.config.emptyMessageSelector); 15478 15479 if (list) { 15480 list.innerHTML = ''; 15481 } 15482 15483 if (empty) { 15484 empty.classList.add('is-active'); 15485 } 15486 } 15487 }; 15488 15489 // ÐниÑиализиÑÑем пÑи гоÑовноÑÑи DOM 15490 if (document.readyState === 'loading') { 15491 document.addEventListener('DOMContentLoaded', function() {
15492 NotificationsHeader.init(); 15493 }); 15494 } else { 15495 NotificationsHeader.init(); 15496 } 15497 15498 // ÐкÑпоÑÑиÑÑем Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² дÑÑÐ³Ð¸Ñ ÑкÑипÑÐ°Ñ 15499 window.NotificationsHeader = NotificationsHeader; 15500})(); 15501 15502 15503/* End */ 15504; 15505; /* Start:"a:4:{s:4:"full";s:81:"/local/templates/culture/build/js/page/components/personalSelect.js?1766567244988";s:6:"source";s:67:"/local/templates/culture/build/js/page/components/personalSelect.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 15506"use strict"; 15507 15508/** 15509 * ÐниÑиализаÑÐ¸Ñ ÑÐµÐ»ÐµÐºÑ 15510 * 15511 * @id иденÑиÑикаÑÐ¾Ñ ÑлеменÑа, ÑказÑваÑÑ Ð±ÐµÐ· #, text 15512 * @placeholder ÑÑÐ»Ð¾Ð²Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ (ÐапÑимеÑ: 'ÐÑбеÑиÑе ...'), text 15513 * @allowClear кÑеÑÑик Ð´Ð»Ñ Ð¾ÑиÑÑки полÑ, по деÑолÑÑ false, boolean 15514 * @multiple множеÑÑвеннÑй вÑбоÑ, по деÑолÑÑ false, boolean 15515 * @nothingFound ÑообÑение, еÑли ниÑего не найдено, text 15516 */ 15517function personalSelect(select) { 15518 var $select = $('#' + select.id); 15519 $select.select2({ 15520 placeholder: select.placeholder || 'ÐÑбÑаÑÑ', 15521 multiple: select.multiple, 15522 allowClear: select.allowClear, 15523 data: select.data, 15524 language: { 15525 noResults: function noResults() { 15526 return select.nothingFound || "ÐÐµÑ ÑезÑлÑÑаÑов"; 15527 } 15528 }, 15529 dropdownCssClass: 'personal__select-dropdown' 15530 }).val('').trigger('change'); 15531} 15532/* End */ 15533; 15534; /* Start:"a:4:{s:4:"full";s:82:"/local/templates/culture/build/js/page/components/personalPicker.js?17665672443432";s:6:"source";s:67:"/local/templates/culture/build/js/page/components/personalPicker.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 15535"use strict"; 15536 15537/** 15538 * ÐниÑиализаÑÐ¸Ñ ÐºÐ°Ð»ÐµÐ½Ð´Ð°ÑÑ 15539 * 15540 * @id иденÑиÑикаÑÐ¾Ñ ÑлеменÑа, ÑказÑваÑÑ Ð±ÐµÐ· #, text 15541 * @showAnim анимаÑионное оÑобÑажение календаÑÑ, text 15542 * @buttonImageName наименование иконки, text 15543 * @buttonImageOnly оÑобÑажение Ñела кнопки, boolean 15544 * @buttonText ÑекÑÑ Ð¿Ð¾ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð½Ð° кнопкÑ, text 15545 * @dateFormat ÑоÑÐ¼Ð°Ñ Ð´Ð°ÑÑ, text 15546 * @maxDate макÑималÑное колиÑеÑÑво дней, text 15547 * @showOtherMonths оÑобÑажаÑÑ Ð½Ð¾Ð¼ÐµÑа дней пÑедÑдÑÑего и ÑледÑÑÑего меÑÑÑев, по деÑолÑÑ false, boolean 15548 * @showButtonPanel оÑобÑажение нижней панели Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼Ð¸, по деÑолÑÑ false, boolean 15549 * @mask маÑка Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ, boolean 15550 * @path пÑÑÑ Ð´Ð¾ папки build 15551 */ 15552function personalPicker(picker) { 15553 var $picker = $('#' + picker.id); 15554 var $mask = picker.mask ? picker.mask : false; 15555 var months = ['ÑнваÑÑ', 'ÑевÑалÑ', 'маÑÑа', 'апÑелÑ', 'маÑ', 'иÑнÑ', 'иÑлÑ', 'авгÑÑÑа', 'ÑенÑÑбÑÑ', 'окÑÑбÑÑ', 'ноÑбÑÑ', 'декабÑÑ']; 15556 var getDate = function getDate(date) { 15557 var month = months[date.getMonth()]; 15558 var onlyDate = date.getDate() >= 10 ? date.getDate() : "0".concat(date.getDate()); 15559 return "".concat(onlyDate, " ").concat(month, " ").concat(date.getFullYear()); 15560 }; 15561 var addPrevNextYearButtons = function addPrevNextYearButtons(input) { 15562 setTimeout(function () { 15563 var btnPrev = $("<a title='ÐÑедÑдÑÑий год'><span></span></a>"); 15564 var changeYear = $.datepicker._curInst.drawYear; 15565 btnPrev.addClass("ui-datepicker-prev-year ui-corner-all"); 15566 btnPrev.click(function () { 15567 $.datepicker._adjustDate(input, -1, 'Y'); 15568 }); 15569 var btnNext = $("<a title='СледÑÑÑий год'><span></span></a>"); 15570 btnNext.addClass("ui-datepicker-next-year ui-corner-all"); 15571 if (changeYear < new Date().getFullYear()) { 15572 btnNext.click(function () { 15573 $.datepicker._adjustDate(input, 1, 'Y'); 15574 }); 15575 } else { 15576 btnNext.addClass("ui-state-disabled"); 15577 } 15578 var datepickerHeader = $(input).datepicker("widget").find('.ui-datepicker-header'); 15579 datepickerHeader.append(btnPrev); 15580 datepickerHeader.append(btnNext); 15581 }, 1); 15582 }; 15583 $picker.datepicker({ 15584 showOn: "both", 15585 buttonImage: "/build/img/icons/icons.svg#".concat(picker.buttonImageName || 'calendar'), 15586 buttonImageOnly: picker.buttonImageOnly ? picker.buttonImageOnly : false, 15587 buttonText: picker.buttonText || "ÐалендаÑÑ", 15588 dateFormat: picker.dateFormat ? picker.dateFormat : 'dd M yy', 15589 maxDate: picker.maxDate ? picker.maxDate : '0', 15590 showOtherMonths: picker.showOtherMonths ? picker.showOtherMonths : false, 15591 showButtonPanel: picker.showButtonPanel ? picker.showButtonPanel : false, 15592 monthNamesShort: months, 15593 setDate: 'today', 15594 prevText: 'ÐÑедÑдÑÑий', 15595 nextText: 'СледÑÑÑий', 15596 beforeShow: function beforeShow(input) { 15597 addPrevNextYearButtons(input); 15598 }, 15599 onChangeMonthYear: function onChangeMonthYear(year, month, inst) { 15600 addPrevNextYearButtons(inst.input[0]); 15601 } 15602 }); 15603 if ($mask) { 15604 $picker.datepicker().mask("99.99.9999"); 15605 } 15606} 15607/* End */ 15608; 15609; /* Start:"a:4:{s:4:"full";s:78:"/local/templates/culture/build/js/page/components/chatBotMod.js?17665672446701";s:6:"source";s:63:"/local/templates/culture/build/js/page/components/chatBotMod.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 15610"use strict"; 15611 15612// ÐÑовеÑÑем, ÑÑо jQuery загÑÑжен 15613if (typeof $ === 'undefined') { 15614 console.error('ChatBot: jQuery не загÑÑжен!'); 15615} else { 15616 // ÐниÑиализаÑÐ¸Ñ Ñ jQuery 15617 var $chatBot, $chatBotIcon, $chatBotForm, $chatBotBodyChat, $chatBotTextArea; 15618 var chatBotOpen = 'chat-bot__open'; 15619 var dNone = 'd-none'; 15620 var textAreaChat = 'chat-bot__textarea-chat'; 15621 var $chatBotSelect = $('.chat-bot .personal__select');
15622 var $overlay = $('.modal-overlay'); 15623 var overlayMobile = 'overlay-mobile'; 15624 var chatBotSelectObject = { 15625 id: 'chat-bot-select', 15626 placeholder: 'Тема', 15627 allowClear: true, 15628 nothingFound: 'ÐиÑего не найдено' 15629 }; 15630 var fieldError = 'field-error'; 15631 var botSelect = ''; 15632 15633 $(document).ready(function () { 15634 // ÐÑем ÑлеменÑÑ Ð¿Ð¾Ñле загÑÑзки DOM 15635 $chatBot = $('.chat-bot'); 15636 $chatBotIcon = $('.chat-bot .chat-bot__icon'); 15637 $chatBotForm = $('#chat-bot-form'); 15638 $chatBotBodyChat = $('.chat-bot .chat-bot__body-chat'); 15639 $chatBotTextArea = $('.chat-bot .chat-bot__textarea'); 15640 15641 console.log('ChatBot: jQuery ready, elements found:', { 15642 chatBot: $chatBot.length, 15643 chatBotIcon: $chatBotIcon.length, 15644 chatBotForm: $chatBotForm.length 15645 }); 15646 15647 // ÐÑовеÑÑем, ÑÑо ÑлеменÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ 15648 if ($chatBot.length === 0) { 15649 console.log('ChatBot: ÐлеменÑÑ Ð½Ðµ найденÑ, возможно ÑаÑ-Ð±Ð¾Ñ ÑкÑÑÑ'); 15650 return; 15651 } 15652 15653 $chatBotIcon.click(function () { 15654 console.log('ChatBot: Icon clicked'); 15655 $chatBot.addClass(chatBotOpen); 15656 $chatBotIcon.addClass(dNone); 15657 $chatBotForm.removeClass(dNone); 15658 $overlay.addClass(overlayMobile); 15659 personalSelect(chatBotSelectObject); 15660 }); 15661 var $chatBotClose = $('.chat-bot .chat-bot__close, .chat-bot .chat-bot__cancel, .modal-overlay'); 15662 $chatBotClose.click(function () { 15663 $chatBot.removeClass(chatBotOpen); 15664 $chatBotIcon.removeClass(dNone); 15665 $chatBotForm.addClass(dNone); 15666 $chatBotBodyChat.addClass(dNone); 15667 $chatBotTextArea.removeClass(textAreaChat); 15668 $chatBotSelect.removeClass(dNone); 15669 $overlay.removeClass(overlayMobile); 15670 $chatBotBodyChat.empty(); 15671 $chatBotForm[0].reset(); 15672 botSelect = ''; 15673 }); 15674 var $wrapText = $('.chat-bot__wrap-text'); 15675 $('#chat-bot-select').on('change', function () { 15676 $('.chat-bot .personal__select .select2-container .select2-selection--single').removeClass(fieldError); 15677 $('.chat-bot .personal__select .error').remove(); 15678 }); 15679 $chatBotForm.submit(function (e) { 15680 e.preventDefault(); 15681 var chatUserValue; 15682 botSelect = $('#chat-bot-select').val(); 15683 chatUserValue = $chatBotTextArea.val().trim(); 15684 if (!botSelect) { 15685 $('.chat-bot .personal__select .error').remove(); 15686 $('.chat-bot .personal__select .select2-container .select2-selection--single').addClass(fieldError); 15687 $chatBotSelect.append('<span class="error">ÐÑбеÑиÑе ÑÐµÐ¼Ñ Ð¾Ð±ÑаÑениÑ</span>'); 15688 return; 15689 } 15690 if (!chatUserValue.length) { 15691 $('.chat-bot__wrap-text .error').remove(); 15692 $wrapText.append('<span class="error">ÐведиÑе ÑекÑÑ ÑообÑениÑ</span>'); 15693 $chatBotTextArea.addClass(fieldError); 15694 return; 15695 } else if (chatUserValue.length < 3) { 15696 $('.chat-bot__wrap-text .error').remove(); 15697 $wrapText.append('<span class="error">ÐведиÑе не менее 3 Ñимволов</span>'); 15698 $chatBotTextArea.addClass(fieldError); 15699 return; 15700 } 15701 $('.chat-bot__wrap-text .error').remove(); 15702 $chatBotTextArea.removeClass(fieldError); 15703 $chatBotBodyChat.removeClass(dNone); 15704 $chatBotTextArea.addClass(textAreaChat); 15705 $chatBotSelect.addClass(dNone); 15706 var userTextHtml = "<div class=\"body-chat__user\"><span class=\"d-block body-chat__user-text\"> \u0412\u043E\u043F\u0440\u043E\u0441: ".concat(chatUserValue, "</sapn></div>"); 15707 setTimeout(function () { 15708 $chatBotBodyChat.append(userTextHtml); 15709 $chatBotBodyChat.scrollTop($chatBotBodyChat.prop('scrollHeight')); 15710 }, 1); 15711 15712 BX.ajax.runAction('rns:procultura.chatbot.getAnswer', { 15713 data: { 15714 fields: { 15715 theme: botSelect, 15716 text: chatUserValue 15717 } 15718 } 15719 }).then(function (response) { 15720 var botTextHtml = '<div class="d-flex gap-8 body-chat__bot">' + 15721 '<span class="d-flex body-chat__bot-icon">' + 15722 '<img src="/local/templates/culture/build/img/icons/icons.svg#bot-icon" alt="bot">' + 15723 '</span>' + 15724 '<span class="d-block body-chat__bot-text">' + 15725 'ÐÑвеÑ: ' + response.data.response + 15726 '</span>' + '</div>'; 15727 setTimeout(function () { 15728 $chatBotBodyChat.append(botTextHtml); 15729 $chatBotBodyChat.scrollTop($chatBotBodyChat.prop('scrollHeight') - $('.body-chat__bot').prop('scrollHeight') - 50); 15730 }, 1000); 15731 $chatBotForm[0].reset(); 15732 }, function (response) { 15733 console.log(response); 15734 }); 15735 }); 15736 }); // ÐакÑÑваем блок jQuery 15737} 15738 15739// ÐлÑÑеÑнаÑÐ¸Ð²Ð½Ð°Ñ Ð¸Ð½Ð¸ÑиализаÑÐ¸Ñ Ð±ÐµÐ· jQuery 15740if (typeof $ === 'undefined') { 15741 document.addEventListener('DOMContentLoaded', function() { 15742 console.log('ChatBot: ÐниÑиализаÑÐ¸Ñ Ð±ÐµÐ· jQuery'); 15743 15744 var chatBot = document.querySelector('.chat-bot'); 15745 var chatBotIcon = document.querySelector('.chat-bot .chat-bot__icon'); 15746 var chatBotForm = document.getElementById('chat-bot-form');
15747 var overlay = document.querySelector('.modal-overlay'); 15748 15749 if (chatBotIcon && chatBotForm) { 15750 chatBotIcon.addEventListener('click', function() { 15751 console.log('ChatBot: Icon clicked (vanilla JS)'); 15752 chatBot.classList.add('chat-bot__open'); 15753 chatBotIcon.classList.add('d-none'); 15754 chatBotForm.classList.remove('d-none'); 15755 if (overlay) overlay.classList.add('overlay-mobile'); 15756 }); 15757 15758 // ÐакÑÑÑие 15759 var closeButtons = document.querySelectorAll('.chat-bot .chat-bot__close, .chat-bot .chat-bot__cancel, .modal-overlay'); 15760 closeButtons.forEach(function(btn) { 15761 btn.addEventListener('click', function() { 15762 chatBot.classList.remove('chat-bot__open'); 15763 chatBotIcon.classList.remove('d-none'); 15764 chatBotForm.classList.add('d-none'); 15765 if (overlay) overlay.classList.remove('overlay-mobile'); 15766 }); 15767 }); 15768 } 15769 }); 15770} 15771/* End */ 15772;; /* /local/templates/culture/build/js/jquery.js?1766567244293671*/ 15773; /* /local/templates/culture/build/js/jquery-ui-datapicker.min.js?176656724436325*/ 15774; /* /local/templates/culture/build/js/jquery-ui-datapicker-translate-ru.js?17665672441036*/ 15775; /* /local/templates/culture/build/js/jquery.fancybox.min.js?176656724468253*/ 15776; /* /local/templates/culture/build/js/jquery-ui-accordion.min.js?176656724451638*/ 15777; /* /local/templates/culture/build/js/jquery.maskedinput.js?17665672447207*/ 15778; /* /local/templates/culture/build/js/jquery.validate.min.js?176656724424601*/ 15779; /* /local/templates/culture/build/js/select2.full.min.js?176656724475005*/ 15780; /* /local/templates/culture/build/js/slick.min.js?176656724442863*/ 15781; /* /local/templates/culture/build/js/bvi.js?176656724482847*/ 15782; /* /local/templates/culture/build/js/page/getBvi.js?1766567244923*/ 15783; /* /local/templates/culture/build/js/jquery.cookie.js?17665672443121*/ 15784; /* /local/templates/culture/build/js/index.js?17665672442194*/ 15785; /* /local/templates/culture/build/js/page/components/controllerSlider.js?17665672445462*/ 15786; /* /local/templates/culture/build/js/page/components/imageZoom.js?17665672441425*/ 15787; /* /local/templates/culture/build/js/page/components/mapOneObject.js?17665672442016*/ 15788; /* /local/templates/culture/build/js/page/components/datepickerCustom.js?1766567244161*/ 15789; /* /local/templates/culture/build/js/page/components/pushkinListWithSlider.js?17665672441004*/ 15790; /* /local/templates/culture/build/js/page/components/pushkinStickyMenu.js?1766567244675*/ 15791; /* /local/templates/culture/build/js/swiper/swiper-bundle.min.js?1766567244240246*/ 15792; /* /local/templates/culture/build/js/spellchecker.js?17665672441484*/ 15793; /* /local/templates/culture/build/js/svg.min.js?17665672444088*/ 15794; /* /local/templates/culture/build/js/page/components/cookiePopup.js?17665672441496*/ 15795; /* /local/templates/culture/build/js/shared/header.js?17665672445318*/ 15796; /* /local/templates/culture/build/js/shared/svg-injector.min.js?176656724416755*/ 15797; /* /local/templates/culture/build/js/shared/main.js?176656724415888*/ 15798; /* /local/templates/culture/build/js/gsap.min.js?176656724471157*/ 15799; /* /local/templates/culture/build/js/ScrollTrigger.min.js?176656724440596*/ 15800; /* /local/templates/culture/build/js/notifications-header.js?176656724411358*/ 15801; /* /local/templates/culture/build/js/page/components/personalSelect.js?1766567244988*/ 15802; /* /local/templates/culture/build/js/page/components/personalPicker.js?17665672443432*/ 15803; /* /local/templates/culture/build/js/page/components/chatBotMod.js?17665672446701*/
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.