// source --> https://microwinlabs.com/wp-includes/js/jquery/jquery.js?ver=3.7.1 
/*!
 * jQuery JavaScript Library v3.7.1
 * https://jquery.com/
 *
 * Copyright OpenJS Foundation and other contributors
 * Released under the MIT license
 * https://jquery.org/license
 *
 * Date: 2023-08-28T13:37Z
 */
( function( global, factory ) {

	"use strict";

	if ( typeof module === "object" && typeof module.exports === "object" ) {

		// For CommonJS and CommonJS-like environments where a proper `window`
		// is present, execute the factory and get jQuery.
		// For environments that do not have a `window` with a `document`
		// (such as Node.js), expose a factory as module.exports.
		// This accentuates the need for the creation of a real `window`.
		// e.g. var jQuery = require("jquery")(window);
		// See ticket trac-14549 for more info.
		module.exports = global.document ?
			factory( global, true ) :
			function( w ) {
				if ( !w.document ) {
					throw new Error( "jQuery requires a window with a document" );
				}
				return factory( w );
			};
	} else {
		factory( global );
	}

// Pass this if window is not defined yet
} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {

// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
// enough that all such attempts are guarded in a try block.
"use strict";

var arr = [];

var getProto = Object.getPrototypeOf;

var slice = arr.slice;

var flat = arr.flat ? function( array ) {
	return arr.flat.call( array );
} : function( array ) {
	return arr.concat.apply( [], array );
};


var push = arr.push;

var indexOf = arr.indexOf;

var class2type = {};

var toString = class2type.toString;

var hasOwn = class2type.hasOwnProperty;

var fnToString = hasOwn.toString;

var ObjectFunctionString = fnToString.call( Object );

var support = {};

var isFunction = function isFunction( obj ) {

		// Support: Chrome <=57, Firefox <=52
		// In some browsers, typeof returns "function" for HTML <object> elements
		// (i.e., `typeof document.createElement( "object" ) === "function"`).
		// We don't want to classify *any* DOM node as a function.
		// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
		// Plus for old WebKit, typeof returns "function" for HTML collections
		// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
		return typeof obj === "function" && typeof obj.nodeType !== "number" &&
			typeof obj.item !== "function";
	};


var isWindow = function isWindow( obj ) {
		return obj != null && obj === obj.window;
	};


var document = window.document;



	var preservedScriptAttributes = {
		type: true,
		src: true,
		nonce: true,
		noModule: true
	};

	function DOMEval( code, node, doc ) {
		doc = doc || document;

		var i, val,
			script = doc.createElement( "script" );

		script.text = code;
		if ( node ) {
			for ( i in preservedScriptAttributes ) {

				// Support: Firefox 64+, Edge 18+
				// Some browsers don't support the "nonce" property on scripts.
				// On the other hand, just using `getAttribute` is not enough as
				// the `nonce` attribute is reset to an empty string whenever it
				// becomes browsing-context connected.
				// See https://github.com/whatwg/html/issues/2369
				// See https://html.spec.whatwg.org/#nonce-attributes
				// The `node.getAttribute` check was added for the sake of
				// `jQuery.globalEval` so that it can fake a nonce-containing node
				// via an object.
				val = node[ i ] || node.getAttribute && node.getAttribute( i );
				if ( val ) {
					script.setAttribute( i, val );
				}
			}
		}
		doc.head.appendChild( script ).parentNode.removeChild( script );
	}


function toType( obj ) {
	if ( obj == null ) {
		return obj + "";
	}

	// Support: Android <=2.3 only (functionish RegExp)
	return typeof obj === "object" || typeof obj === "function" ?
		class2type[ toString.call( obj ) ] || "object" :
		typeof obj;
}
/* global Symbol */
// Defining this global in .eslintrc.json would create a danger of using the global
// unguarded in another place, it seems safer to define global only for this module



var version = "3.7.1",

	rhtmlSuffix = /HTML$/i,

	// Define a local copy of jQuery
	jQuery = function( selector, context ) {

		// The jQuery object is actually just the init constructor 'enhanced'
		// Need init if jQuery is called (just allow error to be thrown if not included)
		return new jQuery.fn.init( selector, context );
	};

jQuery.fn = jQuery.prototype = {

	// The current version of jQuery being used
	jquery: version,

	constructor: jQuery,

	// The default length of a jQuery object is 0
	length: 0,

	toArray: function() {
		return slice.call( this );
	},

	// Get the Nth element in the matched element set OR
	// Get the whole matched element set as a clean array
	get: function( num ) {

		// Return all the elements in a clean array
		if ( num == null ) {
			return slice.call( this );
		}

		// Return just the one element from the set
		return num < 0 ? this[ num + this.length ] : this[ num ];
	},

	// Take an array of elements and push it onto the stack
	// (returning the new matched element set)
	pushStack: function( elems ) {

		// Build a new jQuery matched element set
		var ret = jQuery.merge( this.constructor(), elems );

		// Add the old object onto the stack (as a reference)
		ret.prevObject = this;

		// Return the newly-formed element set
		return ret;
	},

	// Execute a callback for every element in the matched set.
	each: function( callback ) {
		return jQuery.each( this, callback );
	},

	map: function( callback ) {
		return this.pushStack( jQuery.map( this, function( elem, i ) {
			return callback.call( elem, i, elem );
		} ) );
	},

	slice: function() {
		return this.pushStack( slice.apply( this, arguments ) );
	},

	first: function() {
		return this.eq( 0 );
	},

	last: function() {
		return this.eq( -1 );
	},

	even: function() {
		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
			return ( i + 1 ) % 2;
		} ) );
	},

	odd: function() {
		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
			return i % 2;
		} ) );
	},

	eq: function( i ) {
		var len = this.length,
			j = +i + ( i < 0 ? len : 0 );
		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
	},

	end: function() {
		return this.prevObject || this.constructor();
	},

	// For internal use only.
	// Behaves like an Array's method, not like a jQuery method.
	push: push,
	sort: arr.sort,
	splice: arr.splice
};

jQuery.extend = jQuery.fn.extend = function() {
	var options, name, src, copy, copyIsArray, clone,
		target = arguments[ 0 ] || {},
		i = 1,
		length = arguments.length,
		deep = false;

	// Handle a deep copy situation
	if ( typeof target === "boolean" ) {
		deep = target;

		// Skip the boolean and the target
		target = arguments[ i ] || {};
		i++;
	}

	// Handle case when target is a string or something (possible in deep copy)
	if ( typeof target !== "object" && !isFunction( target ) ) {
		target = {};
	}

	// Extend jQuery itself if only one argument is passed
	if ( i === length ) {
		target = this;
		i--;
	}

	for ( ; i < length; i++ ) {

		// Only deal with non-null/undefined values
		if ( ( options = arguments[ i ] ) != null ) {

			// Extend the base object
			for ( name in options ) {
				copy = options[ name ];

				// Prevent Object.prototype pollution
				// Prevent never-ending loop
				if ( name === "__proto__" || target === copy ) {
					continue;
				}

				// Recurse if we're merging plain objects or arrays
				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
					( copyIsArray = Array.isArray( copy ) ) ) ) {
					src = target[ name ];

					// Ensure proper type for the source value
					if ( copyIsArray && !Array.isArray( src ) ) {
						clone = [];
					} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
						clone = {};
					} else {
						clone = src;
					}
					copyIsArray = false;

					// Never move original objects, clone them
					target[ name ] = jQuery.extend( deep, clone, copy );

				// Don't bring in undefined values
				} else if ( copy !== undefined ) {
					target[ name ] = copy;
				}
			}
		}
	}

	// Return the modified object
	return target;
};

jQuery.extend( {

	// Unique for each copy of jQuery on the page
	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),

	// Assume jQuery is ready without the ready module
	isReady: true,

	error: function( msg ) {
		throw new Error( msg );
	},

	noop: function() {},

	isPlainObject: function( obj ) {
		var proto, Ctor;

		// Detect obvious negatives
		// Use toString instead of jQuery.type to catch host objects
		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
			return false;
		}

		proto = getProto( obj );

		// Objects with no prototype (e.g., `Object.create( null )`) are plain
		if ( !proto ) {
			return true;
		}

		// Objects with prototype are plain iff they were constructed by a global Object function
		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
	},

	isEmptyObject: function( obj ) {
		var name;

		for ( name in obj ) {
			return false;
		}
		return true;
	},

	// Evaluates a script in a provided context; falls back to the global one
	// if not specified.
	globalEval: function( code, options, doc ) {
		DOMEval( code, { nonce: options && options.nonce }, doc );
	},

	each: function( obj, callback ) {
		var length, i = 0;

		if ( isArrayLike( obj ) ) {
			length = obj.length;
			for ( ; i < length; i++ ) {
				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
					break;
				}
			}
		} else {
			for ( i in obj ) {
				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
					break;
				}
			}
		}

		return obj;
	},


	// Retrieve the text value of an array of DOM nodes
	text: function( elem ) {
		var node,
			ret = "",
			i = 0,
			nodeType = elem.nodeType;

		if ( !nodeType ) {

			// If no nodeType, this is expected to be an array
			while ( ( node = elem[ i++ ] ) ) {

				// Do not traverse comment nodes
				ret += jQuery.text( node );
			}
		}
		if ( nodeType === 1 || nodeType === 11 ) {
			return elem.textContent;
		}
		if ( nodeType === 9 ) {
			return elem.documentElement.textContent;
		}
		if ( nodeType === 3 || nodeType === 4 ) {
			return elem.nodeValue;
		}

		// Do not include comment or processing instruction nodes

		return ret;
	},

	// results is for internal usage only
	makeArray: function( arr, results ) {
		var ret = results || [];

		if ( arr != null ) {
			if ( isArrayLike( Object( arr ) ) ) {
				jQuery.merge( ret,
					typeof arr === "string" ?
						[ arr ] : arr
				);
			} else {
				push.call( ret, arr );
			}
		}

		return ret;
	},

	inArray: function( elem, arr, i ) {
		return arr == null ? -1 : indexOf.call( arr, elem, i );
	},

	isXMLDoc: function( elem ) {
		var namespace = elem && elem.namespaceURI,
			docElem = elem && ( elem.ownerDocument || elem ).documentElement;

		// Assume HTML when documentElement doesn't yet exist, such as inside
		// document fragments.
		return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" );
	},

	// Support: Android <=4.0 only, PhantomJS 1 only
	// push.apply(_, arraylike) throws on ancient WebKit
	merge: function( first, second ) {
		var len = +second.length,
			j = 0,
			i = first.length;

		for ( ; j < len; j++ ) {
			first[ i++ ] = second[ j ];
		}

		first.length = i;

		return first;
	},

	grep: function( elems, callback, invert ) {
		var callbackInverse,
			matches = [],
			i = 0,
			length = elems.length,
			callbackExpect = !invert;

		// Go through the array, only saving the items
		// that pass the validator function
		for ( ; i < length; i++ ) {
			callbackInverse = !callback( elems[ i ], i );
			if ( callbackInverse !== callbackExpect ) {
				matches.push( elems[ i ] );
			}
		}

		return matches;
	},

	// arg is for internal usage only
	map: function( elems, callback, arg ) {
		var length, value,
			i = 0,
			ret = [];

		// Go through the array, translating each of the items to their new values
		if ( isArrayLike( elems ) ) {
			length = elems.length;
			for ( ; i < length; i++ ) {
				value = callback( elems[ i ], i, arg );

				if ( value != null ) {
					ret.push( value );
				}
			}

		// Go through every key on the object,
		} else {
			for ( i in elems ) {
				value = callback( elems[ i ], i, arg );

				if ( value != null ) {
					ret.push( value );
				}
			}
		}

		// Flatten any nested arrays
		return flat( ret );
	},

	// A global GUID counter for objects
	guid: 1,

	// jQuery.support is not used in Core but other projects attach their
	// properties to it so it needs to exist.
	support: support
} );

if ( typeof Symbol === "function" ) {
	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
}

// Populate the class2type map
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
	function( _i, name ) {
		class2type[ "[object " + name + "]" ] = name.toLowerCase();
	} );

function isArrayLike( obj ) {

	// Support: real iOS 8.2 only (not reproducible in simulator)
	// `in` check used to prevent JIT error (gh-2145)
	// hasOwn isn't used here due to false negatives
	// regarding Nodelist length in IE
	var length = !!obj && "length" in obj && obj.length,
		type = toType( obj );

	if ( isFunction( obj ) || isWindow( obj ) ) {
		return false;
	}

	return type === "array" || length === 0 ||
		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
}


function nodeName( elem, name ) {

	return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();

}
var pop = arr.pop;


var sort = arr.sort;


var splice = arr.splice;


var whitespace = "[\\x20\\t\\r\\n\\f]";


var rtrimCSS = new RegExp(
	"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
	"g"
);




// Note: an element does not contain itself
jQuery.contains = function( a, b ) {
	var bup = b && b.parentNode;

	return a === bup || !!( bup && bup.nodeType === 1 && (

		// Support: IE 9 - 11+
		// IE doesn't have `contains` on SVG.
		a.contains ?
			a.contains( bup ) :
			a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
	) );
};




// CSS string/identifier serialization
// https://drafts.csswg.org/cssom/#common-serializing-idioms
var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;

function fcssescape( ch, asCodePoint ) {
	if ( asCodePoint ) {

		// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
		if ( ch === "\0" ) {
			return "\uFFFD";
		}

		// Control characters and (dependent upon position) numbers get escaped as code points
		return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
	}

	// Other potentially-special ASCII characters get backslash-escaped
	return "\\" + ch;
}

jQuery.escapeSelector = function( sel ) {
	return ( sel + "" ).replace( rcssescape, fcssescape );
};




var preferredDoc = document,
	pushNative = push;

( function() {

var i,
	Expr,
	outermostContext,
	sortInput,
	hasDuplicate,
	push = pushNative,

	// Local document vars
	document,
	documentElement,
	documentIsHTML,
	rbuggyQSA,
	matches,

	// Instance-specific data
	expando = jQuery.expando,
	dirruns = 0,
	done = 0,
	classCache = createCache(),
	tokenCache = createCache(),
	compilerCache = createCache(),
	nonnativeSelectorCache = createCache(),
	sortOrder = function( a, b ) {
		if ( a === b ) {
			hasDuplicate = true;
		}
		return 0;
	},

	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" +
		"loop|multiple|open|readonly|required|scoped",

	// Regular expressions

	// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
	identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
		"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",

	// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +

		// Operator (capture 2)
		"*([*^$|!~]?=)" + whitespace +

		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
		whitespace + "*\\]",

	pseudos = ":(" + identifier + ")(?:\\((" +

		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
		// 1. quoted (capture 3; capture 4 or capture 5)
		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +

		// 2. simple (capture 6)
		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +

		// 3. anything else (capture 2)
		".*" +
		")\\)|)",

	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
	rwhitespace = new RegExp( whitespace + "+", "g" ),

	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
	rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" +
		whitespace + "*" ),
	rdescend = new RegExp( whitespace + "|>" ),

	rpseudo = new RegExp( pseudos ),
	ridentifier = new RegExp( "^" + identifier + "$" ),

	matchExpr = {
		ID: new RegExp( "^#(" + identifier + ")" ),
		CLASS: new RegExp( "^\\.(" + identifier + ")" ),
		TAG: new RegExp( "^(" + identifier + "|[*])" ),
		ATTR: new RegExp( "^" + attributes ),
		PSEUDO: new RegExp( "^" + pseudos ),
		CHILD: new RegExp(
			"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
				whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
				whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
		bool: new RegExp( "^(?:" + booleans + ")$", "i" ),

		// For use in libraries implementing .is()
		// We use this for POS matching in `select`
		needsContext: new RegExp( "^" + whitespace +
			"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
			"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
	},

	rinputs = /^(?:input|select|textarea|button)$/i,
	rheader = /^h\d$/i,

	// Easily-parseable/retrievable ID or TAG or CLASS selectors
	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,

	rsibling = /[+~]/,

	// CSS escapes
	// https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
	runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace +
		"?|\\\\([^\\r\\n\\f])", "g" ),
	funescape = function( escape, nonHex ) {
		var high = "0x" + escape.slice( 1 ) - 0x10000;

		if ( nonHex ) {

			// Strip the backslash prefix from a non-hex escape sequence
			return nonHex;
		}

		// Replace a hexadecimal escape sequence with the encoded Unicode code point
		// Support: IE <=11+
		// For values outside the Basic Multilingual Plane (BMP), manually construct a
		// surrogate pair
		return high < 0 ?
			String.fromCharCode( high + 0x10000 ) :
			String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
	},

	// Used for iframes; see `setDocument`.
	// Support: IE 9 - 11+, Edge 12 - 18+
	// Removing the function wrapper causes a "Permission Denied"
	// error in IE/Edge.
	unloadHandler = function() {
		setDocument();
	},

	inDisabledFieldset = addCombinator(
		function( elem ) {
			return elem.disabled === true && nodeName( elem, "fieldset" );
		},
		{ dir: "parentNode", next: "legend" }
	);

// Support: IE <=9 only
// Accessing document.activeElement can throw unexpectedly
// https://bugs.jquery.com/ticket/13393
function safeActiveElement() {
	try {
		return document.activeElement;
	} catch ( err ) { }
}

// Optimize for push.apply( _, NodeList )
try {
	push.apply(
		( arr = slice.call( preferredDoc.childNodes ) ),
		preferredDoc.childNodes
	);

	// Support: Android <=4.0
	// Detect silently failing push.apply
	// eslint-disable-next-line no-unused-expressions
	arr[ preferredDoc.childNodes.length ].nodeType;
} catch ( e ) {
	push = {
		apply: function( target, els ) {
			pushNative.apply( target, slice.call( els ) );
		},
		call: function( target ) {
			pushNative.apply( target, slice.call( arguments, 1 ) );
		}
	};
}

function find( selector, context, results, seed ) {
	var m, i, elem, nid, match, groups, newSelector,
		newContext = context && context.ownerDocument,

		// nodeType defaults to 9, since context defaults to document
		nodeType = context ? context.nodeType : 9;

	results = results || [];

	// Return early from calls with invalid selector or context
	if ( typeof selector !== "string" || !selector ||
		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {

		return results;
	}

	// Try to shortcut find operations (as opposed to filters) in HTML documents
	if ( !seed ) {
		setDocument( context );
		context = context || document;

		if ( documentIsHTML ) {

			// If the selector is sufficiently simple, try using a "get*By*" DOM method
			// (excepting DocumentFragment context, where the methods don't exist)
			if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {

				// ID selector
				if ( ( m = match[ 1 ] ) ) {

					// Document context
					if ( nodeType === 9 ) {
						if ( ( elem = context.getElementById( m ) ) ) {

							// Support: IE 9 only
							// getElementById can match elements by name instead of ID
							if ( elem.id === m ) {
								push.call( results, elem );
								return results;
							}
						} else {
							return results;
						}

					// Element context
					} else {

						// Support: IE 9 only
						// getElementById can match elements by name instead of ID
						if ( newContext && ( elem = newContext.getElementById( m ) ) &&
							find.contains( context, elem ) &&
							elem.id === m ) {

							push.call( results, elem );
							return results;
						}
					}

				// Type selector
				} else if ( match[ 2 ] ) {
					push.apply( results, context.getElementsByTagName( selector ) );
					return results;

				// Class selector
				} else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {
					push.apply( results, context.getElementsByClassName( m ) );
					return results;
				}
			}

			// Take advantage of querySelectorAll
			if ( !nonnativeSelectorCache[ selector + " " ] &&
				( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {

				newSelector = selector;
				newContext = context;

				// qSA considers elements outside a scoping root when evaluating child or
				// descendant combinators, which is not what we want.
				// In such cases, we work around the behavior by prefixing every selector in the
				// list with an ID selector referencing the scope context.
				// The technique has to be used as well when a leading combinator is used
				// as such selectors are not recognized by querySelectorAll.
				// Thanks to Andrew Dupont for this technique.
				if ( nodeType === 1 &&
					( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {

					// Expand context for sibling selectors
					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
						context;

					// We can use :scope instead of the ID hack if the browser
					// supports it & if we're not changing the context.
					// Support: IE 11+, Edge 17 - 18+
					// IE/Edge sometimes throw a "Permission denied" error when
					// strict-comparing two documents; shallow comparisons work.
					// eslint-disable-next-line eqeqeq
					if ( newContext != context || !support.scope ) {

						// Capture the context ID, setting it first if necessary
						if ( ( nid = context.getAttribute( "id" ) ) ) {
							nid = jQuery.escapeSelector( nid );
						} else {
							context.setAttribute( "id", ( nid = expando ) );
						}
					}

					// Prefix every selector in the list
					groups = tokenize( selector );
					i = groups.length;
					while ( i-- ) {
						groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
							toSelector( groups[ i ] );
					}
					newSelector = groups.join( "," );
				}

				try {
					push.apply( results,
						newContext.querySelectorAll( newSelector )
					);
					return results;
				} catch ( qsaError ) {
					nonnativeSelectorCache( selector, true );
				} finally {
					if ( nid === expando ) {
						context.removeAttribute( "id" );
					}
				}
			}
		}
	}

	// All others
	return select( selector.replace( rtrimCSS, "$1" ), context, results, seed );
}

/**
 * Create key-value caches of limited size
 * @returns {function(string, object)} Returns the Object data after storing it on itself with
 *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
 *	deleting the oldest entry
 */
function createCache() {
	var keys = [];

	function cache( key, value ) {

		// Use (key + " ") to avoid collision with native prototype properties
		// (see https://github.com/jquery/sizzle/issues/157)
		if ( keys.push( key + " " ) > Expr.cacheLength ) {

			// Only keep the most recent entries
			delete cache[ keys.shift() ];
		}
		return ( cache[ key + " " ] = value );
	}
	return cache;
}

/**
 * Mark a function for special use by jQuery selector module
 * @param {Function} fn The function to mark
 */
function markFunction( fn ) {
	fn[ expando ] = true;
	return fn;
}

/**
 * Support testing using an element
 * @param {Function} fn Passed the created element and returns a boolean result
 */
function assert( fn ) {
	var el = document.createElement( "fieldset" );

	try {
		return !!fn( el );
	} catch ( e ) {
		return false;
	} finally {

		// Remove from its parent by default
		if ( el.parentNode ) {
			el.parentNode.removeChild( el );
		}

		// release memory in IE
		el = null;
	}
}

/**
 * Returns a function to use in pseudos for input types
 * @param {String} type
 */
function createInputPseudo( type ) {
	return function( elem ) {
		return nodeName( elem, "input" ) && elem.type === type;
	};
}

/**
 * Returns a function to use in pseudos for buttons
 * @param {String} type
 */
function createButtonPseudo( type ) {
	return function( elem ) {
		return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) &&
			elem.type === type;
	};
}

/**
 * Returns a function to use in pseudos for :enabled/:disabled
 * @param {Boolean} disabled true for :disabled; false for :enabled
 */
function createDisabledPseudo( disabled ) {

	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
	return function( elem ) {

		// Only certain elements can match :enabled or :disabled
		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
		if ( "form" in elem ) {

			// Check for inherited disabledness on relevant non-disabled elements:
			// * listed form-associated elements in a disabled fieldset
			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
			// * option elements in a disabled optgroup
			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
			// All such elements have a "form" property.
			if ( elem.parentNode && elem.disabled === false ) {

				// Option elements defer to a parent optgroup if present
				if ( "label" in elem ) {
					if ( "label" in elem.parentNode ) {
						return elem.parentNode.disabled === disabled;
					} else {
						return elem.disabled === disabled;
					}
				}

				// Support: IE 6 - 11+
				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
				return elem.isDisabled === disabled ||

					// Where there is no isDisabled, check manually
					elem.isDisabled !== !disabled &&
						inDisabledFieldset( elem ) === disabled;
			}

			return elem.disabled === disabled;

		// Try to winnow out elements that can't be disabled before trusting the disabled property.
		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
		// even exist on them, let alone have a boolean value.
		} else if ( "label" in elem ) {
			return elem.disabled === disabled;
		}

		// Remaining elements are neither :enabled nor :disabled
		return false;
	};
}

/**
 * Returns a function to use in pseudos for positionals
 * @param {Function} fn
 */
function createPositionalPseudo( fn ) {
	return markFunction( function( argument ) {
		argument = +argument;
		return markFunction( function( seed, matches ) {
			var j,
				matchIndexes = fn( [], seed.length, argument ),
				i = matchIndexes.length;

			// Match elements found at the specified indexes
			while ( i-- ) {
				if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
					seed[ j ] = !( matches[ j ] = seed[ j ] );
				}
			}
		} );
	} );
}

/**
 * Checks a node for validity as a jQuery selector context
 * @param {Element|Object=} context
 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
 */
function testContext( context ) {
	return context && typeof context.getElementsByTagName !== "undefined" && context;
}

/**
 * Sets document-related variables once based on the current document
 * @param {Element|Object} [node] An element or document object to use to set the document
 * @returns {Object} Returns the current document
 */
function setDocument( node ) {
	var subWindow,
		doc = node ? node.ownerDocument || node : preferredDoc;

	// Return early if doc is invalid or already selected
	// Support: IE 11+, Edge 17 - 18+
	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
	// two documents; shallow comparisons work.
	// eslint-disable-next-line eqeqeq
	if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
		return document;
	}

	// Update global variables
	document = doc;
	documentElement = document.documentElement;
	documentIsHTML = !jQuery.isXMLDoc( document );

	// Support: iOS 7 only, IE 9 - 11+
	// Older browsers didn't support unprefixed `matches`.
	matches = documentElement.matches ||
		documentElement.webkitMatchesSelector ||
		documentElement.msMatchesSelector;

	// Support: IE 9 - 11+, Edge 12 - 18+
	// Accessing iframe documents after unload throws "permission denied" errors
	// (see trac-13936).
	// Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`,
	// all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well.
	if ( documentElement.msMatchesSelector &&

		// Support: IE 11+, Edge 17 - 18+
		// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
		// two documents; shallow comparisons work.
		// eslint-disable-next-line eqeqeq
		preferredDoc != document &&
		( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {

		// Support: IE 9 - 11+, Edge 12 - 18+
		subWindow.addEventListener( "unload", unloadHandler );
	}

	// Support: IE <10
	// Check if getElementById returns elements by name
	// The broken getElementById methods don't pick up programmatically-set names,
	// so use a roundabout getElementsByName test
	support.getById = assert( function( el ) {
		documentElement.appendChild( el ).id = jQuery.expando;
		return !document.getElementsByName ||
			!document.getElementsByName( jQuery.expando ).length;
	} );

	// Support: IE 9 only
	// Check to see if it's possible to do matchesSelector
	// on a disconnected node.
	support.disconnectedMatch = assert( function( el ) {
		return matches.call( el, "*" );
	} );

	// Support: IE 9 - 11+, Edge 12 - 18+
	// IE/Edge don't support the :scope pseudo-class.
	support.scope = assert( function() {
		return document.querySelectorAll( ":scope" );
	} );

	// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only
	// Make sure the `:has()` argument is parsed unforgivingly.
	// We include `*` in the test to detect buggy implementations that are
	// _selectively_ forgiving (specifically when the list includes at least
	// one valid selector).
	// Note that we treat complete lack of support for `:has()` as if it were
	// spec-compliant support, which is fine because use of `:has()` in such
	// environments will fail in the qSA path and fall back to jQuery traversal
	// anyway.
	support.cssHas = assert( function() {
		try {
			document.querySelector( ":has(*,:jqfake)" );
			return false;
		} catch ( e ) {
			return true;
		}
	} );

	// ID filter and find
	if ( support.getById ) {
		Expr.filter.ID = function( id ) {
			var attrId = id.replace( runescape, funescape );
			return function( elem ) {
				return elem.getAttribute( "id" ) === attrId;
			};
		};
		Expr.find.ID = function( id, context ) {
			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
				var elem = context.getElementById( id );
				return elem ? [ elem ] : [];
			}
		};
	} else {
		Expr.filter.ID =  function( id ) {
			var attrId = id.replace( runescape, funescape );
			return function( elem ) {
				var node = typeof elem.getAttributeNode !== "undefined" &&
					elem.getAttributeNode( "id" );
				return node && node.value === attrId;
			};
		};

		// Support: IE 6 - 7 only
		// getElementById is not reliable as a find shortcut
		Expr.find.ID = function( id, context ) {
			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
				var node, i, elems,
					elem = context.getElementById( id );

				if ( elem ) {

					// Verify the id attribute
					node = elem.getAttributeNode( "id" );
					if ( node && node.value === id ) {
						return [ elem ];
					}

					// Fall back on getElementsByName
					elems = context.getElementsByName( id );
					i = 0;
					while ( ( elem = elems[ i++ ] ) ) {
						node = elem.getAttributeNode( "id" );
						if ( node && node.value === id ) {
							return [ elem ];
						}
					}
				}

				return [];
			}
		};
	}

	// Tag
	Expr.find.TAG = function( tag, context ) {
		if ( typeof context.getElementsByTagName !== "undefined" ) {
			return context.getElementsByTagName( tag );

		// DocumentFragment nodes don't have gEBTN
		} else {
			return context.querySelectorAll( tag );
		}
	};

	// Class
	Expr.find.CLASS = function( className, context ) {
		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
			return context.getElementsByClassName( className );
		}
	};

	/* QSA/matchesSelector
	---------------------------------------------------------------------- */

	// QSA and matchesSelector support

	rbuggyQSA = [];

	// Build QSA regex
	// Regex strategy adopted from Diego Perini
	assert( function( el ) {

		var input;

		documentElement.appendChild( el ).innerHTML =
			"<a id='" + expando + "' href='' disabled='disabled'></a>" +
			"<select id='" + expando + "-\r\\' disabled='disabled'>" +
			"<option selected=''></option></select>";

		// Support: iOS <=7 - 8 only
		// Boolean attributes and "value" are not treated correctly in some XML documents
		if ( !el.querySelectorAll( "[selected]" ).length ) {
			rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
		}

		// Support: iOS <=7 - 8 only
		if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
			rbuggyQSA.push( "~=" );
		}

		// Support: iOS 8 only
		// https://bugs.webkit.org/show_bug.cgi?id=136851
		// In-page `selector#id sibling-combinator selector` fails
		if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
			rbuggyQSA.push( ".#.+[+~]" );
		}

		// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
		// In some of the document kinds, these selectors wouldn't work natively.
		// This is probably OK but for backwards compatibility we want to maintain
		// handling them through jQuery traversal in jQuery 3.x.
		if ( !el.querySelectorAll( ":checked" ).length ) {
			rbuggyQSA.push( ":checked" );
		}

		// Support: Windows 8 Native Apps
		// The type and name attributes are restricted during .innerHTML assignment
		input = document.createElement( "input" );
		input.setAttribute( "type", "hidden" );
		el.appendChild( input ).setAttribute( "name", "D" );

		// Support: IE 9 - 11+
		// IE's :disabled selector does not pick up the children of disabled fieldsets
		// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
		// In some of the document kinds, these selectors wouldn't work natively.
		// This is probably OK but for backwards compatibility we want to maintain
		// handling them through jQuery traversal in jQuery 3.x.
		documentElement.appendChild( el ).disabled = true;
		if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
			rbuggyQSA.push( ":enabled", ":disabled" );
		}

		// Support: IE 11+, Edge 15 - 18+
		// IE 11/Edge don't find elements on a `[name='']` query in some cases.
		// Adding a temporary attribute to the document before the selection works
		// around the issue.
		// Interestingly, IE 10 & older don't seem to have the issue.
		input = document.createElement( "input" );
		input.setAttribute( "name", "" );
		el.appendChild( input );
		if ( !el.querySelectorAll( "[name='']" ).length ) {
			rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
				whitespace + "*(?:''|\"\")" );
		}
	} );

	if ( !support.cssHas ) {

		// Support: Chrome 105 - 110+, Safari 15.4 - 16.3+
		// Our regular `try-catch` mechanism fails to detect natively-unsupported
		// pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)
		// in browsers that parse the `:has()` argument as a forgiving selector list.
		// https://drafts.csswg.org/selectors/#relational now requires the argument
		// to be parsed unforgivingly, but browsers have not yet fully adjusted.
		rbuggyQSA.push( ":has" );
	}

	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );

	/* Sorting
	---------------------------------------------------------------------- */

	// Document order sorting
	sortOrder = function( a, b ) {

		// Flag for duplicate removal
		if ( a === b ) {
			hasDuplicate = true;
			return 0;
		}

		// Sort on method existence if only one input has compareDocumentPosition
		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
		if ( compare ) {
			return compare;
		}

		// Calculate position if both inputs belong to the same document
		// Support: IE 11+, Edge 17 - 18+
		// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
		// two documents; shallow comparisons work.
		// eslint-disable-next-line eqeqeq
		compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
			a.compareDocumentPosition( b ) :

			// Otherwise we know they are disconnected
			1;

		// Disconnected nodes
		if ( compare & 1 ||
			( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {

			// Choose the first element that is related to our preferred document
			// Support: IE 11+, Edge 17 - 18+
			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
			// two documents; shallow comparisons work.
			// eslint-disable-next-line eqeqeq
			if ( a === document || a.ownerDocument == preferredDoc &&
				find.contains( preferredDoc, a ) ) {
				return -1;
			}

			// Support: IE 11+, Edge 17 - 18+
			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
			// two documents; shallow comparisons work.
			// eslint-disable-next-line eqeqeq
			if ( b === document || b.ownerDocument == preferredDoc &&
				find.contains( preferredDoc, b ) ) {
				return 1;
			}

			// Maintain original order
			return sortInput ?
				( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
				0;
		}

		return compare & 4 ? -1 : 1;
	};

	return document;
}

find.matches = function( expr, elements ) {
	return find( expr, null, null, elements );
};

find.matchesSelector = function( elem, expr ) {
	setDocument( elem );

	if ( documentIsHTML &&
		!nonnativeSelectorCache[ expr + " " ] &&
		( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {

		try {
			var ret = matches.call( elem, expr );

			// IE 9's matchesSelector returns false on disconnected nodes
			if ( ret || support.disconnectedMatch ||

					// As well, disconnected nodes are said to be in a document
					// fragment in IE 9
					elem.document && elem.document.nodeType !== 11 ) {
				return ret;
			}
		} catch ( e ) {
			nonnativeSelectorCache( expr, true );
		}
	}

	return find( expr, document, null, [ elem ] ).length > 0;
};

find.contains = function( context, elem ) {

	// Set document vars if needed
	// Support: IE 11+, Edge 17 - 18+
	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
	// two documents; shallow comparisons work.
	// eslint-disable-next-line eqeqeq
	if ( ( context.ownerDocument || context ) != document ) {
		setDocument( context );
	}
	return jQuery.contains( context, elem );
};


find.attr = function( elem, name ) {

	// Set document vars if needed
	// Support: IE 11+, Edge 17 - 18+
	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
	// two documents; shallow comparisons work.
	// eslint-disable-next-line eqeqeq
	if ( ( elem.ownerDocument || elem ) != document ) {
		setDocument( elem );
	}

	var fn = Expr.attrHandle[ name.toLowerCase() ],

		// Don't get fooled by Object.prototype properties (see trac-13807)
		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
			fn( elem, name, !documentIsHTML ) :
			undefined;

	if ( val !== undefined ) {
		return val;
	}

	return elem.getAttribute( name );
};

find.error = function( msg ) {
	throw new Error( "Syntax error, unrecognized expression: " + msg );
};

/**
 * Document sorting and removing duplicates
 * @param {ArrayLike} results
 */
jQuery.uniqueSort = function( results ) {
	var elem,
		duplicates = [],
		j = 0,
		i = 0;

	// Unless we *know* we can detect duplicates, assume their presence
	//
	// Support: Android <=4.0+
	// Testing for detecting duplicates is unpredictable so instead assume we can't
	// depend on duplicate detection in all browsers without a stable sort.
	hasDuplicate = !support.sortStable;
	sortInput = !support.sortStable && slice.call( results, 0 );
	sort.call( results, sortOrder );

	if ( hasDuplicate ) {
		while ( ( elem = results[ i++ ] ) ) {
			if ( elem === results[ i ] ) {
				j = duplicates.push( i );
			}
		}
		while ( j-- ) {
			splice.call( results, duplicates[ j ], 1 );
		}
	}

	// Clear input after sorting to release objects
	// See https://github.com/jquery/sizzle/pull/225
	sortInput = null;

	return results;
};

jQuery.fn.uniqueSort = function() {
	return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );
};

Expr = jQuery.expr = {

	// Can be adjusted by the user
	cacheLength: 50,

	createPseudo: markFunction,

	match: matchExpr,

	attrHandle: {},

	find: {},

	relative: {
		">": { dir: "parentNode", first: true },
		" ": { dir: "parentNode" },
		"+": { dir: "previousSibling", first: true },
		"~": { dir: "previousSibling" }
	},

	preFilter: {
		ATTR: function( match ) {
			match[ 1 ] = match[ 1 ].replace( runescape, funescape );

			// Move the given value to match[3] whether quoted or unquoted
			match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" )
				.replace( runescape, funescape );

			if ( match[ 2 ] === "~=" ) {
				match[ 3 ] = " " + match[ 3 ] + " ";
			}

			return match.slice( 0, 4 );
		},

		CHILD: function( match ) {

			/* matches from matchExpr["CHILD"]
				1 type (only|nth|...)
				2 what (child|of-type)
				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
				4 xn-component of xn+y argument ([+-]?\d*n|)
				5 sign of xn-component
				6 x of xn-component
				7 sign of y-component
				8 y of y-component
			*/
			match[ 1 ] = match[ 1 ].toLowerCase();

			if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {

				// nth-* requires argument
				if ( !match[ 3 ] ) {
					find.error( match[ 0 ] );
				}

				// numeric x and y parameters for Expr.filter.CHILD
				// remember that false/true cast respectively to 0/1
				match[ 4 ] = +( match[ 4 ] ?
					match[ 5 ] + ( match[ 6 ] || 1 ) :
					2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" )
				);
				match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );

			// other types prohibit arguments
			} else if ( match[ 3 ] ) {
				find.error( match[ 0 ] );
			}

			return match;
		},

		PSEUDO: function( match ) {
			var excess,
				unquoted = !match[ 6 ] && match[ 2 ];

			if ( matchExpr.CHILD.test( match[ 0 ] ) ) {
				return null;
			}

			// Accept quoted arguments as-is
			if ( match[ 3 ] ) {
				match[ 2 ] = match[ 4 ] || match[ 5 ] || "";

			// Strip excess characters from unquoted arguments
			} else if ( unquoted && rpseudo.test( unquoted ) &&

				// Get excess from tokenize (recursively)
				( excess = tokenize( unquoted, true ) ) &&

				// advance to the next closing parenthesis
				( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {

				// excess is a negative index
				match[ 0 ] = match[ 0 ].slice( 0, excess );
				match[ 2 ] = unquoted.slice( 0, excess );
			}

			// Return only captures needed by the pseudo filter method (type and argument)
			return match.slice( 0, 3 );
		}
	},

	filter: {

		TAG: function( nodeNameSelector ) {
			var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
			return nodeNameSelector === "*" ?
				function() {
					return true;
				} :
				function( elem ) {
					return nodeName( elem, expectedNodeName );
				};
		},

		CLASS: function( className ) {
			var pattern = classCache[ className + " " ];

			return pattern ||
				( pattern = new RegExp( "(^|" + whitespace + ")" + className +
					"(" + whitespace + "|$)" ) ) &&
				classCache( className, function( elem ) {
					return pattern.test(
						typeof elem.className === "string" && elem.className ||
							typeof elem.getAttribute !== "undefined" &&
								elem.getAttribute( "class" ) ||
							""
					);
				} );
		},

		ATTR: function( name, operator, check ) {
			return function( elem ) {
				var result = find.attr( elem, name );

				if ( result == null ) {
					return operator === "!=";
				}
				if ( !operator ) {
					return true;
				}

				result += "";

				if ( operator === "=" ) {
					return result === check;
				}
				if ( operator === "!=" ) {
					return result !== check;
				}
				if ( operator === "^=" ) {
					return check && result.indexOf( check ) === 0;
				}
				if ( operator === "*=" ) {
					return check && result.indexOf( check ) > -1;
				}
				if ( operator === "$=" ) {
					return check && result.slice( -check.length ) === check;
				}
				if ( operator === "~=" ) {
					return ( " " + result.replace( rwhitespace, " " ) + " " )
						.indexOf( check ) > -1;
				}
				if ( operator === "|=" ) {
					return result === check || result.slice( 0, check.length + 1 ) === check + "-";
				}

				return false;
			};
		},

		CHILD: function( type, what, _argument, first, last ) {
			var simple = type.slice( 0, 3 ) !== "nth",
				forward = type.slice( -4 ) !== "last",
				ofType = what === "of-type";

			return first === 1 && last === 0 ?

				// Shortcut for :nth-*(n)
				function( elem ) {
					return !!elem.parentNode;
				} :

				function( elem, _context, xml ) {
					var cache, outerCache, node, nodeIndex, start,
						dir = simple !== forward ? "nextSibling" : "previousSibling",
						parent = elem.parentNode,
						name = ofType && elem.nodeName.toLowerCase(),
						useCache = !xml && !ofType,
						diff = false;

					if ( parent ) {

						// :(first|last|only)-(child|of-type)
						if ( simple ) {
							while ( dir ) {
								node = elem;
								while ( ( node = node[ dir ] ) ) {
									if ( ofType ?
										nodeName( node, name ) :
										node.nodeType === 1 ) {

										return false;
									}
								}

								// Reverse direction for :only-* (if we haven't yet done so)
								start = dir = type === "only" && !start && "nextSibling";
							}
							return true;
						}

						start = [ forward ? parent.firstChild : parent.lastChild ];

						// non-xml :nth-child(...) stores cache data on `parent`
						if ( forward && useCache ) {

							// Seek `elem` from a previously-cached index
							outerCache = parent[ expando ] || ( parent[ expando ] = {} );
							cache = outerCache[ type ] || [];
							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
							diff = nodeIndex && cache[ 2 ];
							node = nodeIndex && parent.childNodes[ nodeIndex ];

							while ( ( node = ++nodeIndex && node && node[ dir ] ||

								// Fallback to seeking `elem` from the start
								( diff = nodeIndex = 0 ) || start.pop() ) ) {

								// When found, cache indexes on `parent` and break
								if ( node.nodeType === 1 && ++diff && node === elem ) {
									outerCache[ type ] = [ dirruns, nodeIndex, diff ];
									break;
								}
							}

						} else {

							// Use previously-cached element index if available
							if ( useCache ) {
								outerCache = elem[ expando ] || ( elem[ expando ] = {} );
								cache = outerCache[ type ] || [];
								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
								diff = nodeIndex;
							}

							// xml :nth-child(...)
							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
							if ( diff === false ) {

								// Use the same loop as above to seek `elem` from the start
								while ( ( node = ++nodeIndex && node && node[ dir ] ||
									( diff = nodeIndex = 0 ) || start.pop() ) ) {

									if ( ( ofType ?
										nodeName( node, name ) :
										node.nodeType === 1 ) &&
										++diff ) {

										// Cache the index of each encountered element
										if ( useCache ) {
											outerCache = node[ expando ] ||
												( node[ expando ] = {} );
											outerCache[ type ] = [ dirruns, diff ];
										}

										if ( node === elem ) {
											break;
										}
									}
								}
							}
						}

						// Incorporate the offset, then check against cycle size
						diff -= last;
						return diff === first || ( diff % first === 0 && diff / first >= 0 );
					}
				};
		},

		PSEUDO: function( pseudo, argument ) {

			// pseudo-class names are case-insensitive
			// https://www.w3.org/TR/selectors/#pseudo-classes
			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
			// Remember that setFilters inherits from pseudos
			var args,
				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
					find.error( "unsupported pseudo: " + pseudo );

			// The user may use createPseudo to indicate that
			// arguments are needed to create the filter function
			// just as jQuery does
			if ( fn[ expando ] ) {
				return fn( argument );
			}

			// But maintain support for old signatures
			if ( fn.length > 1 ) {
				args = [ pseudo, pseudo, "", argument ];
				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
					markFunction( function( seed, matches ) {
						var idx,
							matched = fn( seed, argument ),
							i = matched.length;
						while ( i-- ) {
							idx = indexOf.call( seed, matched[ i ] );
							seed[ idx ] = !( matches[ idx ] = matched[ i ] );
						}
					} ) :
					function( elem ) {
						return fn( elem, 0, args );
					};
			}

			return fn;
		}
	},

	pseudos: {

		// Potentially complex pseudos
		not: markFunction( function( selector ) {

			// Trim the selector passed to compile
			// to avoid treating leading and trailing
			// spaces as combinators
			var input = [],
				results = [],
				matcher = compile( selector.replace( rtrimCSS, "$1" ) );

			return matcher[ expando ] ?
				markFunction( function( seed, matches, _context, xml ) {
					var elem,
						unmatched = matcher( seed, null, xml, [] ),
						i = seed.length;

					// Match elements unmatched by `matcher`
					while ( i-- ) {
						if ( ( elem = unmatched[ i ] ) ) {
							seed[ i ] = !( matches[ i ] = elem );
						}
					}
				} ) :
				function( elem, _context, xml ) {
					input[ 0 ] = elem;
					matcher( input, null, xml, results );

					// Don't keep the element
					// (see https://github.com/jquery/sizzle/issues/299)
					input[ 0 ] = null;
					return !results.pop();
				};
		} ),

		has: markFunction( function( selector ) {
			return function( elem ) {
				return find( selector, elem ).length > 0;
			};
		} ),

		contains: markFunction( function( text ) {
			text = text.replace( runescape, funescape );
			return function( elem ) {
				return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;
			};
		} ),

		// "Whether an element is represented by a :lang() selector
		// is based solely on the element's language value
		// being equal to the identifier C,
		// or beginning with the identifier C immediately followed by "-".
		// The matching of C against the element's language value is performed case-insensitively.
		// The identifier C does not have to be a valid language name."
		// https://www.w3.org/TR/selectors/#lang-pseudo
		lang: markFunction( function( lang ) {

			// lang value must be a valid identifier
			if ( !ridentifier.test( lang || "" ) ) {
				find.error( "unsupported lang: " + lang );
			}
			lang = lang.replace( runescape, funescape ).toLowerCase();
			return function( elem ) {
				var elemLang;
				do {
					if ( ( elemLang = documentIsHTML ?
						elem.lang :
						elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {

						elemLang = elemLang.toLowerCase();
						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
					}
				} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
				return false;
			};
		} ),

		// Miscellaneous
		target: function( elem ) {
			var hash = window.location && window.location.hash;
			return hash && hash.slice( 1 ) === elem.id;
		},

		root: function( elem ) {
			return elem === documentElement;
		},

		focus: function( elem ) {
			return elem === safeActiveElement() &&
				document.hasFocus() &&
				!!( elem.type || elem.href || ~elem.tabIndex );
		},

		// Boolean properties
		enabled: createDisabledPseudo( false ),
		disabled: createDisabledPseudo( true ),

		checked: function( elem ) {

			// In CSS3, :checked should return both checked and selected elements
			// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
			return ( nodeName( elem, "input" ) && !!elem.checked ) ||
				( nodeName( elem, "option" ) && !!elem.selected );
		},

		selected: function( elem ) {

			// Support: IE <=11+
			// Accessing the selectedIndex property
			// forces the browser to treat the default option as
			// selected when in an optgroup.
			if ( elem.parentNode ) {
				// eslint-disable-next-line no-unused-expressions
				elem.parentNode.selectedIndex;
			}

			return elem.selected === true;
		},

		// Contents
		empty: function( elem ) {

			// https://www.w3.org/TR/selectors/#empty-pseudo
			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
			//   but not by others (comment: 8; processing instruction: 7; etc.)
			// nodeType < 6 works because attributes (2) do not appear as children
			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
				if ( elem.nodeType < 6 ) {
					return false;
				}
			}
			return true;
		},

		parent: function( elem ) {
			return !Expr.pseudos.empty( elem );
		},

		// Element/input types
		header: function( elem ) {
			return rheader.test( elem.nodeName );
		},

		input: function( elem ) {
			return rinputs.test( elem.nodeName );
		},

		button: function( elem ) {
			return nodeName( elem, "input" ) && elem.type === "button" ||
				nodeName( elem, "button" );
		},

		text: function( elem ) {
			var attr;
			return nodeName( elem, "input" ) && elem.type === "text" &&

				// Support: IE <10 only
				// New HTML5 attribute values (e.g., "search") appear
				// with elem.type === "text"
				( ( attr = elem.getAttribute( "type" ) ) == null ||
					attr.toLowerCase() === "text" );
		},

		// Position-in-collection
		first: createPositionalPseudo( function() {
			return [ 0 ];
		} ),

		last: createPositionalPseudo( function( _matchIndexes, length ) {
			return [ length - 1 ];
		} ),

		eq: createPositionalPseudo( function( _matchIndexes, length, argument ) {
			return [ argument < 0 ? argument + length : argument ];
		} ),

		even: createPositionalPseudo( function( matchIndexes, length ) {
			var i = 0;
			for ( ; i < length; i += 2 ) {
				matchIndexes.push( i );
			}
			return matchIndexes;
		} ),

		odd: createPositionalPseudo( function( matchIndexes, length ) {
			var i = 1;
			for ( ; i < length; i += 2 ) {
				matchIndexes.push( i );
			}
			return matchIndexes;
		} ),

		lt: createPositionalPseudo( function( matchIndexes, length, argument ) {
			var i;

			if ( argument < 0 ) {
				i = argument + length;
			} else if ( argument > length ) {
				i = length;
			} else {
				i = argument;
			}

			for ( ; --i >= 0; ) {
				matchIndexes.push( i );
			}
			return matchIndexes;
		} ),

		gt: createPositionalPseudo( function( matchIndexes, length, argument ) {
			var i = argument < 0 ? argument + length : argument;
			for ( ; ++i < length; ) {
				matchIndexes.push( i );
			}
			return matchIndexes;
		} )
	}
};

Expr.pseudos.nth = Expr.pseudos.eq;

// Add button/input type pseudos
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
	Expr.pseudos[ i ] = createInputPseudo( i );
}
for ( i in { submit: true, reset: true } ) {
	Expr.pseudos[ i ] = createButtonPseudo( i );
}

// Easy API for creating new setFilters
function setFilters() {}
setFilters.prototype = Expr.filters = Expr.pseudos;
Expr.setFilters = new setFilters();

function tokenize( selector, parseOnly ) {
	var matched, match, tokens, type,
		soFar, groups, preFilters,
		cached = tokenCache[ selector + " " ];

	if ( cached ) {
		return parseOnly ? 0 : cached.slice( 0 );
	}

	soFar = selector;
	groups = [];
	preFilters = Expr.preFilter;

	while ( soFar ) {

		// Comma and first run
		if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
			if ( match ) {

				// Don't consume trailing commas as valid
				soFar = soFar.slice( match[ 0 ].length ) || soFar;
			}
			groups.push( ( tokens = [] ) );
		}

		matched = false;

		// Combinators
		if ( ( match = rleadingCombinator.exec( soFar ) ) ) {
			matched = match.shift();
			tokens.push( {
				value: matched,

				// Cast descendant combinators to space
				type: match[ 0 ].replace( rtrimCSS, " " )
			} );
			soFar = soFar.slice( matched.length );
		}

		// Filters
		for ( type in Expr.filter ) {
			if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
				( match = preFilters[ type ]( match ) ) ) ) {
				matched = match.shift();
				tokens.push( {
					value: matched,
					type: type,
					matches: match
				} );
				soFar = soFar.slice( matched.length );
			}
		}

		if ( !matched ) {
			break;
		}
	}

	// Return the length of the invalid excess
	// if we're just parsing
	// Otherwise, throw an error or return tokens
	if ( parseOnly ) {
		return soFar.length;
	}

	return soFar ?
		find.error( selector ) :

		// Cache the tokens
		tokenCache( selector, groups ).slice( 0 );
}

function toSelector( tokens ) {
	var i = 0,
		len = tokens.length,
		selector = "";
	for ( ; i < len; i++ ) {
		selector += tokens[ i ].value;
	}
	return selector;
}

function addCombinator( matcher, combinator, base ) {
	var dir = combinator.dir,
		skip = combinator.next,
		key = skip || dir,
		checkNonElements = base && key === "parentNode",
		doneName = done++;

	return combinator.first ?

		// Check against closest ancestor/preceding element
		function( elem, context, xml ) {
			while ( ( elem = elem[ dir ] ) ) {
				if ( elem.nodeType === 1 || checkNonElements ) {
					return matcher( elem, context, xml );
				}
			}
			return false;
		} :

		// Check against all ancestor/preceding elements
		function( elem, context, xml ) {
			var oldCache, outerCache,
				newCache = [ dirruns, doneName ];

			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
			if ( xml ) {
				while ( ( elem = elem[ dir ] ) ) {
					if ( elem.nodeType === 1 || checkNonElements ) {
						if ( matcher( elem, context, xml ) ) {
							return true;
						}
					}
				}
			} else {
				while ( ( elem = elem[ dir ] ) ) {
					if ( elem.nodeType === 1 || checkNonElements ) {
						outerCache = elem[ expando ] || ( elem[ expando ] = {} );

						if ( skip && nodeName( elem, skip ) ) {
							elem = elem[ dir ] || elem;
						} else if ( ( oldCache = outerCache[ key ] ) &&
							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {

							// Assign to newCache so results back-propagate to previous elements
							return ( newCache[ 2 ] = oldCache[ 2 ] );
						} else {

							// Reuse newcache so results back-propagate to previous elements
							outerCache[ key ] = newCache;

							// A match means we're done; a fail means we have to keep checking
							if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
								return true;
							}
						}
					}
				}
			}
			return false;
		};
}

function elementMatcher( matchers ) {
	return matchers.length > 1 ?
		function( elem, context, xml ) {
			var i = matchers.length;
			while ( i-- ) {
				if ( !matchers[ i ]( elem, context, xml ) ) {
					return false;
				}
			}
			return true;
		} :
		matchers[ 0 ];
}

function multipleContexts( selector, contexts, results ) {
	var i = 0,
		len = contexts.length;
	for ( ; i < len; i++ ) {
		find( selector, contexts[ i ], results );
	}
	return results;
}

function condense( unmatched, map, filter, context, xml ) {
	var elem,
		newUnmatched = [],
		i = 0,
		len = unmatched.length,
		mapped = map != null;

	for ( ; i < len; i++ ) {
		if ( ( elem = unmatched[ i ] ) ) {
			if ( !filter || filter( elem, context, xml ) ) {
				newUnmatched.push( elem );
				if ( mapped ) {
					map.push( i );
				}
			}
		}
	}

	return newUnmatched;
}

function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
	if ( postFilter && !postFilter[ expando ] ) {
		postFilter = setMatcher( postFilter );
	}
	if ( postFinder && !postFinder[ expando ] ) {
		postFinder = setMatcher( postFinder, postSelector );
	}
	return markFunction( function( seed, results, context, xml ) {
		var temp, i, elem, matcherOut,
			preMap = [],
			postMap = [],
			preexisting = results.length,

			// Get initial elements from seed or context
			elems = seed ||
				multipleContexts( selector || "*",
					context.nodeType ? [ context ] : context, [] ),

			// Prefilter to get matcher input, preserving a map for seed-results synchronization
			matcherIn = preFilter && ( seed || !selector ) ?
				condense( elems, preMap, preFilter, context, xml ) :
				elems;

		if ( matcher ) {

			// If we have a postFinder, or filtered seed, or non-seed postFilter
			// or preexisting results,
			matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?

				// ...intermediate processing is necessary
				[] :

				// ...otherwise use results directly
				results;

			// Find primary matches
			matcher( matcherIn, matcherOut, context, xml );
		} else {
			matcherOut = matcherIn;
		}

		// Apply postFilter
		if ( postFilter ) {
			temp = condense( matcherOut, postMap );
			postFilter( temp, [], context, xml );

			// Un-match failing elements by moving them back to matcherIn
			i = temp.length;
			while ( i-- ) {
				if ( ( elem = temp[ i ] ) ) {
					matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
				}
			}
		}

		if ( seed ) {
			if ( postFinder || preFilter ) {
				if ( postFinder ) {

					// Get the final matcherOut by condensing this intermediate into postFinder contexts
					temp = [];
					i = matcherOut.length;
					while ( i-- ) {
						if ( ( elem = matcherOut[ i ] ) ) {

							// Restore matcherIn since elem is not yet a final match
							temp.push( ( matcherIn[ i ] = elem ) );
						}
					}
					postFinder( null, ( matcherOut = [] ), temp, xml );
				}

				// Move matched elements from seed to results to keep them synchronized
				i = matcherOut.length;
				while ( i-- ) {
					if ( ( elem = matcherOut[ i ] ) &&
						( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {

						seed[ temp ] = !( results[ temp ] = elem );
					}
				}
			}

		// Add elements to results, through postFinder if defined
		} else {
			matcherOut = condense(
				matcherOut === results ?
					matcherOut.splice( preexisting, matcherOut.length ) :
					matcherOut
			);
			if ( postFinder ) {
				postFinder( null, results, matcherOut, xml );
			} else {
				push.apply( results, matcherOut );
			}
		}
	} );
}

function matcherFromTokens( tokens ) {
	var checkContext, matcher, j,
		len = tokens.length,
		leadingRelative = Expr.relative[ tokens[ 0 ].type ],
		implicitRelative = leadingRelative || Expr.relative[ " " ],
		i = leadingRelative ? 1 : 0,

		// The foundational matcher ensures that elements are reachable from top-level context(s)
		matchContext = addCombinator( function( elem ) {
			return elem === checkContext;
		}, implicitRelative, true ),
		matchAnyContext = addCombinator( function( elem ) {
			return indexOf.call( checkContext, elem ) > -1;
		}, implicitRelative, true ),
		matchers = [ function( elem, context, xml ) {

			// Support: IE 11+, Edge 17 - 18+
			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
			// two documents; shallow comparisons work.
			// eslint-disable-next-line eqeqeq
			var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (
				( checkContext = context ).nodeType ?
					matchContext( elem, context, xml ) :
					matchAnyContext( elem, context, xml ) );

			// Avoid hanging onto element
			// (see https://github.com/jquery/sizzle/issues/299)
			checkContext = null;
			return ret;
		} ];

	for ( ; i < len; i++ ) {
		if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
			matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
		} else {
			matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );

			// Return special upon seeing a positional matcher
			if ( matcher[ expando ] ) {

				// Find the next relative operator (if any) for proper handling
				j = ++i;
				for ( ; j < len; j++ ) {
					if ( Expr.relative[ tokens[ j ].type ] ) {
						break;
					}
				}
				return setMatcher(
					i > 1 && elementMatcher( matchers ),
					i > 1 && toSelector(

						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
						tokens.slice( 0, i - 1 )
							.concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
					).replace( rtrimCSS, "$1" ),
					matcher,
					i < j && matcherFromTokens( tokens.slice( i, j ) ),
					j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
					j < len && toSelector( tokens )
				);
			}
			matchers.push( matcher );
		}
	}

	return elementMatcher( matchers );
}

function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
	var bySet = setMatchers.length > 0,
		byElement = elementMatchers.length > 0,
		superMatcher = function( seed, context, xml, results, outermost ) {
			var elem, j, matcher,
				matchedCount = 0,
				i = "0",
				unmatched = seed && [],
				setMatched = [],
				contextBackup = outermostContext,

				// We must always have either seed elements or outermost context
				elems = seed || byElement && Expr.find.TAG( "*", outermost ),

				// Use integer dirruns iff this is the outermost matcher
				dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
				len = elems.length;

			if ( outermost ) {

				// Support: IE 11+, Edge 17 - 18+
				// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
				// two documents; shallow comparisons work.
				// eslint-disable-next-line eqeqeq
				outermostContext = context == document || context || outermost;
			}

			// Add elements passing elementMatchers directly to results
			// Support: iOS <=7 - 9 only
			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching
			// elements by id. (see trac-14142)
			for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
				if ( byElement && elem ) {
					j = 0;

					// Support: IE 11+, Edge 17 - 18+
					// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
					// two documents; shallow comparisons work.
					// eslint-disable-next-line eqeqeq
					if ( !context && elem.ownerDocument != document ) {
						setDocument( elem );
						xml = !documentIsHTML;
					}
					while ( ( matcher = elementMatchers[ j++ ] ) ) {
						if ( matcher( elem, context || document, xml ) ) {
							push.call( results, elem );
							break;
						}
					}
					if ( outermost ) {
						dirruns = dirrunsUnique;
					}
				}

				// Track unmatched elements for set filters
				if ( bySet ) {

					// They will have gone through all possible matchers
					if ( ( elem = !matcher && elem ) ) {
						matchedCount--;
					}

					// Lengthen the array for every element, matched or not
					if ( seed ) {
						unmatched.push( elem );
					}
				}
			}

			// `i` is now the count of elements visited above, and adding it to `matchedCount`
			// makes the latter nonnegative.
			matchedCount += i;

			// Apply set filters to unmatched elements
			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
			// no element matchers and no seed.
			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
			// numerically zero.
			if ( bySet && i !== matchedCount ) {
				j = 0;
				while ( ( matcher = setMatchers[ j++ ] ) ) {
					matcher( unmatched, setMatched, context, xml );
				}

				if ( seed ) {

					// Reintegrate element matches to eliminate the need for sorting
					if ( matchedCount > 0 ) {
						while ( i-- ) {
							if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
								setMatched[ i ] = pop.call( results );
							}
						}
					}

					// Discard index placeholder values to get only actual matches
					setMatched = condense( setMatched );
				}

				// Add matches to results
				push.apply( results, setMatched );

				// Seedless set matches succeeding multiple successful matchers stipulate sorting
				if ( outermost && !seed && setMatched.length > 0 &&
					( matchedCount + setMatchers.length ) > 1 ) {

					jQuery.uniqueSort( results );
				}
			}

			// Override manipulation of globals by nested matchers
			if ( outermost ) {
				dirruns = dirrunsUnique;
				outermostContext = contextBackup;
			}

			return unmatched;
		};

	return bySet ?
		markFunction( superMatcher ) :
		superMatcher;
}

function compile( selector, match /* Internal Use Only */ ) {
	var i,
		setMatchers = [],
		elementMatchers = [],
		cached = compilerCache[ selector + " " ];

	if ( !cached ) {

		// Generate a function of recursive functions that can be used to check each element
		if ( !match ) {
			match = tokenize( selector );
		}
		i = match.length;
		while ( i-- ) {
			cached = matcherFromTokens( match[ i ] );
			if ( cached[ expando ] ) {
				setMatchers.push( cached );
			} else {
				elementMatchers.push( cached );
			}
		}

		// Cache the compiled function
		cached = compilerCache( selector,
			matcherFromGroupMatchers( elementMatchers, setMatchers ) );

		// Save selector and tokenization
		cached.selector = selector;
	}
	return cached;
}

/**
 * A low-level selection function that works with jQuery's compiled
 *  selector functions
 * @param {String|Function} selector A selector or a pre-compiled
 *  selector function built with jQuery selector compile
 * @param {Element} context
 * @param {Array} [results]
 * @param {Array} [seed] A set of elements to match against
 */
function select( selector, context, results, seed ) {
	var i, tokens, token, type, find,
		compiled = typeof selector === "function" && selector,
		match = !seed && tokenize( ( selector = compiled.selector || selector ) );

	results = results || [];

	// Try to minimize operations if there is only one selector in the list and no seed
	// (the latter of which guarantees us context)
	if ( match.length === 1 ) {

		// Reduce context if the leading compound selector is an ID
		tokens = match[ 0 ] = match[ 0 ].slice( 0 );
		if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {

			context = ( Expr.find.ID(
				token.matches[ 0 ].replace( runescape, funescape ),
				context
			) || [] )[ 0 ];
			if ( !context ) {
				return results;

			// Precompiled matchers will still verify ancestry, so step up a level
			} else if ( compiled ) {
				context = context.parentNode;
			}

			selector = selector.slice( tokens.shift().value.length );
		}

		// Fetch a seed set for right-to-left matching
		i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;
		while ( i-- ) {
			token = tokens[ i ];

			// Abort if we hit a combinator
			if ( Expr.relative[ ( type = token.type ) ] ) {
				break;
			}
			if ( ( find = Expr.find[ type ] ) ) {

				// Search, expanding context for leading sibling combinators
				if ( ( seed = find(
					token.matches[ 0 ].replace( runescape, funescape ),
					rsibling.test( tokens[ 0 ].type ) &&
						testContext( context.parentNode ) || context
				) ) ) {

					// If seed is empty or no tokens remain, we can return early
					tokens.splice( i, 1 );
					selector = seed.length && toSelector( tokens );
					if ( !selector ) {
						push.apply( results, seed );
						return results;
					}

					break;
				}
			}
		}
	}

	// Compile and execute a filtering function if one is not provided
	// Provide `match` to avoid retokenization if we modified the selector above
	( compiled || compile( selector, match ) )(
		seed,
		context,
		!documentIsHTML,
		results,
		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
	);
	return results;
}

// One-time assignments

// Support: Android <=4.0 - 4.1+
// Sort stability
support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;

// Initialize against the default document
setDocument();

// Support: Android <=4.0 - 4.1+
// Detached nodes confoundingly follow *each other*
support.sortDetached = assert( function( el ) {

	// Should return 1, but returns 4 (following)
	return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
} );

jQuery.find = find;

// Deprecated
jQuery.expr[ ":" ] = jQuery.expr.pseudos;
jQuery.unique = jQuery.uniqueSort;

// These have always been private, but they used to be documented as part of
// Sizzle so let's maintain them for now for backwards compatibility purposes.
find.compile = compile;
find.select = select;
find.setDocument = setDocument;
find.tokenize = tokenize;

find.escape = jQuery.escapeSelector;
find.getText = jQuery.text;
find.isXML = jQuery.isXMLDoc;
find.selectors = jQuery.expr;
find.support = jQuery.support;
find.uniqueSort = jQuery.uniqueSort;

	/* eslint-enable */

} )();


var dir = function( elem, dir, until ) {
	var matched = [],
		truncate = until !== undefined;

	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
		if ( elem.nodeType === 1 ) {
			if ( truncate && jQuery( elem ).is( until ) ) {
				break;
			}
			matched.push( elem );
		}
	}
	return matched;
};


var siblings = function( n, elem ) {
	var matched = [];

	for ( ; n; n = n.nextSibling ) {
		if ( n.nodeType === 1 && n !== elem ) {
			matched.push( n );
		}
	}

	return matched;
};


var rneedsContext = jQuery.expr.match.needsContext;

var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );



// Implement the identical functionality for filter and not
function winnow( elements, qualifier, not ) {
	if ( isFunction( qualifier ) ) {
		return jQuery.grep( elements, function( elem, i ) {
			return !!qualifier.call( elem, i, elem ) !== not;
		} );
	}

	// Single element
	if ( qualifier.nodeType ) {
		return jQuery.grep( elements, function( elem ) {
			return ( elem === qualifier ) !== not;
		} );
	}

	// Arraylike of elements (jQuery, arguments, Array)
	if ( typeof qualifier !== "string" ) {
		return jQuery.grep( elements, function( elem ) {
			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
		} );
	}

	// Filtered directly for both simple and complex selectors
	return jQuery.filter( qualifier, elements, not );
}

jQuery.filter = function( expr, elems, not ) {
	var elem = elems[ 0 ];

	if ( not ) {
		expr = ":not(" + expr + ")";
	}

	if ( elems.length === 1 && elem.nodeType === 1 ) {
		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
	}

	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
		return elem.nodeType === 1;
	} ) );
};

jQuery.fn.extend( {
	find: function( selector ) {
		var i, ret,
			len = this.length,
			self = this;

		if ( typeof selector !== "string" ) {
			return this.pushStack( jQuery( selector ).filter( function() {
				for ( i = 0; i < len; i++ ) {
					if ( jQuery.contains( self[ i ], this ) ) {
						return true;
					}
				}
			} ) );
		}

		ret = this.pushStack( [] );

		for ( i = 0; i < len; i++ ) {
			jQuery.find( selector, self[ i ], ret );
		}

		return len > 1 ? jQuery.uniqueSort( ret ) : ret;
	},
	filter: function( selector ) {
		return this.pushStack( winnow( this, selector || [], false ) );
	},
	not: function( selector ) {
		return this.pushStack( winnow( this, selector || [], true ) );
	},
	is: function( selector ) {
		return !!winnow(
			this,

			// If this is a positional/relative selector, check membership in the returned set
			// so $("p:first").is("p:last") won't return true for a doc with two "p".
			typeof selector === "string" && rneedsContext.test( selector ) ?
				jQuery( selector ) :
				selector || [],
			false
		).length;
	}
} );


// Initialize a jQuery object


// A central reference to the root jQuery(document)
var rootjQuery,

	// A simple way to check for HTML strings
	// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)
	// Strict HTML recognition (trac-11290: must start with <)
	// Shortcut simple #id case for speed
	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,

	init = jQuery.fn.init = function( selector, context, root ) {
		var match, elem;

		// HANDLE: $(""), $(null), $(undefined), $(false)
		if ( !selector ) {
			return this;
		}

		// Method init() accepts an alternate rootjQuery
		// so migrate can support jQuery.sub (gh-2101)
		root = root || rootjQuery;

		// Handle HTML strings
		if ( typeof selector === "string" ) {
			if ( selector[ 0 ] === "<" &&
				selector[ selector.length - 1 ] === ">" &&
				selector.length >= 3 ) {

				// Assume that strings that start and end with <> are HTML and skip the regex check
				match = [ null, selector, null ];

			} else {
				match = rquickExpr.exec( selector );
			}

			// Match html or make sure no context is specified for #id
			if ( match && ( match[ 1 ] || !context ) ) {

				// HANDLE: $(html) -> $(array)
				if ( match[ 1 ] ) {
					context = context instanceof jQuery ? context[ 0 ] : context;

					// Option to run scripts is true for back-compat
					// Intentionally let the error be thrown if parseHTML is not present
					jQuery.merge( this, jQuery.parseHTML(
						match[ 1 ],
						context && context.nodeType ? context.ownerDocument || context : document,
						true
					) );

					// HANDLE: $(html, props)
					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
						for ( match in context ) {

							// Properties of context are called as methods if possible
							if ( isFunction( this[ match ] ) ) {
								this[ match ]( context[ match ] );

							// ...and otherwise set as attributes
							} else {
								this.attr( match, context[ match ] );
							}
						}
					}

					return this;

				// HANDLE: $(#id)
				} else {
					elem = document.getElementById( match[ 2 ] );

					if ( elem ) {

						// Inject the element directly into the jQuery object
						this[ 0 ] = elem;
						this.length = 1;
					}
					return this;
				}

			// HANDLE: $(expr, $(...))
			} else if ( !context || context.jquery ) {
				return ( context || root ).find( selector );

			// HANDLE: $(expr, context)
			// (which is just equivalent to: $(context).find(expr)
			} else {
				return this.constructor( context ).find( selector );
			}

		// HANDLE: $(DOMElement)
		} else if ( selector.nodeType ) {
			this[ 0 ] = selector;
			this.length = 1;
			return this;

		// HANDLE: $(function)
		// Shortcut for document ready
		} else if ( isFunction( selector ) ) {
			return root.ready !== undefined ?
				root.ready( selector ) :

				// Execute immediately if ready is not present
				selector( jQuery );
		}

		return jQuery.makeArray( selector, this );
	};

// Give the init function the jQuery prototype for later instantiation
init.prototype = jQuery.fn;

// Initialize central reference
rootjQuery = jQuery( document );


var rparentsprev = /^(?:parents|prev(?:Until|All))/,

	// Methods guaranteed to produce a unique set when starting from a unique set
	guaranteedUnique = {
		children: true,
		contents: true,
		next: true,
		prev: true
	};

jQuery.fn.extend( {
	has: function( target ) {
		var targets = jQuery( target, this ),
			l = targets.length;

		return this.filter( function() {
			var i = 0;
			for ( ; i < l; i++ ) {
				if ( jQuery.contains( this, targets[ i ] ) ) {
					return true;
				}
			}
		} );
	},

	closest: function( selectors, context ) {
		var cur,
			i = 0,
			l = this.length,
			matched = [],
			targets = typeof selectors !== "string" && jQuery( selectors );

		// Positional selectors never match, since there's no _selection_ context
		if ( !rneedsContext.test( selectors ) ) {
			for ( ; i < l; i++ ) {
				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {

					// Always skip document fragments
					if ( cur.nodeType < 11 && ( targets ?
						targets.index( cur ) > -1 :

						// Don't pass non-elements to jQuery#find
						cur.nodeType === 1 &&
							jQuery.find.matchesSelector( cur, selectors ) ) ) {

						matched.push( cur );
						break;
					}
				}
			}
		}

		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
	},

	// Determine the position of an element within the set
	index: function( elem ) {

		// No argument, return index in parent
		if ( !elem ) {
			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
		}

		// Index in selector
		if ( typeof elem === "string" ) {
			return indexOf.call( jQuery( elem ), this[ 0 ] );
		}

		// Locate the position of the desired element
		return indexOf.call( this,

			// If it receives a jQuery object, the first element is used
			elem.jquery ? elem[ 0 ] : elem
		);
	},

	add: function( selector, context ) {
		return this.pushStack(
			jQuery.uniqueSort(
				jQuery.merge( this.get(), jQuery( selector, context ) )
			)
		);
	},

	addBack: function( selector ) {
		return this.add( selector == null ?
			this.prevObject : this.prevObject.filter( selector )
		);
	}
} );

function sibling( cur, dir ) {
	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
	return cur;
}

jQuery.each( {
	parent: function( elem ) {
		var parent = elem.parentNode;
		return parent && parent.nodeType !== 11 ? parent : null;
	},
	parents: function( elem ) {
		return dir( elem, "parentNode" );
	},
	parentsUntil: function( elem, _i, until ) {
		return dir( elem, "parentNode", until );
	},
	next: function( elem ) {
		return sibling( elem, "nextSibling" );
	},
	prev: function( elem ) {
		return sibling( elem, "previousSibling" );
	},
	nextAll: function( elem ) {
		return dir( elem, "nextSibling" );
	},
	prevAll: function( elem ) {
		return dir( elem, "previousSibling" );
	},
	nextUntil: function( elem, _i, until ) {
		return dir( elem, "nextSibling", until );
	},
	prevUntil: function( elem, _i, until ) {
		return dir( elem, "previousSibling", until );
	},
	siblings: function( elem ) {
		return siblings( ( elem.parentNode || {} ).firstChild, elem );
	},
	children: function( elem ) {
		return siblings( elem.firstChild );
	},
	contents: function( elem ) {
		if ( elem.contentDocument != null &&

			// Support: IE 11+
			// <object> elements with no `data` attribute has an object
			// `contentDocument` with a `null` prototype.
			getProto( elem.contentDocument ) ) {

			return elem.contentDocument;
		}

		// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
		// Treat the template element as a regular one in browsers that
		// don't support it.
		if ( nodeName( elem, "template" ) ) {
			elem = elem.content || elem;
		}

		return jQuery.merge( [], elem.childNodes );
	}
}, function( name, fn ) {
	jQuery.fn[ name ] = function( until, selector ) {
		var matched = jQuery.map( this, fn, until );

		if ( name.slice( -5 ) !== "Until" ) {
			selector = until;
		}

		if ( selector && typeof selector === "string" ) {
			matched = jQuery.filter( selector, matched );
		}

		if ( this.length > 1 ) {

			// Remove duplicates
			if ( !guaranteedUnique[ name ] ) {
				jQuery.uniqueSort( matched );
			}

			// Reverse order for parents* and prev-derivatives
			if ( rparentsprev.test( name ) ) {
				matched.reverse();
			}
		}

		return this.pushStack( matched );
	};
} );
var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );



// Convert String-formatted options into Object-formatted ones
function createOptions( options ) {
	var object = {};
	jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
		object[ flag ] = true;
	} );
	return object;
}

/*
 * Create a callback list using the following parameters:
 *
 *	options: an optional list of space-separated options that will change how
 *			the callback list behaves or a more traditional option object
 *
 * By default a callback list will act like an event callback list and can be
 * "fired" multiple times.
 *
 * Possible options:
 *
 *	once:			will ensure the callback list can only be fired once (like a Deferred)
 *
 *	memory:			will keep track of previous values and will call any callback added
 *					after the list has been fired right away with the latest "memorized"
 *					values (like a Deferred)
 *
 *	unique:			will ensure a callback can only be added once (no duplicate in the list)
 *
 *	stopOnFalse:	interrupt callings when a callback returns false
 *
 */
jQuery.Callbacks = function( options ) {

	// Convert options from String-formatted to Object-formatted if needed
	// (we check in cache first)
	options = typeof options === "string" ?
		createOptions( options ) :
		jQuery.extend( {}, options );

	var // Flag to know if list is currently firing
		firing,

		// Last fire value for non-forgettable lists
		memory,

		// Flag to know if list was already fired
		fired,

		// Flag to prevent firing
		locked,

		// Actual callback list
		list = [],

		// Queue of execution data for repeatable lists
		queue = [],

		// Index of currently firing callback (modified by add/remove as needed)
		firingIndex = -1,

		// Fire callbacks
		fire = function() {

			// Enforce single-firing
			locked = locked || options.once;

			// Execute callbacks for all pending executions,
			// respecting firingIndex overrides and runtime changes
			fired = firing = true;
			for ( ; queue.length; firingIndex = -1 ) {
				memory = queue.shift();
				while ( ++firingIndex < list.length ) {

					// Run callback and check for early termination
					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
						options.stopOnFalse ) {

						// Jump to end and forget the data so .add doesn't re-fire
						firingIndex = list.length;
						memory = false;
					}
				}
			}

			// Forget the data if we're done with it
			if ( !options.memory ) {
				memory = false;
			}

			firing = false;

			// Clean up if we're done firing for good
			if ( locked ) {

				// Keep an empty list if we have data for future add calls
				if ( memory ) {
					list = [];

				// Otherwise, this object is spent
				} else {
					list = "";
				}
			}
		},

		// Actual Callbacks object
		self = {

			// Add a callback or a collection of callbacks to the list
			add: function() {
				if ( list ) {

					// If we have memory from a past run, we should fire after adding
					if ( memory && !firing ) {
						firingIndex = list.length - 1;
						queue.push( memory );
					}

					( function add( args ) {
						jQuery.each( args, function( _, arg ) {
							if ( isFunction( arg ) ) {
								if ( !options.unique || !self.has( arg ) ) {
									list.push( arg );
								}
							} else if ( arg && arg.length && toType( arg ) !== "string" ) {

								// Inspect recursively
								add( arg );
							}
						} );
					} )( arguments );

					if ( memory && !firing ) {
						fire();
					}
				}
				return this;
			},

			// Remove a callback from the list
			remove: function() {
				jQuery.each( arguments, function( _, arg ) {
					var index;
					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
						list.splice( index, 1 );

						// Handle firing indexes
						if ( index <= firingIndex ) {
							firingIndex--;
						}
					}
				} );
				return this;
			},

			// Check if a given callback is in the list.
			// If no argument is given, return whether or not list has callbacks attached.
			has: function( fn ) {
				return fn ?
					jQuery.inArray( fn, list ) > -1 :
					list.length > 0;
			},

			// Remove all callbacks from the list
			empty: function() {
				if ( list ) {
					list = [];
				}
				return this;
			},

			// Disable .fire and .add
			// Abort any current/pending executions
			// Clear all callbacks and values
			disable: function() {
				locked = queue = [];
				list = memory = "";
				return this;
			},
			disabled: function() {
				return !list;
			},

			// Disable .fire
			// Also disable .add unless we have memory (since it would have no effect)
			// Abort any pending executions
			lock: function() {
				locked = queue = [];
				if ( !memory && !firing ) {
					list = memory = "";
				}
				return this;
			},
			locked: function() {
				return !!locked;
			},

			// Call all callbacks with the given context and arguments
			fireWith: function( context, args ) {
				if ( !locked ) {
					args = args || [];
					args = [ context, args.slice ? args.slice() : args ];
					queue.push( args );
					if ( !firing ) {
						fire();
					}
				}
				return this;
			},

			// Call all the callbacks with the given arguments
			fire: function() {
				self.fireWith( this, arguments );
				return this;
			},

			// To know if the callbacks have already been called at least once
			fired: function() {
				return !!fired;
			}
		};

	return self;
};


function Identity( v ) {
	return v;
}
function Thrower( ex ) {
	throw ex;
}

function adoptValue( value, resolve, reject, noValue ) {
	var method;

	try {

		// Check for promise aspect first to privilege synchronous behavior
		if ( value && isFunction( ( method = value.promise ) ) ) {
			method.call( value ).done( resolve ).fail( reject );

		// Other thenables
		} else if ( value && isFunction( ( method = value.then ) ) ) {
			method.call( value, resolve, reject );

		// Other non-thenables
		} else {

			// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
			// * false: [ value ].slice( 0 ) => resolve( value )
			// * true: [ value ].slice( 1 ) => resolve()
			resolve.apply( undefined, [ value ].slice( noValue ) );
		}

	// For Promises/A+, convert exceptions into rejections
	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
	// Deferred#then to conditionally suppress rejection.
	} catch ( value ) {

		// Support: Android 4.0 only
		// Strict mode functions invoked without .call/.apply get global-object context
		reject.apply( undefined, [ value ] );
	}
}

jQuery.extend( {

	Deferred: function( func ) {
		var tuples = [

				// action, add listener, callbacks,
				// ... .then handlers, argument index, [final state]
				[ "notify", "progress", jQuery.Callbacks( "memory" ),
					jQuery.Callbacks( "memory" ), 2 ],
				[ "resolve", "done", jQuery.Callbacks( "once memory" ),
					jQuery.Callbacks( "once memory" ), 0, "resolved" ],
				[ "reject", "fail", jQuery.Callbacks( "once memory" ),
					jQuery.Callbacks( "once memory" ), 1, "rejected" ]
			],
			state = "pending",
			promise = {
				state: function() {
					return state;
				},
				always: function() {
					deferred.done( arguments ).fail( arguments );
					return this;
				},
				"catch": function( fn ) {
					return promise.then( null, fn );
				},

				// Keep pipe for back-compat
				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
					var fns = arguments;

					return jQuery.Deferred( function( newDefer ) {
						jQuery.each( tuples, function( _i, tuple ) {

							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
							var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];

							// deferred.progress(function() { bind to newDefer or newDefer.notify })
							// deferred.done(function() { bind to newDefer or newDefer.resolve })
							// deferred.fail(function() { bind to newDefer or newDefer.reject })
							deferred[ tuple[ 1 ] ]( function() {
								var returned = fn && fn.apply( this, arguments );
								if ( returned && isFunction( returned.promise ) ) {
									returned.promise()
										.progress( newDefer.notify )
										.done( newDefer.resolve )
										.fail( newDefer.reject );
								} else {
									newDefer[ tuple[ 0 ] + "With" ](
										this,
										fn ? [ returned ] : arguments
									);
								}
							} );
						} );
						fns = null;
					} ).promise();
				},
				then: function( onFulfilled, onRejected, onProgress ) {
					var maxDepth = 0;
					function resolve( depth, deferred, handler, special ) {
						return function() {
							var that = this,
								args = arguments,
								mightThrow = function() {
									var returned, then;

									// Support: Promises/A+ section 2.3.3.3.3
									// https://promisesaplus.com/#point-59
									// Ignore double-resolution attempts
									if ( depth < maxDepth ) {
										return;
									}

									returned = handler.apply( that, args );

									// Support: Promises/A+ section 2.3.1
									// https://promisesaplus.com/#point-48
									if ( returned === deferred.promise() ) {
										throw new TypeError( "Thenable self-resolution" );
									}

									// Support: Promises/A+ sections 2.3.3.1, 3.5
									// https://promisesaplus.com/#point-54
									// https://promisesaplus.com/#point-75
									// Retrieve `then` only once
									then = returned &&

										// Support: Promises/A+ section 2.3.4
										// https://promisesaplus.com/#point-64
										// Only check objects and functions for thenability
										( typeof returned === "object" ||
											typeof returned === "function" ) &&
										returned.then;

									// Handle a returned thenable
									if ( isFunction( then ) ) {

										// Special processors (notify) just wait for resolution
										if ( special ) {
											then.call(
												returned,
												resolve( maxDepth, deferred, Identity, special ),
												resolve( maxDepth, deferred, Thrower, special )
											);

										// Normal processors (resolve) also hook into progress
										} else {

											// ...and disregard older resolution values
											maxDepth++;

											then.call(
												returned,
												resolve( maxDepth, deferred, Identity, special ),
												resolve( maxDepth, deferred, Thrower, special ),
												resolve( maxDepth, deferred, Identity,
													deferred.notifyWith )
											);
										}

									// Handle all other returned values
									} else {

										// Only substitute handlers pass on context
										// and multiple values (non-spec behavior)
										if ( handler !== Identity ) {
											that = undefined;
											args = [ returned ];
										}

										// Process the value(s)
										// Default process is resolve
										( special || deferred.resolveWith )( that, args );
									}
								},

								// Only normal processors (resolve) catch and reject exceptions
								process = special ?
									mightThrow :
									function() {
										try {
											mightThrow();
										} catch ( e ) {

											if ( jQuery.Deferred.exceptionHook ) {
												jQuery.Deferred.exceptionHook( e,
													process.error );
											}

											// Support: Promises/A+ section 2.3.3.3.4.1
											// https://promisesaplus.com/#point-61
											// Ignore post-resolution exceptions
											if ( depth + 1 >= maxDepth ) {

												// Only substitute handlers pass on context
												// and multiple values (non-spec behavior)
												if ( handler !== Thrower ) {
													that = undefined;
													args = [ e ];
												}

												deferred.rejectWith( that, args );
											}
										}
									};

							// Support: Promises/A+ section 2.3.3.3.1
							// https://promisesaplus.com/#point-57
							// Re-resolve promises immediately to dodge false rejection from
							// subsequent errors
							if ( depth ) {
								process();
							} else {

								// Call an optional hook to record the error, in case of exception
								// since it's otherwise lost when execution goes async
								if ( jQuery.Deferred.getErrorHook ) {
									process.error = jQuery.Deferred.getErrorHook();

								// The deprecated alias of the above. While the name suggests
								// returning the stack, not an error instance, jQuery just passes
								// it directly to `console.warn` so both will work; an instance
								// just better cooperates with source maps.
								} else if ( jQuery.Deferred.getStackHook ) {
									process.error = jQuery.Deferred.getStackHook();
								}
								window.setTimeout( process );
							}
						};
					}

					return jQuery.Deferred( function( newDefer ) {

						// progress_handlers.add( ... )
						tuples[ 0 ][ 3 ].add(
							resolve(
								0,
								newDefer,
								isFunction( onProgress ) ?
									onProgress :
									Identity,
								newDefer.notifyWith
							)
						);

						// fulfilled_handlers.add( ... )
						tuples[ 1 ][ 3 ].add(
							resolve(
								0,
								newDefer,
								isFunction( onFulfilled ) ?
									onFulfilled :
									Identity
							)
						);

						// rejected_handlers.add( ... )
						tuples[ 2 ][ 3 ].add(
							resolve(
								0,
								newDefer,
								isFunction( onRejected ) ?
									onRejected :
									Thrower
							)
						);
					} ).promise();
				},

				// Get a promise for this deferred
				// If obj is provided, the promise aspect is added to the object
				promise: function( obj ) {
					return obj != null ? jQuery.extend( obj, promise ) : promise;
				}
			},
			deferred = {};

		// Add list-specific methods
		jQuery.each( tuples, function( i, tuple ) {
			var list = tuple[ 2 ],
				stateString = tuple[ 5 ];

			// promise.progress = list.add
			// promise.done = list.add
			// promise.fail = list.add
			promise[ tuple[ 1 ] ] = list.add;

			// Handle state
			if ( stateString ) {
				list.add(
					function() {

						// state = "resolved" (i.e., fulfilled)
						// state = "rejected"
						state = stateString;
					},

					// rejected_callbacks.disable
					// fulfilled_callbacks.disable
					tuples[ 3 - i ][ 2 ].disable,

					// rejected_handlers.disable
					// fulfilled_handlers.disable
					tuples[ 3 - i ][ 3 ].disable,

					// progress_callbacks.lock
					tuples[ 0 ][ 2 ].lock,

					// progress_handlers.lock
					tuples[ 0 ][ 3 ].lock
				);
			}

			// progress_handlers.fire
			// fulfilled_handlers.fire
			// rejected_handlers.fire
			list.add( tuple[ 3 ].fire );

			// deferred.notify = function() { deferred.notifyWith(...) }
			// deferred.resolve = function() { deferred.resolveWith(...) }
			// deferred.reject = function() { deferred.rejectWith(...) }
			deferred[ tuple[ 0 ] ] = function() {
				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
				return this;
			};

			// deferred.notifyWith = list.fireWith
			// deferred.resolveWith = list.fireWith
			// deferred.rejectWith = list.fireWith
			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
		} );

		// Make the deferred a promise
		promise.promise( deferred );

		// Call given func if any
		if ( func ) {
			func.call( deferred, deferred );
		}

		// All done!
		return deferred;
	},

	// Deferred helper
	when: function( singleValue ) {
		var

			// count of uncompleted subordinates
			remaining = arguments.length,

			// count of unprocessed arguments
			i = remaining,

			// subordinate fulfillment data
			resolveContexts = Array( i ),
			resolveValues = slice.call( arguments ),

			// the primary Deferred
			primary = jQuery.Deferred(),

			// subordinate callback factory
			updateFunc = function( i ) {
				return function( value ) {
					resolveContexts[ i ] = this;
					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
					if ( !( --remaining ) ) {
						primary.resolveWith( resolveContexts, resolveValues );
					}
				};
			};

		// Single- and empty arguments are adopted like Promise.resolve
		if ( remaining <= 1 ) {
			adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
				!remaining );

			// Use .then() to unwrap secondary thenables (cf. gh-3000)
			if ( primary.state() === "pending" ||
				isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {

				return primary.then();
			}
		}

		// Multiple arguments are aggregated like Promise.all array elements
		while ( i-- ) {
			adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
		}

		return primary.promise();
	}
} );


// These usually indicate a programmer mistake during development,
// warn about them ASAP rather than swallowing them by default.
var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;

// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error
// captured before the async barrier to get the original error cause
// which may otherwise be hidden.
jQuery.Deferred.exceptionHook = function( error, asyncError ) {

	// Support: IE 8 - 9 only
	// Console exists when dev tools are open, which can happen at any time
	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
		window.console.warn( "jQuery.Deferred exception: " + error.message,
			error.stack, asyncError );
	}
};




jQuery.readyException = function( error ) {
	window.setTimeout( function() {
		throw error;
	} );
};




// The deferred used on DOM ready
var readyList = jQuery.Deferred();

jQuery.fn.ready = function( fn ) {

	readyList
		.then( fn )

		// Wrap jQuery.readyException in a function so that the lookup
		// happens at the time of error handling instead of callback
		// registration.
		.catch( function( error ) {
			jQuery.readyException( error );
		} );

	return this;
};

jQuery.extend( {

	// Is the DOM ready to be used? Set to true once it occurs.
	isReady: false,

	// A counter to track how many items to wait for before
	// the ready event fires. See trac-6781
	readyWait: 1,

	// Handle when the DOM is ready
	ready: function( wait ) {

		// Abort if there are pending holds or we're already ready
		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
			return;
		}

		// Remember that the DOM is ready
		jQuery.isReady = true;

		// If a normal DOM Ready event fired, decrement, and wait if need be
		if ( wait !== true && --jQuery.readyWait > 0 ) {
			return;
		}

		// If there are functions bound, to execute
		readyList.resolveWith( document, [ jQuery ] );
	}
} );

jQuery.ready.then = readyList.then;

// The ready event handler and self cleanup method
function completed() {
	document.removeEventListener( "DOMContentLoaded", completed );
	window.removeEventListener( "load", completed );
	jQuery.ready();
}

// Catch cases where $(document).ready() is called
// after the browser event has already occurred.
// Support: IE <=9 - 10 only
// Older IE sometimes signals "interactive" too soon
if ( document.readyState === "complete" ||
	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {

	// Handle it asynchronously to allow scripts the opportunity to delay ready
	window.setTimeout( jQuery.ready );

} else {

	// Use the handy event callback
	document.addEventListener( "DOMContentLoaded", completed );

	// A fallback to window.onload, that will always work
	window.addEventListener( "load", completed );
}




// Multifunctional method to get and set values of a collection
// The value/s can optionally be executed if it's a function
var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
	var i = 0,
		len = elems.length,
		bulk = key == null;

	// Sets many values
	if ( toType( key ) === "object" ) {
		chainable = true;
		for ( i in key ) {
			access( elems, fn, i, key[ i ], true, emptyGet, raw );
		}

	// Sets one value
	} else if ( value !== undefined ) {
		chainable = true;

		if ( !isFunction( value ) ) {
			raw = true;
		}

		if ( bulk ) {

			// Bulk operations run against the entire set
			if ( raw ) {
				fn.call( elems, value );
				fn = null;

			// ...except when executing function values
			} else {
				bulk = fn;
				fn = function( elem, _key, value ) {
					return bulk.call( jQuery( elem ), value );
				};
			}
		}

		if ( fn ) {
			for ( ; i < len; i++ ) {
				fn(
					elems[ i ], key, raw ?
						value :
						value.call( elems[ i ], i, fn( elems[ i ], key ) )
				);
			}
		}
	}

	if ( chainable ) {
		return elems;
	}

	// Gets
	if ( bulk ) {
		return fn.call( elems );
	}

	return len ? fn( elems[ 0 ], key ) : emptyGet;
};


// Matches dashed string for camelizing
var rmsPrefix = /^-ms-/,
	rdashAlpha = /-([a-z])/g;

// Used by camelCase as callback to replace()
function fcamelCase( _all, letter ) {
	return letter.toUpperCase();
}

// Convert dashed to camelCase; used by the css and data modules
// Support: IE <=9 - 11, Edge 12 - 15
// Microsoft forgot to hump their vendor prefix (trac-9572)
function camelCase( string ) {
	return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
}
var acceptData = function( owner ) {

	// Accepts only:
	//  - Node
	//    - Node.ELEMENT_NODE
	//    - Node.DOCUMENT_NODE
	//  - Object
	//    - Any
	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
};




function Data() {
	this.expando = jQuery.expando + Data.uid++;
}

Data.uid = 1;

Data.prototype = {

	cache: function( owner ) {

		// Check if the owner object already has a cache
		var value = owner[ this.expando ];

		// If not, create one
		if ( !value ) {
			value = {};

			// We can accept data for non-element nodes in modern browsers,
			// but we should not, see trac-8335.
			// Always return an empty object.
			if ( acceptData( owner ) ) {

				// If it is a node unlikely to be stringify-ed or looped over
				// use plain assignment
				if ( owner.nodeType ) {
					owner[ this.expando ] = value;

				// Otherwise secure it in a non-enumerable property
				// configurable must be true to allow the property to be
				// deleted when data is removed
				} else {
					Object.defineProperty( owner, this.expando, {
						value: value,
						configurable: true
					} );
				}
			}
		}

		return value;
	},
	set: function( owner, data, value ) {
		var prop,
			cache = this.cache( owner );

		// Handle: [ owner, key, value ] args
		// Always use camelCase key (gh-2257)
		if ( typeof data === "string" ) {
			cache[ camelCase( data ) ] = value;

		// Handle: [ owner, { properties } ] args
		} else {

			// Copy the properties one-by-one to the cache object
			for ( prop in data ) {
				cache[ camelCase( prop ) ] = data[ prop ];
			}
		}
		return cache;
	},
	get: function( owner, key ) {
		return key === undefined ?
			this.cache( owner ) :

			// Always use camelCase key (gh-2257)
			owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
	},
	access: function( owner, key, value ) {

		// In cases where either:
		//
		//   1. No key was specified
		//   2. A string key was specified, but no value provided
		//
		// Take the "read" path and allow the get method to determine
		// which value to return, respectively either:
		//
		//   1. The entire cache object
		//   2. The data stored at the key
		//
		if ( key === undefined ||
				( ( key && typeof key === "string" ) && value === undefined ) ) {

			return this.get( owner, key );
		}

		// When the key is not a string, or both a key and value
		// are specified, set or extend (existing objects) with either:
		//
		//   1. An object of properties
		//   2. A key and value
		//
		this.set( owner, key, value );

		// Since the "set" path can have two possible entry points
		// return the expected data based on which path was taken[*]
		return value !== undefined ? value : key;
	},
	remove: function( owner, key ) {
		var i,
			cache = owner[ this.expando ];

		if ( cache === undefined ) {
			return;
		}

		if ( key !== undefined ) {

			// Support array or space separated string of keys
			if ( Array.isArray( key ) ) {

				// If key is an array of keys...
				// We always set camelCase keys, so remove that.
				key = key.map( camelCase );
			} else {
				key = camelCase( key );

				// If a key with the spaces exists, use it.
				// Otherwise, create an array by matching non-whitespace
				key = key in cache ?
					[ key ] :
					( key.match( rnothtmlwhite ) || [] );
			}

			i = key.length;

			while ( i-- ) {
				delete cache[ key[ i ] ];
			}
		}

		// Remove the expando if there's no more data
		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {

			// Support: Chrome <=35 - 45
			// Webkit & Blink performance suffers when deleting properties
			// from DOM nodes, so set to undefined instead
			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
			if ( owner.nodeType ) {
				owner[ this.expando ] = undefined;
			} else {
				delete owner[ this.expando ];
			}
		}
	},
	hasData: function( owner ) {
		var cache = owner[ this.expando ];
		return cache !== undefined && !jQuery.isEmptyObject( cache );
	}
};
var dataPriv = new Data();

var dataUser = new Data();



//	Implementation Summary
//
//	1. Enforce API surface and semantic compatibility with 1.9.x branch
//	2. Improve the module's maintainability by reducing the storage
//		paths to a single mechanism.
//	3. Use the same single mechanism to support "private" and "user" data.
//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
//	5. Avoid exposing implementation details on user objects (eg. expando properties)
//	6. Provide a clear path for implementation upgrade to WeakMap in 2014

var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
	rmultiDash = /[A-Z]/g;

function getData( data ) {
	if ( data === "true" ) {
		return true;
	}

	if ( data === "false" ) {
		return false;
	}

	if ( data === "null" ) {
		return null;
	}

	// Only convert to a number if it doesn't change the string
	if ( data === +data + "" ) {
		return +data;
	}

	if ( rbrace.test( data ) ) {
		return JSON.parse( data );
	}

	return data;
}

function dataAttr( elem, key, data ) {
	var name;

	// If nothing was found internally, try to fetch any
	// data from the HTML5 data-* attribute
	if ( data === undefined && elem.nodeType === 1 ) {
		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
		data = elem.getAttribute( name );

		if ( typeof data === "string" ) {
			try {
				data = getData( data );
			} catch ( e ) {}

			// Make sure we set the data so it isn't changed later
			dataUser.set( elem, key, data );
		} else {
			data = undefined;
		}
	}
	return data;
}

jQuery.extend( {
	hasData: function( elem ) {
		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
	},

	data: function( elem, name, data ) {
		return dataUser.access( elem, name, data );
	},

	removeData: function( elem, name ) {
		dataUser.remove( elem, name );
	},

	// TODO: Now that all calls to _data and _removeData have been replaced
	// with direct calls to dataPriv methods, these can be deprecated.
	_data: function( elem, name, data ) {
		return dataPriv.access( elem, name, data );
	},

	_removeData: function( elem, name ) {
		dataPriv.remove( elem, name );
	}
} );

jQuery.fn.extend( {
	data: function( key, value ) {
		var i, name, data,
			elem = this[ 0 ],
			attrs = elem && elem.attributes;

		// Gets all values
		if ( key === undefined ) {
			if ( this.length ) {
				data = dataUser.get( elem );

				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
					i = attrs.length;
					while ( i-- ) {

						// Support: IE 11 only
						// The attrs elements can be null (trac-14894)
						if ( attrs[ i ] ) {
							name = attrs[ i ].name;
							if ( name.indexOf( "data-" ) === 0 ) {
								name = camelCase( name.slice( 5 ) );
								dataAttr( elem, name, data[ name ] );
							}
						}
					}
					dataPriv.set( elem, "hasDataAttrs", true );
				}
			}

			return data;
		}

		// Sets multiple values
		if ( typeof key === "object" ) {
			return this.each( function() {
				dataUser.set( this, key );
			} );
		}

		return access( this, function( value ) {
			var data;

			// The calling jQuery object (element matches) is not empty
			// (and therefore has an element appears at this[ 0 ]) and the
			// `value` parameter was not undefined. An empty jQuery object
			// will result in `undefined` for elem = this[ 0 ] which will
			// throw an exception if an attempt to read a data cache is made.
			if ( elem && value === undefined ) {

				// Attempt to get data from the cache
				// The key will always be camelCased in Data
				data = dataUser.get( elem, key );
				if ( data !== undefined ) {
					return data;
				}

				// Attempt to "discover" the data in
				// HTML5 custom data-* attrs
				data = dataAttr( elem, key );
				if ( data !== undefined ) {
					return data;
				}

				// We tried really hard, but the data doesn't exist.
				return;
			}

			// Set the data...
			this.each( function() {

				// We always store the camelCased key
				dataUser.set( this, key, value );
			} );
		}, null, value, arguments.length > 1, null, true );
	},

	removeData: function( key ) {
		return this.each( function() {
			dataUser.remove( this, key );
		} );
	}
} );


jQuery.extend( {
	queue: function( elem, type, data ) {
		var queue;

		if ( elem ) {
			type = ( type || "fx" ) + "queue";
			queue = dataPriv.get( elem, type );

			// Speed up dequeue by getting out quickly if this is just a lookup
			if ( data ) {
				if ( !queue || Array.isArray( data ) ) {
					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
				} else {
					queue.push( data );
				}
			}
			return queue || [];
		}
	},

	dequeue: function( elem, type ) {
		type = type || "fx";

		var queue = jQuery.queue( elem, type ),
			startLength = queue.length,
			fn = queue.shift(),
			hooks = jQuery._queueHooks( elem, type ),
			next = function() {
				jQuery.dequeue( elem, type );
			};

		// If the fx queue is dequeued, always remove the progress sentinel
		if ( fn === "inprogress" ) {
			fn = queue.shift();
			startLength--;
		}

		if ( fn ) {

			// Add a progress sentinel to prevent the fx queue from being
			// automatically dequeued
			if ( type === "fx" ) {
				queue.unshift( "inprogress" );
			}

			// Clear up the last queue stop function
			delete hooks.stop;
			fn.call( elem, next, hooks );
		}

		if ( !startLength && hooks ) {
			hooks.empty.fire();
		}
	},

	// Not public - generate a queueHooks object, or return the current one
	_queueHooks: function( elem, type ) {
		var key = type + "queueHooks";
		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
			empty: jQuery.Callbacks( "once memory" ).add( function() {
				dataPriv.remove( elem, [ type + "queue", key ] );
			} )
		} );
	}
} );

jQuery.fn.extend( {
	queue: function( type, data ) {
		var setter = 2;

		if ( typeof type !== "string" ) {
			data = type;
			type = "fx";
			setter--;
		}

		if ( arguments.length < setter ) {
			return jQuery.queue( this[ 0 ], type );
		}

		return data === undefined ?
			this :
			this.each( function() {
				var queue = jQuery.queue( this, type, data );

				// Ensure a hooks for this queue
				jQuery._queueHooks( this, type );

				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
					jQuery.dequeue( this, type );
				}
			} );
	},
	dequeue: function( type ) {
		return this.each( function() {
			jQuery.dequeue( this, type );
		} );
	},
	clearQueue: function( type ) {
		return this.queue( type || "fx", [] );
	},

	// Get a promise resolved when queues of a certain type
	// are emptied (fx is the type by default)
	promise: function( type, obj ) {
		var tmp,
			count = 1,
			defer = jQuery.Deferred(),
			elements = this,
			i = this.length,
			resolve = function() {
				if ( !( --count ) ) {
					defer.resolveWith( elements, [ elements ] );
				}
			};

		if ( typeof type !== "string" ) {
			obj = type;
			type = undefined;
		}
		type = type || "fx";

		while ( i-- ) {
			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
			if ( tmp && tmp.empty ) {
				count++;
				tmp.empty.add( resolve );
			}
		}
		resolve();
		return defer.promise( obj );
	}
} );
var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;

var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );


var cssExpand = [ "Top", "Right", "Bottom", "Left" ];

var documentElement = document.documentElement;



	var isAttached = function( elem ) {
			return jQuery.contains( elem.ownerDocument, elem );
		},
		composed = { composed: true };

	// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
	// Check attachment across shadow DOM boundaries when possible (gh-3504)
	// Support: iOS 10.0-10.2 only
	// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
	// leading to errors. We need to check for `getRootNode`.
	if ( documentElement.getRootNode ) {
		isAttached = function( elem ) {
			return jQuery.contains( elem.ownerDocument, elem ) ||
				elem.getRootNode( composed ) === elem.ownerDocument;
		};
	}
var isHiddenWithinTree = function( elem, el ) {

		// isHiddenWithinTree might be called from jQuery#filter function;
		// in that case, element will be second argument
		elem = el || elem;

		// Inline style trumps all
		return elem.style.display === "none" ||
			elem.style.display === "" &&

			// Otherwise, check computed style
			// Support: Firefox <=43 - 45
			// Disconnected elements can have computed display: none, so first confirm that elem is
			// in the document.
			isAttached( elem ) &&

			jQuery.css( elem, "display" ) === "none";
	};



function adjustCSS( elem, prop, valueParts, tween ) {
	var adjusted, scale,
		maxIterations = 20,
		currentValue = tween ?
			function() {
				return tween.cur();
			} :
			function() {
				return jQuery.css( elem, prop, "" );
			},
		initial = currentValue(),
		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),

		// Starting value computation is required for potential unit mismatches
		initialInUnit = elem.nodeType &&
			( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
			rcssNum.exec( jQuery.css( elem, prop ) );

	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {

		// Support: Firefox <=54
		// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
		initial = initial / 2;

		// Trust units reported by jQuery.css
		unit = unit || initialInUnit[ 3 ];

		// Iteratively approximate from a nonzero starting point
		initialInUnit = +initial || 1;

		while ( maxIterations-- ) {

			// Evaluate and update our best guess (doubling guesses that zero out).
			// Finish if the scale equals or crosses 1 (making the old*new product non-positive).
			jQuery.style( elem, prop, initialInUnit + unit );
			if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
				maxIterations = 0;
			}
			initialInUnit = initialInUnit / scale;

		}

		initialInUnit = initialInUnit * 2;
		jQuery.style( elem, prop, initialInUnit + unit );

		// Make sure we update the tween properties later on
		valueParts = valueParts || [];
	}

	if ( valueParts ) {
		initialInUnit = +initialInUnit || +initial || 0;

		// Apply relative offset (+=/-=) if specified
		adjusted = valueParts[ 1 ] ?
			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
			+valueParts[ 2 ];
		if ( tween ) {
			tween.unit = unit;
			tween.start = initialInUnit;
			tween.end = adjusted;
		}
	}
	return adjusted;
}


var defaultDisplayMap = {};

function getDefaultDisplay( elem ) {
	var temp,
		doc = elem.ownerDocument,
		nodeName = elem.nodeName,
		display = defaultDisplayMap[ nodeName ];

	if ( display ) {
		return display;
	}

	temp = doc.body.appendChild( doc.createElement( nodeName ) );
	display = jQuery.css( temp, "display" );

	temp.parentNode.removeChild( temp );

	if ( display === "none" ) {
		display = "block";
	}
	defaultDisplayMap[ nodeName ] = display;

	return display;
}

function showHide( elements, show ) {
	var display, elem,
		values = [],
		index = 0,
		length = elements.length;

	// Determine new display value for elements that need to change
	for ( ; index < length; index++ ) {
		elem = elements[ index ];
		if ( !elem.style ) {
			continue;
		}

		display = elem.style.display;
		if ( show ) {

			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
			// check is required in this first loop unless we have a nonempty display value (either
			// inline or about-to-be-restored)
			if ( display === "none" ) {
				values[ index ] = dataPriv.get( elem, "display" ) || null;
				if ( !values[ index ] ) {
					elem.style.display = "";
				}
			}
			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
				values[ index ] = getDefaultDisplay( elem );
			}
		} else {
			if ( display !== "none" ) {
				values[ index ] = "none";

				// Remember what we're overwriting
				dataPriv.set( elem, "display", display );
			}
		}
	}

	// Set the display of the elements in a second loop to avoid constant reflow
	for ( index = 0; index < length; index++ ) {
		if ( values[ index ] != null ) {
			elements[ index ].style.display = values[ index ];
		}
	}

	return elements;
}

jQuery.fn.extend( {
	show: function() {
		return showHide( this, true );
	},
	hide: function() {
		return showHide( this );
	},
	toggle: function( state ) {
		if ( typeof state === "boolean" ) {
			return state ? this.show() : this.hide();
		}

		return this.each( function() {
			if ( isHiddenWithinTree( this ) ) {
				jQuery( this ).show();
			} else {
				jQuery( this ).hide();
			}
		} );
	}
} );
var rcheckableType = ( /^(?:checkbox|radio)$/i );

var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );

var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );



( function() {
	var fragment = document.createDocumentFragment(),
		div = fragment.appendChild( document.createElement( "div" ) ),
		input = document.createElement( "input" );

	// Support: Android 4.0 - 4.3 only
	// Check state lost if the name is set (trac-11217)
	// Support: Windows Web Apps (WWA)
	// `name` and `type` must use .setAttribute for WWA (trac-14901)
	input.setAttribute( "type", "radio" );
	input.setAttribute( "checked", "checked" );
	input.setAttribute( "name", "t" );

	div.appendChild( input );

	// Support: Android <=4.1 only
	// Older WebKit doesn't clone checked state correctly in fragments
	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;

	// Support: IE <=11 only
	// Make sure textarea (and checkbox) defaultValue is properly cloned
	div.innerHTML = "<textarea>x</textarea>";
	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;

	// Support: IE <=9 only
	// IE <=9 replaces <option> tags with their contents when inserted outside of
	// the select element.
	div.innerHTML = "<option></option>";
	support.option = !!div.lastChild;
} )();


// We have to close these tags to support XHTML (trac-13200)
var wrapMap = {

	// XHTML parsers do not magically insert elements in the
	// same way that tag soup parsers do. So we cannot shorten
	// this by omitting <tbody> or other required elements.
	thead: [ 1, "<table>", "</table>" ],
	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],

	_default: [ 0, "", "" ]
};

wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
wrapMap.th = wrapMap.td;

// Support: IE <=9 only
if ( !support.option ) {
	wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
}


function getAll( context, tag ) {

	// Support: IE <=9 - 11 only
	// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
	var ret;

	if ( typeof context.getElementsByTagName !== "undefined" ) {
		ret = context.getElementsByTagName( tag || "*" );

	} else if ( typeof context.querySelectorAll !== "undefined" ) {
		ret = context.querySelectorAll( tag || "*" );

	} else {
		ret = [];
	}

	if ( tag === undefined || tag && nodeName( context, tag ) ) {
		return jQuery.merge( [ context ], ret );
	}

	return ret;
}


// Mark scripts as having already been evaluated
function setGlobalEval( elems, refElements ) {
	var i = 0,
		l = elems.length;

	for ( ; i < l; i++ ) {
		dataPriv.set(
			elems[ i ],
			"globalEval",
			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
		);
	}
}


var rhtml = /<|&#?\w+;/;

function buildFragment( elems, context, scripts, selection, ignored ) {
	var elem, tmp, tag, wrap, attached, j,
		fragment = context.createDocumentFragment(),
		nodes = [],
		i = 0,
		l = elems.length;

	for ( ; i < l; i++ ) {
		elem = elems[ i ];

		if ( elem || elem === 0 ) {

			// Add nodes directly
			if ( toType( elem ) === "object" ) {

				// Support: Android <=4.0 only, PhantomJS 1 only
				// push.apply(_, arraylike) throws on ancient WebKit
				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );

			// Convert non-html into a text node
			} else if ( !rhtml.test( elem ) ) {
				nodes.push( context.createTextNode( elem ) );

			// Convert html into DOM nodes
			} else {
				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );

				// Deserialize a standard representation
				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
				wrap = wrapMap[ tag ] || wrapMap._default;
				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];

				// Descend through wrappers to the right content
				j = wrap[ 0 ];
				while ( j-- ) {
					tmp = tmp.lastChild;
				}

				// Support: Android <=4.0 only, PhantomJS 1 only
				// push.apply(_, arraylike) throws on ancient WebKit
				jQuery.merge( nodes, tmp.childNodes );

				// Remember the top-level container
				tmp = fragment.firstChild;

				// Ensure the created nodes are orphaned (trac-12392)
				tmp.textContent = "";
			}
		}
	}

	// Remove wrapper from fragment
	fragment.textContent = "";

	i = 0;
	while ( ( elem = nodes[ i++ ] ) ) {

		// Skip elements already in the context collection (trac-4087)
		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
			if ( ignored ) {
				ignored.push( elem );
			}
			continue;
		}

		attached = isAttached( elem );

		// Append to fragment
		tmp = getAll( fragment.appendChild( elem ), "script" );

		// Preserve script evaluation history
		if ( attached ) {
			setGlobalEval( tmp );
		}

		// Capture executables
		if ( scripts ) {
			j = 0;
			while ( ( elem = tmp[ j++ ] ) ) {
				if ( rscriptType.test( elem.type || "" ) ) {
					scripts.push( elem );
				}
			}
		}
	}

	return fragment;
}


var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;

function returnTrue() {
	return true;
}

function returnFalse() {
	return false;
}

function on( elem, types, selector, data, fn, one ) {
	var origFn, type;

	// Types can be a map of types/handlers
	if ( typeof types === "object" ) {

		// ( types-Object, selector, data )
		if ( typeof selector !== "string" ) {

			// ( types-Object, data )
			data = data || selector;
			selector = undefined;
		}
		for ( type in types ) {
			on( elem, type, selector, data, types[ type ], one );
		}
		return elem;
	}

	if ( data == null && fn == null ) {

		// ( types, fn )
		fn = selector;
		data = selector = undefined;
	} else if ( fn == null ) {
		if ( typeof selector === "string" ) {

			// ( types, selector, fn )
			fn = data;
			data = undefined;
		} else {

			// ( types, data, fn )
			fn = data;
			data = selector;
			selector = undefined;
		}
	}
	if ( fn === false ) {
		fn = returnFalse;
	} else if ( !fn ) {
		return elem;
	}

	if ( one === 1 ) {
		origFn = fn;
		fn = function( event ) {

			// Can use an empty set, since event contains the info
			jQuery().off( event );
			return origFn.apply( this, arguments );
		};

		// Use same guid so caller can remove using origFn
		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
	}
	return elem.each( function() {
		jQuery.event.add( this, types, fn, data, selector );
	} );
}

/*
 * Helper functions for managing events -- not part of the public interface.
 * Props to Dean Edwards' addEvent library for many of the ideas.
 */
jQuery.event = {

	global: {},

	add: function( elem, types, handler, data, selector ) {

		var handleObjIn, eventHandle, tmp,
			events, t, handleObj,
			special, handlers, type, namespaces, origType,
			elemData = dataPriv.get( elem );

		// Only attach events to objects that accept data
		if ( !acceptData( elem ) ) {
			return;
		}

		// Caller can pass in an object of custom data in lieu of the handler
		if ( handler.handler ) {
			handleObjIn = handler;
			handler = handleObjIn.handler;
			selector = handleObjIn.selector;
		}

		// Ensure that invalid selectors throw exceptions at attach time
		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
		if ( selector ) {
			jQuery.find.matchesSelector( documentElement, selector );
		}

		// Make sure that the handler has a unique ID, used to find/remove it later
		if ( !handler.guid ) {
			handler.guid = jQuery.guid++;
		}

		// Init the element's event structure and main handler, if this is the first
		if ( !( events = elemData.events ) ) {
			events = elemData.events = Object.create( null );
		}
		if ( !( eventHandle = elemData.handle ) ) {
			eventHandle = elemData.handle = function( e ) {

				// Discard the second event of a jQuery.event.trigger() and
				// when an event is called after a page has unloaded
				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
			};
		}

		// Handle multiple events separated by a space
		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
		t = types.length;
		while ( t-- ) {
			tmp = rtypenamespace.exec( types[ t ] ) || [];
			type = origType = tmp[ 1 ];
			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();

			// There *must* be a type, no attaching namespace-only handlers
			if ( !type ) {
				continue;
			}

			// If event changes its type, use the special event handlers for the changed type
			special = jQuery.event.special[ type ] || {};

			// If selector defined, determine special event api type, otherwise given type
			type = ( selector ? special.delegateType : special.bindType ) || type;

			// Update special based on newly reset type
			special = jQuery.event.special[ type ] || {};

			// handleObj is passed to all event handlers
			handleObj = jQuery.extend( {
				type: type,
				origType: origType,
				data: data,
				handler: handler,
				guid: handler.guid,
				selector: selector,
				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
				namespace: namespaces.join( "." )
			}, handleObjIn );

			// Init the event handler queue if we're the first
			if ( !( handlers = events[ type ] ) ) {
				handlers = events[ type ] = [];
				handlers.delegateCount = 0;

				// Only use addEventListener if the special events handler returns false
				if ( !special.setup ||
					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {

					if ( elem.addEventListener ) {
						elem.addEventListener( type, eventHandle );
					}
				}
			}

			if ( special.add ) {
				special.add.call( elem, handleObj );

				if ( !handleObj.handler.guid ) {
					handleObj.handler.guid = handler.guid;
				}
			}

			// Add to the element's handler list, delegates in front
			if ( selector ) {
				handlers.splice( handlers.delegateCount++, 0, handleObj );
			} else {
				handlers.push( handleObj );
			}

			// Keep track of which events have ever been used, for event optimization
			jQuery.event.global[ type ] = true;
		}

	},

	// Detach an event or set of events from an element
	remove: function( elem, types, handler, selector, mappedTypes ) {

		var j, origCount, tmp,
			events, t, handleObj,
			special, handlers, type, namespaces, origType,
			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );

		if ( !elemData || !( events = elemData.events ) ) {
			return;
		}

		// Once for each type.namespace in types; type may be omitted
		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
		t = types.length;
		while ( t-- ) {
			tmp = rtypenamespace.exec( types[ t ] ) || [];
			type = origType = tmp[ 1 ];
			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();

			// Unbind all events (on this namespace, if provided) for the element
			if ( !type ) {
				for ( type in events ) {
					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
				}
				continue;
			}

			special = jQuery.event.special[ type ] || {};
			type = ( selector ? special.delegateType : special.bindType ) || type;
			handlers = events[ type ] || [];
			tmp = tmp[ 2 ] &&
				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );

			// Remove matching events
			origCount = j = handlers.length;
			while ( j-- ) {
				handleObj = handlers[ j ];

				if ( ( mappedTypes || origType === handleObj.origType ) &&
					( !handler || handler.guid === handleObj.guid ) &&
					( !tmp || tmp.test( handleObj.namespace ) ) &&
					( !selector || selector === handleObj.selector ||
						selector === "**" && handleObj.selector ) ) {
					handlers.splice( j, 1 );

					if ( handleObj.selector ) {
						handlers.delegateCount--;
					}
					if ( special.remove ) {
						special.remove.call( elem, handleObj );
					}
				}
			}

			// Remove generic event handler if we removed something and no more handlers exist
			// (avoids potential for endless recursion during removal of special event handlers)
			if ( origCount && !handlers.length ) {
				if ( !special.teardown ||
					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {

					jQuery.removeEvent( elem, type, elemData.handle );
				}

				delete events[ type ];
			}
		}

		// Remove data and the expando if it's no longer used
		if ( jQuery.isEmptyObject( events ) ) {
			dataPriv.remove( elem, "handle events" );
		}
	},

	dispatch: function( nativeEvent ) {

		var i, j, ret, matched, handleObj, handlerQueue,
			args = new Array( arguments.length ),

			// Make a writable jQuery.Event from the native event object
			event = jQuery.event.fix( nativeEvent ),

			handlers = (
				dataPriv.get( this, "events" ) || Object.create( null )
			)[ event.type ] || [],
			special = jQuery.event.special[ event.type ] || {};

		// Use the fix-ed jQuery.Event rather than the (read-only) native event
		args[ 0 ] = event;

		for ( i = 1; i < arguments.length; i++ ) {
			args[ i ] = arguments[ i ];
		}

		event.delegateTarget = this;

		// Call the preDispatch hook for the mapped type, and let it bail if desired
		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
			return;
		}

		// Determine handlers
		handlerQueue = jQuery.event.handlers.call( this, event, handlers );

		// Run delegates first; they may want to stop propagation beneath us
		i = 0;
		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
			event.currentTarget = matched.elem;

			j = 0;
			while ( ( handleObj = matched.handlers[ j++ ] ) &&
				!event.isImmediatePropagationStopped() ) {

				// If the event is namespaced, then each handler is only invoked if it is
				// specially universal or its namespaces are a superset of the event's.
				if ( !event.rnamespace || handleObj.namespace === false ||
					event.rnamespace.test( handleObj.namespace ) ) {

					event.handleObj = handleObj;
					event.data = handleObj.data;

					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
						handleObj.handler ).apply( matched.elem, args );

					if ( ret !== undefined ) {
						if ( ( event.result = ret ) === false ) {
							event.preventDefault();
							event.stopPropagation();
						}
					}
				}
			}
		}

		// Call the postDispatch hook for the mapped type
		if ( special.postDispatch ) {
			special.postDispatch.call( this, event );
		}

		return event.result;
	},

	handlers: function( event, handlers ) {
		var i, handleObj, sel, matchedHandlers, matchedSelectors,
			handlerQueue = [],
			delegateCount = handlers.delegateCount,
			cur = event.target;

		// Find delegate handlers
		if ( delegateCount &&

			// Support: IE <=9
			// Black-hole SVG <use> instance trees (trac-13180)
			cur.nodeType &&

			// Support: Firefox <=42
			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
			// Support: IE 11 only
			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
			!( event.type === "click" && event.button >= 1 ) ) {

			for ( ; cur !== this; cur = cur.parentNode || this ) {

				// Don't check non-elements (trac-13208)
				// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
					matchedHandlers = [];
					matchedSelectors = {};
					for ( i = 0; i < delegateCount; i++ ) {
						handleObj = handlers[ i ];

						// Don't conflict with Object.prototype properties (trac-13203)
						sel = handleObj.selector + " ";

						if ( matchedSelectors[ sel ] === undefined ) {
							matchedSelectors[ sel ] = handleObj.needsContext ?
								jQuery( sel, this ).index( cur ) > -1 :
								jQuery.find( sel, this, null, [ cur ] ).length;
						}
						if ( matchedSelectors[ sel ] ) {
							matchedHandlers.push( handleObj );
						}
					}
					if ( matchedHandlers.length ) {
						handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
					}
				}
			}
		}

		// Add the remaining (directly-bound) handlers
		cur = this;
		if ( delegateCount < handlers.length ) {
			handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
		}

		return handlerQueue;
	},

	addProp: function( name, hook ) {
		Object.defineProperty( jQuery.Event.prototype, name, {
			enumerable: true,
			configurable: true,

			get: isFunction( hook ) ?
				function() {
					if ( this.originalEvent ) {
						return hook( this.originalEvent );
					}
				} :
				function() {
					if ( this.originalEvent ) {
						return this.originalEvent[ name ];
					}
				},

			set: function( value ) {
				Object.defineProperty( this, name, {
					enumerable: true,
					configurable: true,
					writable: true,
					value: value
				} );
			}
		} );
	},

	fix: function( originalEvent ) {
		return originalEvent[ jQuery.expando ] ?
			originalEvent :
			new jQuery.Event( originalEvent );
	},

	special: {
		load: {

			// Prevent triggered image.load events from bubbling to window.load
			noBubble: true
		},
		click: {

			// Utilize native event to ensure correct state for checkable inputs
			setup: function( data ) {

				// For mutual compressibility with _default, replace `this` access with a local var.
				// `|| data` is dead code meant only to preserve the variable through minification.
				var el = this || data;

				// Claim the first handler
				if ( rcheckableType.test( el.type ) &&
					el.click && nodeName( el, "input" ) ) {

					// dataPriv.set( el, "click", ... )
					leverageNative( el, "click", true );
				}

				// Return false to allow normal processing in the caller
				return false;
			},
			trigger: function( data ) {

				// For mutual compressibility with _default, replace `this` access with a local var.
				// `|| data` is dead code meant only to preserve the variable through minification.
				var el = this || data;

				// Force setup before triggering a click
				if ( rcheckableType.test( el.type ) &&
					el.click && nodeName( el, "input" ) ) {

					leverageNative( el, "click" );
				}

				// Return non-false to allow normal event-path propagation
				return true;
			},

			// For cross-browser consistency, suppress native .click() on links
			// Also prevent it if we're currently inside a leveraged native-event stack
			_default: function( event ) {
				var target = event.target;
				return rcheckableType.test( target.type ) &&
					target.click && nodeName( target, "input" ) &&
					dataPriv.get( target, "click" ) ||
					nodeName( target, "a" );
			}
		},

		beforeunload: {
			postDispatch: function( event ) {

				// Support: Firefox 20+
				// Firefox doesn't alert if the returnValue field is not set.
				if ( event.result !== undefined && event.originalEvent ) {
					event.originalEvent.returnValue = event.result;
				}
			}
		}
	}
};

// Ensure the presence of an event listener that handles manually-triggered
// synthetic events by interrupting progress until reinvoked in response to
// *native* events that it fires directly, ensuring that state changes have
// already occurred before other listeners are invoked.
function leverageNative( el, type, isSetup ) {

	// Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add
	if ( !isSetup ) {
		if ( dataPriv.get( el, type ) === undefined ) {
			jQuery.event.add( el, type, returnTrue );
		}
		return;
	}

	// Register the controller as a special universal handler for all event namespaces
	dataPriv.set( el, type, false );
	jQuery.event.add( el, type, {
		namespace: false,
		handler: function( event ) {
			var result,
				saved = dataPriv.get( this, type );

			if ( ( event.isTrigger & 1 ) && this[ type ] ) {

				// Interrupt processing of the outer synthetic .trigger()ed event
				if ( !saved ) {

					// Store arguments for use when handling the inner native event
					// There will always be at least one argument (an event object), so this array
					// will not be confused with a leftover capture object.
					saved = slice.call( arguments );
					dataPriv.set( this, type, saved );

					// Trigger the native event and capture its result
					this[ type ]();
					result = dataPriv.get( this, type );
					dataPriv.set( this, type, false );

					if ( saved !== result ) {

						// Cancel the outer synthetic event
						event.stopImmediatePropagation();
						event.preventDefault();

						return result;
					}

				// If this is an inner synthetic event for an event with a bubbling surrogate
				// (focus or blur), assume that the surrogate already propagated from triggering
				// the native event and prevent that from happening again here.
				// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
				// bubbling surrogate propagates *after* the non-bubbling base), but that seems
				// less bad than duplication.
				} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
					event.stopPropagation();
				}

			// If this is a native event triggered above, everything is now in order
			// Fire an inner synthetic event with the original arguments
			} else if ( saved ) {

				// ...and capture the result
				dataPriv.set( this, type, jQuery.event.trigger(
					saved[ 0 ],
					saved.slice( 1 ),
					this
				) );

				// Abort handling of the native event by all jQuery handlers while allowing
				// native handlers on the same element to run. On target, this is achieved
				// by stopping immediate propagation just on the jQuery event. However,
				// the native event is re-wrapped by a jQuery one on each level of the
				// propagation so the only way to stop it for jQuery is to stop it for
				// everyone via native `stopPropagation()`. This is not a problem for
				// focus/blur which don't bubble, but it does also stop click on checkboxes
				// and radios. We accept this limitation.
				event.stopPropagation();
				event.isImmediatePropagationStopped = returnTrue;
			}
		}
	} );
}

jQuery.removeEvent = function( elem, type, handle ) {

	// This "if" is needed for plain objects
	if ( elem.removeEventListener ) {
		elem.removeEventListener( type, handle );
	}
};

jQuery.Event = function( src, props ) {

	// Allow instantiation without the 'new' keyword
	if ( !( this instanceof jQuery.Event ) ) {
		return new jQuery.Event( src, props );
	}

	// Event object
	if ( src && src.type ) {
		this.originalEvent = src;
		this.type = src.type;

		// Events bubbling up the document may have been marked as prevented
		// by a handler lower down the tree; reflect the correct value.
		this.isDefaultPrevented = src.defaultPrevented ||
				src.defaultPrevented === undefined &&

				// Support: Android <=2.3 only
				src.returnValue === false ?
			returnTrue :
			returnFalse;

		// Create target properties
		// Support: Safari <=6 - 7 only
		// Target should not be a text node (trac-504, trac-13143)
		this.target = ( src.target && src.target.nodeType === 3 ) ?
			src.target.parentNode :
			src.target;

		this.currentTarget = src.currentTarget;
		this.relatedTarget = src.relatedTarget;

	// Event type
	} else {
		this.type = src;
	}

	// Put explicitly provided properties onto the event object
	if ( props ) {
		jQuery.extend( this, props );
	}

	// Create a timestamp if incoming event doesn't have one
	this.timeStamp = src && src.timeStamp || Date.now();

	// Mark it as fixed
	this[ jQuery.expando ] = true;
};

// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
	constructor: jQuery.Event,
	isDefaultPrevented: returnFalse,
	isPropagationStopped: returnFalse,
	isImmediatePropagationStopped: returnFalse,
	isSimulated: false,

	preventDefault: function() {
		var e = this.originalEvent;

		this.isDefaultPrevented = returnTrue;

		if ( e && !this.isSimulated ) {
			e.preventDefault();
		}
	},
	stopPropagation: function() {
		var e = this.originalEvent;

		this.isPropagationStopped = returnTrue;

		if ( e && !this.isSimulated ) {
			e.stopPropagation();
		}
	},
	stopImmediatePropagation: function() {
		var e = this.originalEvent;

		this.isImmediatePropagationStopped = returnTrue;

		if ( e && !this.isSimulated ) {
			e.stopImmediatePropagation();
		}

		this.stopPropagation();
	}
};

// Includes all common event props including KeyEvent and MouseEvent specific props
jQuery.each( {
	altKey: true,
	bubbles: true,
	cancelable: true,
	changedTouches: true,
	ctrlKey: true,
	detail: true,
	eventPhase: true,
	metaKey: true,
	pageX: true,
	pageY: true,
	shiftKey: true,
	view: true,
	"char": true,
	code: true,
	charCode: true,
	key: true,
	keyCode: true,
	button: true,
	buttons: true,
	clientX: true,
	clientY: true,
	offsetX: true,
	offsetY: true,
	pointerId: true,
	pointerType: true,
	screenX: true,
	screenY: true,
	targetTouches: true,
	toElement: true,
	touches: true,
	which: true
}, jQuery.event.addProp );

jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {

	function focusMappedHandler( nativeEvent ) {
		if ( document.documentMode ) {

			// Support: IE 11+
			// Attach a single focusin/focusout handler on the document while someone wants
			// focus/blur. This is because the former are synchronous in IE while the latter
			// are async. In other browsers, all those handlers are invoked synchronously.

			// `handle` from private data would already wrap the event, but we need
			// to change the `type` here.
			var handle = dataPriv.get( this, "handle" ),
				event = jQuery.event.fix( nativeEvent );
			event.type = nativeEvent.type === "focusin" ? "focus" : "blur";
			event.isSimulated = true;

			// First, handle focusin/focusout
			handle( nativeEvent );

			// ...then, handle focus/blur
			//
			// focus/blur don't bubble while focusin/focusout do; simulate the former by only
			// invoking the handler at the lower level.
			if ( event.target === event.currentTarget ) {

				// The setup part calls `leverageNative`, which, in turn, calls
				// `jQuery.event.add`, so event handle will already have been set
				// by this point.
				handle( event );
			}
		} else {

			// For non-IE browsers, attach a single capturing handler on the document
			// while someone wants focusin/focusout.
			jQuery.event.simulate( delegateType, nativeEvent.target,
				jQuery.event.fix( nativeEvent ) );
		}
	}

	jQuery.event.special[ type ] = {

		// Utilize native event if possible so blur/focus sequence is correct
		setup: function() {

			var attaches;

			// Claim the first handler
			// dataPriv.set( this, "focus", ... )
			// dataPriv.set( this, "blur", ... )
			leverageNative( this, type, true );

			if ( document.documentMode ) {

				// Support: IE 9 - 11+
				// We use the same native handler for focusin & focus (and focusout & blur)
				// so we need to coordinate setup & teardown parts between those events.
				// Use `delegateType` as the key as `type` is already used by `leverageNative`.
				attaches = dataPriv.get( this, delegateType );
				if ( !attaches ) {
					this.addEventListener( delegateType, focusMappedHandler );
				}
				dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );
			} else {

				// Return false to allow normal processing in the caller
				return false;
			}
		},
		trigger: function() {

			// Force setup before trigger
			leverageNative( this, type );

			// Return non-false to allow normal event-path propagation
			return true;
		},

		teardown: function() {
			var attaches;

			if ( document.documentMode ) {
				attaches = dataPriv.get( this, delegateType ) - 1;
				if ( !attaches ) {
					this.removeEventListener( delegateType, focusMappedHandler );
					dataPriv.remove( this, delegateType );
				} else {
					dataPriv.set( this, delegateType, attaches );
				}
			} else {

				// Return false to indicate standard teardown should be applied
				return false;
			}
		},

		// Suppress native focus or blur if we're currently inside
		// a leveraged native-event stack
		_default: function( event ) {
			return dataPriv.get( event.target, type );
		},

		delegateType: delegateType
	};

	// Support: Firefox <=44
	// Firefox doesn't have focus(in | out) events
	// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
	//
	// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
	// focus(in | out) events fire after focus & blur events,
	// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
	// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
	//
	// Support: IE 9 - 11+
	// To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,
	// attach a single handler for both events in IE.
	jQuery.event.special[ delegateType ] = {
		setup: function() {

			// Handle: regular nodes (via `this.ownerDocument`), window
			// (via `this.document`) & document (via `this`).
			var doc = this.ownerDocument || this.document || this,
				dataHolder = document.documentMode ? this : doc,
				attaches = dataPriv.get( dataHolder, delegateType );

			// Support: IE 9 - 11+
			// We use the same native handler for focusin & focus (and focusout & blur)
			// so we need to coordinate setup & teardown parts between those events.
			// Use `delegateType` as the key as `type` is already used by `leverageNative`.
			if ( !attaches ) {
				if ( document.documentMode ) {
					this.addEventListener( delegateType, focusMappedHandler );
				} else {
					doc.addEventListener( type, focusMappedHandler, true );
				}
			}
			dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );
		},
		teardown: function() {
			var doc = this.ownerDocument || this.document || this,
				dataHolder = document.documentMode ? this : doc,
				attaches = dataPriv.get( dataHolder, delegateType ) - 1;

			if ( !attaches ) {
				if ( document.documentMode ) {
					this.removeEventListener( delegateType, focusMappedHandler );
				} else {
					doc.removeEventListener( type, focusMappedHandler, true );
				}
				dataPriv.remove( dataHolder, delegateType );
			} else {
				dataPriv.set( dataHolder, delegateType, attaches );
			}
		}
	};
} );

// Create mouseenter/leave events using mouseover/out and event-time checks
// so that event delegation works in jQuery.
// Do the same for pointerenter/pointerleave and pointerover/pointerout
//
// Support: Safari 7 only
// Safari sends mouseenter too often; see:
// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
// for the description of the bug (it existed in older Chrome versions as well).
jQuery.each( {
	mouseenter: "mouseover",
	mouseleave: "mouseout",
	pointerenter: "pointerover",
	pointerleave: "pointerout"
}, function( orig, fix ) {
	jQuery.event.special[ orig ] = {
		delegateType: fix,
		bindType: fix,

		handle: function( event ) {
			var ret,
				target = this,
				related = event.relatedTarget,
				handleObj = event.handleObj;

			// For mouseenter/leave call the handler if related is outside the target.
			// NB: No relatedTarget if the mouse left/entered the browser window
			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
				event.type = handleObj.origType;
				ret = handleObj.handler.apply( this, arguments );
				event.type = fix;
			}
			return ret;
		}
	};
} );

jQuery.fn.extend( {

	on: function( types, selector, data, fn ) {
		return on( this, types, selector, data, fn );
	},
	one: function( types, selector, data, fn ) {
		return on( this, types, selector, data, fn, 1 );
	},
	off: function( types, selector, fn ) {
		var handleObj, type;
		if ( types && types.preventDefault && types.handleObj ) {

			// ( event )  dispatched jQuery.Event
			handleObj = types.handleObj;
			jQuery( types.delegateTarget ).off(
				handleObj.namespace ?
					handleObj.origType + "." + handleObj.namespace :
					handleObj.origType,
				handleObj.selector,
				handleObj.handler
			);
			return this;
		}
		if ( typeof types === "object" ) {

			// ( types-object [, selector] )
			for ( type in types ) {
				this.off( type, selector, types[ type ] );
			}
			return this;
		}
		if ( selector === false || typeof selector === "function" ) {

			// ( types [, fn] )
			fn = selector;
			selector = undefined;
		}
		if ( fn === false ) {
			fn = returnFalse;
		}
		return this.each( function() {
			jQuery.event.remove( this, types, fn, selector );
		} );
	}
} );


var

	// Support: IE <=10 - 11, Edge 12 - 13 only
	// In IE/Edge using regex groups here causes severe slowdowns.
	// See https://connect.microsoft.com/IE/feedback/details/1736512/
	rnoInnerhtml = /<script|<style|<link/i,

	// checked="checked" or checked
	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,

	rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;

// Prefer a tbody over its parent table for containing new rows
function manipulationTarget( elem, content ) {
	if ( nodeName( elem, "table" ) &&
		nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {

		return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
	}

	return elem;
}

// Replace/restore the type attribute of script elements for safe DOM manipulation
function disableScript( elem ) {
	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
	return elem;
}
function restoreScript( elem ) {
	if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
		elem.type = elem.type.slice( 5 );
	} else {
		elem.removeAttribute( "type" );
	}

	return elem;
}

function cloneCopyEvent( src, dest ) {
	var i, l, type, pdataOld, udataOld, udataCur, events;

	if ( dest.nodeType !== 1 ) {
		return;
	}

	// 1. Copy private data: events, handlers, etc.
	if ( dataPriv.hasData( src ) ) {
		pdataOld = dataPriv.get( src );
		events = pdataOld.events;

		if ( events ) {
			dataPriv.remove( dest, "handle events" );

			for ( type in events ) {
				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
					jQuery.event.add( dest, type, events[ type ][ i ] );
				}
			}
		}
	}

	// 2. Copy user data
	if ( dataUser.hasData( src ) ) {
		udataOld = dataUser.access( src );
		udataCur = jQuery.extend( {}, udataOld );

		dataUser.set( dest, udataCur );
	}
}

// Fix IE bugs, see support tests
function fixInput( src, dest ) {
	var nodeName = dest.nodeName.toLowerCase();

	// Fails to persist the checked state of a cloned checkbox or radio button.
	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
		dest.checked = src.checked;

	// Fails to return the selected option to the default selected state when cloning options
	} else if ( nodeName === "input" || nodeName === "textarea" ) {
		dest.defaultValue = src.defaultValue;
	}
}

function domManip( collection, args, callback, ignored ) {

	// Flatten any nested arrays
	args = flat( args );

	var fragment, first, scripts, hasScripts, node, doc,
		i = 0,
		l = collection.length,
		iNoClone = l - 1,
		value = args[ 0 ],
		valueIsFunction = isFunction( value );

	// We can't cloneNode fragments that contain checked, in WebKit
	if ( valueIsFunction ||
			( l > 1 && typeof value === "string" &&
				!support.checkClone && rchecked.test( value ) ) ) {
		return collection.each( function( index ) {
			var self = collection.eq( index );
			if ( valueIsFunction ) {
				args[ 0 ] = value.call( this, index, self.html() );
			}
			domManip( self, args, callback, ignored );
		} );
	}

	if ( l ) {
		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
		first = fragment.firstChild;

		if ( fragment.childNodes.length === 1 ) {
			fragment = first;
		}

		// Require either new content or an interest in ignored elements to invoke the callback
		if ( first || ignored ) {
			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
			hasScripts = scripts.length;

			// Use the original fragment for the last item
			// instead of the first because it can end up
			// being emptied incorrectly in certain situations (trac-8070).
			for ( ; i < l; i++ ) {
				node = fragment;

				if ( i !== iNoClone ) {
					node = jQuery.clone( node, true, true );

					// Keep references to cloned scripts for later restoration
					if ( hasScripts ) {

						// Support: Android <=4.0 only, PhantomJS 1 only
						// push.apply(_, arraylike) throws on ancient WebKit
						jQuery.merge( scripts, getAll( node, "script" ) );
					}
				}

				callback.call( collection[ i ], node, i );
			}

			if ( hasScripts ) {
				doc = scripts[ scripts.length - 1 ].ownerDocument;

				// Re-enable scripts
				jQuery.map( scripts, restoreScript );

				// Evaluate executable scripts on first document insertion
				for ( i = 0; i < hasScripts; i++ ) {
					node = scripts[ i ];
					if ( rscriptType.test( node.type || "" ) &&
						!dataPriv.access( node, "globalEval" ) &&
						jQuery.contains( doc, node ) ) {

						if ( node.src && ( node.type || "" ).toLowerCase()  !== "module" ) {

							// Optional AJAX dependency, but won't run scripts if not present
							if ( jQuery._evalUrl && !node.noModule ) {
								jQuery._evalUrl( node.src, {
									nonce: node.nonce || node.getAttribute( "nonce" )
								}, doc );
							}
						} else {

							// Unwrap a CDATA section containing script contents. This shouldn't be
							// needed as in XML documents they're already not visible when
							// inspecting element contents and in HTML documents they have no
							// meaning but we're preserving that logic for backwards compatibility.
							// This will be removed completely in 4.0. See gh-4904.
							DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
						}
					}
				}
			}
		}
	}

	return collection;
}

function remove( elem, selector, keepData ) {
	var node,
		nodes = selector ? jQuery.filter( selector, elem ) : elem,
		i = 0;

	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
		if ( !keepData && node.nodeType === 1 ) {
			jQuery.cleanData( getAll( node ) );
		}

		if ( node.parentNode ) {
			if ( keepData && isAttached( node ) ) {
				setGlobalEval( getAll( node, "script" ) );
			}
			node.parentNode.removeChild( node );
		}
	}

	return elem;
}

jQuery.extend( {
	htmlPrefilter: function( html ) {
		return html;
	},

	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
		var i, l, srcElements, destElements,
			clone = elem.cloneNode( true ),
			inPage = isAttached( elem );

		// Fix IE cloning issues
		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
				!jQuery.isXMLDoc( elem ) ) {

			// We eschew jQuery#find here for performance reasons:
			// https://jsperf.com/getall-vs-sizzle/2
			destElements = getAll( clone );
			srcElements = getAll( elem );

			for ( i = 0, l = srcElements.length; i < l; i++ ) {
				fixInput( srcElements[ i ], destElements[ i ] );
			}
		}

		// Copy the events from the original to the clone
		if ( dataAndEvents ) {
			if ( deepDataAndEvents ) {
				srcElements = srcElements || getAll( elem );
				destElements = destElements || getAll( clone );

				for ( i = 0, l = srcElements.length; i < l; i++ ) {
					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
				}
			} else {
				cloneCopyEvent( elem, clone );
			}
		}

		// Preserve script evaluation history
		destElements = getAll( clone, "script" );
		if ( destElements.length > 0 ) {
			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
		}

		// Return the cloned set
		return clone;
	},

	cleanData: function( elems ) {
		var data, elem, type,
			special = jQuery.event.special,
			i = 0;

		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
			if ( acceptData( elem ) ) {
				if ( ( data = elem[ dataPriv.expando ] ) ) {
					if ( data.events ) {
						for ( type in data.events ) {
							if ( special[ type ] ) {
								jQuery.event.remove( elem, type );

							// This is a shortcut to avoid jQuery.event.remove's overhead
							} else {
								jQuery.removeEvent( elem, type, data.handle );
							}
						}
					}

					// Support: Chrome <=35 - 45+
					// Assign undefined instead of using delete, see Data#remove
					elem[ dataPriv.expando ] = undefined;
				}
				if ( elem[ dataUser.expando ] ) {

					// Support: Chrome <=35 - 45+
					// Assign undefined instead of using delete, see Data#remove
					elem[ dataUser.expando ] = undefined;
				}
			}
		}
	}
} );

jQuery.fn.extend( {
	detach: function( selector ) {
		return remove( this, selector, true );
	},

	remove: function( selector ) {
		return remove( this, selector );
	},

	text: function( value ) {
		return access( this, function( value ) {
			return value === undefined ?
				jQuery.text( this ) :
				this.empty().each( function() {
					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
						this.textContent = value;
					}
				} );
		}, null, value, arguments.length );
	},

	append: function() {
		return domManip( this, arguments, function( elem ) {
			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
				var target = manipulationTarget( this, elem );
				target.appendChild( elem );
			}
		} );
	},

	prepend: function() {
		return domManip( this, arguments, function( elem ) {
			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
				var target = manipulationTarget( this, elem );
				target.insertBefore( elem, target.firstChild );
			}
		} );
	},

	before: function() {
		return domManip( this, arguments, function( elem ) {
			if ( this.parentNode ) {
				this.parentNode.insertBefore( elem, this );
			}
		} );
	},

	after: function() {
		return domManip( this, arguments, function( elem ) {
			if ( this.parentNode ) {
				this.parentNode.insertBefore( elem, this.nextSibling );
			}
		} );
	},

	empty: function() {
		var elem,
			i = 0;

		for ( ; ( elem = this[ i ] ) != null; i++ ) {
			if ( elem.nodeType === 1 ) {

				// Prevent memory leaks
				jQuery.cleanData( getAll( elem, false ) );

				// Remove any remaining nodes
				elem.textContent = "";
			}
		}

		return this;
	},

	clone: function( dataAndEvents, deepDataAndEvents ) {
		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;

		return this.map( function() {
			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
		} );
	},

	html: function( value ) {
		return access( this, function( value ) {
			var elem = this[ 0 ] || {},
				i = 0,
				l = this.length;

			if ( value === undefined && elem.nodeType === 1 ) {
				return elem.innerHTML;
			}

			// See if we can take a shortcut and just use innerHTML
			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {

				value = jQuery.htmlPrefilter( value );

				try {
					for ( ; i < l; i++ ) {
						elem = this[ i ] || {};

						// Remove element nodes and prevent memory leaks
						if ( elem.nodeType === 1 ) {
							jQuery.cleanData( getAll( elem, false ) );
							elem.innerHTML = value;
						}
					}

					elem = 0;

				// If using innerHTML throws an exception, use the fallback method
				} catch ( e ) {}
			}

			if ( elem ) {
				this.empty().append( value );
			}
		}, null, value, arguments.length );
	},

	replaceWith: function() {
		var ignored = [];

		// Make the changes, replacing each non-ignored context element with the new content
		return domManip( this, arguments, function( elem ) {
			var parent = this.parentNode;

			if ( jQuery.inArray( this, ignored ) < 0 ) {
				jQuery.cleanData( getAll( this ) );
				if ( parent ) {
					parent.replaceChild( elem, this );
				}
			}

		// Force callback invocation
		}, ignored );
	}
} );

jQuery.each( {
	appendTo: "append",
	prependTo: "prepend",
	insertBefore: "before",
	insertAfter: "after",
	replaceAll: "replaceWith"
}, function( name, original ) {
	jQuery.fn[ name ] = function( selector ) {
		var elems,
			ret = [],
			insert = jQuery( selector ),
			last = insert.length - 1,
			i = 0;

		for ( ; i <= last; i++ ) {
			elems = i === last ? this : this.clone( true );
			jQuery( insert[ i ] )[ original ]( elems );

			// Support: Android <=4.0 only, PhantomJS 1 only
			// .get() because push.apply(_, arraylike) throws on ancient WebKit
			push.apply( ret, elems.get() );
		}

		return this.pushStack( ret );
	};
} );
var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );

var rcustomProp = /^--/;


var getStyles = function( elem ) {

		// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
		// IE throws on elements created in popups
		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
		var view = elem.ownerDocument.defaultView;

		if ( !view || !view.opener ) {
			view = window;
		}

		return view.getComputedStyle( elem );
	};

var swap = function( elem, options, callback ) {
	var ret, name,
		old = {};

	// Remember the old values, and insert the new ones
	for ( name in options ) {
		old[ name ] = elem.style[ name ];
		elem.style[ name ] = options[ name ];
	}

	ret = callback.call( elem );

	// Revert the old values
	for ( name in options ) {
		elem.style[ name ] = old[ name ];
	}

	return ret;
};


var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );



( function() {

	// Executing both pixelPosition & boxSizingReliable tests require only one layout
	// so they're executed at the same time to save the second computation.
	function computeStyleTests() {

		// This is a singleton, we need to execute it only once
		if ( !div ) {
			return;
		}

		container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
			"margin-top:1px;padding:0;border:0";
		div.style.cssText =
			"position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
			"margin:auto;border:1px;padding:1px;" +
			"width:60%;top:1%";
		documentElement.appendChild( container ).appendChild( div );

		var divStyle = window.getComputedStyle( div );
		pixelPositionVal = divStyle.top !== "1%";

		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
		reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;

		// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
		// Some styles come back with percentage values, even though they shouldn't
		div.style.right = "60%";
		pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;

		// Support: IE 9 - 11 only
		// Detect misreporting of content dimensions for box-sizing:border-box elements
		boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;

		// Support: IE 9 only
		// Detect overflow:scroll screwiness (gh-3699)
		// Support: Chrome <=64
		// Don't get tricked when zoom affects offsetWidth (gh-4029)
		div.style.position = "absolute";
		scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;

		documentElement.removeChild( container );

		// Nullify the div so it wouldn't be stored in the memory and
		// it will also be a sign that checks already performed
		div = null;
	}

	function roundPixelMeasures( measure ) {
		return Math.round( parseFloat( measure ) );
	}

	var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
		reliableTrDimensionsVal, reliableMarginLeftVal,
		container = document.createElement( "div" ),
		div = document.createElement( "div" );

	// Finish early in limited (non-browser) environments
	if ( !div.style ) {
		return;
	}

	// Support: IE <=9 - 11 only
	// Style of cloned element affects source element cloned (trac-8908)
	div.style.backgroundClip = "content-box";
	div.cloneNode( true ).style.backgroundClip = "";
	support.clearCloneStyle = div.style.backgroundClip === "content-box";

	jQuery.extend( support, {
		boxSizingReliable: function() {
			computeStyleTests();
			return boxSizingReliableVal;
		},
		pixelBoxStyles: function() {
			computeStyleTests();
			return pixelBoxStylesVal;
		},
		pixelPosition: function() {
			computeStyleTests();
			return pixelPositionVal;
		},
		reliableMarginLeft: function() {
			computeStyleTests();
			return reliableMarginLeftVal;
		},
		scrollboxSize: function() {
			computeStyleTests();
			return scrollboxSizeVal;
		},

		// Support: IE 9 - 11+, Edge 15 - 18+
		// IE/Edge misreport `getComputedStyle` of table rows with width/height
		// set in CSS while `offset*` properties report correct values.
		// Behavior in IE 9 is more subtle than in newer versions & it passes
		// some versions of this test; make sure not to make it pass there!
		//
		// Support: Firefox 70+
		// Only Firefox includes border widths
		// in computed dimensions. (gh-4529)
		reliableTrDimensions: function() {
			var table, tr, trChild, trStyle;
			if ( reliableTrDimensionsVal == null ) {
				table = document.createElement( "table" );
				tr = document.createElement( "tr" );
				trChild = document.createElement( "div" );

				table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
				tr.style.cssText = "box-sizing:content-box;border:1px solid";

				// Support: Chrome 86+
				// Height set through cssText does not get applied.
				// Computed height then comes back as 0.
				tr.style.height = "1px";
				trChild.style.height = "9px";

				// Support: Android 8 Chrome 86+
				// In our bodyBackground.html iframe,
				// display for all div elements is set to "inline",
				// which causes a problem only in Android 8 Chrome 86.
				// Ensuring the div is `display: block`
				// gets around this issue.
				trChild.style.display = "block";

				documentElement
					.appendChild( table )
					.appendChild( tr )
					.appendChild( trChild );

				trStyle = window.getComputedStyle( tr );
				reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +
					parseInt( trStyle.borderTopWidth, 10 ) +
					parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;

				documentElement.removeChild( table );
			}
			return reliableTrDimensionsVal;
		}
	} );
} )();


function curCSS( elem, name, computed ) {
	var width, minWidth, maxWidth, ret,
		isCustomProp = rcustomProp.test( name ),

		// Support: Firefox 51+
		// Retrieving style before computed somehow
		// fixes an issue with getting wrong values
		// on detached elements
		style = elem.style;

	computed = computed || getStyles( elem );

	// getPropertyValue is needed for:
	//   .css('filter') (IE 9 only, trac-12537)
	//   .css('--customProperty) (gh-3144)
	if ( computed ) {

		// Support: IE <=9 - 11+
		// IE only supports `"float"` in `getPropertyValue`; in computed styles
		// it's only available as `"cssFloat"`. We no longer modify properties
		// sent to `.css()` apart from camelCasing, so we need to check both.
		// Normally, this would create difference in behavior: if
		// `getPropertyValue` returns an empty string, the value returned
		// by `.css()` would be `undefined`. This is usually the case for
		// disconnected elements. However, in IE even disconnected elements
		// with no styles return `"none"` for `getPropertyValue( "float" )`
		ret = computed.getPropertyValue( name ) || computed[ name ];

		if ( isCustomProp && ret ) {

			// Support: Firefox 105+, Chrome <=105+
			// Spec requires trimming whitespace for custom properties (gh-4926).
			// Firefox only trims leading whitespace. Chrome just collapses
			// both leading & trailing whitespace to a single space.
			//
			// Fall back to `undefined` if empty string returned.
			// This collapses a missing definition with property defined
			// and set to an empty string but there's no standard API
			// allowing us to differentiate them without a performance penalty
			// and returning `undefined` aligns with older jQuery.
			//
			// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED
			// as whitespace while CSS does not, but this is not a problem
			// because CSS preprocessing replaces them with U+000A LINE FEED
			// (which *is* CSS whitespace)
			// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
			ret = ret.replace( rtrimCSS, "$1" ) || undefined;
		}

		if ( ret === "" && !isAttached( elem ) ) {
			ret = jQuery.style( elem, name );
		}

		// A tribute to the "awesome hack by Dean Edwards"
		// Android Browser returns percentage for some values,
		// but width seems to be reliably pixels.
		// This is against the CSSOM draft spec:
		// https://drafts.csswg.org/cssom/#resolved-values
		if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {

			// Remember the original values
			width = style.width;
			minWidth = style.minWidth;
			maxWidth = style.maxWidth;

			// Put in the new values to get a computed value out
			style.minWidth = style.maxWidth = style.width = ret;
			ret = computed.width;

			// Revert the changed values
			style.width = width;
			style.minWidth = minWidth;
			style.maxWidth = maxWidth;
		}
	}

	return ret !== undefined ?

		// Support: IE <=9 - 11 only
		// IE returns zIndex value as an integer.
		ret + "" :
		ret;
}


function addGetHookIf( conditionFn, hookFn ) {

	// Define the hook, we'll check on the first run if it's really needed.
	return {
		get: function() {
			if ( conditionFn() ) {

				// Hook not needed (or it's not possible to use it due
				// to missing dependency), remove it.
				delete this.get;
				return;
			}

			// Hook needed; redefine it so that the support test is not executed again.
			return ( this.get = hookFn ).apply( this, arguments );
		}
	};
}


var cssPrefixes = [ "Webkit", "Moz", "ms" ],
	emptyStyle = document.createElement( "div" ).style,
	vendorProps = {};

// Return a vendor-prefixed property or undefined
function vendorPropName( name ) {

	// Check for vendor prefixed names
	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
		i = cssPrefixes.length;

	while ( i-- ) {
		name = cssPrefixes[ i ] + capName;
		if ( name in emptyStyle ) {
			return name;
		}
	}
}

// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
function finalPropName( name ) {
	var final = jQuery.cssProps[ name ] || vendorProps[ name ];

	if ( final ) {
		return final;
	}
	if ( name in emptyStyle ) {
		return name;
	}
	return vendorProps[ name ] = vendorPropName( name ) || name;
}


var

	// Swappable if display is none or starts with table
	// except "table", "table-cell", or "table-caption"
	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
	cssNormalTransform = {
		letterSpacing: "0",
		fontWeight: "400"
	};

function setPositiveNumber( _elem, value, subtract ) {

	// Any relative (+/-) values have already been
	// normalized at this point
	var matches = rcssNum.exec( value );
	return matches ?

		// Guard against undefined "subtract", e.g., when used as in cssHooks
		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
		value;
}

function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
	var i = dimension === "width" ? 1 : 0,
		extra = 0,
		delta = 0,
		marginDelta = 0;

	// Adjustment may not be necessary
	if ( box === ( isBorderBox ? "border" : "content" ) ) {
		return 0;
	}

	for ( ; i < 4; i += 2 ) {

		// Both box models exclude margin
		// Count margin delta separately to only add it after scroll gutter adjustment.
		// This is needed to make negative margins work with `outerHeight( true )` (gh-3982).
		if ( box === "margin" ) {
			marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
		}

		// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
		if ( !isBorderBox ) {

			// Add padding
			delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );

			// For "border" or "margin", add border
			if ( box !== "padding" ) {
				delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );

			// But still keep track of it otherwise
			} else {
				extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
			}

		// If we get here with a border-box (content + padding + border), we're seeking "content" or
		// "padding" or "margin"
		} else {

			// For "content", subtract padding
			if ( box === "content" ) {
				delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
			}

			// For "content" or "padding", subtract border
			if ( box !== "margin" ) {
				delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
			}
		}
	}

	// Account for positive content-box scroll gutter when requested by providing computedVal
	if ( !isBorderBox && computedVal >= 0 ) {

		// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
		// Assuming integer scroll gutter, subtract the rest and round down
		delta += Math.max( 0, Math.ceil(
			elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
			computedVal -
			delta -
			extra -
			0.5

		// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
		// Use an explicit zero to avoid NaN (gh-3964)
		) ) || 0;
	}

	return delta + marginDelta;
}

function getWidthOrHeight( elem, dimension, extra ) {

	// Start with computed style
	var styles = getStyles( elem ),

		// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
		// Fake content-box until we know it's needed to know the true value.
		boxSizingNeeded = !support.boxSizingReliable() || extra,
		isBorderBox = boxSizingNeeded &&
			jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
		valueIsBorderBox = isBorderBox,

		val = curCSS( elem, dimension, styles ),
		offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );

	// Support: Firefox <=54
	// Return a confounding non-pixel value or feign ignorance, as appropriate.
	if ( rnumnonpx.test( val ) ) {
		if ( !extra ) {
			return val;
		}
		val = "auto";
	}


	// Support: IE 9 - 11 only
	// Use offsetWidth/offsetHeight for when box sizing is unreliable.
	// In those cases, the computed value can be trusted to be border-box.
	if ( ( !support.boxSizingReliable() && isBorderBox ||

		// Support: IE 10 - 11+, Edge 15 - 18+
		// IE/Edge misreport `getComputedStyle` of table rows with width/height
		// set in CSS while `offset*` properties report correct values.
		// Interestingly, in some cases IE 9 doesn't suffer from this issue.
		!support.reliableTrDimensions() && nodeName( elem, "tr" ) ||

		// Fall back to offsetWidth/offsetHeight when value is "auto"
		// This happens for inline elements with no explicit setting (gh-3571)
		val === "auto" ||

		// Support: Android <=4.1 - 4.3 only
		// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&

		// Make sure the element is visible & connected
		elem.getClientRects().length ) {

		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";

		// Where available, offsetWidth/offsetHeight approximate border box dimensions.
		// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
		// retrieved value as a content box dimension.
		valueIsBorderBox = offsetProp in elem;
		if ( valueIsBorderBox ) {
			val = elem[ offsetProp ];
		}
	}

	// Normalize "" and auto
	val = parseFloat( val ) || 0;

	// Adjust for the element's box model
	return ( val +
		boxModelAdjustment(
			elem,
			dimension,
			extra || ( isBorderBox ? "border" : "content" ),
			valueIsBorderBox,
			styles,

			// Provide the current computed size to request scroll gutter calculation (gh-3589)
			val
		)
	) + "px";
}

jQuery.extend( {

	// Add in style property hooks for overriding the default
	// behavior of getting and setting a style property
	cssHooks: {
		opacity: {
			get: function( elem, computed ) {
				if ( computed ) {

					// We should always get a number back from opacity
					var ret = curCSS( elem, "opacity" );
					return ret === "" ? "1" : ret;
				}
			}
		}
	},

	// Don't automatically add "px" to these possibly-unitless properties
	cssNumber: {
		animationIterationCount: true,
		aspectRatio: true,
		borderImageSlice: true,
		columnCount: true,
		flexGrow: true,
		flexShrink: true,
		fontWeight: true,
		gridArea: true,
		gridColumn: true,
		gridColumnEnd: true,
		gridColumnStart: true,
		gridRow: true,
		gridRowEnd: true,
		gridRowStart: true,
		lineHeight: true,
		opacity: true,
		order: true,
		orphans: true,
		scale: true,
		widows: true,
		zIndex: true,
		zoom: true,

		// SVG-related
		fillOpacity: true,
		floodOpacity: true,
		stopOpacity: true,
		strokeMiterlimit: true,
		strokeOpacity: true
	},

	// Add in properties whose names you wish to fix before
	// setting or getting the value
	cssProps: {},

	// Get and set the style property on a DOM Node
	style: function( elem, name, value, extra ) {

		// Don't set styles on text and comment nodes
		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
			return;
		}

		// Make sure that we're working with the right name
		var ret, type, hooks,
			origName = camelCase( name ),
			isCustomProp = rcustomProp.test( name ),
			style = elem.style;

		// Make sure that we're working with the right name. We don't
		// want to query the value if it is a CSS custom property
		// since they are user-defined.
		if ( !isCustomProp ) {
			name = finalPropName( origName );
		}

		// Gets hook for the prefixed version, then unprefixed version
		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];

		// Check if we're setting a value
		if ( value !== undefined ) {
			type = typeof value;

			// Convert "+=" or "-=" to relative numbers (trac-7345)
			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
				value = adjustCSS( elem, name, ret );

				// Fixes bug trac-9237
				type = "number";
			}

			// Make sure that null and NaN values aren't set (trac-7116)
			if ( value == null || value !== value ) {
				return;
			}

			// If a number was passed in, add the unit (except for certain CSS properties)
			// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
			// "px" to a few hardcoded values.
			if ( type === "number" && !isCustomProp ) {
				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
			}

			// background-* props affect original clone's values
			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
				style[ name ] = "inherit";
			}

			// If a hook was provided, use that value, otherwise just set the specified value
			if ( !hooks || !( "set" in hooks ) ||
				( value = hooks.set( elem, value, extra ) ) !== undefined ) {

				if ( isCustomProp ) {
					style.setProperty( name, value );
				} else {
					style[ name ] = value;
				}
			}

		} else {

			// If a hook was provided get the non-computed value from there
			if ( hooks && "get" in hooks &&
				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {

				return ret;
			}

			// Otherwise just get the value from the style object
			return style[ name ];
		}
	},

	css: function( elem, name, extra, styles ) {
		var val, num, hooks,
			origName = camelCase( name ),
			isCustomProp = rcustomProp.test( name );

		// Make sure that we're working with the right name. We don't
		// want to modify the value if it is a CSS custom property
		// since they are user-defined.
		if ( !isCustomProp ) {
			name = finalPropName( origName );
		}

		// Try prefixed name followed by the unprefixed name
		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];

		// If a hook was provided get the computed value from there
		if ( hooks && "get" in hooks ) {
			val = hooks.get( elem, true, extra );
		}

		// Otherwise, if a way to get the computed value exists, use that
		if ( val === undefined ) {
			val = curCSS( elem, name, styles );
		}

		// Convert "normal" to computed value
		if ( val === "normal" && name in cssNormalTransform ) {
			val = cssNormalTransform[ name ];
		}

		// Make numeric if forced or a qualifier was provided and val looks numeric
		if ( extra === "" || extra ) {
			num = parseFloat( val );
			return extra === true || isFinite( num ) ? num || 0 : val;
		}

		return val;
	}
} );

jQuery.each( [ "height", "width" ], function( _i, dimension ) {
	jQuery.cssHooks[ dimension ] = {
		get: function( elem, computed, extra ) {
			if ( computed ) {

				// Certain elements can have dimension info if we invisibly show them
				// but it must have a current display style that would benefit
				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&

					// Support: Safari 8+
					// Table columns in Safari have non-zero offsetWidth & zero
					// getBoundingClientRect().width unless display is changed.
					// Support: IE <=11 only
					// Running getBoundingClientRect on a disconnected node
					// in IE throws an error.
					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
					swap( elem, cssShow, function() {
						return getWidthOrHeight( elem, dimension, extra );
					} ) :
					getWidthOrHeight( elem, dimension, extra );
			}
		},

		set: function( elem, value, extra ) {
			var matches,
				styles = getStyles( elem ),

				// Only read styles.position if the test has a chance to fail
				// to avoid forcing a reflow.
				scrollboxSizeBuggy = !support.scrollboxSize() &&
					styles.position === "absolute",

				// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
				boxSizingNeeded = scrollboxSizeBuggy || extra,
				isBorderBox = boxSizingNeeded &&
					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
				subtract = extra ?
					boxModelAdjustment(
						elem,
						dimension,
						extra,
						isBorderBox,
						styles
					) :
					0;

			// Account for unreliable border-box dimensions by comparing offset* to computed and
			// faking a content-box to get border and padding (gh-3699)
			if ( isBorderBox && scrollboxSizeBuggy ) {
				subtract -= Math.ceil(
					elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
					parseFloat( styles[ dimension ] ) -
					boxModelAdjustment( elem, dimension, "border", false, styles ) -
					0.5
				);
			}

			// Convert to pixels if value adjustment is needed
			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
				( matches[ 3 ] || "px" ) !== "px" ) {

				elem.style[ dimension ] = value;
				value = jQuery.css( elem, dimension );
			}

			return setPositiveNumber( elem, value, subtract );
		}
	};
} );

jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
	function( elem, computed ) {
		if ( computed ) {
			return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
				elem.getBoundingClientRect().left -
					swap( elem, { marginLeft: 0 }, function() {
						return elem.getBoundingClientRect().left;
					} )
			) + "px";
		}
	}
);

// These hooks are used by animate to expand properties
jQuery.each( {
	margin: "",
	padding: "",
	border: "Width"
}, function( prefix, suffix ) {
	jQuery.cssHooks[ prefix + suffix ] = {
		expand: function( value ) {
			var i = 0,
				expanded = {},

				// Assumes a single number if not a string
				parts = typeof value === "string" ? value.split( " " ) : [ value ];

			for ( ; i < 4; i++ ) {
				expanded[ prefix + cssExpand[ i ] + suffix ] =
					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
			}

			return expanded;
		}
	};

	if ( prefix !== "margin" ) {
		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
	}
} );

jQuery.fn.extend( {
	css: function( name, value ) {
		return access( this, function( elem, name, value ) {
			var styles, len,
				map = {},
				i = 0;

			if ( Array.isArray( name ) ) {
				styles = getStyles( elem );
				len = name.length;

				for ( ; i < len; i++ ) {
					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
				}

				return map;
			}

			return value !== undefined ?
				jQuery.style( elem, name, value ) :
				jQuery.css( elem, name );
		}, name, value, arguments.length > 1 );
	}
} );


function Tween( elem, options, prop, end, easing ) {
	return new Tween.prototype.init( elem, options, prop, end, easing );
}
jQuery.Tween = Tween;

Tween.prototype = {
	constructor: Tween,
	init: function( elem, options, prop, end, easing, unit ) {
		this.elem = elem;
		this.prop = prop;
		this.easing = easing || jQuery.easing._default;
		this.options = options;
		this.start = this.now = this.cur();
		this.end = end;
		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
	},
	cur: function() {
		var hooks = Tween.propHooks[ this.prop ];

		return hooks && hooks.get ?
			hooks.get( this ) :
			Tween.propHooks._default.get( this );
	},
	run: function( percent ) {
		var eased,
			hooks = Tween.propHooks[ this.prop ];

		if ( this.options.duration ) {
			this.pos = eased = jQuery.easing[ this.easing ](
				percent, this.options.duration * percent, 0, 1, this.options.duration
			);
		} else {
			this.pos = eased = percent;
		}
		this.now = ( this.end - this.start ) * eased + this.start;

		if ( this.options.step ) {
			this.options.step.call( this.elem, this.now, this );
		}

		if ( hooks && hooks.set ) {
			hooks.set( this );
		} else {
			Tween.propHooks._default.set( this );
		}
		return this;
	}
};

Tween.prototype.init.prototype = Tween.prototype;

Tween.propHooks = {
	_default: {
		get: function( tween ) {
			var result;

			// Use a property on the element directly when it is not a DOM element,
			// or when there is no matching style property that exists.
			if ( tween.elem.nodeType !== 1 ||
				tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
				return tween.elem[ tween.prop ];
			}

			// Passing an empty string as a 3rd parameter to .css will automatically
			// attempt a parseFloat and fallback to a string if the parse fails.
			// Simple values such as "10px" are parsed to Float;
			// complex values such as "rotate(1rad)" are returned as-is.
			result = jQuery.css( tween.elem, tween.prop, "" );

			// Empty strings, null, undefined and "auto" are converted to 0.
			return !result || result === "auto" ? 0 : result;
		},
		set: function( tween ) {

			// Use step hook for back compat.
			// Use cssHook if its there.
			// Use .style if available and use plain properties where available.
			if ( jQuery.fx.step[ tween.prop ] ) {
				jQuery.fx.step[ tween.prop ]( tween );
			} else if ( tween.elem.nodeType === 1 && (
				jQuery.cssHooks[ tween.prop ] ||
					tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
			} else {
				tween.elem[ tween.prop ] = tween.now;
			}
		}
	}
};

// Support: IE <=9 only
// Panic based approach to setting things on disconnected nodes
Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
	set: function( tween ) {
		if ( tween.elem.nodeType && tween.elem.parentNode ) {
			tween.elem[ tween.prop ] = tween.now;
		}
	}
};

jQuery.easing = {
	linear: function( p ) {
		return p;
	},
	swing: function( p ) {
		return 0.5 - Math.cos( p * Math.PI ) / 2;
	},
	_default: "swing"
};

jQuery.fx = Tween.prototype.init;

// Back compat <1.8 extension point
jQuery.fx.step = {};




var
	fxNow, inProgress,
	rfxtypes = /^(?:toggle|show|hide)$/,
	rrun = /queueHooks$/;

function schedule() {
	if ( inProgress ) {
		if ( document.hidden === false && window.requestAnimationFrame ) {
			window.requestAnimationFrame( schedule );
		} else {
			window.setTimeout( schedule, jQuery.fx.interval );
		}

		jQuery.fx.tick();
	}
}

// Animations created synchronously will run synchronously
function createFxNow() {
	window.setTimeout( function() {
		fxNow = undefined;
	} );
	return ( fxNow = Date.now() );
}

// Generate parameters to create a standard animation
function genFx( type, includeWidth ) {
	var which,
		i = 0,
		attrs = { height: type };

	// If we include width, step value is 1 to do all cssExpand values,
	// otherwise step value is 2 to skip over Left and Right
	includeWidth = includeWidth ? 1 : 0;
	for ( ; i < 4; i += 2 - includeWidth ) {
		which = cssExpand[ i ];
		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
	}

	if ( includeWidth ) {
		attrs.opacity = attrs.width = type;
	}

	return attrs;
}

function createTween( value, prop, animation ) {
	var tween,
		collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
		index = 0,
		length = collection.length;
	for ( ; index < length; index++ ) {
		if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {

			// We're done with this property
			return tween;
		}
	}
}

function defaultPrefilter( elem, props, opts ) {
	var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
		isBox = "width" in props || "height" in props,
		anim = this,
		orig = {},
		style = elem.style,
		hidden = elem.nodeType && isHiddenWithinTree( elem ),
		dataShow = dataPriv.get( elem, "fxshow" );

	// Queue-skipping animations hijack the fx hooks
	if ( !opts.queue ) {
		hooks = jQuery._queueHooks( elem, "fx" );
		if ( hooks.unqueued == null ) {
			hooks.unqueued = 0;
			oldfire = hooks.empty.fire;
			hooks.empty.fire = function() {
				if ( !hooks.unqueued ) {
					oldfire();
				}
			};
		}
		hooks.unqueued++;

		anim.always( function() {

			// Ensure the complete handler is called before this completes
			anim.always( function() {
				hooks.unqueued--;
				if ( !jQuery.queue( elem, "fx" ).length ) {
					hooks.empty.fire();
				}
			} );
		} );
	}

	// Detect show/hide animations
	for ( prop in props ) {
		value = props[ prop ];
		if ( rfxtypes.test( value ) ) {
			delete props[ prop ];
			toggle = toggle || value === "toggle";
			if ( value === ( hidden ? "hide" : "show" ) ) {

				// Pretend to be hidden if this is a "show" and
				// there is still data from a stopped show/hide
				if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
					hidden = true;

				// Ignore all other no-op show/hide data
				} else {
					continue;
				}
			}
			orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
		}
	}

	// Bail out if this is a no-op like .hide().hide()
	propTween = !jQuery.isEmptyObject( props );
	if ( !propTween && jQuery.isEmptyObject( orig ) ) {
		return;
	}

	// Restrict "overflow" and "display" styles during box animations
	if ( isBox && elem.nodeType === 1 ) {

		// Support: IE <=9 - 11, Edge 12 - 15
		// Record all 3 overflow attributes because IE does not infer the shorthand
		// from identically-valued overflowX and overflowY and Edge just mirrors
		// the overflowX value there.
		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];

		// Identify a display type, preferring old show/hide data over the CSS cascade
		restoreDisplay = dataShow && dataShow.display;
		if ( restoreDisplay == null ) {
			restoreDisplay = dataPriv.get( elem, "display" );
		}
		display = jQuery.css( elem, "display" );
		if ( display === "none" ) {
			if ( restoreDisplay ) {
				display = restoreDisplay;
			} else {

				// Get nonempty value(s) by temporarily forcing visibility
				showHide( [ elem ], true );
				restoreDisplay = elem.style.display || restoreDisplay;
				display = jQuery.css( elem, "display" );
				showHide( [ elem ] );
			}
		}

		// Animate inline elements as inline-block
		if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
			if ( jQuery.css( elem, "float" ) === "none" ) {

				// Restore the original display value at the end of pure show/hide animations
				if ( !propTween ) {
					anim.done( function() {
						style.display = restoreDisplay;
					} );
					if ( restoreDisplay == null ) {
						display = style.display;
						restoreDisplay = display === "none" ? "" : display;
					}
				}
				style.display = "inline-block";
			}
		}
	}

	if ( opts.overflow ) {
		style.overflow = "hidden";
		anim.always( function() {
			style.overflow = opts.overflow[ 0 ];
			style.overflowX = opts.overflow[ 1 ];
			style.overflowY = opts.overflow[ 2 ];
		} );
	}

	// Implement show/hide animations
	propTween = false;
	for ( prop in orig ) {

		// General show/hide setup for this element animation
		if ( !propTween ) {
			if ( dataShow ) {
				if ( "hidden" in dataShow ) {
					hidden = dataShow.hidden;
				}
			} else {
				dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
			}

			// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
			if ( toggle ) {
				dataShow.hidden = !hidden;
			}

			// Show elements before animating them
			if ( hidden ) {
				showHide( [ elem ], true );
			}

			/* eslint-disable no-loop-func */

			anim.done( function() {

				/* eslint-enable no-loop-func */

				// The final step of a "hide" animation is actually hiding the element
				if ( !hidden ) {
					showHide( [ elem ] );
				}
				dataPriv.remove( elem, "fxshow" );
				for ( prop in orig ) {
					jQuery.style( elem, prop, orig[ prop ] );
				}
			} );
		}

		// Per-property setup
		propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
		if ( !( prop in dataShow ) ) {
			dataShow[ prop ] = propTween.start;
			if ( hidden ) {
				propTween.end = propTween.start;
				propTween.start = 0;
			}
		}
	}
}

function propFilter( props, specialEasing ) {
	var index, name, easing, value, hooks;

	// camelCase, specialEasing and expand cssHook pass
	for ( index in props ) {
		name = camelCase( index );
		easing = specialEasing[ name ];
		value = props[ index ];
		if ( Array.isArray( value ) ) {
			easing = value[ 1 ];
			value = props[ index ] = value[ 0 ];
		}

		if ( index !== name ) {
			props[ name ] = value;
			delete props[ index ];
		}

		hooks = jQuery.cssHooks[ name ];
		if ( hooks && "expand" in hooks ) {
			value = hooks.expand( value );
			delete props[ name ];

			// Not quite $.extend, this won't overwrite existing keys.
			// Reusing 'index' because we have the correct "name"
			for ( index in value ) {
				if ( !( index in props ) ) {
					props[ index ] = value[ index ];
					specialEasing[ index ] = easing;
				}
			}
		} else {
			specialEasing[ name ] = easing;
		}
	}
}

function Animation( elem, properties, options ) {
	var result,
		stopped,
		index = 0,
		length = Animation.prefilters.length,
		deferred = jQuery.Deferred().always( function() {

			// Don't match elem in the :animated selector
			delete tick.elem;
		} ),
		tick = function() {
			if ( stopped ) {
				return false;
			}
			var currentTime = fxNow || createFxNow(),
				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),

				// Support: Android 2.3 only
				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)
				temp = remaining / animation.duration || 0,
				percent = 1 - temp,
				index = 0,
				length = animation.tweens.length;

			for ( ; index < length; index++ ) {
				animation.tweens[ index ].run( percent );
			}

			deferred.notifyWith( elem, [ animation, percent, remaining ] );

			// If there's more to do, yield
			if ( percent < 1 && length ) {
				return remaining;
			}

			// If this was an empty animation, synthesize a final progress notification
			if ( !length ) {
				deferred.notifyWith( elem, [ animation, 1, 0 ] );
			}

			// Resolve the animation and report its conclusion
			deferred.resolveWith( elem, [ animation ] );
			return false;
		},
		animation = deferred.promise( {
			elem: elem,
			props: jQuery.extend( {}, properties ),
			opts: jQuery.extend( true, {
				specialEasing: {},
				easing: jQuery.easing._default
			}, options ),
			originalProperties: properties,
			originalOptions: options,
			startTime: fxNow || createFxNow(),
			duration: options.duration,
			tweens: [],
			createTween: function( prop, end ) {
				var tween = jQuery.Tween( elem, animation.opts, prop, end,
					animation.opts.specialEasing[ prop ] || animation.opts.easing );
				animation.tweens.push( tween );
				return tween;
			},
			stop: function( gotoEnd ) {
				var index = 0,

					// If we are going to the end, we want to run all the tweens
					// otherwise we skip this part
					length = gotoEnd ? animation.tweens.length : 0;
				if ( stopped ) {
					return this;
				}
				stopped = true;
				for ( ; index < length; index++ ) {
					animation.tweens[ index ].run( 1 );
				}

				// Resolve when we played the last frame; otherwise, reject
				if ( gotoEnd ) {
					deferred.notifyWith( elem, [ animation, 1, 0 ] );
					deferred.resolveWith( elem, [ animation, gotoEnd ] );
				} else {
					deferred.rejectWith( elem, [ animation, gotoEnd ] );
				}
				return this;
			}
		} ),
		props = animation.props;

	propFilter( props, animation.opts.specialEasing );

	for ( ; index < length; index++ ) {
		result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
		if ( result ) {
			if ( isFunction( result.stop ) ) {
				jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
					result.stop.bind( result );
			}
			return result;
		}
	}

	jQuery.map( props, createTween, animation );

	if ( isFunction( animation.opts.start ) ) {
		animation.opts.start.call( elem, animation );
	}

	// Attach callbacks from options
	animation
		.progress( animation.opts.progress )
		.done( animation.opts.done, animation.opts.complete )
		.fail( animation.opts.fail )
		.always( animation.opts.always );

	jQuery.fx.timer(
		jQuery.extend( tick, {
			elem: elem,
			anim: animation,
			queue: animation.opts.queue
		} )
	);

	return animation;
}

jQuery.Animation = jQuery.extend( Animation, {

	tweeners: {
		"*": [ function( prop, value ) {
			var tween = this.createTween( prop, value );
			adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
			return tween;
		} ]
	},

	tweener: function( props, callback ) {
		if ( isFunction( props ) ) {
			callback = props;
			props = [ "*" ];
		} else {
			props = props.match( rnothtmlwhite );
		}

		var prop,
			index = 0,
			length = props.length;

		for ( ; index < length; index++ ) {
			prop = props[ index ];
			Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
			Animation.tweeners[ prop ].unshift( callback );
		}
	},

	prefilters: [ defaultPrefilter ],

	prefilter: function( callback, prepend ) {
		if ( prepend ) {
			Animation.prefilters.unshift( callback );
		} else {
			Animation.prefilters.push( callback );
		}
	}
} );

jQuery.speed = function( speed, easing, fn ) {
	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
		complete: fn || !fn && easing ||
			isFunction( speed ) && speed,
		duration: speed,
		easing: fn && easing || easing && !isFunction( easing ) && easing
	};

	// Go to the end state if fx are off
	if ( jQuery.fx.off ) {
		opt.duration = 0;

	} else {
		if ( typeof opt.duration !== "number" ) {
			if ( opt.duration in jQuery.fx.speeds ) {
				opt.duration = jQuery.fx.speeds[ opt.duration ];

			} else {
				opt.duration = jQuery.fx.speeds._default;
			}
		}
	}

	// Normalize opt.queue - true/undefined/null -> "fx"
	if ( opt.queue == null || opt.queue === true ) {
		opt.queue = "fx";
	}

	// Queueing
	opt.old = opt.complete;

	opt.complete = function() {
		if ( isFunction( opt.old ) ) {
			opt.old.call( this );
		}

		if ( opt.queue ) {
			jQuery.dequeue( this, opt.queue );
		}
	};

	return opt;
};

jQuery.fn.extend( {
	fadeTo: function( speed, to, easing, callback ) {

		// Show any hidden elements after setting opacity to 0
		return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()

			// Animate to the value specified
			.end().animate( { opacity: to }, speed, easing, callback );
	},
	animate: function( prop, speed, easing, callback ) {
		var empty = jQuery.isEmptyObject( prop ),
			optall = jQuery.speed( speed, easing, callback ),
			doAnimation = function() {

				// Operate on a copy of prop so per-property easing won't be lost
				var anim = Animation( this, jQuery.extend( {}, prop ), optall );

				// Empty animations, or finishing resolves immediately
				if ( empty || dataPriv.get( this, "finish" ) ) {
					anim.stop( true );
				}
			};

		doAnimation.finish = doAnimation;

		return empty || optall.queue === false ?
			this.each( doAnimation ) :
			this.queue( optall.queue, doAnimation );
	},
	stop: function( type, clearQueue, gotoEnd ) {
		var stopQueue = function( hooks ) {
			var stop = hooks.stop;
			delete hooks.stop;
			stop( gotoEnd );
		};

		if ( typeof type !== "string" ) {
			gotoEnd = clearQueue;
			clearQueue = type;
			type = undefined;
		}
		if ( clearQueue ) {
			this.queue( type || "fx", [] );
		}

		return this.each( function() {
			var dequeue = true,
				index = type != null && type + "queueHooks",
				timers = jQuery.timers,
				data = dataPriv.get( this );

			if ( index ) {
				if ( data[ index ] && data[ index ].stop ) {
					stopQueue( data[ index ] );
				}
			} else {
				for ( index in data ) {
					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
						stopQueue( data[ index ] );
					}
				}
			}

			for ( index = timers.length; index--; ) {
				if ( timers[ index ].elem === this &&
					( type == null || timers[ index ].queue === type ) ) {

					timers[ index ].anim.stop( gotoEnd );
					dequeue = false;
					timers.splice( index, 1 );
				}
			}

			// Start the next in the queue if the last step wasn't forced.
			// Timers currently will call their complete callbacks, which
			// will dequeue but only if they were gotoEnd.
			if ( dequeue || !gotoEnd ) {
				jQuery.dequeue( this, type );
			}
		} );
	},
	finish: function( type ) {
		if ( type !== false ) {
			type = type || "fx";
		}
		return this.each( function() {
			var index,
				data = dataPriv.get( this ),
				queue = data[ type + "queue" ],
				hooks = data[ type + "queueHooks" ],
				timers = jQuery.timers,
				length = queue ? queue.length : 0;

			// Enable finishing flag on private data
			data.finish = true;

			// Empty the queue first
			jQuery.queue( this, type, [] );

			if ( hooks && hooks.stop ) {
				hooks.stop.call( this, true );
			}

			// Look for any active animations, and finish them
			for ( index = timers.length; index--; ) {
				if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
					timers[ index ].anim.stop( true );
					timers.splice( index, 1 );
				}
			}

			// Look for any animations in the old queue and finish them
			for ( index = 0; index < length; index++ ) {
				if ( queue[ index ] && queue[ index ].finish ) {
					queue[ index ].finish.call( this );
				}
			}

			// Turn off finishing flag
			delete data.finish;
		} );
	}
} );

jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
	var cssFn = jQuery.fn[ name ];
	jQuery.fn[ name ] = function( speed, easing, callback ) {
		return speed == null || typeof speed === "boolean" ?
			cssFn.apply( this, arguments ) :
			this.animate( genFx( name, true ), speed, easing, callback );
	};
} );

// Generate shortcuts for custom animations
jQuery.each( {
	slideDown: genFx( "show" ),
	slideUp: genFx( "hide" ),
	slideToggle: genFx( "toggle" ),
	fadeIn: { opacity: "show" },
	fadeOut: { opacity: "hide" },
	fadeToggle: { opacity: "toggle" }
}, function( name, props ) {
	jQuery.fn[ name ] = function( speed, easing, callback ) {
		return this.animate( props, speed, easing, callback );
	};
} );

jQuery.timers = [];
jQuery.fx.tick = function() {
	var timer,
		i = 0,
		timers = jQuery.timers;

	fxNow = Date.now();

	for ( ; i < timers.length; i++ ) {
		timer = timers[ i ];

		// Run the timer and safely remove it when done (allowing for external removal)
		if ( !timer() && timers[ i ] === timer ) {
			timers.splice( i--, 1 );
		}
	}

	if ( !timers.length ) {
		jQuery.fx.stop();
	}
	fxNow = undefined;
};

jQuery.fx.timer = function( timer ) {
	jQuery.timers.push( timer );
	jQuery.fx.start();
};

jQuery.fx.interval = 13;
jQuery.fx.start = function() {
	if ( inProgress ) {
		return;
	}

	inProgress = true;
	schedule();
};

jQuery.fx.stop = function() {
	inProgress = null;
};

jQuery.fx.speeds = {
	slow: 600,
	fast: 200,

	// Default speed
	_default: 400
};


// Based off of the plugin by Clint Helfers, with permission.
jQuery.fn.delay = function( time, type ) {
	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
	type = type || "fx";

	return this.queue( type, function( next, hooks ) {
		var timeout = window.setTimeout( next, time );
		hooks.stop = function() {
			window.clearTimeout( timeout );
		};
	} );
};


( function() {
	var input = document.createElement( "input" ),
		select = document.createElement( "select" ),
		opt = select.appendChild( document.createElement( "option" ) );

	input.type = "checkbox";

	// Support: Android <=4.3 only
	// Default value for a checkbox should be "on"
	support.checkOn = input.value !== "";

	// Support: IE <=11 only
	// Must access selectedIndex to make default options select
	support.optSelected = opt.selected;

	// Support: IE <=11 only
	// An input loses its value after becoming a radio
	input = document.createElement( "input" );
	input.value = "t";
	input.type = "radio";
	support.radioValue = input.value === "t";
} )();


var boolHook,
	attrHandle = jQuery.expr.attrHandle;

jQuery.fn.extend( {
	attr: function( name, value ) {
		return access( this, jQuery.attr, name, value, arguments.length > 1 );
	},

	removeAttr: function( name ) {
		return this.each( function() {
			jQuery.removeAttr( this, name );
		} );
	}
} );

jQuery.extend( {
	attr: function( elem, name, value ) {
		var ret, hooks,
			nType = elem.nodeType;

		// Don't get/set attributes on text, comment and attribute nodes
		if ( nType === 3 || nType === 8 || nType === 2 ) {
			return;
		}

		// Fallback to prop when attributes are not supported
		if ( typeof elem.getAttribute === "undefined" ) {
			return jQuery.prop( elem, name, value );
		}

		// Attribute hooks are determined by the lowercase version
		// Grab necessary hook if one is defined
		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
			hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
		}

		if ( value !== undefined ) {
			if ( value === null ) {
				jQuery.removeAttr( elem, name );
				return;
			}

			if ( hooks && "set" in hooks &&
				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
				return ret;
			}

			elem.setAttribute( name, value + "" );
			return value;
		}

		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
			return ret;
		}

		ret = jQuery.find.attr( elem, name );

		// Non-existent attributes return null, we normalize to undefined
		return ret == null ? undefined : ret;
	},

	attrHooks: {
		type: {
			set: function( elem, value ) {
				if ( !support.radioValue && value === "radio" &&
					nodeName( elem, "input" ) ) {
					var val = elem.value;
					elem.setAttribute( "type", value );
					if ( val ) {
						elem.value = val;
					}
					return value;
				}
			}
		}
	},

	removeAttr: function( elem, value ) {
		var name,
			i = 0,

			// Attribute names can contain non-HTML whitespace characters
			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
			attrNames = value && value.match( rnothtmlwhite );

		if ( attrNames && elem.nodeType === 1 ) {
			while ( ( name = attrNames[ i++ ] ) ) {
				elem.removeAttribute( name );
			}
		}
	}
} );

// Hooks for boolean attributes
boolHook = {
	set: function( elem, value, name ) {
		if ( value === false ) {

			// Remove boolean attributes when set to false
			jQuery.removeAttr( elem, name );
		} else {
			elem.setAttribute( name, name );
		}
		return name;
	}
};

jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
	var getter = attrHandle[ name ] || jQuery.find.attr;

	attrHandle[ name ] = function( elem, name, isXML ) {
		var ret, handle,
			lowercaseName = name.toLowerCase();

		if ( !isXML ) {

			// Avoid an infinite loop by temporarily removing this function from the getter
			handle = attrHandle[ lowercaseName ];
			attrHandle[ lowercaseName ] = ret;
			ret = getter( elem, name, isXML ) != null ?
				lowercaseName :
				null;
			attrHandle[ lowercaseName ] = handle;
		}
		return ret;
	};
} );




var rfocusable = /^(?:input|select|textarea|button)$/i,
	rclickable = /^(?:a|area)$/i;

jQuery.fn.extend( {
	prop: function( name, value ) {
		return access( this, jQuery.prop, name, value, arguments.length > 1 );
	},

	removeProp: function( name ) {
		return this.each( function() {
			delete this[ jQuery.propFix[ name ] || name ];
		} );
	}
} );

jQuery.extend( {
	prop: function( elem, name, value ) {
		var ret, hooks,
			nType = elem.nodeType;

		// Don't get/set properties on text, comment and attribute nodes
		if ( nType === 3 || nType === 8 || nType === 2 ) {
			return;
		}

		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {

			// Fix name and attach hooks
			name = jQuery.propFix[ name ] || name;
			hooks = jQuery.propHooks[ name ];
		}

		if ( value !== undefined ) {
			if ( hooks && "set" in hooks &&
				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
				return ret;
			}

			return ( elem[ name ] = value );
		}

		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
			return ret;
		}

		return elem[ name ];
	},

	propHooks: {
		tabIndex: {
			get: function( elem ) {

				// Support: IE <=9 - 11 only
				// elem.tabIndex doesn't always return the
				// correct value when it hasn't been explicitly set
				// Use proper attribute retrieval (trac-12072)
				var tabindex = jQuery.find.attr( elem, "tabindex" );

				if ( tabindex ) {
					return parseInt( tabindex, 10 );
				}

				if (
					rfocusable.test( elem.nodeName ) ||
					rclickable.test( elem.nodeName ) &&
					elem.href
				) {
					return 0;
				}

				return -1;
			}
		}
	},

	propFix: {
		"for": "htmlFor",
		"class": "className"
	}
} );

// Support: IE <=11 only
// Accessing the selectedIndex property
// forces the browser to respect setting selected
// on the option
// The getter ensures a default option is selected
// when in an optgroup
// eslint rule "no-unused-expressions" is disabled for this code
// since it considers such accessions noop
if ( !support.optSelected ) {
	jQuery.propHooks.selected = {
		get: function( elem ) {

			/* eslint no-unused-expressions: "off" */

			var parent = elem.parentNode;
			if ( parent && parent.parentNode ) {
				parent.parentNode.selectedIndex;
			}
			return null;
		},
		set: function( elem ) {

			/* eslint no-unused-expressions: "off" */

			var parent = elem.parentNode;
			if ( parent ) {
				parent.selectedIndex;

				if ( parent.parentNode ) {
					parent.parentNode.selectedIndex;
				}
			}
		}
	};
}

jQuery.each( [
	"tabIndex",
	"readOnly",
	"maxLength",
	"cellSpacing",
	"cellPadding",
	"rowSpan",
	"colSpan",
	"useMap",
	"frameBorder",
	"contentEditable"
], function() {
	jQuery.propFix[ this.toLowerCase() ] = this;
} );




	// Strip and collapse whitespace according to HTML spec
	// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
	function stripAndCollapse( value ) {
		var tokens = value.match( rnothtmlwhite ) || [];
		return tokens.join( " " );
	}


function getClass( elem ) {
	return elem.getAttribute && elem.getAttribute( "class" ) || "";
}

function classesToArray( value ) {
	if ( Array.isArray( value ) ) {
		return value;
	}
	if ( typeof value === "string" ) {
		return value.match( rnothtmlwhite ) || [];
	}
	return [];
}

jQuery.fn.extend( {
	addClass: function( value ) {
		var classNames, cur, curValue, className, i, finalValue;

		if ( isFunction( value ) ) {
			return this.each( function( j ) {
				jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
			} );
		}

		classNames = classesToArray( value );

		if ( classNames.length ) {
			return this.each( function() {
				curValue = getClass( this );
				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );

				if ( cur ) {
					for ( i = 0; i < classNames.length; i++ ) {
						className = classNames[ i ];
						if ( cur.indexOf( " " + className + " " ) < 0 ) {
							cur += className + " ";
						}
					}

					// Only assign if different to avoid unneeded rendering.
					finalValue = stripAndCollapse( cur );
					if ( curValue !== finalValue ) {
						this.setAttribute( "class", finalValue );
					}
				}
			} );
		}

		return this;
	},

	removeClass: function( value ) {
		var classNames, cur, curValue, className, i, finalValue;

		if ( isFunction( value ) ) {
			return this.each( function( j ) {
				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
			} );
		}

		if ( !arguments.length ) {
			return this.attr( "class", "" );
		}

		classNames = classesToArray( value );

		if ( classNames.length ) {
			return this.each( function() {
				curValue = getClass( this );

				// This expression is here for better compressibility (see addClass)
				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );

				if ( cur ) {
					for ( i = 0; i < classNames.length; i++ ) {
						className = classNames[ i ];

						// Remove *all* instances
						while ( cur.indexOf( " " + className + " " ) > -1 ) {
							cur = cur.replace( " " + className + " ", " " );
						}
					}

					// Only assign if different to avoid unneeded rendering.
					finalValue = stripAndCollapse( cur );
					if ( curValue !== finalValue ) {
						this.setAttribute( "class", finalValue );
					}
				}
			} );
		}

		return this;
	},

	toggleClass: function( value, stateVal ) {
		var classNames, className, i, self,
			type = typeof value,
			isValidValue = type === "string" || Array.isArray( value );

		if ( isFunction( value ) ) {
			return this.each( function( i ) {
				jQuery( this ).toggleClass(
					value.call( this, i, getClass( this ), stateVal ),
					stateVal
				);
			} );
		}

		if ( typeof stateVal === "boolean" && isValidValue ) {
			return stateVal ? this.addClass( value ) : this.removeClass( value );
		}

		classNames = classesToArray( value );

		return this.each( function() {
			if ( isValidValue ) {

				// Toggle individual class names
				self = jQuery( this );

				for ( i = 0; i < classNames.length; i++ ) {
					className = classNames[ i ];

					// Check each className given, space separated list
					if ( self.hasClass( className ) ) {
						self.removeClass( className );
					} else {
						self.addClass( className );
					}
				}

			// Toggle whole class name
			} else if ( value === undefined || type === "boolean" ) {
				className = getClass( this );
				if ( className ) {

					// Store className if set
					dataPriv.set( this, "__className__", className );
				}

				// If the element has a class name or if we're passed `false`,
				// then remove the whole classname (if there was one, the above saved it).
				// Otherwise bring back whatever was previously saved (if anything),
				// falling back to the empty string if nothing was stored.
				if ( this.setAttribute ) {
					this.setAttribute( "class",
						className || value === false ?
							"" :
							dataPriv.get( this, "__className__" ) || ""
					);
				}
			}
		} );
	},

	hasClass: function( selector ) {
		var className, elem,
			i = 0;

		className = " " + selector + " ";
		while ( ( elem = this[ i++ ] ) ) {
			if ( elem.nodeType === 1 &&
				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
				return true;
			}
		}

		return false;
	}
} );




var rreturn = /\r/g;

jQuery.fn.extend( {
	val: function( value ) {
		var hooks, ret, valueIsFunction,
			elem = this[ 0 ];

		if ( !arguments.length ) {
			if ( elem ) {
				hooks = jQuery.valHooks[ elem.type ] ||
					jQuery.valHooks[ elem.nodeName.toLowerCase() ];

				if ( hooks &&
					"get" in hooks &&
					( ret = hooks.get( elem, "value" ) ) !== undefined
				) {
					return ret;
				}

				ret = elem.value;

				// Handle most common string cases
				if ( typeof ret === "string" ) {
					return ret.replace( rreturn, "" );
				}

				// Handle cases where value is null/undef or number
				return ret == null ? "" : ret;
			}

			return;
		}

		valueIsFunction = isFunction( value );

		return this.each( function( i ) {
			var val;

			if ( this.nodeType !== 1 ) {
				return;
			}

			if ( valueIsFunction ) {
				val = value.call( this, i, jQuery( this ).val() );
			} else {
				val = value;
			}

			// Treat null/undefined as ""; convert numbers to string
			if ( val == null ) {
				val = "";

			} else if ( typeof val === "number" ) {
				val += "";

			} else if ( Array.isArray( val ) ) {
				val = jQuery.map( val, function( value ) {
					return value == null ? "" : value + "";
				} );
			}

			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];

			// If set returns undefined, fall back to normal setting
			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
				this.value = val;
			}
		} );
	}
} );

jQuery.extend( {
	valHooks: {
		option: {
			get: function( elem ) {

				var val = jQuery.find.attr( elem, "value" );
				return val != null ?
					val :

					// Support: IE <=10 - 11 only
					// option.text throws exceptions (trac-14686, trac-14858)
					// Strip and collapse whitespace
					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
					stripAndCollapse( jQuery.text( elem ) );
			}
		},
		select: {
			get: function( elem ) {
				var value, option, i,
					options = elem.options,
					index = elem.selectedIndex,
					one = elem.type === "select-one",
					values = one ? null : [],
					max = one ? index + 1 : options.length;

				if ( index < 0 ) {
					i = max;

				} else {
					i = one ? index : 0;
				}

				// Loop through all the selected options
				for ( ; i < max; i++ ) {
					option = options[ i ];

					// Support: IE <=9 only
					// IE8-9 doesn't update selected after form reset (trac-2551)
					if ( ( option.selected || i === index ) &&

							// Don't return options that are disabled or in a disabled optgroup
							!option.disabled &&
							( !option.parentNode.disabled ||
								!nodeName( option.parentNode, "optgroup" ) ) ) {

						// Get the specific value for the option
						value = jQuery( option ).val();

						// We don't need an array for one selects
						if ( one ) {
							return value;
						}

						// Multi-Selects return an array
						values.push( value );
					}
				}

				return values;
			},

			set: function( elem, value ) {
				var optionSet, option,
					options = elem.options,
					values = jQuery.makeArray( value ),
					i = options.length;

				while ( i-- ) {
					option = options[ i ];

					/* eslint-disable no-cond-assign */

					if ( option.selected =
						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
					) {
						optionSet = true;
					}

					/* eslint-enable no-cond-assign */
				}

				// Force browsers to behave consistently when non-matching value is set
				if ( !optionSet ) {
					elem.selectedIndex = -1;
				}
				return values;
			}
		}
	}
} );

// Radios and checkboxes getter/setter
jQuery.each( [ "radio", "checkbox" ], function() {
	jQuery.valHooks[ this ] = {
		set: function( elem, value ) {
			if ( Array.isArray( value ) ) {
				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
			}
		}
	};
	if ( !support.checkOn ) {
		jQuery.valHooks[ this ].get = function( elem ) {
			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
		};
	}
} );




// Return jQuery for attributes-only inclusion
var location = window.location;

var nonce = { guid: Date.now() };

var rquery = ( /\?/ );



// Cross-browser xml parsing
jQuery.parseXML = function( data ) {
	var xml, parserErrorElem;
	if ( !data || typeof data !== "string" ) {
		return null;
	}

	// Support: IE 9 - 11 only
	// IE throws on parseFromString with invalid input.
	try {
		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
	} catch ( e ) {}

	parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
	if ( !xml || parserErrorElem ) {
		jQuery.error( "Invalid XML: " + (
			parserErrorElem ?
				jQuery.map( parserErrorElem.childNodes, function( el ) {
					return el.textContent;
				} ).join( "\n" ) :
				data
		) );
	}
	return xml;
};


var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
	stopPropagationCallback = function( e ) {
		e.stopPropagation();
	};

jQuery.extend( jQuery.event, {

	trigger: function( event, data, elem, onlyHandlers ) {

		var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
			eventPath = [ elem || document ],
			type = hasOwn.call( event, "type" ) ? event.type : event,
			namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];

		cur = lastElement = tmp = elem = elem || document;

		// Don't do events on text and comment nodes
		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
			return;
		}

		// focus/blur morphs to focusin/out; ensure we're not firing them right now
		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
			return;
		}

		if ( type.indexOf( "." ) > -1 ) {

			// Namespaced trigger; create a regexp to match event type in handle()
			namespaces = type.split( "." );
			type = namespaces.shift();
			namespaces.sort();
		}
		ontype = type.indexOf( ":" ) < 0 && "on" + type;

		// Caller can pass in a jQuery.Event object, Object, or just an event type string
		event = event[ jQuery.expando ] ?
			event :
			new jQuery.Event( type, typeof event === "object" && event );

		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
		event.isTrigger = onlyHandlers ? 2 : 3;
		event.namespace = namespaces.join( "." );
		event.rnamespace = event.namespace ?
			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
			null;

		// Clean up the event in case it is being reused
		event.result = undefined;
		if ( !event.target ) {
			event.target = elem;
		}

		// Clone any incoming data and prepend the event, creating the handler arg list
		data = data == null ?
			[ event ] :
			jQuery.makeArray( data, [ event ] );

		// Allow special events to draw outside the lines
		special = jQuery.event.special[ type ] || {};
		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
			return;
		}

		// Determine event propagation path in advance, per W3C events spec (trac-9951)
		// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
		if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {

			bubbleType = special.delegateType || type;
			if ( !rfocusMorph.test( bubbleType + type ) ) {
				cur = cur.parentNode;
			}
			for ( ; cur; cur = cur.parentNode ) {
				eventPath.push( cur );
				tmp = cur;
			}

			// Only add window if we got to document (e.g., not plain obj or detached DOM)
			if ( tmp === ( elem.ownerDocument || document ) ) {
				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
			}
		}

		// Fire handlers on the event path
		i = 0;
		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
			lastElement = cur;
			event.type = i > 1 ?
				bubbleType :
				special.bindType || type;

			// jQuery handler
			handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
				dataPriv.get( cur, "handle" );
			if ( handle ) {
				handle.apply( cur, data );
			}

			// Native handler
			handle = ontype && cur[ ontype ];
			if ( handle && handle.apply && acceptData( cur ) ) {
				event.result = handle.apply( cur, data );
				if ( event.result === false ) {
					event.preventDefault();
				}
			}
		}
		event.type = type;

		// If nobody prevented the default action, do it now
		if ( !onlyHandlers && !event.isDefaultPrevented() ) {

			if ( ( !special._default ||
				special._default.apply( eventPath.pop(), data ) === false ) &&
				acceptData( elem ) ) {

				// Call a native DOM method on the target with the same name as the event.
				// Don't do default actions on window, that's where global variables be (trac-6170)
				if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {

					// Don't re-trigger an onFOO event when we call its FOO() method
					tmp = elem[ ontype ];

					if ( tmp ) {
						elem[ ontype ] = null;
					}

					// Prevent re-triggering of the same event, since we already bubbled it above
					jQuery.event.triggered = type;

					if ( event.isPropagationStopped() ) {
						lastElement.addEventListener( type, stopPropagationCallback );
					}

					elem[ type ]();

					if ( event.isPropagationStopped() ) {
						lastElement.removeEventListener( type, stopPropagationCallback );
					}

					jQuery.event.triggered = undefined;

					if ( tmp ) {
						elem[ ontype ] = tmp;
					}
				}
			}
		}

		return event.result;
	},

	// Piggyback on a donor event to simulate a different one
	// Used only for `focus(in | out)` events
	simulate: function( type, elem, event ) {
		var e = jQuery.extend(
			new jQuery.Event(),
			event,
			{
				type: type,
				isSimulated: true
			}
		);

		jQuery.event.trigger( e, null, elem );
	}

} );

jQuery.fn.extend( {

	trigger: function( type, data ) {
		return this.each( function() {
			jQuery.event.trigger( type, data, this );
		} );
	},
	triggerHandler: function( type, data ) {
		var elem = this[ 0 ];
		if ( elem ) {
			return jQuery.event.trigger( type, data, elem, true );
		}
	}
} );


var
	rbracket = /\[\]$/,
	rCRLF = /\r?\n/g,
	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
	rsubmittable = /^(?:input|select|textarea|keygen)/i;

function buildParams( prefix, obj, traditional, add ) {
	var name;

	if ( Array.isArray( obj ) ) {

		// Serialize array item.
		jQuery.each( obj, function( i, v ) {
			if ( traditional || rbracket.test( prefix ) ) {

				// Treat each array item as a scalar.
				add( prefix, v );

			} else {

				// Item is non-scalar (array or object), encode its numeric index.
				buildParams(
					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
					v,
					traditional,
					add
				);
			}
		} );

	} else if ( !traditional && toType( obj ) === "object" ) {

		// Serialize object item.
		for ( name in obj ) {
			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
		}

	} else {

		// Serialize scalar item.
		add( prefix, obj );
	}
}

// Serialize an array of form elements or a set of
// key/values into a query string
jQuery.param = function( a, traditional ) {
	var prefix,
		s = [],
		add = function( key, valueOrFunction ) {

			// If value is a function, invoke it and use its return value
			var value = isFunction( valueOrFunction ) ?
				valueOrFunction() :
				valueOrFunction;

			s[ s.length ] = encodeURIComponent( key ) + "=" +
				encodeURIComponent( value == null ? "" : value );
		};

	if ( a == null ) {
		return "";
	}

	// If an array was passed in, assume that it is an array of form elements.
	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {

		// Serialize the form elements
		jQuery.each( a, function() {
			add( this.name, this.value );
		} );

	} else {

		// If traditional, encode the "old" way (the way 1.3.2 or older
		// did it), otherwise encode params recursively.
		for ( prefix in a ) {
			buildParams( prefix, a[ prefix ], traditional, add );
		}
	}

	// Return the resulting serialization
	return s.join( "&" );
};

jQuery.fn.extend( {
	serialize: function() {
		return jQuery.param( this.serializeArray() );
	},
	serializeArray: function() {
		return this.map( function() {

			// Can add propHook for "elements" to filter or add form elements
			var elements = jQuery.prop( this, "elements" );
			return elements ? jQuery.makeArray( elements ) : this;
		} ).filter( function() {
			var type = this.type;

			// Use .is( ":disabled" ) so that fieldset[disabled] works
			return this.name && !jQuery( this ).is( ":disabled" ) &&
				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
				( this.checked || !rcheckableType.test( type ) );
		} ).map( function( _i, elem ) {
			var val = jQuery( this ).val();

			if ( val == null ) {
				return null;
			}

			if ( Array.isArray( val ) ) {
				return jQuery.map( val, function( val ) {
					return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
				} );
			}

			return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
		} ).get();
	}
} );


var
	r20 = /%20/g,
	rhash = /#.*$/,
	rantiCache = /([?&])_=[^&]*/,
	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,

	// trac-7653, trac-8125, trac-8152: local protocol detection
	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
	rnoContent = /^(?:GET|HEAD)$/,
	rprotocol = /^\/\//,

	/* Prefilters
	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
	 * 2) These are called:
	 *    - BEFORE asking for a transport
	 *    - AFTER param serialization (s.data is a string if s.processData is true)
	 * 3) key is the dataType
	 * 4) the catchall symbol "*" can be used
	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
	 */
	prefilters = {},

	/* Transports bindings
	 * 1) key is the dataType
	 * 2) the catchall symbol "*" can be used
	 * 3) selection will start with transport dataType and THEN go to "*" if needed
	 */
	transports = {},

	// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression
	allTypes = "*/".concat( "*" ),

	// Anchor tag for parsing the document origin
	originAnchor = document.createElement( "a" );

originAnchor.href = location.href;

// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
function addToPrefiltersOrTransports( structure ) {

	// dataTypeExpression is optional and defaults to "*"
	return function( dataTypeExpression, func ) {

		if ( typeof dataTypeExpression !== "string" ) {
			func = dataTypeExpression;
			dataTypeExpression = "*";
		}

		var dataType,
			i = 0,
			dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];

		if ( isFunction( func ) ) {

			// For each dataType in the dataTypeExpression
			while ( ( dataType = dataTypes[ i++ ] ) ) {

				// Prepend if requested
				if ( dataType[ 0 ] === "+" ) {
					dataType = dataType.slice( 1 ) || "*";
					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );

				// Otherwise append
				} else {
					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
				}
			}
		}
	};
}

// Base inspection function for prefilters and transports
function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {

	var inspected = {},
		seekingTransport = ( structure === transports );

	function inspect( dataType ) {
		var selected;
		inspected[ dataType ] = true;
		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
			if ( typeof dataTypeOrTransport === "string" &&
				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {

				options.dataTypes.unshift( dataTypeOrTransport );
				inspect( dataTypeOrTransport );
				return false;
			} else if ( seekingTransport ) {
				return !( selected = dataTypeOrTransport );
			}
		} );
		return selected;
	}

	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
}

// A special extend for ajax options
// that takes "flat" options (not to be deep extended)
// Fixes trac-9887
function ajaxExtend( target, src ) {
	var key, deep,
		flatOptions = jQuery.ajaxSettings.flatOptions || {};

	for ( key in src ) {
		if ( src[ key ] !== undefined ) {
			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
		}
	}
	if ( deep ) {
		jQuery.extend( true, target, deep );
	}

	return target;
}

/* Handles responses to an ajax request:
 * - finds the right dataType (mediates between content-type and expected dataType)
 * - returns the corresponding response
 */
function ajaxHandleResponses( s, jqXHR, responses ) {

	var ct, type, finalDataType, firstDataType,
		contents = s.contents,
		dataTypes = s.dataTypes;

	// Remove auto dataType and get content-type in the process
	while ( dataTypes[ 0 ] === "*" ) {
		dataTypes.shift();
		if ( ct === undefined ) {
			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
		}
	}

	// Check if we're dealing with a known content-type
	if ( ct ) {
		for ( type in contents ) {
			if ( contents[ type ] && contents[ type ].test( ct ) ) {
				dataTypes.unshift( type );
				break;
			}
		}
	}

	// Check to see if we have a response for the expected dataType
	if ( dataTypes[ 0 ] in responses ) {
		finalDataType = dataTypes[ 0 ];
	} else {

		// Try convertible dataTypes
		for ( type in responses ) {
			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
				finalDataType = type;
				break;
			}
			if ( !firstDataType ) {
				firstDataType = type;
			}
		}

		// Or just use first one
		finalDataType = finalDataType || firstDataType;
	}

	// If we found a dataType
	// We add the dataType to the list if needed
	// and return the corresponding response
	if ( finalDataType ) {
		if ( finalDataType !== dataTypes[ 0 ] ) {
			dataTypes.unshift( finalDataType );
		}
		return responses[ finalDataType ];
	}
}

/* Chain conversions given the request and the original response
 * Also sets the responseXXX fields on the jqXHR instance
 */
function ajaxConvert( s, response, jqXHR, isSuccess ) {
	var conv2, current, conv, tmp, prev,
		converters = {},

		// Work with a copy of dataTypes in case we need to modify it for conversion
		dataTypes = s.dataTypes.slice();

	// Create converters map with lowercased keys
	if ( dataTypes[ 1 ] ) {
		for ( conv in s.converters ) {
			converters[ conv.toLowerCase() ] = s.converters[ conv ];
		}
	}

	current = dataTypes.shift();

	// Convert to each sequential dataType
	while ( current ) {

		if ( s.responseFields[ current ] ) {
			jqXHR[ s.responseFields[ current ] ] = response;
		}

		// Apply the dataFilter if provided
		if ( !prev && isSuccess && s.dataFilter ) {
			response = s.dataFilter( response, s.dataType );
		}

		prev = current;
		current = dataTypes.shift();

		if ( current ) {

			// There's only work to do if current dataType is non-auto
			if ( current === "*" ) {

				current = prev;

			// Convert response if prev dataType is non-auto and differs from current
			} else if ( prev !== "*" && prev !== current ) {

				// Seek a direct converter
				conv = converters[ prev + " " + current ] || converters[ "* " + current ];

				// If none found, seek a pair
				if ( !conv ) {
					for ( conv2 in converters ) {

						// If conv2 outputs current
						tmp = conv2.split( " " );
						if ( tmp[ 1 ] === current ) {

							// If prev can be converted to accepted input
							conv = converters[ prev + " " + tmp[ 0 ] ] ||
								converters[ "* " + tmp[ 0 ] ];
							if ( conv ) {

								// Condense equivalence converters
								if ( conv === true ) {
									conv = converters[ conv2 ];

								// Otherwise, insert the intermediate dataType
								} else if ( converters[ conv2 ] !== true ) {
									current = tmp[ 0 ];
									dataTypes.unshift( tmp[ 1 ] );
								}
								break;
							}
						}
					}
				}

				// Apply converter (if not an equivalence)
				if ( conv !== true ) {

					// Unless errors are allowed to bubble, catch and return them
					if ( conv && s.throws ) {
						response = conv( response );
					} else {
						try {
							response = conv( response );
						} catch ( e ) {
							return {
								state: "parsererror",
								error: conv ? e : "No conversion from " + prev + " to " + current
							};
						}
					}
				}
			}
		}
	}

	return { state: "success", data: response };
}

jQuery.extend( {

	// Counter for holding the number of active queries
	active: 0,

	// Last-Modified header cache for next request
	lastModified: {},
	etag: {},

	ajaxSettings: {
		url: location.href,
		type: "GET",
		isLocal: rlocalProtocol.test( location.protocol ),
		global: true,
		processData: true,
		async: true,
		contentType: "application/x-www-form-urlencoded; charset=UTF-8",

		/*
		timeout: 0,
		data: null,
		dataType: null,
		username: null,
		password: null,
		cache: null,
		throws: false,
		traditional: false,
		headers: {},
		*/

		accepts: {
			"*": allTypes,
			text: "text/plain",
			html: "text/html",
			xml: "application/xml, text/xml",
			json: "application/json, text/javascript"
		},

		contents: {
			xml: /\bxml\b/,
			html: /\bhtml/,
			json: /\bjson\b/
		},

		responseFields: {
			xml: "responseXML",
			text: "responseText",
			json: "responseJSON"
		},

		// Data converters
		// Keys separate source (or catchall "*") and destination types with a single space
		converters: {

			// Convert anything to text
			"* text": String,

			// Text to html (true = no transformation)
			"text html": true,

			// Evaluate text as a json expression
			"text json": JSON.parse,

			// Parse text as xml
			"text xml": jQuery.parseXML
		},

		// For options that shouldn't be deep extended:
		// you can add your own custom options here if
		// and when you create one that shouldn't be
		// deep extended (see ajaxExtend)
		flatOptions: {
			url: true,
			context: true
		}
	},

	// Creates a full fledged settings object into target
	// with both ajaxSettings and settings fields.
	// If target is omitted, writes into ajaxSettings.
	ajaxSetup: function( target, settings ) {
		return settings ?

			// Building a settings object
			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :

			// Extending ajaxSettings
			ajaxExtend( jQuery.ajaxSettings, target );
	},

	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
	ajaxTransport: addToPrefiltersOrTransports( transports ),

	// Main method
	ajax: function( url, options ) {

		// If url is an object, simulate pre-1.5 signature
		if ( typeof url === "object" ) {
			options = url;
			url = undefined;
		}

		// Force options to be an object
		options = options || {};

		var transport,

			// URL without anti-cache param
			cacheURL,

			// Response headers
			responseHeadersString,
			responseHeaders,

			// timeout handle
			timeoutTimer,

			// Url cleanup var
			urlAnchor,

			// Request state (becomes false upon send and true upon completion)
			completed,

			// To know if global events are to be dispatched
			fireGlobals,

			// Loop variable
			i,

			// uncached part of the url
			uncached,

			// Create the final options object
			s = jQuery.ajaxSetup( {}, options ),

			// Callbacks context
			callbackContext = s.context || s,

			// Context for global events is callbackContext if it is a DOM node or jQuery collection
			globalEventContext = s.context &&
				( callbackContext.nodeType || callbackContext.jquery ) ?
				jQuery( callbackContext ) :
				jQuery.event,

			// Deferreds
			deferred = jQuery.Deferred(),
			completeDeferred = jQuery.Callbacks( "once memory" ),

			// Status-dependent callbacks
			statusCode = s.statusCode || {},

			// Headers (they are sent all at once)
			requestHeaders = {},
			requestHeadersNames = {},

			// Default abort message
			strAbort = "canceled",

			// Fake xhr
			jqXHR = {
				readyState: 0,

				// Builds headers hashtable if needed
				getResponseHeader: function( key ) {
					var match;
					if ( completed ) {
						if ( !responseHeaders ) {
							responseHeaders = {};
							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
								responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
									( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
										.concat( match[ 2 ] );
							}
						}
						match = responseHeaders[ key.toLowerCase() + " " ];
					}
					return match == null ? null : match.join( ", " );
				},

				// Raw string
				getAllResponseHeaders: function() {
					return completed ? responseHeadersString : null;
				},

				// Caches the header
				setRequestHeader: function( name, value ) {
					if ( completed == null ) {
						name = requestHeadersNames[ name.toLowerCase() ] =
							requestHeadersNames[ name.toLowerCase() ] || name;
						requestHeaders[ name ] = value;
					}
					return this;
				},

				// Overrides response content-type header
				overrideMimeType: function( type ) {
					if ( completed == null ) {
						s.mimeType = type;
					}
					return this;
				},

				// Status-dependent callbacks
				statusCode: function( map ) {
					var code;
					if ( map ) {
						if ( completed ) {

							// Execute the appropriate callbacks
							jqXHR.always( map[ jqXHR.status ] );
						} else {

							// Lazy-add the new callbacks in a way that preserves old ones
							for ( code in map ) {
								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
							}
						}
					}
					return this;
				},

				// Cancel the request
				abort: function( statusText ) {
					var finalText = statusText || strAbort;
					if ( transport ) {
						transport.abort( finalText );
					}
					done( 0, finalText );
					return this;
				}
			};

		// Attach deferreds
		deferred.promise( jqXHR );

		// Add protocol if not provided (prefilters might expect it)
		// Handle falsy url in the settings object (trac-10093: consistency with old signature)
		// We also use the url parameter if available
		s.url = ( ( url || s.url || location.href ) + "" )
			.replace( rprotocol, location.protocol + "//" );

		// Alias method option to type as per ticket trac-12004
		s.type = options.method || options.type || s.method || s.type;

		// Extract dataTypes list
		s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];

		// A cross-domain request is in order when the origin doesn't match the current origin.
		if ( s.crossDomain == null ) {
			urlAnchor = document.createElement( "a" );

			// Support: IE <=8 - 11, Edge 12 - 15
			// IE throws exception on accessing the href property if url is malformed,
			// e.g. http://example.com:80x/
			try {
				urlAnchor.href = s.url;

				// Support: IE <=8 - 11 only
				// Anchor's host property isn't correctly set when s.url is relative
				urlAnchor.href = urlAnchor.href;
				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
					urlAnchor.protocol + "//" + urlAnchor.host;
			} catch ( e ) {

				// If there is an error parsing the URL, assume it is crossDomain,
				// it can be rejected by the transport if it is invalid
				s.crossDomain = true;
			}
		}

		// Convert data if not already a string
		if ( s.data && s.processData && typeof s.data !== "string" ) {
			s.data = jQuery.param( s.data, s.traditional );
		}

		// Apply prefilters
		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );

		// If request was aborted inside a prefilter, stop there
		if ( completed ) {
			return jqXHR;
		}

		// We can fire global events as of now if asked to
		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)
		fireGlobals = jQuery.event && s.global;

		// Watch for a new set of requests
		if ( fireGlobals && jQuery.active++ === 0 ) {
			jQuery.event.trigger( "ajaxStart" );
		}

		// Uppercase the type
		s.type = s.type.toUpperCase();

		// Determine if request has content
		s.hasContent = !rnoContent.test( s.type );

		// Save the URL in case we're toying with the If-Modified-Since
		// and/or If-None-Match header later on
		// Remove hash to simplify url manipulation
		cacheURL = s.url.replace( rhash, "" );

		// More options handling for requests with no content
		if ( !s.hasContent ) {

			// Remember the hash so we can put it back
			uncached = s.url.slice( cacheURL.length );

			// If data is available and should be processed, append data to url
			if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;

				// trac-9682: remove data so that it's not used in an eventual retry
				delete s.data;
			}

			// Add or update anti-cache param if needed
			if ( s.cache === false ) {
				cacheURL = cacheURL.replace( rantiCache, "$1" );
				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
					uncached;
			}

			// Put hash and anti-cache on the URL that will be requested (gh-1732)
			s.url = cacheURL + uncached;

		// Change '%20' to '+' if this is encoded form body content (gh-2658)
		} else if ( s.data && s.processData &&
			( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
			s.data = s.data.replace( r20, "+" );
		}

		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
		if ( s.ifModified ) {
			if ( jQuery.lastModified[ cacheURL ] ) {
				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
			}
			if ( jQuery.etag[ cacheURL ] ) {
				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
			}
		}

		// Set the correct header, if data is being sent
		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
			jqXHR.setRequestHeader( "Content-Type", s.contentType );
		}

		// Set the Accepts header for the server, depending on the dataType
		jqXHR.setRequestHeader(
			"Accept",
			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
				s.accepts[ s.dataTypes[ 0 ] ] +
					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
				s.accepts[ "*" ]
		);

		// Check for headers option
		for ( i in s.headers ) {
			jqXHR.setRequestHeader( i, s.headers[ i ] );
		}

		// Allow custom headers/mimetypes and early abort
		if ( s.beforeSend &&
			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {

			// Abort if not done already and return
			return jqXHR.abort();
		}

		// Aborting is no longer a cancellation
		strAbort = "abort";

		// Install callbacks on deferreds
		completeDeferred.add( s.complete );
		jqXHR.done( s.success );
		jqXHR.fail( s.error );

		// Get transport
		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );

		// If no transport, we auto-abort
		if ( !transport ) {
			done( -1, "No Transport" );
		} else {
			jqXHR.readyState = 1;

			// Send global event
			if ( fireGlobals ) {
				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
			}

			// If request was aborted inside ajaxSend, stop there
			if ( completed ) {
				return jqXHR;
			}

			// Timeout
			if ( s.async && s.timeout > 0 ) {
				timeoutTimer = window.setTimeout( function() {
					jqXHR.abort( "timeout" );
				}, s.timeout );
			}

			try {
				completed = false;
				transport.send( requestHeaders, done );
			} catch ( e ) {

				// Rethrow post-completion exceptions
				if ( completed ) {
					throw e;
				}

				// Propagate others as results
				done( -1, e );
			}
		}

		// Callback for when everything is done
		function done( status, nativeStatusText, responses, headers ) {
			var isSuccess, success, error, response, modified,
				statusText = nativeStatusText;

			// Ignore repeat invocations
			if ( completed ) {
				return;
			}

			completed = true;

			// Clear timeout if it exists
			if ( timeoutTimer ) {
				window.clearTimeout( timeoutTimer );
			}

			// Dereference transport for early garbage collection
			// (no matter how long the jqXHR object will be used)
			transport = undefined;

			// Cache response headers
			responseHeadersString = headers || "";

			// Set readyState
			jqXHR.readyState = status > 0 ? 4 : 0;

			// Determine if successful
			isSuccess = status >= 200 && status < 300 || status === 304;

			// Get response data
			if ( responses ) {
				response = ajaxHandleResponses( s, jqXHR, responses );
			}

			// Use a noop converter for missing script but not if jsonp
			if ( !isSuccess &&
				jQuery.inArray( "script", s.dataTypes ) > -1 &&
				jQuery.inArray( "json", s.dataTypes ) < 0 ) {
				s.converters[ "text script" ] = function() {};
			}

			// Convert no matter what (that way responseXXX fields are always set)
			response = ajaxConvert( s, response, jqXHR, isSuccess );

			// If successful, handle type chaining
			if ( isSuccess ) {

				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
				if ( s.ifModified ) {
					modified = jqXHR.getResponseHeader( "Last-Modified" );
					if ( modified ) {
						jQuery.lastModified[ cacheURL ] = modified;
					}
					modified = jqXHR.getResponseHeader( "etag" );
					if ( modified ) {
						jQuery.etag[ cacheURL ] = modified;
					}
				}

				// if no content
				if ( status === 204 || s.type === "HEAD" ) {
					statusText = "nocontent";

				// if not modified
				} else if ( status === 304 ) {
					statusText = "notmodified";

				// If we have data, let's convert it
				} else {
					statusText = response.state;
					success = response.data;
					error = response.error;
					isSuccess = !error;
				}
			} else {

				// Extract error from statusText and normalize for non-aborts
				error = statusText;
				if ( status || !statusText ) {
					statusText = "error";
					if ( status < 0 ) {
						status = 0;
					}
				}
			}

			// Set data for the fake xhr object
			jqXHR.status = status;
			jqXHR.statusText = ( nativeStatusText || statusText ) + "";

			// Success/Error
			if ( isSuccess ) {
				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
			} else {
				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
			}

			// Status-dependent callbacks
			jqXHR.statusCode( statusCode );
			statusCode = undefined;

			if ( fireGlobals ) {
				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
					[ jqXHR, s, isSuccess ? success : error ] );
			}

			// Complete
			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );

			if ( fireGlobals ) {
				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );

				// Handle the global AJAX counter
				if ( !( --jQuery.active ) ) {
					jQuery.event.trigger( "ajaxStop" );
				}
			}
		}

		return jqXHR;
	},

	getJSON: function( url, data, callback ) {
		return jQuery.get( url, data, callback, "json" );
	},

	getScript: function( url, callback ) {
		return jQuery.get( url, undefined, callback, "script" );
	}
} );

jQuery.each( [ "get", "post" ], function( _i, method ) {
	jQuery[ method ] = function( url, data, callback, type ) {

		// Shift arguments if data argument was omitted
		if ( isFunction( data ) ) {
			type = type || callback;
			callback = data;
			data = undefined;
		}

		// The url can be an options object (which then must have .url)
		return jQuery.ajax( jQuery.extend( {
			url: url,
			type: method,
			dataType: type,
			data: data,
			success: callback
		}, jQuery.isPlainObject( url ) && url ) );
	};
} );

jQuery.ajaxPrefilter( function( s ) {
	var i;
	for ( i in s.headers ) {
		if ( i.toLowerCase() === "content-type" ) {
			s.contentType = s.headers[ i ] || "";
		}
	}
} );


jQuery._evalUrl = function( url, options, doc ) {
	return jQuery.ajax( {
		url: url,

		// Make this explicit, since user can override this through ajaxSetup (trac-11264)
		type: "GET",
		dataType: "script",
		cache: true,
		async: false,
		global: false,

		// Only evaluate the response if it is successful (gh-4126)
		// dataFilter is not invoked for failure responses, so using it instead
		// of the default converter is kludgy but it works.
		converters: {
			"text script": function() {}
		},
		dataFilter: function( response ) {
			jQuery.globalEval( response, options, doc );
		}
	} );
};


jQuery.fn.extend( {
	wrapAll: function( html ) {
		var wrap;

		if ( this[ 0 ] ) {
			if ( isFunction( html ) ) {
				html = html.call( this[ 0 ] );
			}

			// The elements to wrap the target around
			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );

			if ( this[ 0 ].parentNode ) {
				wrap.insertBefore( this[ 0 ] );
			}

			wrap.map( function() {
				var elem = this;

				while ( elem.firstElementChild ) {
					elem = elem.firstElementChild;
				}

				return elem;
			} ).append( this );
		}

		return this;
	},

	wrapInner: function( html ) {
		if ( isFunction( html ) ) {
			return this.each( function( i ) {
				jQuery( this ).wrapInner( html.call( this, i ) );
			} );
		}

		return this.each( function() {
			var self = jQuery( this ),
				contents = self.contents();

			if ( contents.length ) {
				contents.wrapAll( html );

			} else {
				self.append( html );
			}
		} );
	},

	wrap: function( html ) {
		var htmlIsFunction = isFunction( html );

		return this.each( function( i ) {
			jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
		} );
	},

	unwrap: function( selector ) {
		this.parent( selector ).not( "body" ).each( function() {
			jQuery( this ).replaceWith( this.childNodes );
		} );
		return this;
	}
} );


jQuery.expr.pseudos.hidden = function( elem ) {
	return !jQuery.expr.pseudos.visible( elem );
};
jQuery.expr.pseudos.visible = function( elem ) {
	return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
};




jQuery.ajaxSettings.xhr = function() {
	try {
		return new window.XMLHttpRequest();
	} catch ( e ) {}
};

var xhrSuccessStatus = {

		// File protocol always yields status code 0, assume 200
		0: 200,

		// Support: IE <=9 only
		// trac-1450: sometimes IE returns 1223 when it should be 204
		1223: 204
	},
	xhrSupported = jQuery.ajaxSettings.xhr();

support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
support.ajax = xhrSupported = !!xhrSupported;

jQuery.ajaxTransport( function( options ) {
	var callback, errorCallback;

	// Cross domain only allowed if supported through XMLHttpRequest
	if ( support.cors || xhrSupported && !options.crossDomain ) {
		return {
			send: function( headers, complete ) {
				var i,
					xhr = options.xhr();

				xhr.open(
					options.type,
					options.url,
					options.async,
					options.username,
					options.password
				);

				// Apply custom fields if provided
				if ( options.xhrFields ) {
					for ( i in options.xhrFields ) {
						xhr[ i ] = options.xhrFields[ i ];
					}
				}

				// Override mime type if needed
				if ( options.mimeType && xhr.overrideMimeType ) {
					xhr.overrideMimeType( options.mimeType );
				}

				// X-Requested-With header
				// For cross-domain requests, seeing as conditions for a preflight are
				// akin to a jigsaw puzzle, we simply never set it to be sure.
				// (it can always be set on a per-request basis or even using ajaxSetup)
				// For same-domain requests, won't change header if already provided.
				if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
					headers[ "X-Requested-With" ] = "XMLHttpRequest";
				}

				// Set headers
				for ( i in headers ) {
					xhr.setRequestHeader( i, headers[ i ] );
				}

				// Callback
				callback = function( type ) {
					return function() {
						if ( callback ) {
							callback = errorCallback = xhr.onload =
								xhr.onerror = xhr.onabort = xhr.ontimeout =
									xhr.onreadystatechange = null;

							if ( type === "abort" ) {
								xhr.abort();
							} else if ( type === "error" ) {

								// Support: IE <=9 only
								// On a manual native abort, IE9 throws
								// errors on any property access that is not readyState
								if ( typeof xhr.status !== "number" ) {
									complete( 0, "error" );
								} else {
									complete(

										// File: protocol always yields status 0; see trac-8605, trac-14207
										xhr.status,
										xhr.statusText
									);
								}
							} else {
								complete(
									xhrSuccessStatus[ xhr.status ] || xhr.status,
									xhr.statusText,

									// Support: IE <=9 only
									// IE9 has no XHR2 but throws on binary (trac-11426)
									// For XHR2 non-text, let the caller handle it (gh-2498)
									( xhr.responseType || "text" ) !== "text"  ||
									typeof xhr.responseText !== "string" ?
										{ binary: xhr.response } :
										{ text: xhr.responseText },
									xhr.getAllResponseHeaders()
								);
							}
						}
					};
				};

				// Listen to events
				xhr.onload = callback();
				errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );

				// Support: IE 9 only
				// Use onreadystatechange to replace onabort
				// to handle uncaught aborts
				if ( xhr.onabort !== undefined ) {
					xhr.onabort = errorCallback;
				} else {
					xhr.onreadystatechange = function() {

						// Check readyState before timeout as it changes
						if ( xhr.readyState === 4 ) {

							// Allow onerror to be called first,
							// but that will not handle a native abort
							// Also, save errorCallback to a variable
							// as xhr.onerror cannot be accessed
							window.setTimeout( function() {
								if ( callback ) {
									errorCallback();
								}
							} );
						}
					};
				}

				// Create the abort callback
				callback = callback( "abort" );

				try {

					// Do send the request (this may raise an exception)
					xhr.send( options.hasContent && options.data || null );
				} catch ( e ) {

					// trac-14683: Only rethrow if this hasn't been notified as an error yet
					if ( callback ) {
						throw e;
					}
				}
			},

			abort: function() {
				if ( callback ) {
					callback();
				}
			}
		};
	}
} );




// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
jQuery.ajaxPrefilter( function( s ) {
	if ( s.crossDomain ) {
		s.contents.script = false;
	}
} );

// Install script dataType
jQuery.ajaxSetup( {
	accepts: {
		script: "text/javascript, application/javascript, " +
			"application/ecmascript, application/x-ecmascript"
	},
	contents: {
		script: /\b(?:java|ecma)script\b/
	},
	converters: {
		"text script": function( text ) {
			jQuery.globalEval( text );
			return text;
		}
	}
} );

// Handle cache's special case and crossDomain
jQuery.ajaxPrefilter( "script", function( s ) {
	if ( s.cache === undefined ) {
		s.cache = false;
	}
	if ( s.crossDomain ) {
		s.type = "GET";
	}
} );

// Bind script tag hack transport
jQuery.ajaxTransport( "script", function( s ) {

	// This transport only deals with cross domain or forced-by-attrs requests
	if ( s.crossDomain || s.scriptAttrs ) {
		var script, callback;
		return {
			send: function( _, complete ) {
				script = jQuery( "<script>" )
					.attr( s.scriptAttrs || {} )
					.prop( { charset: s.scriptCharset, src: s.url } )
					.on( "load error", callback = function( evt ) {
						script.remove();
						callback = null;
						if ( evt ) {
							complete( evt.type === "error" ? 404 : 200, evt.type );
						}
					} );

				// Use native DOM manipulation to avoid our domManip AJAX trickery
				document.head.appendChild( script[ 0 ] );
			},
			abort: function() {
				if ( callback ) {
					callback();
				}
			}
		};
	}
} );




var oldCallbacks = [],
	rjsonp = /(=)\?(?=&|$)|\?\?/;

// Default jsonp settings
jQuery.ajaxSetup( {
	jsonp: "callback",
	jsonpCallback: function() {
		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
		this[ callback ] = true;
		return callback;
	}
} );

// Detect, normalize options and install callbacks for jsonp requests
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {

	var callbackName, overwritten, responseContainer,
		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
			"url" :
			typeof s.data === "string" &&
				( s.contentType || "" )
					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
				rjsonp.test( s.data ) && "data"
		);

	// Handle iff the expected data type is "jsonp" or we have a parameter to set
	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {

		// Get callback name, remembering preexisting value associated with it
		callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
			s.jsonpCallback() :
			s.jsonpCallback;

		// Insert callback into url or form data
		if ( jsonProp ) {
			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
		} else if ( s.jsonp !== false ) {
			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
		}

		// Use data converter to retrieve json after script execution
		s.converters[ "script json" ] = function() {
			if ( !responseContainer ) {
				jQuery.error( callbackName + " was not called" );
			}
			return responseContainer[ 0 ];
		};

		// Force json dataType
		s.dataTypes[ 0 ] = "json";

		// Install callback
		overwritten = window[ callbackName ];
		window[ callbackName ] = function() {
			responseContainer = arguments;
		};

		// Clean-up function (fires after converters)
		jqXHR.always( function() {

			// If previous value didn't exist - remove it
			if ( overwritten === undefined ) {
				jQuery( window ).removeProp( callbackName );

			// Otherwise restore preexisting value
			} else {
				window[ callbackName ] = overwritten;
			}

			// Save back as free
			if ( s[ callbackName ] ) {

				// Make sure that re-using the options doesn't screw things around
				s.jsonpCallback = originalSettings.jsonpCallback;

				// Save the callback name for future use
				oldCallbacks.push( callbackName );
			}

			// Call if it was a function and we have a response
			if ( responseContainer && isFunction( overwritten ) ) {
				overwritten( responseContainer[ 0 ] );
			}

			responseContainer = overwritten = undefined;
		} );

		// Delegate to script
		return "script";
	}
} );




// Support: Safari 8 only
// In Safari 8 documents created via document.implementation.createHTMLDocument
// collapse sibling forms: the second one becomes a child of the first one.
// Because of that, this security measure has to be disabled in Safari 8.
// https://bugs.webkit.org/show_bug.cgi?id=137337
support.createHTMLDocument = ( function() {
	var body = document.implementation.createHTMLDocument( "" ).body;
	body.innerHTML = "<form></form><form></form>";
	return body.childNodes.length === 2;
} )();


// Argument "data" should be string of html
// context (optional): If specified, the fragment will be created in this context,
// defaults to document
// keepScripts (optional): If true, will include scripts passed in the html string
jQuery.parseHTML = function( data, context, keepScripts ) {
	if ( typeof data !== "string" ) {
		return [];
	}
	if ( typeof context === "boolean" ) {
		keepScripts = context;
		context = false;
	}

	var base, parsed, scripts;

	if ( !context ) {

		// Stop scripts or inline event handlers from being executed immediately
		// by using document.implementation
		if ( support.createHTMLDocument ) {
			context = document.implementation.createHTMLDocument( "" );

			// Set the base href for the created document
			// so any parsed elements with URLs
			// are based on the document's URL (gh-2965)
			base = context.createElement( "base" );
			base.href = document.location.href;
			context.head.appendChild( base );
		} else {
			context = document;
		}
	}

	parsed = rsingleTag.exec( data );
	scripts = !keepScripts && [];

	// Single tag
	if ( parsed ) {
		return [ context.createElement( parsed[ 1 ] ) ];
	}

	parsed = buildFragment( [ data ], context, scripts );

	if ( scripts && scripts.length ) {
		jQuery( scripts ).remove();
	}

	return jQuery.merge( [], parsed.childNodes );
};


/**
 * Load a url into a page
 */
jQuery.fn.load = function( url, params, callback ) {
	var selector, type, response,
		self = this,
		off = url.indexOf( " " );

	if ( off > -1 ) {
		selector = stripAndCollapse( url.slice( off ) );
		url = url.slice( 0, off );
	}

	// If it's a function
	if ( isFunction( params ) ) {

		// We assume that it's the callback
		callback = params;
		params = undefined;

	// Otherwise, build a param string
	} else if ( params && typeof params === "object" ) {
		type = "POST";
	}

	// If we have elements to modify, make the request
	if ( self.length > 0 ) {
		jQuery.ajax( {
			url: url,

			// If "type" variable is undefined, then "GET" method will be used.
			// Make value of this field explicit since
			// user can override it through ajaxSetup method
			type: type || "GET",
			dataType: "html",
			data: params
		} ).done( function( responseText ) {

			// Save response for use in complete callback
			response = arguments;

			self.html( selector ?

				// If a selector was specified, locate the right elements in a dummy div
				// Exclude scripts to avoid IE 'Permission Denied' errors
				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :

				// Otherwise use the full result
				responseText );

		// If the request succeeds, this function gets "data", "status", "jqXHR"
		// but they are ignored because response was set above.
		// If it fails, this function gets "jqXHR", "status", "error"
		} ).always( callback && function( jqXHR, status ) {
			self.each( function() {
				callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
			} );
		} );
	}

	return this;
};




jQuery.expr.pseudos.animated = function( elem ) {
	return jQuery.grep( jQuery.timers, function( fn ) {
		return elem === fn.elem;
	} ).length;
};




jQuery.offset = {
	setOffset: function( elem, options, i ) {
		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
			position = jQuery.css( elem, "position" ),
			curElem = jQuery( elem ),
			props = {};

		// Set position first, in-case top/left are set even on static elem
		if ( position === "static" ) {
			elem.style.position = "relative";
		}

		curOffset = curElem.offset();
		curCSSTop = jQuery.css( elem, "top" );
		curCSSLeft = jQuery.css( elem, "left" );
		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;

		// Need to be able to calculate position if either
		// top or left is auto and position is either absolute or fixed
		if ( calculatePosition ) {
			curPosition = curElem.position();
			curTop = curPosition.top;
			curLeft = curPosition.left;

		} else {
			curTop = parseFloat( curCSSTop ) || 0;
			curLeft = parseFloat( curCSSLeft ) || 0;
		}

		if ( isFunction( options ) ) {

			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
		}

		if ( options.top != null ) {
			props.top = ( options.top - curOffset.top ) + curTop;
		}
		if ( options.left != null ) {
			props.left = ( options.left - curOffset.left ) + curLeft;
		}

		if ( "using" in options ) {
			options.using.call( elem, props );

		} else {
			curElem.css( props );
		}
	}
};

jQuery.fn.extend( {

	// offset() relates an element's border box to the document origin
	offset: function( options ) {

		// Preserve chaining for setter
		if ( arguments.length ) {
			return options === undefined ?
				this :
				this.each( function( i ) {
					jQuery.offset.setOffset( this, options, i );
				} );
		}

		var rect, win,
			elem = this[ 0 ];

		if ( !elem ) {
			return;
		}

		// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
		// Support: IE <=11 only
		// Running getBoundingClientRect on a
		// disconnected node in IE throws an error
		if ( !elem.getClientRects().length ) {
			return { top: 0, left: 0 };
		}

		// Get document-relative position by adding viewport scroll to viewport-relative gBCR
		rect = elem.getBoundingClientRect();
		win = elem.ownerDocument.defaultView;
		return {
			top: rect.top + win.pageYOffset,
			left: rect.left + win.pageXOffset
		};
	},

	// position() relates an element's margin box to its offset parent's padding box
	// This corresponds to the behavior of CSS absolute positioning
	position: function() {
		if ( !this[ 0 ] ) {
			return;
		}

		var offsetParent, offset, doc,
			elem = this[ 0 ],
			parentOffset = { top: 0, left: 0 };

		// position:fixed elements are offset from the viewport, which itself always has zero offset
		if ( jQuery.css( elem, "position" ) === "fixed" ) {

			// Assume position:fixed implies availability of getBoundingClientRect
			offset = elem.getBoundingClientRect();

		} else {
			offset = this.offset();

			// Account for the *real* offset parent, which can be the document or its root element
			// when a statically positioned element is identified
			doc = elem.ownerDocument;
			offsetParent = elem.offsetParent || doc.documentElement;
			while ( offsetParent &&
				( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
				jQuery.css( offsetParent, "position" ) === "static" ) {

				offsetParent = offsetParent.parentNode;
			}
			if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {

				// Incorporate borders into its offset, since they are outside its content origin
				parentOffset = jQuery( offsetParent ).offset();
				parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
				parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
			}
		}

		// Subtract parent offsets and element margins
		return {
			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
		};
	},

	// This method will return documentElement in the following cases:
	// 1) For the element inside the iframe without offsetParent, this method will return
	//    documentElement of the parent window
	// 2) For the hidden or detached element
	// 3) For body or html element, i.e. in case of the html node - it will return itself
	//
	// but those exceptions were never presented as a real life use-cases
	// and might be considered as more preferable results.
	//
	// This logic, however, is not guaranteed and can change at any point in the future
	offsetParent: function() {
		return this.map( function() {
			var offsetParent = this.offsetParent;

			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
				offsetParent = offsetParent.offsetParent;
			}

			return offsetParent || documentElement;
		} );
	}
} );

// Create scrollLeft and scrollTop methods
jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
	var top = "pageYOffset" === prop;

	jQuery.fn[ method ] = function( val ) {
		return access( this, function( elem, method, val ) {

			// Coalesce documents and windows
			var win;
			if ( isWindow( elem ) ) {
				win = elem;
			} else if ( elem.nodeType === 9 ) {
				win = elem.defaultView;
			}

			if ( val === undefined ) {
				return win ? win[ prop ] : elem[ method ];
			}

			if ( win ) {
				win.scrollTo(
					!top ? val : win.pageXOffset,
					top ? val : win.pageYOffset
				);

			} else {
				elem[ method ] = val;
			}
		}, method, val, arguments.length );
	};
} );

// Support: Safari <=7 - 9.1, Chrome <=37 - 49
// Add the top/left cssHooks using jQuery.fn.position
// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
// getComputedStyle returns percent when specified for top/left/bottom/right;
// rather than make the css module depend on the offset module, just check for it here
jQuery.each( [ "top", "left" ], function( _i, prop ) {
	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
		function( elem, computed ) {
			if ( computed ) {
				computed = curCSS( elem, prop );

				// If curCSS returns percentage, fallback to offset
				return rnumnonpx.test( computed ) ?
					jQuery( elem ).position()[ prop ] + "px" :
					computed;
			}
		}
	);
} );


// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
	jQuery.each( {
		padding: "inner" + name,
		content: type,
		"": "outer" + name
	}, function( defaultExtra, funcName ) {

		// Margin is only for outerHeight, outerWidth
		jQuery.fn[ funcName ] = function( margin, value ) {
			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );

			return access( this, function( elem, type, value ) {
				var doc;

				if ( isWindow( elem ) ) {

					// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
					return funcName.indexOf( "outer" ) === 0 ?
						elem[ "inner" + name ] :
						elem.document.documentElement[ "client" + name ];
				}

				// Get document width or height
				if ( elem.nodeType === 9 ) {
					doc = elem.documentElement;

					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
					// whichever is greatest
					return Math.max(
						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
						elem.body[ "offset" + name ], doc[ "offset" + name ],
						doc[ "client" + name ]
					);
				}

				return value === undefined ?

					// Get width or height on the element, requesting but not forcing parseFloat
					jQuery.css( elem, type, extra ) :

					// Set width or height on the element
					jQuery.style( elem, type, value, extra );
			}, type, chainable ? margin : undefined, chainable );
		};
	} );
} );


jQuery.each( [
	"ajaxStart",
	"ajaxStop",
	"ajaxComplete",
	"ajaxError",
	"ajaxSuccess",
	"ajaxSend"
], function( _i, type ) {
	jQuery.fn[ type ] = function( fn ) {
		return this.on( type, fn );
	};
} );




jQuery.fn.extend( {

	bind: function( types, data, fn ) {
		return this.on( types, null, data, fn );
	},
	unbind: function( types, fn ) {
		return this.off( types, null, fn );
	},

	delegate: function( selector, types, data, fn ) {
		return this.on( types, selector, data, fn );
	},
	undelegate: function( selector, types, fn ) {

		// ( namespace ) or ( selector, types [, fn] )
		return arguments.length === 1 ?
			this.off( selector, "**" ) :
			this.off( types, selector || "**", fn );
	},

	hover: function( fnOver, fnOut ) {
		return this
			.on( "mouseenter", fnOver )
			.on( "mouseleave", fnOut || fnOver );
	}
} );

jQuery.each(
	( "blur focus focusin focusout resize scroll click dblclick " +
	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
	function( _i, name ) {

		// Handle event binding
		jQuery.fn[ name ] = function( data, fn ) {
			return arguments.length > 0 ?
				this.on( name, null, data, fn ) :
				this.trigger( name );
		};
	}
);




// Support: Android <=4.0 only
// Make sure we trim BOM and NBSP
// Require that the "whitespace run" starts from a non-whitespace
// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;

// Bind a function to a context, optionally partially applying any
// arguments.
// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
// However, it is not slated for removal any time soon
jQuery.proxy = function( fn, context ) {
	var tmp, args, proxy;

	if ( typeof context === "string" ) {
		tmp = fn[ context ];
		context = fn;
		fn = tmp;
	}

	// Quick check to determine if target is callable, in the spec
	// this throws a TypeError, but we will just return undefined.
	if ( !isFunction( fn ) ) {
		return undefined;
	}

	// Simulated bind
	args = slice.call( arguments, 2 );
	proxy = function() {
		return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
	};

	// Set the guid of unique handler to the same of original handler, so it can be removed
	proxy.guid = fn.guid = fn.guid || jQuery.guid++;

	return proxy;
};

jQuery.holdReady = function( hold ) {
	if ( hold ) {
		jQuery.readyWait++;
	} else {
		jQuery.ready( true );
	}
};
jQuery.isArray = Array.isArray;
jQuery.parseJSON = JSON.parse;
jQuery.nodeName = nodeName;
jQuery.isFunction = isFunction;
jQuery.isWindow = isWindow;
jQuery.camelCase = camelCase;
jQuery.type = toType;

jQuery.now = Date.now;

jQuery.isNumeric = function( obj ) {

	// As of jQuery 3.0, isNumeric is limited to
	// strings and numbers (primitives or objects)
	// that can be coerced to finite numbers (gh-2662)
	var type = jQuery.type( obj );
	return ( type === "number" || type === "string" ) &&

		// parseFloat NaNs numeric-cast false positives ("")
		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
		// subtraction forces infinities to NaN
		!isNaN( obj - parseFloat( obj ) );
};

jQuery.trim = function( text ) {
	return text == null ?
		"" :
		( text + "" ).replace( rtrim, "$1" );
};



// Register as a named AMD module, since jQuery can be concatenated with other
// files that may use define, but not via a proper concatenation script that
// understands anonymous AMD modules. A named AMD is safest and most robust
// way to register. Lowercase jquery is used because AMD module names are
// derived from file names, and jQuery is normally delivered in a lowercase
// file name. Do this after creating the global so that if an AMD module wants
// to call noConflict to hide this version of jQuery, it will work.

// Note that for maximum portability, libraries that are not jQuery should
// declare themselves as anonymous modules, and avoid setting a global if an
// AMD loader is present. jQuery is a special case. For more information, see
// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon

if ( typeof define === "function" && define.amd ) {
	define( "jquery", [], function() {
		return jQuery;
	} );
}




var

	// Map over jQuery in case of overwrite
	_jQuery = window.jQuery,

	// Map over the $ in case of overwrite
	_$ = window.$;

jQuery.noConflict = function( deep ) {
	if ( window.$ === jQuery ) {
		window.$ = _$;
	}

	if ( deep && window.jQuery === jQuery ) {
		window.jQuery = _jQuery;
	}

	return jQuery;
};

// Expose jQuery and $ identifiers, even in AMD
// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
// and CommonJS for browser emulators (trac-13566)
if ( typeof noGlobal === "undefined" ) {
	window.jQuery = window.$ = jQuery;
}




return jQuery;
} );
jQuery.noConflict();
// source --> https://microwinlabs.com/wp-includes/js/jquery/jquery-migrate.js?ver=3.4.1 
/*!
 * jQuery Migrate - v3.4.1 - 2023-02-23T15:31Z
 * Copyright OpenJS Foundation and other contributors
 */
( function( factory ) {
	"use strict";

	if ( typeof define === "function" && define.amd ) {

		// AMD. Register as an anonymous module.
		define( [ "jquery" ], function( jQuery ) {
			return factory( jQuery, window );
		} );
	} else if ( typeof module === "object" && module.exports ) {

		// Node/CommonJS
		// eslint-disable-next-line no-undef
		module.exports = factory( require( "jquery" ), window );
	} else {

		// Browser globals
		factory( jQuery, window );
	}
} )( function( jQuery, window ) {
"use strict";

jQuery.migrateVersion = "3.4.1";

// Returns 0 if v1 == v2, -1 if v1 < v2, 1 if v1 > v2
function compareVersions( v1, v2 ) {
	var i,
		rVersionParts = /^(\d+)\.(\d+)\.(\d+)/,
		v1p = rVersionParts.exec( v1 ) || [ ],
		v2p = rVersionParts.exec( v2 ) || [ ];

	for ( i = 1; i <= 3; i++ ) {
		if ( +v1p[ i ] > +v2p[ i ] ) {
			return 1;
		}
		if ( +v1p[ i ] < +v2p[ i ] ) {
			return -1;
		}
	}
	return 0;
}

function jQueryVersionSince( version ) {
	return compareVersions( jQuery.fn.jquery, version ) >= 0;
}

// A map from disabled patch codes to `true`. This should really
// be a `Set` but those are unsupported in IE.
var disabledPatches = Object.create( null );

// Don't apply patches for specified codes. Helpful for code bases
// where some Migrate warnings have been addressed and it's desirable
// to avoid needless patches or false positives.
jQuery.migrateDisablePatches = function() {
	var i;
	for ( i = 0; i < arguments.length; i++ ) {
		disabledPatches[ arguments[ i ] ] = true;
	}
};

// Allow enabling patches disabled via `jQuery.migrateDisablePatches`.
// Helpful if you want to disable a patch only for some code that won't
// be updated soon to be able to focus on other warnings - and enable it
// immediately after such a call:
// ```js
// jQuery.migrateDisablePatches( "workaroundA" );
// elem.pluginViolatingWarningA( "pluginMethod" );
// jQuery.migrateEnablePatches( "workaroundA" );
// ```
jQuery.migrateEnablePatches = function() {
	var i;
	for ( i = 0; i < arguments.length; i++ ) {
		delete disabledPatches[ arguments[ i ] ];
	}
};

jQuery.migrateIsPatchEnabled = function( patchCode ) {
	return !disabledPatches[ patchCode ];
};

( function() {

	// Support: IE9 only
	// IE9 only creates console object when dev tools are first opened
	// IE9 console is a host object, callable but doesn't have .apply()
	if ( !window.console || !window.console.log ) {
		return;
	}

	// Need jQuery 3.x-4.x and no older Migrate loaded
	if ( !jQuery || !jQueryVersionSince( "3.0.0" ) ||
			jQueryVersionSince( "5.0.0" ) ) {
		window.console.log( "JQMIGRATE: jQuery 3.x-4.x REQUIRED" );
	}
	if ( jQuery.migrateWarnings ) {
		window.console.log( "JQMIGRATE: Migrate plugin loaded multiple times" );
	}

	// Show a message on the console so devs know we're active
	window.console.log( "JQMIGRATE: Migrate is installed" +
		( jQuery.migrateMute ? "" : " with logging active" ) +
		", version " + jQuery.migrateVersion );

} )();

var warnedAbout = {};

// By default each warning is only reported once.
jQuery.migrateDeduplicateWarnings = true;

// List of warnings already given; public read only
jQuery.migrateWarnings = [];

// Set to false to disable traces that appear with warnings
if ( jQuery.migrateTrace === undefined ) {
	jQuery.migrateTrace = true;
}

// Forget any warnings we've already given; public
jQuery.migrateReset = function() {
	warnedAbout = {};
	jQuery.migrateWarnings.length = 0;
};

function migrateWarn( code, msg ) {
	var console = window.console;
	if ( jQuery.migrateIsPatchEnabled( code ) &&
		( !jQuery.migrateDeduplicateWarnings || !warnedAbout[ msg ] ) ) {
		warnedAbout[ msg ] = true;
		jQuery.migrateWarnings.push( msg + " [" + code + "]" );
		if ( console && console.warn && !jQuery.migrateMute ) {
			console.warn( "JQMIGRATE: " + msg );
			if ( jQuery.migrateTrace && console.trace ) {
				console.trace();
			}
		}
	}
}

function migrateWarnProp( obj, prop, value, code, msg ) {
	Object.defineProperty( obj, prop, {
		configurable: true,
		enumerable: true,
		get: function() {
			migrateWarn( code, msg );
			return value;
		},
		set: function( newValue ) {
			migrateWarn( code, msg );
			value = newValue;
		}
	} );
}

function migrateWarnFuncInternal( obj, prop, newFunc, code, msg ) {
	var finalFunc,
		origFunc = obj[ prop ];

	obj[ prop ] = function() {

		// If `msg` not provided, do not warn; more sophisticated warnings
		// logic is most likely embedded in `newFunc`, in that case here
		// we just care about the logic choosing the proper implementation
		// based on whether the patch is disabled or not.
		if ( msg ) {
			migrateWarn( code, msg );
		}

		// Since patches can be disabled & enabled dynamically, we
		// need to decide which implementation to run on each invocation.
		finalFunc = jQuery.migrateIsPatchEnabled( code ) ?
			newFunc :

			// The function may not have existed originally so we need a fallback.
			( origFunc || jQuery.noop );

		return finalFunc.apply( this, arguments );
	};
}

function migratePatchAndWarnFunc( obj, prop, newFunc, code, msg ) {
	if ( !msg ) {
		throw new Error( "No warning message provided" );
	}
	return migrateWarnFuncInternal( obj, prop, newFunc, code, msg );
}

function migratePatchFunc( obj, prop, newFunc, code ) {
	return migrateWarnFuncInternal( obj, prop, newFunc, code );
}

if ( window.document.compatMode === "BackCompat" ) {

	// jQuery has never supported or tested Quirks Mode
	migrateWarn( "quirks", "jQuery is not compatible with Quirks Mode" );
}

var findProp,
	class2type = {},
	oldInit = jQuery.fn.init,
	oldFind = jQuery.find,

	rattrHashTest = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,
	rattrHashGlob = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g,

	// Require that the "whitespace run" starts from a non-whitespace
	// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
	rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;

migratePatchFunc( jQuery.fn, "init", function( arg1 ) {
	var args = Array.prototype.slice.call( arguments );

	if ( jQuery.migrateIsPatchEnabled( "selector-empty-id" ) &&
		typeof arg1 === "string" && arg1 === "#" ) {

		// JQuery( "#" ) is a bogus ID selector, but it returned an empty set
		// before jQuery 3.0
		migrateWarn( "selector-empty-id", "jQuery( '#' ) is not a valid selector" );
		args[ 0 ] = [];
	}

	return oldInit.apply( this, args );
}, "selector-empty-id" );

// This is already done in Core but the above patch will lose this assignment
// so we need to redo it. It doesn't matter whether the patch is enabled or not
// as the method is always going to be a Migrate-created wrapper.
jQuery.fn.init.prototype = jQuery.fn;

migratePatchFunc( jQuery, "find", function( selector ) {
	var args = Array.prototype.slice.call( arguments );

	// Support: PhantomJS 1.x
	// String#match fails to match when used with a //g RegExp, only on some strings
	if ( typeof selector === "string" && rattrHashTest.test( selector ) ) {

		// The nonstandard and undocumented unquoted-hash was removed in jQuery 1.12.0
		// First see if qS thinks it's a valid selector, if so avoid a false positive
		try {
			window.document.querySelector( selector );
		} catch ( err1 ) {

			// Didn't *look* valid to qSA, warn and try quoting what we think is the value
			selector = selector.replace( rattrHashGlob, function( _, attr, op, value ) {
				return "[" + attr + op + "\"" + value + "\"]";
			} );

			// If the regexp *may* have created an invalid selector, don't update it
			// Note that there may be false alarms if selector uses jQuery extensions
			try {
				window.document.querySelector( selector );
				migrateWarn( "selector-hash",
					"Attribute selector with '#' must be quoted: " + args[ 0 ] );
				args[ 0 ] = selector;
			} catch ( err2 ) {
				migrateWarn( "selector-hash",
					"Attribute selector with '#' was not fixed: " + args[ 0 ] );
			}
		}
	}

	return oldFind.apply( this, args );
}, "selector-hash" );

// Copy properties attached to original jQuery.find method (e.g. .attr, .isXML)
for ( findProp in oldFind ) {
	if ( Object.prototype.hasOwnProperty.call( oldFind, findProp ) ) {
		jQuery.find[ findProp ] = oldFind[ findProp ];
	}
}

// The number of elements contained in the matched element set
migratePatchAndWarnFunc( jQuery.fn, "size", function() {
	return this.length;
}, "size",
"jQuery.fn.size() is deprecated and removed; use the .length property" );

migratePatchAndWarnFunc( jQuery, "parseJSON", function() {
	return JSON.parse.apply( null, arguments );
}, "parseJSON",
"jQuery.parseJSON is deprecated; use JSON.parse" );

migratePatchAndWarnFunc( jQuery, "holdReady", jQuery.holdReady,
	"holdReady", "jQuery.holdReady is deprecated" );

migratePatchAndWarnFunc( jQuery, "unique", jQuery.uniqueSort,
	"unique", "jQuery.unique is deprecated; use jQuery.uniqueSort" );

// Now jQuery.expr.pseudos is the standard incantation
migrateWarnProp( jQuery.expr, "filters", jQuery.expr.pseudos, "expr-pre-pseudos",
	"jQuery.expr.filters is deprecated; use jQuery.expr.pseudos" );
migrateWarnProp( jQuery.expr, ":", jQuery.expr.pseudos, "expr-pre-pseudos",
	"jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos" );

// Prior to jQuery 3.1.1 there were internal refs so we don't warn there
if ( jQueryVersionSince( "3.1.1" ) ) {
	migratePatchAndWarnFunc( jQuery, "trim", function( text ) {
		return text == null ?
			"" :
			( text + "" ).replace( rtrim, "$1" );
	}, "trim",
	"jQuery.trim is deprecated; use String.prototype.trim" );
}

// Prior to jQuery 3.2 there were internal refs so we don't warn there
if ( jQueryVersionSince( "3.2.0" ) ) {
	migratePatchAndWarnFunc( jQuery, "nodeName", function( elem, name ) {
		return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
	}, "nodeName",
	"jQuery.nodeName is deprecated" );

	migratePatchAndWarnFunc( jQuery, "isArray", Array.isArray, "isArray",
		"jQuery.isArray is deprecated; use Array.isArray"
	);
}

if ( jQueryVersionSince( "3.3.0" ) ) {

	migratePatchAndWarnFunc( jQuery, "isNumeric", function( obj ) {

			// As of jQuery 3.0, isNumeric is limited to
			// strings and numbers (primitives or objects)
			// that can be coerced to finite numbers (gh-2662)
			var type = typeof obj;
			return ( type === "number" || type === "string" ) &&

				// parseFloat NaNs numeric-cast false positives ("")
				// ...but misinterprets leading-number strings, e.g. hex literals ("0x...")
				// subtraction forces infinities to NaN
				!isNaN( obj - parseFloat( obj ) );
		}, "isNumeric",
		"jQuery.isNumeric() is deprecated"
	);

	// Populate the class2type map
	jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".
		split( " " ),
	function( _, name ) {
		class2type[ "[object " + name + "]" ] = name.toLowerCase();
	} );

	migratePatchAndWarnFunc( jQuery, "type", function( obj ) {
		if ( obj == null ) {
			return obj + "";
		}

		// Support: Android <=2.3 only (functionish RegExp)
		return typeof obj === "object" || typeof obj === "function" ?
			class2type[ Object.prototype.toString.call( obj ) ] || "object" :
			typeof obj;
	}, "type",
	"jQuery.type is deprecated" );

	migratePatchAndWarnFunc( jQuery, "isFunction",
		function( obj ) {
			return typeof obj === "function";
		}, "isFunction",
		"jQuery.isFunction() is deprecated" );

	migratePatchAndWarnFunc( jQuery, "isWindow",
		function( obj ) {
			return obj != null && obj === obj.window;
		}, "isWindow",
		"jQuery.isWindow() is deprecated"
	);
}

// Support jQuery slim which excludes the ajax module
if ( jQuery.ajax ) {

var oldAjax = jQuery.ajax,
	rjsonp = /(=)\?(?=&|$)|\?\?/;

migratePatchFunc( jQuery, "ajax", function() {
	var jQXHR = oldAjax.apply( this, arguments );

	// Be sure we got a jQXHR (e.g., not sync)
	if ( jQXHR.promise ) {
		migratePatchAndWarnFunc( jQXHR, "success", jQXHR.done, "jqXHR-methods",
			"jQXHR.success is deprecated and removed" );
		migratePatchAndWarnFunc( jQXHR, "error", jQXHR.fail, "jqXHR-methods",
			"jQXHR.error is deprecated and removed" );
		migratePatchAndWarnFunc( jQXHR, "complete", jQXHR.always, "jqXHR-methods",
			"jQXHR.complete is deprecated and removed" );
	}

	return jQXHR;
}, "jqXHR-methods" );

// Only trigger the logic in jQuery <4 as the JSON-to-JSONP auto-promotion
// behavior is gone in jQuery 4.0 and as it has security implications, we don't
// want to restore the legacy behavior.
if ( !jQueryVersionSince( "4.0.0" ) ) {

	// Register this prefilter before the jQuery one. Otherwise, a promoted
	// request is transformed into one with the script dataType and we can't
	// catch it anymore.
	jQuery.ajaxPrefilter( "+json", function( s ) {

		// Warn if JSON-to-JSONP auto-promotion happens.
		if ( s.jsonp !== false && ( rjsonp.test( s.url ) ||
				typeof s.data === "string" &&
				( s.contentType || "" )
					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
				rjsonp.test( s.data )
		) ) {
			migrateWarn( "jsonp-promotion", "JSON-to-JSONP auto-promotion is deprecated" );
		}
	} );
}

}

var oldRemoveAttr = jQuery.fn.removeAttr,
	oldToggleClass = jQuery.fn.toggleClass,
	rmatchNonSpace = /\S+/g;

migratePatchFunc( jQuery.fn, "removeAttr", function( name ) {
	var self = this,
		patchNeeded = false;

	jQuery.each( name.match( rmatchNonSpace ), function( _i, attr ) {
		if ( jQuery.expr.match.bool.test( attr ) ) {

			// Only warn if at least a single node had the property set to
			// something else than `false`. Otherwise, this Migrate patch
			// doesn't influence the behavior and there's no need to set or warn.
			self.each( function() {
				if ( jQuery( this ).prop( attr ) !== false ) {
					patchNeeded = true;
					return false;
				}
			} );
		}

		if ( patchNeeded ) {
			migrateWarn( "removeAttr-bool",
				"jQuery.fn.removeAttr no longer sets boolean properties: " + attr );
			self.prop( attr, false );
		}
	} );

	return oldRemoveAttr.apply( this, arguments );
}, "removeAttr-bool" );

migratePatchFunc( jQuery.fn, "toggleClass", function( state ) {

	// Only deprecating no-args or single boolean arg
	if ( state !== undefined && typeof state !== "boolean" ) {

		return oldToggleClass.apply( this, arguments );
	}

	migrateWarn( "toggleClass-bool", "jQuery.fn.toggleClass( boolean ) is deprecated" );

	// Toggle entire class name of each element
	return this.each( function() {
		var className = this.getAttribute && this.getAttribute( "class" ) || "";

		if ( className ) {
			jQuery.data( this, "__className__", className );
		}

		// If the element has a class name or if we're passed `false`,
		// then remove the whole classname (if there was one, the above saved it).
		// Otherwise bring back whatever was previously saved (if anything),
		// falling back to the empty string if nothing was stored.
		if ( this.setAttribute ) {
			this.setAttribute( "class",
				className || state === false ?
				"" :
				jQuery.data( this, "__className__" ) || ""
			);
		}
	} );
}, "toggleClass-bool" );

function camelCase( string ) {
	return string.replace( /-([a-z])/g, function( _, letter ) {
		return letter.toUpperCase();
	} );
}

var origFnCss, internalCssNumber,
	internalSwapCall = false,
	ralphaStart = /^[a-z]/,

	// The regex visualized:
	//
	//                         /----------\
	//                        |            |    /-------\
	//                        |  / Top  \  |   |         |
	//         /--- Border ---+-| Right  |-+---+- Width -+---\
	//        |                 | Bottom |                    |
	//        |                  \ Left /                     |
	//        |                                               |
	//        |                              /----------\     |
	//        |          /-------------\    |            |    |- END
	//        |         |               |   |  / Top  \  |    |
	//        |         |  / Margin  \  |   | | Right  | |    |
	//        |---------+-|           |-+---+-| Bottom |-+----|
	//        |            \ Padding /         \ Left /       |
	// BEGIN -|                                               |
	//        |                /---------\                    |
	//        |               |           |                   |
	//        |               |  / Min \  |    / Width  \     |
	//         \--------------+-|       |-+---|          |---/
	//                           \ Max /       \ Height /
	rautoPx = /^(?:Border(?:Top|Right|Bottom|Left)?(?:Width|)|(?:Margin|Padding)?(?:Top|Right|Bottom|Left)?|(?:Min|Max)?(?:Width|Height))$/;

// If this version of jQuery has .swap(), don't false-alarm on internal uses
if ( jQuery.swap ) {
	jQuery.each( [ "height", "width", "reliableMarginRight" ], function( _, name ) {
		var oldHook = jQuery.cssHooks[ name ] && jQuery.cssHooks[ name ].get;

		if ( oldHook ) {
			jQuery.cssHooks[ name ].get = function() {
				var ret;

				internalSwapCall = true;
				ret = oldHook.apply( this, arguments );
				internalSwapCall = false;
				return ret;
			};
		}
	} );
}

migratePatchFunc( jQuery, "swap", function( elem, options, callback, args ) {
	var ret, name,
		old = {};

	if ( !internalSwapCall ) {
		migrateWarn( "swap", "jQuery.swap() is undocumented and deprecated" );
	}

	// Remember the old values, and insert the new ones
	for ( name in options ) {
		old[ name ] = elem.style[ name ];
		elem.style[ name ] = options[ name ];
	}

	ret = callback.apply( elem, args || [] );

	// Revert the old values
	for ( name in options ) {
		elem.style[ name ] = old[ name ];
	}

	return ret;
}, "swap" );

if ( jQueryVersionSince( "3.4.0" ) && typeof Proxy !== "undefined" ) {
	jQuery.cssProps = new Proxy( jQuery.cssProps || {}, {
		set: function() {
			migrateWarn( "cssProps", "jQuery.cssProps is deprecated" );
			return Reflect.set.apply( this, arguments );
		}
	} );
}

// In jQuery >=4 where jQuery.cssNumber is missing fill it with the latest 3.x version:
// https://github.com/jquery/jquery/blob/3.6.0/src/css.js#L212-L233
// This way, number values for the CSS properties below won't start triggering
// Migrate warnings when jQuery gets updated to >=4.0.0 (gh-438).
if ( jQueryVersionSince( "4.0.0" ) ) {

	// We need to keep this as a local variable as we need it internally
	// in a `jQuery.fn.css` patch and this usage shouldn't warn.
	internalCssNumber = {
		animationIterationCount: true,
		columnCount: true,
		fillOpacity: true,
		flexGrow: true,
		flexShrink: true,
		fontWeight: true,
		gridArea: true,
		gridColumn: true,
		gridColumnEnd: true,
		gridColumnStart: true,
		gridRow: true,
		gridRowEnd: true,
		gridRowStart: true,
		lineHeight: true,
		opacity: true,
		order: true,
		orphans: true,
		widows: true,
		zIndex: true,
		zoom: true
	};

	if ( typeof Proxy !== "undefined" ) {
		jQuery.cssNumber = new Proxy( internalCssNumber, {
			get: function() {
				migrateWarn( "css-number", "jQuery.cssNumber is deprecated" );
				return Reflect.get.apply( this, arguments );
			},
			set: function() {
				migrateWarn( "css-number", "jQuery.cssNumber is deprecated" );
				return Reflect.set.apply( this, arguments );
			}
		} );
	} else {

		// Support: IE 9-11+
		// IE doesn't support proxies, but we still want to restore the legacy
		// jQuery.cssNumber there.
		jQuery.cssNumber = internalCssNumber;
	}
} else {

	// Make `internalCssNumber` defined for jQuery <4 as well as it's needed
	// in the `jQuery.fn.css` patch below.
	internalCssNumber = jQuery.cssNumber;
}

function isAutoPx( prop ) {

	// The first test is used to ensure that:
	// 1. The prop starts with a lowercase letter (as we uppercase it for the second regex).
	// 2. The prop is not empty.
	return ralphaStart.test( prop ) &&
		rautoPx.test( prop[ 0 ].toUpperCase() + prop.slice( 1 ) );
}

origFnCss = jQuery.fn.css;

migratePatchFunc( jQuery.fn, "css", function( name, value ) {
	var camelName,
		origThis = this;

	if ( name && typeof name === "object" && !Array.isArray( name ) ) {
		jQuery.each( name, function( n, v ) {
			jQuery.fn.css.call( origThis, n, v );
		} );
		return this;
	}

	if ( typeof value === "number" ) {
		camelName = camelCase( name );

		// Use `internalCssNumber` to avoid triggering our warnings in this
		// internal check.
		if ( !isAutoPx( camelName ) && !internalCssNumber[ camelName ] ) {
			migrateWarn( "css-number",
				"Number-typed values are deprecated for jQuery.fn.css( \"" +
				name + "\", value )" );
		}
	}

	return origFnCss.apply( this, arguments );
}, "css-number" );

var origData = jQuery.data;

migratePatchFunc( jQuery, "data", function( elem, name, value ) {
	var curData, sameKeys, key;

	// Name can be an object, and each entry in the object is meant to be set as data
	if ( name && typeof name === "object" && arguments.length === 2 ) {

		curData = jQuery.hasData( elem ) && origData.call( this, elem );
		sameKeys = {};
		for ( key in name ) {
			if ( key !== camelCase( key ) ) {
				migrateWarn( "data-camelCase",
					"jQuery.data() always sets/gets camelCased names: " + key );
				curData[ key ] = name[ key ];
			} else {
				sameKeys[ key ] = name[ key ];
			}
		}

		origData.call( this, elem, sameKeys );

		return name;
	}

	// If the name is transformed, look for the un-transformed name in the data object
	if ( name && typeof name === "string" && name !== camelCase( name ) ) {

		curData = jQuery.hasData( elem ) && origData.call( this, elem );
		if ( curData && name in curData ) {
			migrateWarn( "data-camelCase",
				"jQuery.data() always sets/gets camelCased names: " + name );
			if ( arguments.length > 2 ) {
				curData[ name ] = value;
			}
			return curData[ name ];
		}
	}

	return origData.apply( this, arguments );
}, "data-camelCase" );

// Support jQuery slim which excludes the effects module
if ( jQuery.fx ) {

var intervalValue, intervalMsg,
	oldTweenRun = jQuery.Tween.prototype.run,
	linearEasing = function( pct ) {
		return pct;
	};

migratePatchFunc( jQuery.Tween.prototype, "run", function( ) {
	if ( jQuery.easing[ this.easing ].length > 1 ) {
		migrateWarn(
			"easing-one-arg",
			"'jQuery.easing." + this.easing.toString() + "' should use only one argument"
		);

		jQuery.easing[ this.easing ] = linearEasing;
	}

	oldTweenRun.apply( this, arguments );
}, "easing-one-arg" );

intervalValue = jQuery.fx.interval;
intervalMsg = "jQuery.fx.interval is deprecated";

// Support: IE9, Android <=4.4
// Avoid false positives on browsers that lack rAF
// Don't warn if document is hidden, jQuery uses setTimeout (#292)
if ( window.requestAnimationFrame ) {
	Object.defineProperty( jQuery.fx, "interval", {
		configurable: true,
		enumerable: true,
		get: function() {
			if ( !window.document.hidden ) {
				migrateWarn( "fx-interval", intervalMsg );
			}

			// Only fallback to the default if patch is enabled
			if ( !jQuery.migrateIsPatchEnabled( "fx-interval" ) ) {
				return intervalValue;
			}
			return intervalValue === undefined ? 13 : intervalValue;
		},
		set: function( newValue ) {
			migrateWarn( "fx-interval", intervalMsg );
			intervalValue = newValue;
		}
	} );
}

}

var oldLoad = jQuery.fn.load,
	oldEventAdd = jQuery.event.add,
	originalFix = jQuery.event.fix;

jQuery.event.props = [];
jQuery.event.fixHooks = {};

migrateWarnProp( jQuery.event.props, "concat", jQuery.event.props.concat,
	"event-old-patch",
	"jQuery.event.props.concat() is deprecated and removed" );

migratePatchFunc( jQuery.event, "fix", function( originalEvent ) {
	var event,
		type = originalEvent.type,
		fixHook = this.fixHooks[ type ],
		props = jQuery.event.props;

	if ( props.length ) {
		migrateWarn( "event-old-patch",
			"jQuery.event.props are deprecated and removed: " + props.join() );
		while ( props.length ) {
			jQuery.event.addProp( props.pop() );
		}
	}

	if ( fixHook && !fixHook._migrated_ ) {
		fixHook._migrated_ = true;
		migrateWarn( "event-old-patch",
			"jQuery.event.fixHooks are deprecated and removed: " + type );
		if ( ( props = fixHook.props ) && props.length ) {
			while ( props.length ) {
				jQuery.event.addProp( props.pop() );
			}
		}
	}

	event = originalFix.call( this, originalEvent );

	return fixHook && fixHook.filter ?
		fixHook.filter( event, originalEvent ) :
		event;
}, "event-old-patch" );

migratePatchFunc( jQuery.event, "add", function( elem, types ) {

	// This misses the multiple-types case but that seems awfully rare
	if ( elem === window && types === "load" && window.document.readyState === "complete" ) {
		migrateWarn( "load-after-event",
			"jQuery(window).on('load'...) called after load event occurred" );
	}
	return oldEventAdd.apply( this, arguments );
}, "load-after-event" );

jQuery.each( [ "load", "unload", "error" ], function( _, name ) {

	migratePatchFunc( jQuery.fn, name, function() {
		var args = Array.prototype.slice.call( arguments, 0 );

		// If this is an ajax load() the first arg should be the string URL;
		// technically this could also be the "Anything" arg of the event .load()
		// which just goes to show why this dumb signature has been deprecated!
		// jQuery custom builds that exclude the Ajax module justifiably die here.
		if ( name === "load" && typeof args[ 0 ] === "string" ) {
			return oldLoad.apply( this, args );
		}

		migrateWarn( "shorthand-removed-v3",
			"jQuery.fn." + name + "() is deprecated" );

		args.splice( 0, 0, name );
		if ( arguments.length ) {
			return this.on.apply( this, args );
		}

		// Use .triggerHandler here because:
		// - load and unload events don't need to bubble, only applied to window or image
		// - error event should not bubble to window, although it does pre-1.7
		// See http://bugs.jquery.com/ticket/11820
		this.triggerHandler.apply( this, args );
		return this;
	}, "shorthand-removed-v3" );

} );

jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
	function( _i, name ) {

	// Handle event binding
	migratePatchAndWarnFunc( jQuery.fn, name, function( data, fn ) {
		return arguments.length > 0 ?
			this.on( name, null, data, fn ) :
			this.trigger( name );
		},
		"shorthand-deprecated-v3",
		"jQuery.fn." + name + "() event shorthand is deprecated" );
} );

// Trigger "ready" event only once, on document ready
jQuery( function() {
	jQuery( window.document ).triggerHandler( "ready" );
} );

jQuery.event.special.ready = {
	setup: function() {
		if ( this === window.document ) {
			migrateWarn( "ready-event", "'ready' event is deprecated" );
		}
	}
};

migratePatchAndWarnFunc( jQuery.fn, "bind", function( types, data, fn ) {
	return this.on( types, null, data, fn );
}, "pre-on-methods", "jQuery.fn.bind() is deprecated" );
migratePatchAndWarnFunc( jQuery.fn, "unbind", function( types, fn ) {
	return this.off( types, null, fn );
}, "pre-on-methods", "jQuery.fn.unbind() is deprecated" );
migratePatchAndWarnFunc( jQuery.fn, "delegate", function( selector, types, data, fn ) {
	return this.on( types, selector, data, fn );
}, "pre-on-methods", "jQuery.fn.delegate() is deprecated" );
migratePatchAndWarnFunc( jQuery.fn, "undelegate", function( selector, types, fn ) {
	return arguments.length === 1 ?
		this.off( selector, "**" ) :
		this.off( types, selector || "**", fn );
}, "pre-on-methods", "jQuery.fn.undelegate() is deprecated" );
migratePatchAndWarnFunc( jQuery.fn, "hover", function( fnOver, fnOut ) {
	return this.on( "mouseenter", fnOver ).on( "mouseleave", fnOut || fnOver );
}, "pre-on-methods", "jQuery.fn.hover() is deprecated" );

var rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
	makeMarkup = function( html ) {
		var doc = window.document.implementation.createHTMLDocument( "" );
		doc.body.innerHTML = html;
		return doc.body && doc.body.innerHTML;
	},
	warnIfChanged = function( html ) {
		var changed = html.replace( rxhtmlTag, "<$1></$2>" );
		if ( changed !== html && makeMarkup( html ) !== makeMarkup( changed ) ) {
			migrateWarn( "self-closed-tags",
				"HTML tags must be properly nested and closed: " + html );
		}
	};

/**
 * Deprecated, please use `jQuery.migrateDisablePatches( "self-closed-tags" )` instead.
 * @deprecated
 */
jQuery.UNSAFE_restoreLegacyHtmlPrefilter = function() {
	jQuery.migrateEnablePatches( "self-closed-tags" );
};

migratePatchFunc( jQuery, "htmlPrefilter", function( html ) {
	warnIfChanged( html );
	return html.replace( rxhtmlTag, "<$1></$2>" );
}, "self-closed-tags" );

// This patch needs to be disabled by default as it re-introduces
// security issues (CVE-2020-11022, CVE-2020-11023).
jQuery.migrateDisablePatches( "self-closed-tags" );

var origOffset = jQuery.fn.offset;

migratePatchFunc( jQuery.fn, "offset", function() {
	var elem = this[ 0 ];

	if ( elem && ( !elem.nodeType || !elem.getBoundingClientRect ) ) {
		migrateWarn( "offset-valid-elem", "jQuery.fn.offset() requires a valid DOM element" );
		return arguments.length ? this : undefined;
	}

	return origOffset.apply( this, arguments );
}, "offset-valid-elem" );

// Support jQuery slim which excludes the ajax module
// The jQuery.param patch is about respecting `jQuery.ajaxSettings.traditional`
// so it doesn't make sense for the slim build.
if ( jQuery.ajax ) {

var origParam = jQuery.param;

migratePatchFunc( jQuery, "param", function( data, traditional ) {
	var ajaxTraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;

	if ( traditional === undefined && ajaxTraditional ) {

		migrateWarn( "param-ajax-traditional",
			"jQuery.param() no longer uses jQuery.ajaxSettings.traditional" );
		traditional = ajaxTraditional;
	}

	return origParam.call( this, data, traditional );
}, "param-ajax-traditional" );

}

migratePatchAndWarnFunc( jQuery.fn, "andSelf", jQuery.fn.addBack, "andSelf",
	"jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()" );

// Support jQuery slim which excludes the deferred module in jQuery 4.0+
if ( jQuery.Deferred ) {

var oldDeferred = jQuery.Deferred,
	tuples = [

		// Action, add listener, callbacks, .then handlers, final state
		[ "resolve", "done", jQuery.Callbacks( "once memory" ),
			jQuery.Callbacks( "once memory" ), "resolved" ],
		[ "reject", "fail", jQuery.Callbacks( "once memory" ),
			jQuery.Callbacks( "once memory" ), "rejected" ],
		[ "notify", "progress", jQuery.Callbacks( "memory" ),
			jQuery.Callbacks( "memory" ) ]
	];

migratePatchFunc( jQuery, "Deferred", function( func ) {
	var deferred = oldDeferred(),
		promise = deferred.promise();

	function newDeferredPipe( /* fnDone, fnFail, fnProgress */ ) {
		var fns = arguments;

		return jQuery.Deferred( function( newDefer ) {
			jQuery.each( tuples, function( i, tuple ) {
				var fn = typeof fns[ i ] === "function" && fns[ i ];

				// Deferred.done(function() { bind to newDefer or newDefer.resolve })
				// deferred.fail(function() { bind to newDefer or newDefer.reject })
				// deferred.progress(function() { bind to newDefer or newDefer.notify })
				deferred[ tuple[ 1 ] ]( function() {
					var returned = fn && fn.apply( this, arguments );
					if ( returned && typeof returned.promise === "function" ) {
						returned.promise()
							.done( newDefer.resolve )
							.fail( newDefer.reject )
							.progress( newDefer.notify );
					} else {
						newDefer[ tuple[ 0 ] + "With" ](
							this === promise ? newDefer.promise() : this,
							fn ? [ returned ] : arguments
						);
					}
				} );
			} );
			fns = null;
		} ).promise();
	}

	migratePatchAndWarnFunc( deferred, "pipe", newDeferredPipe, "deferred-pipe",
		"deferred.pipe() is deprecated" );
	migratePatchAndWarnFunc( promise, "pipe", newDeferredPipe, "deferred-pipe",
		"deferred.pipe() is deprecated" );

	if ( func ) {
		func.call( deferred, deferred );
	}

	return deferred;
}, "deferred-pipe" );

// Preserve handler of uncaught exceptions in promise chains
jQuery.Deferred.exceptionHook = oldDeferred.exceptionHook;

}

return jQuery;
} );
// source --> https://microwinlabs.com/wp-content/plugins/revslider/public/assets/js/rbtools.min.js?ver=6.4.2 
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=1)}([function(t,e){t.exports=jQuery},function(t,e,n){n(2),n(6),t.exports=n(4)},function(t,e,n){var r,i,u,s;
/*!
 * @fileOverview TouchSwipe - jQuery Plugin @version 1.6.18 / SANDBOXED VERSION FOR TP
 * @author Matt Bryson http://www.github.com/mattbryson
 * @see https://github.com/mattbryson/TouchSwipe-Jquery-Plugin
 * @see http://labs.rampinteractive.co.uk/touchSwipe/
 * @see http://plugins.jquery.com/project/touchSwipe
 * @license
 * Copyright (c) 2010-2015 Matt Bryson
 * Dual licensed under the MIT or GPL Version 2 licenses.
 *
 */s=function(t){"use strict";var e="left",n="right",r="up",i="down",u="none",s="doubletap",o="longtap",a="horizontal",l="vertical",h="all",f="move",D="end",p="cancel",c="ontouchstart"in window,d=window.navigator.msPointerEnabled&&!window.PointerEvent&&!c,g=(window.PointerEvent||window.navigator.msPointerEnabled)&&!c,_="TouchSwipe";function m(m,v){v=t.extend({},v);var y=c||g||!v.fallbackToMouseEvents,C=y?g?d?"MSPointerDown":"pointerdown":"touchstart":"mousedown",x=y?g?d?"MSPointerMove":"pointermove":"touchmove":"mousemove",F=y?g?d?"MSPointerUp":"pointerup":"touchend":"mouseup",w=y?g?"mouseleave":null:"mouseleave",E=g?d?"MSPointerCancel":"pointercancel":"touchcancel",b=0,T=null,A=null,M=0,O=0,S=0,P=1,B=0,k=0,L=null,N=t(m),R="start",I=0,z={},Y=0,X=0,j=0,V=0,U=0,W=null,q=null;try{N.on(C,G),N.on(E,K)}catch(m){t.error("events not supported "+C+","+E+" on jQuery.swipe")}function G(u){if(!0!==N.data(_+"_intouch")&&!(0<t(u.target).closest(v.excludedElements,N).length)){var s=u.originalEvent?u.originalEvent:u;if(!s.pointerType||"mouse"!=s.pointerType||0!=v.fallbackToMouseEvents){var o,a,l=s.touches,f=l?l[0]:s;return R="start",l?I=l.length:!1!==v.preventDefaultEvents&&u.preventDefault(),k=A=T=null,P=1,B=S=O=M=b=0,(a={})[e]=yt(e),a[n]=yt(n),a.up=yt(r),a[i]=yt(i),L=a,ct(),_t(0,f),!l||I===v.fingers||v.fingers===h||st()?(Y=wt(),2==I&&(_t(1,l[1]),O=S=xt(z[0].start,z[1].start)),(v.swipeStatus||v.pinchStatus)&&(o=tt(s,R))):o=!1,!1===o?(tt(s,R=p),o):(v.hold&&(q=setTimeout(t.proxy((function(){N.trigger("hold",[s.target]),v.hold&&(o=v.hold.call(N,s,s.target))}),this),v.longTapThreshold)),gt(!0),null)}}}function H(s){var o=s.originalEvent?s.originalEvent:s;if(R!==D&&R!==p&&!dt()){var c,d,g,_,m,y,C,x=o.touches,F=mt(x?x[0]:o);if(X=wt(),x&&(I=x.length),v.hold&&clearTimeout(q),R=f,2==I&&(0==O?(_t(1,x[1]),O=S=xt(z[0].start,z[1].start)):(mt(x[1]),S=xt(z[0].end,z[1].end),z[0].end,z[1].end,k=P<1?"out":"in"),P=(S/O*1).toFixed(2),B=Math.abs(O-S)),I===v.fingers||v.fingers===h||!x||st()){if(T=Ft(F.start,F.end),function(t,s){if(!1!==v.preventDefaultEvents)if(v.allowPageScroll===u)t.preventDefault();else{var o="auto"===v.allowPageScroll;switch(s){case e:(v.swipeLeft&&o||!o&&v.allowPageScroll!=a)&&t.preventDefault();break;case n:(v.swipeRight&&o||!o&&v.allowPageScroll!=a)&&t.preventDefault();break;case r:(v.swipeUp&&o||!o&&v.allowPageScroll!=l)&&t.preventDefault();break;case i:(v.swipeDown&&o||!o&&v.allowPageScroll!=l)&&t.preventDefault()}}}(s,A=Ft(F.last,F.end)),y=F.start,C=F.end,b=Math.round(Math.sqrt(Math.pow(C.x-y.x,2)+Math.pow(C.y-y.y,2))),M=Ct(),function(t,e){t!=u&&(e=Math.max(e,vt(t)),L[t].distance=e)}(T,b),c=tt(o,R),!v.triggerOnTouchEnd||v.triggerOnTouchLeave){var w=!0;v.triggerOnTouchLeave&&(g={left:(m=(_=t(_=this)).offset()).left,right:m.left+_.outerWidth(),top:m.top,bottom:m.top+_.outerHeight()},w=(d=F.end).x>g.left&&d.x<g.right&&d.y>g.top&&d.y<g.bottom),!v.triggerOnTouchEnd&&w?R=J(f):v.triggerOnTouchLeave&&!w&&(R=J(D)),R!=p&&R!=D||tt(o,R)}}else tt(o,R=p);!1===c&&tt(o,R=p)}}function Q(t){var e,n=t.originalEvent?t.originalEvent:t,r=n.touches;if(r){if(r.length&&!dt())return e=n,j=wt(),V=e.touches.length+1,!0;if(r.length&&dt())return!0}return dt()&&(I=V),X=wt(),M=Ct(),rt()||!nt()?tt(n,R=p):v.triggerOnTouchEnd||!1===v.triggerOnTouchEnd&&R===f?(!1!==v.preventDefaultEvents&&!1!==t.cancelable&&t.preventDefault(),tt(n,R=D)):!v.triggerOnTouchEnd&&ft()?et(n,R=D,"tap"):R===f&&tt(n,R=p),gt(!1),null}function K(){S=O=Y=X=I=0,P=1,ct(),gt(!1)}function Z(t){var e=t.originalEvent?t.originalEvent:t;v.triggerOnTouchLeave&&tt(e,R=J(D))}function $(){N.off(C,G),N.off(E,K),N.off(x,H),N.off(F,Q),w&&N.off(w,Z),gt(!1)}function J(t){var e=t,n=it(),r=nt(),i=rt();return!n||i?e=p:!r||t!=f||v.triggerOnTouchEnd&&!v.triggerOnTouchLeave?!r&&t==D&&v.triggerOnTouchLeave&&(e=p):e=D,e}function tt(t,e){var n,r=t.touches;return(ot()&&at()||at())&&(n=et(t,e,"swipe")),(ut()&&st()||st())&&!1!==n&&(n=et(t,e,"pinch")),pt()&&Dt()&&!1!==n?n=et(t,e,s):M>v.longTapThreshold&&b<10&&v.longTap&&!1!==n?n=et(t,e,o):1!==I&&c||!(isNaN(b)||b<v.threshold)||!ft()||!1===n||(n=et(t,e,"tap")),e===p&&K(),e===D&&(r&&r.length||K()),n}function et(u,a,l){var h;if("swipe"==l){if(N.trigger("swipeStatus",[a,T||null,b||0,M||0,I,z,A]),v.swipeStatus&&!1===(h=v.swipeStatus.call(N,u,a,T||null,b||0,M||0,I,z,A)))return!1;if(a==D&&ot()){if(clearTimeout(W),clearTimeout(q),N.trigger("swipe",[T,b,M,I,z,A]),v.swipe&&!1===(h=v.swipe.call(N,u,T,b,M,I,z,A)))return!1;switch(T){case e:N.trigger("swipeLeft",[T,b,M,I,z,A]),v.swipeLeft&&(h=v.swipeLeft.call(N,u,T,b,M,I,z,A));break;case n:N.trigger("swipeRight",[T,b,M,I,z,A]),v.swipeRight&&(h=v.swipeRight.call(N,u,T,b,M,I,z,A));break;case r:N.trigger("swipeUp",[T,b,M,I,z,A]),v.swipeUp&&(h=v.swipeUp.call(N,u,T,b,M,I,z,A));break;case i:N.trigger("swipeDown",[T,b,M,I,z,A]),v.swipeDown&&(h=v.swipeDown.call(N,u,T,b,M,I,z,A))}}}if("pinch"==l){if(N.trigger("pinchStatus",[a,k||null,B||0,M||0,I,P,z]),v.pinchStatus&&!1===(h=v.pinchStatus.call(N,u,a,k||null,B||0,M||0,I,P,z)))return!1;if(a==D&&ut())switch(k){case"in":N.trigger("pinchIn",[k||null,B||0,M||0,I,P,z]),v.pinchIn&&(h=v.pinchIn.call(N,u,k||null,B||0,M||0,I,P,z));break;case"out":N.trigger("pinchOut",[k||null,B||0,M||0,I,P,z]),v.pinchOut&&(h=v.pinchOut.call(N,u,k||null,B||0,M||0,I,P,z))}}return"tap"==l?a!==p&&a!==D||(clearTimeout(W),clearTimeout(q),Dt()&&!pt()?(U=wt(),W=setTimeout(t.proxy((function(){U=null,N.trigger("tap",[u.target]),v.tap&&(h=v.tap.call(N,u,u.target))}),this),v.doubleTapThreshold)):(U=null,N.trigger("tap",[u.target]),v.tap&&(h=v.tap.call(N,u,u.target)))):l==s?a!==p&&a!==D||(clearTimeout(W),clearTimeout(q),U=null,N.trigger("doubletap",[u.target]),v.doubleTap&&(h=v.doubleTap.call(N,u,u.target))):l==o&&(a!==p&&a!==D||(clearTimeout(W),U=null,N.trigger("longtap",[u.target]),v.longTap&&(h=v.longTap.call(N,u,u.target)))),h}function nt(){var t=!0;return null!==v.threshold&&(t=b>=v.threshold),t}function rt(){var t=!1;return null!==v.cancelThreshold&&null!==T&&(t=vt(T)-b>=v.cancelThreshold),t}function it(){return!(v.maxTimeThreshold&&M>=v.maxTimeThreshold)}function ut(){var t=lt(),e=ht(),n=null===v.pinchThreshold||B>=v.pinchThreshold;return t&&e&&n}function st(){return v.pinchStatus||v.pinchIn||v.pinchOut}function ot(){var t=it(),e=nt(),n=lt(),r=ht();return!rt()&&r&&n&&e&&t}function at(){return v.swipe||v.swipeStatus||v.swipeLeft||v.swipeRight||v.swipeUp||v.swipeDown}function lt(){return I===v.fingers||v.fingers===h||!c}function ht(){return 0!==z[0].end.x}function ft(){return v.tap}function Dt(){return!!v.doubleTap}function pt(){if(null==U)return!1;var t=wt();return Dt()&&t-U<=v.doubleTapThreshold}function ct(){V=j=0}function dt(){var t=!1;return j&&wt()-j<=v.fingerReleaseThreshold&&(t=!0),t}function gt(t){N&&(!0===t?(N.on(x,H),N.on(F,Q),w&&N.on(w,Z)):(N.off(x,H,!1),N.off(F,Q,!1),w&&N.off(w,Z,!1)),N.data(_+"_intouch",!0===t))}function _t(t,e){var n={start:{x:0,y:0},last:{x:0,y:0},end:{x:0,y:0}};return n.start.x=n.last.x=n.end.x=e.pageX||e.clientX,n.start.y=n.last.y=n.end.y=e.pageY||e.clientY,z[t]=n}function mt(t){var e=void 0!==t.identifier?t.identifier:0,n=z[e]||null;return null===n&&(n=_t(e,t)),n.last.x=n.end.x,n.last.y=n.end.y,n.end.x=t.pageX||t.clientX,n.end.y=t.pageY||t.clientY,n}function vt(t){if(L[t])return L[t].distance}function yt(t){return{direction:t,distance:0}}function Ct(){return X-Y}function xt(t,e){var n=Math.abs(t.x-e.x),r=Math.abs(t.y-e.y);return Math.round(Math.sqrt(n*n+r*r))}function Ft(t,s){if(a=s,(o=t).x==a.x&&o.y==a.y)return u;var o,a,l,h,f,D,p,c,d=(h=s,f=(l=t).x-h.x,D=h.y-l.y,p=Math.atan2(D,f),(c=Math.round(180*p/Math.PI))<0&&(c=360-Math.abs(c)),c);return d<=45&&0<=d||d<=360&&315<=d?e:135<=d&&d<=225?n:45<d&&d<135?i:r}function wt(){return(new Date).getTime()}this.enable=function(){return this.disable(),N.on(C,G),N.on(E,K),N},this.disable=function(){return $(),N},this.destroy=function(){$(),N.data(_,null),N=null},this.option=function(e,n){if("object"==typeof e)v=t.extend(v,e);else if(void 0!==v[e]){if(void 0===n)return v[e];v[e]=n}else{if(!e)return v;t.error("Option "+e+" does not exist on jQuery.swipe.options")}return null}}t.fn.rsswipe=function(e){var n=t(this),r=n.data(_);if(r&&"string"==typeof e){if(r[e])return r[e].apply(r,Array.prototype.slice.call(arguments,1));t.error("Method "+e+" does not exist on jQuery.rsswipe")}else if(r&&"object"==typeof e)r.option.apply(r,arguments);else if(!(r||"object"!=typeof e&&e))return function(e){return!e||void 0!==e.allowPageScroll||void 0===e.swipe&&void 0===e.swipeStatus||(e.allowPageScroll=u),void 0!==e.click&&void 0===e.tap&&(e.tap=e.click),e=e||{},e=t.extend({},t.fn.rsswipe.defaults,e),this.each((function(){var n=t(this),r=n.data(_);r||(r=new m(this,e),n.data(_,r))}))}.apply(this,arguments);return n},t.fn.rsswipe.version="1.6.18",t.fn.rsswipe.defaults={fingers:1,threshold:75,cancelThreshold:null,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,hold:null,triggerOnTouchEnd:!0,triggerOnTouchLeave:!1,allowPageScroll:"auto",fallbackToMouseEvents:!0,excludedElements:".noSwipe",preventDefaultEvents:!0},t.fn.rsswipe.phases={PHASE_START:"start",PHASE_MOVE:f,PHASE_END:D,PHASE_CANCEL:p},t.fn.rsswipe.directions={LEFT:e,RIGHT:n,UP:r,DOWN:i,IN:"in",OUT:"out"},t.fn.rsswipe.pageScroll={NONE:u,HORIZONTAL:a,VERTICAL:l,AUTO:"auto"},t.fn.rsswipe.fingers={ONE:1,TWO:2,THREE:3,FOUR:4,FIVE:5,ALL:h}},n(3).jQuery?(i=[n(0)],void 0===(u="function"==typeof(r=s)?r.apply(e,i):r)||(t.exports=u)):t.exports?s(n(0)):s(jQuery)},function(t,e){(function(e){t.exports=e}).call(this,{})},function(t,e){var n;(n=jQuery).waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage"]},n.expr.pseudos.uncached=function(t){var e=document.createElement("img");return e.src=t.src,n(t).is('img[src!=""]')&&!e.complete},n.fn.waitForImages=function(t,e,r){if(n.isPlainObject(t)&&(e=t.each,r=t.waitForAll,t=t.finished),t=t||n.noop,e=e||n.noop,r=!!r,!n.isFunction(t)||!n.isFunction(e))throw new TypeError("An invalid callback was supplied.");return this.each((function(){var i=n(this),u=[];if(r){var s=n.waitForImages.hasImageProperties||[],o=/url\((['"]?)(.*?)\1\)/g;i.find("*").each((function(){var t=n(this);t.is("img:uncached")&&u.push({src:t.attr("src"),element:t[0]}),n.each(s,(function(e,n){var r,i=t.css(n);if(!i)return!0;for(;r=o.exec(i);)u.push({src:r[2],element:t[0]})}))}))}else i.find("img:uncached").each((function(){u.push({src:this.src,element:this})}));var a=u.length,l=0;0==a&&t.call(i[0]),n.each(u,(function(r,u){var s=new Image;n(s).bind("load error",(function(n){if(l++,e.call(u.element,l,a,"load"==n.type),l==a)return t.call(i[0]),!1})),s.src=u.src}))}))}},,function(t,e,n){"use strict";function r(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function i(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}
/*!
 * GSAP 3.5.1
 * https://greensock.com
 *
 * @license Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/n.r(e);var u,s,o,a,l,h,f,D,p,c,d,g,_,m,v,y,C,x,F,w,E,b,T,A,M,O,S,P={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},B={duration:.5,overwrite:!1,delay:0},k=1e8,L=2*Math.PI,N=L/4,R=0,I=Math.sqrt,z=Math.cos,Y=Math.sin,X=function(t){return"string"==typeof t},j=function(t){return"function"==typeof t},V=function(t){return"number"==typeof t},U=function(t){return void 0===t},W=function(t){return"object"==typeof t},q=function(t){return!1!==t},G=function(){return"undefined"!=typeof window},H=function(t){return j(t)||X(t)},Q="function"==typeof ArrayBuffer&&ArrayBuffer.isView||function(){},K=Array.isArray,Z=/(?:-?\.?\d|\.)+/gi,$=/[-+=.]*\d+[.e\-+]*\d*[e\-\+]*\d*/g,J=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,tt=/[-+=.]*\d+(?:\.|e-|e)*\d*/gi,et=/[+-]=-?[\.\d]+/,nt=/[#\-+.]*\b[a-z\d-=+%.]+/gi,rt={},it={},ut=function(t){return(it=St(t,rt))&&cn},st=function(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")},ot=function(t,e){return!e&&console.warn(t)},at=function(t,e){return t&&(rt[t]=e)&&it&&(it[t]=e)||rt},lt=function(){return 0},ht={},ft=[],Dt={},pt={},ct={},dt=30,gt=[],_t="",mt=function(t){var e,n,r=t[0];if(W(r)||j(r)||(t=[t]),!(e=(r._gsap||{}).harness)){for(n=gt.length;n--&&!gt[n].targetTest(r););e=gt[n]}for(n=t.length;n--;)t[n]&&(t[n]._gsap||(t[n]._gsap=new Ie(t[n],e)))||t.splice(n,1);return t},vt=function(t){return t._gsap||mt(ie(t))[0]._gsap},yt=function(t,e,n){return(n=t[e])&&j(n)?t[e]():U(n)&&t.getAttribute&&t.getAttribute(e)||n},Ct=function(t,e){return(t=t.split(",")).forEach(e)||t},xt=function(t){return Math.round(1e5*t)/1e5||0},Ft=function(t,e){for(var n=e.length,r=0;t.indexOf(e[r])<0&&++r<n;);return r<n},wt=function(t,e,n){var r,i=V(t[1]),u=(i?2:1)+(e<2?0:1),s=t[u];if(i&&(s.duration=t[1]),s.parent=n,e){for(r=s;n&&!("immediateRender"in r);)r=n.vars.defaults||{},n=q(n.vars.inherit)&&n.parent;s.immediateRender=q(r.immediateRender),e<2?s.runBackwards=1:s.startAt=t[u-1]}return s},Et=function(){var t,e,n=ft.length,r=ft.slice(0);for(Dt={},ft.length=0,t=0;t<n;t++)(e=r[t])&&e._lazy&&(e.render(e._lazy[0],e._lazy[1],!0)._lazy=0)},bt=function(t,e,n,r){ft.length&&Et(),t.render(e,n,r),ft.length&&Et()},Tt=function(t){var e=parseFloat(t);return(e||0===e)&&(t+"").match(nt).length<2?e:X(t)?t.trim():t},At=function(t){return t},Mt=function(t,e){for(var n in e)n in t||(t[n]=e[n]);return t},Ot=function(t,e){for(var n in e)n in t||"duration"===n||"ease"===n||(t[n]=e[n])},St=function(t,e){for(var n in e)t[n]=e[n];return t},Pt=function t(e,n){for(var r in n)e[r]=W(n[r])?t(e[r]||(e[r]={}),n[r]):n[r];return e},Bt=function(t,e){var n,r={};for(n in t)n in e||(r[n]=t[n]);return r},kt=function(t){var e=t.parent||u,n=t.keyframes?Ot:Mt;if(q(t.inherit))for(;e;)n(t,e.vars.defaults),e=e.parent||e._dp;return t},Lt=function(t,e,n,r){void 0===n&&(n="_first"),void 0===r&&(r="_last");var i=e._prev,u=e._next;i?i._next=u:t[n]===e&&(t[n]=u),u?u._prev=i:t[r]===e&&(t[r]=i),e._next=e._prev=e.parent=null},Nt=function(t,e){t.parent&&(!e||t.parent.autoRemoveChildren)&&t.parent.remove(t),t._act=0},Rt=function(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var n=t;n;)n._dirty=1,n=n.parent;return t},It=function(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t},zt=function(t){return t._repeat?Yt(t._tTime,t=t.duration()+t._rDelay)*t:0},Yt=function(t,e){return(t/=e)&&~~t===t?~~t-1:~~t},Xt=function(t,e){return(t-e._start)*e._ts+(e._ts>=0?0:e._dirty?e.totalDuration():e._tDur)},jt=function(t){return t._end=xt(t._start+(t._tDur/Math.abs(t._ts||t._rts||1e-8)||0))},Vt=function(t,e){var n=t._dp;return n&&n.smoothChildTiming&&t._ts&&(t._start=xt(t._dp._time-(t._ts>0?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),jt(t),n._dirty||Rt(n,t)),t},Ut=function(t,e){var n;if((e._time||e._initted&&!e._dur)&&(n=Xt(t.rawTime(),e),(!e._dur||Jt(0,e.totalDuration(),n)-e._tTime>1e-8)&&e.render(n,!0)),Rt(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur<t.duration())for(n=t;n._dp;)n.rawTime()>=0&&n.totalTime(n._tTime),n=n._dp;t._zTime=-1e-8}},Wt=function(t,e,n,r){return e.parent&&Nt(e),e._start=xt(n+e._delay),e._end=xt(e._start+(e.totalDuration()/Math.abs(e.timeScale())||0)),function(t,e,n,r,i){void 0===n&&(n="_first"),void 0===r&&(r="_last");var u,s=t[r];if(i)for(u=e[i];s&&s[i]>u;)s=s._prev;s?(e._next=s._next,s._next=e):(e._next=t[n],t[n]=e),e._next?e._next._prev=e:t[r]=e,e._prev=s,e.parent=e._dp=t}(t,e,"_first","_last",t._sort?"_start":0),t._recent=e,r||Ut(t,e),t},qt=function(t,e){return(rt.ScrollTrigger||st("scrollTrigger",e))&&rt.ScrollTrigger.create(e,t)},Gt=function(t,e,n,r){return We(t,e),t._initted?!n&&t._pt&&(t._dur&&!1!==t.vars.lazy||!t._dur&&t.vars.lazy)&&h!==Ee.frame?(ft.push(t),t._lazy=[e,r],1):void 0:1},Ht=function(t,e,n,r){var i=t._repeat,u=xt(e)||0,s=t._tTime/t._tDur;return s&&!r&&(t._time*=u/t._dur),t._dur=u,t._tDur=i?i<0?1e10:xt(u*(i+1)+t._rDelay*i):u,s&&!r?Vt(t,t._tTime=t._tDur*s):t.parent&&jt(t),n||Rt(t.parent,t),t},Qt=function(t){return t instanceof Ye?Rt(t):Ht(t,t._dur)},Kt={_start:0,endTime:lt},Zt=function t(e,n){var r,i,u=e.labels,s=e._recent||Kt,o=e.duration()>=k?s.endTime(!1):e._dur;return X(n)&&(isNaN(n)||n in u)?"<"===(r=n.charAt(0))||">"===r?("<"===r?s._start:s.endTime(s._repeat>=0))+(parseFloat(n.substr(1))||0):(r=n.indexOf("="))<0?(n in u||(u[n]=o),u[n]):(i=+(n.charAt(r-1)+n.substr(r+1)),r>1?t(e,n.substr(0,r-1))+i:o+i):null==n?o:+n},$t=function(t,e){return t||0===t?e(t):e},Jt=function(t,e,n){return n<t?t:n>e?e:n},te=function(t){return(t=(t+"").substr((parseFloat(t)+"").length))&&isNaN(t)?t:""},ee=[].slice,ne=function(t,e){return t&&W(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&W(t[0]))&&!t.nodeType&&t!==s},re=function(t,e,n){return void 0===n&&(n=[]),t.forEach((function(t){var r;return X(t)&&!e||ne(t,1)?(r=n).push.apply(r,ie(t)):n.push(t)}))||n},ie=function(t,e){return!X(t)||e||!o&&be()?K(t)?re(t,e):ne(t)?ee.call(t,0):t?[t]:[]:ee.call(a.querySelectorAll(t),0)},ue=function(t){return t.sort((function(){return.5-Math.random()}))},se=function(t){if(j(t))return t;var e=W(t)?t:{each:t},n=Be(e.ease),r=e.from||0,i=parseFloat(e.base)||0,u={},s=r>0&&r<1,o=isNaN(r)||s,a=e.axis,l=r,h=r;return X(r)?l=h={center:.5,edges:.5,end:1}[r]||0:!s&&o&&(l=r[0],h=r[1]),function(t,s,f){var D,p,c,d,g,_,m,v,y,C=(f||e).length,x=u[C];if(!x){if(!(y="auto"===e.grid?0:(e.grid||[1,k])[1])){for(m=-k;m<(m=f[y++].getBoundingClientRect().left)&&y<C;);y--}for(x=u[C]=[],D=o?Math.min(y,C)*l-.5:r%y,p=o?C*h/y-.5:r/y|0,m=0,v=k,_=0;_<C;_++)c=_%y-D,d=p-(_/y|0),x[_]=g=a?Math.abs("y"===a?d:c):I(c*c+d*d),g>m&&(m=g),g<v&&(v=g);"random"===r&&ue(x),x.max=m-v,x.min=v,x.v=C=(parseFloat(e.amount)||parseFloat(e.each)*(y>C?C-1:a?"y"===a?C/y:y:Math.max(y,C/y))||0)*("edges"===r?-1:1),x.b=C<0?i-C:i,x.u=te(e.amount||e.each)||0,n=n&&C<0?Se(n):n}return C=(x[t]-x.min)/x.max||0,xt(x.b+(n?n(C):C)*x.v)+x.u}},oe=function(t){var e=t<1?Math.pow(10,(t+"").length-2):1;return function(n){return Math.floor(Math.round(parseFloat(n)/t)*t*e)/e+(V(n)?0:te(n))}},ae=function(t,e){var n,r,i=K(t);return!i&&W(t)&&(n=i=t.radius||k,t.values?(t=ie(t.values),(r=!V(t[0]))&&(n*=n)):t=oe(t.increment)),$t(e,i?j(t)?function(e){return r=t(e),Math.abs(r-e)<=n?r:e}:function(e){for(var i,u,s=parseFloat(r?e.x:e),o=parseFloat(r?e.y:0),a=k,l=0,h=t.length;h--;)(i=r?(i=t[h].x-s)*i+(u=t[h].y-o)*u:Math.abs(t[h]-s))<a&&(a=i,l=h);return l=!n||a<=n?t[l]:e,r||l===e||V(e)?l:l+te(e)}:oe(t))},le=function(t,e,n,r){return $t(K(t)?!e:!0===n?!!(n=0):!r,(function(){return K(t)?t[~~(Math.random()*t.length)]:(n=n||1e-5)&&(r=n<1?Math.pow(10,(n+"").length-2):1)&&Math.floor(Math.round((t+Math.random()*(e-t))/n)*n*r)/r}))},he=function(t,e,n){return $t(n,(function(n){return t[~~e(n)]}))},fe=function(t){for(var e,n,r,i,u=0,s="";~(e=t.indexOf("random(",u));)r=t.indexOf(")",e),i="["===t.charAt(e+7),n=t.substr(e+7,r-e-7).match(i?nt:Z),s+=t.substr(u,e-u)+le(i?n:+n[0],i?0:+n[1],+n[2]||1e-5),u=r+1;return s+t.substr(u,t.length-u)},De=function(t,e,n,r,i){var u=e-t,s=r-n;return $t(i,(function(e){return n+((e-t)/u*s||0)}))},pe=function(t,e,n){var r,i,u,s=t.labels,o=k;for(r in s)(i=s[r]-e)<0==!!n&&i&&o>(i=Math.abs(i))&&(u=r,o=i);return u},ce=function(t,e,n){var r,i,u=t.vars,s=u[e];if(s)return r=u[e+"Params"],i=u.callbackScope||t,n&&ft.length&&Et(),r?s.apply(i,r):s.call(i)},de=function(t){return Nt(t),t.progress()<1&&ce(t,"onInterrupt"),t},ge=function(t){var e=(t=!t.name&&t.default||t).name,n=j(t),r=e&&!n&&t.init?function(){this._props=[]}:t,i={init:lt,render:un,add:Ve,kill:on,modifier:sn,rawVars:0},u={targetTest:0,get:0,getSetter:tn,aliases:{},register:0};if(be(),t!==r){if(pt[e])return;Mt(r,Mt(Bt(t,i),u)),St(r.prototype,St(i,Bt(t,u))),pt[r.prop=e]=r,t.targetTest&&(gt.push(r),ht[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}at(e,r),t.register&&t.register(cn,r,hn)},_e={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},me=function(t,e,n){return 255*(6*(t=t<0?t+1:t>1?t-1:t)<1?e+(n-e)*t*6:t<.5?n:3*t<2?e+(n-e)*(2/3-t)*6:e)+.5|0},ve=function(t,e,n){var r,i,u,s,o,a,l,h,f,D,p=t?V(t)?[t>>16,t>>8&255,255&t]:0:_e.black;if(!p){if(","===t.substr(-1)&&(t=t.substr(0,t.length-1)),_e[t])p=_e[t];else if("#"===t.charAt(0))4===t.length&&(r=t.charAt(1),i=t.charAt(2),u=t.charAt(3),t="#"+r+r+i+i+u+u),p=[(t=parseInt(t.substr(1),16))>>16,t>>8&255,255&t];else if("hsl"===t.substr(0,3))if(p=D=t.match(Z),e){if(~t.indexOf("="))return p=t.match($),n&&p.length<4&&(p[3]=1),p}else s=+p[0]%360/360,o=+p[1]/100,r=2*(a=+p[2]/100)-(i=a<=.5?a*(o+1):a+o-a*o),p.length>3&&(p[3]*=1),p[0]=me(s+1/3,r,i),p[1]=me(s,r,i),p[2]=me(s-1/3,r,i);else p=t.match(Z)||_e.transparent;p=p.map(Number)}return e&&!D&&(r=p[0]/255,i=p[1]/255,u=p[2]/255,a=((l=Math.max(r,i,u))+(h=Math.min(r,i,u)))/2,l===h?s=o=0:(f=l-h,o=a>.5?f/(2-l-h):f/(l+h),s=l===r?(i-u)/f+(i<u?6:0):l===i?(u-r)/f+2:(r-i)/f+4,s*=60),p[0]=~~(s+.5),p[1]=~~(100*o+.5),p[2]=~~(100*a+.5)),n&&p.length<4&&(p[3]=1),p},ye=function(t){var e=[],n=[],r=-1;return t.split(xe).forEach((function(t){var i=t.match(J)||[];e.push.apply(e,i),n.push(r+=i.length+1)})),e.c=n,e},Ce=function(t,e,n){var r,i,u,s,o="",a=(t+o).match(xe),l=e?"hsla(":"rgba(",h=0;if(!a)return t;if(a=a.map((function(t){return(t=ve(t,e,1))&&l+(e?t[0]+","+t[1]+"%,"+t[2]+"%,"+t[3]:t.join(","))+")"})),n&&(u=ye(t),(r=n.c).join(o)!==u.c.join(o)))for(s=(i=t.replace(xe,"1").split(J)).length-1;h<s;h++)o+=i[h]+(~r.indexOf(h)?a.shift()||l+"0,0,0,0)":(u.length?u:a.length?a:n).shift());if(!i)for(s=(i=t.split(xe)).length-1;h<s;h++)o+=i[h]+a[h];return o+i[s]},xe=function(){var t,e="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b";for(t in _e)e+="|"+t+"\\b";return new RegExp(e+")","gi")}(),Fe=/hsl[a]?\(/,we=function(t){var e,n=t.join(" ");if(xe.lastIndex=0,xe.test(n))return e=Fe.test(n),t[1]=Ce(t[1],e),t[0]=Ce(t[0],e,ye(t[1])),!0},Ee=(v=Date.now,y=500,C=33,x=v(),F=x,E=w=1e3/240,T=function t(e){var n,r,i,u,s=v()-F,o=!0===e;if(s>y&&(x+=s-C),((n=(i=(F+=s)-x)-E)>0||o)&&(u=++g.frame,_=i-1e3*g.time,g.time=i/=1e3,E+=n+(n>=w?4:w-n),r=1),o||(p=c(t)),r)for(m=0;m<b.length;m++)b[m](i,_,u,e)},g={time:0,frame:0,tick:function(){T(!0)},deltaRatio:function(t){return _/(1e3/(t||60))},wake:function(){l&&(!o&&G()&&(s=o=window,a=s.document||{},rt.gsap=cn,(s.gsapVersions||(s.gsapVersions=[])).push(cn.version),ut(it||s.GreenSockGlobals||!s.gsap&&s||{}),d=s.requestAnimationFrame),p&&g.sleep(),c=d||function(t){return setTimeout(t,E-1e3*g.time+1|0)},D=1,T(2))},sleep:function(){(d?s.cancelAnimationFrame:clearTimeout)(p),D=0,c=lt},lagSmoothing:function(t,e){y=t||1/1e-8,C=Math.min(e,y,0)},fps:function(t){w=1e3/(t||240),E=1e3*g.time+w},add:function(t){b.indexOf(t)<0&&b.push(t),be()},remove:function(t){var e;~(e=b.indexOf(t))&&b.splice(e,1)&&m>=e&&m--},_listeners:b=[]}),be=function(){return!D&&Ee.wake()},Te={},Ae=/^[\d.\-M][\d.\-,\s]/,Me=/["']/g,Oe=function(t){for(var e,n,r,i={},u=t.substr(1,t.length-3).split(":"),s=u[0],o=1,a=u.length;o<a;o++)n=u[o],e=o!==a-1?n.lastIndexOf(","):n.length,r=n.substr(0,e),i[s]=isNaN(r)?r.replace(Me,"").trim():+r,s=n.substr(e+1).trim();return i},Se=function(t){return function(e){return 1-t(1-e)}},Pe=function t(e,n){for(var r,i=e._first;i;)i instanceof Ye?t(i,n):!i.vars.yoyoEase||i._yoyo&&i._repeat||i._yoyo===n||(i.timeline?t(i.timeline,n):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=n)),i=i._next},Be=function(t,e){return t&&(j(t)?t:Te[t]||function(t){var e,n,r,i,u=(t+"").split("("),s=Te[u[0]];return s&&u.length>1&&s.config?s.config.apply(null,~t.indexOf("{")?[Oe(u[1])]:(e=t,n=e.indexOf("(")+1,r=e.indexOf(")"),i=e.indexOf("(",n),e.substring(n,~i&&i<r?e.indexOf(")",r+1):r)).split(",").map(Tt)):Te._CE&&Ae.test(t)?Te._CE("",t):s}(t))||e},ke=function(t,e,n,r){void 0===n&&(n=function(t){return 1-e(1-t)}),void 0===r&&(r=function(t){return t<.5?e(2*t)/2:1-e(2*(1-t))/2});var i,u={easeIn:e,easeOut:n,easeInOut:r};return Ct(t,(function(t){for(var e in Te[t]=rt[t]=u,Te[i=t.toLowerCase()]=n,u)Te[i+("easeIn"===e?".in":"easeOut"===e?".out":".inOut")]=Te[t+"."+e]=u[e]})),u},Le=function(t){return function(e){return e<.5?(1-t(1-2*e))/2:.5+t(2*(e-.5))/2}},Ne=function t(e,n,r){var i=n>=1?n:1,u=(r||(e?.3:.45))/(n<1?n:1),s=u/L*(Math.asin(1/i)||0),o=function(t){return 1===t?1:i*Math.pow(2,-10*t)*Y((t-s)*u)+1},a="out"===e?o:"in"===e?function(t){return 1-o(1-t)}:Le(o);return u=L/u,a.config=function(n,r){return t(e,n,r)},a},Re=function t(e,n){void 0===n&&(n=1.70158);var r=function(t){return t?--t*t*((n+1)*t+n)+1:0},i="out"===e?r:"in"===e?function(t){return 1-r(1-t)}:Le(r);return i.config=function(n){return t(e,n)},i};Ct("Linear,Quad,Cubic,Quart,Quint,Strong",(function(t,e){var n=e<5?e+1:e;ke(t+",Power"+(n-1),e?function(t){return Math.pow(t,n)}:function(t){return t},(function(t){return 1-Math.pow(1-t,n)}),(function(t){return t<.5?Math.pow(2*t,n)/2:1-Math.pow(2*(1-t),n)/2}))})),Te.Linear.easeNone=Te.none=Te.Linear.easeIn,ke("Elastic",Ne("in"),Ne("out"),Ne()),A=7.5625,O=1/(M=2.75),ke("Bounce",(function(t){return 1-S(1-t)}),S=function(t){return t<O?A*t*t:t<.7272727272727273?A*Math.pow(t-1.5/M,2)+.75:t<.9090909090909092?A*(t-=2.25/M)*t+.9375:A*Math.pow(t-2.625/M,2)+.984375}),ke("Expo",(function(t){return t?Math.pow(2,10*(t-1)):0})),ke("Circ",(function(t){return-(I(1-t*t)-1)})),ke("Sine",(function(t){return 1===t?1:1-z(t*N)})),ke("Back",Re("in"),Re("out"),Re()),Te.SteppedEase=Te.steps=rt.SteppedEase={config:function(t,e){void 0===t&&(t=1);var n=1/t,r=t+(e?0:1),i=e?1:0;return function(t){return((r*Jt(0,1-1e-8,t)|0)+i)*n}}},B.ease=Te["quad.out"],Ct("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",(function(t){return _t+=t+","+t+"Params,"}));var Ie=function(t,e){this.id=R++,t._gsap=this,this.target=t,this.harness=e,this.get=e?e.get:yt,this.set=e?e.getSetter:tn},ze=function(){function t(t,e){var n=t.parent||u;this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,Ht(this,+t.duration,1,1),this.data=t.data,D||Ee.wake(),n&&Wt(n,this,e||0===e?e:n._time,1),t.reversed&&this.reverse(),t.paused&&this.paused(!0)}var e=t.prototype;return e.delay=function(t){return t||0===t?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+t-this._delay),this._delay=t,this):this._delay},e.duration=function(t){return arguments.length?this.totalDuration(this._repeat>0?t+(t+this._rDelay)*this._repeat:t):this.totalDuration()&&this._dur},e.totalDuration=function(t){return arguments.length?(this._dirty=0,Ht(this,this._repeat<0?t:(t-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(t,e){if(be(),!arguments.length)return this._tTime;var n=this._dp;if(n&&n.smoothChildTiming&&this._ts){for(Vt(this,t);n.parent;)n.parent._time!==n._start+(n._ts>=0?n._tTime/n._ts:(n.totalDuration()-n._tTime)/-n._ts)&&n.totalTime(n._tTime,!0),n=n.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&t<this._tDur||this._ts<0&&t>0||!this._tDur&&!t)&&Wt(this._dp,this,this._start-this._delay)}return(this._tTime!==t||!this._dur&&!e||this._initted&&1e-8===Math.abs(this._zTime)||!t&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=t),bt(this,t,e)),this},e.time=function(t,e){return arguments.length?this.totalTime(Math.min(this.totalDuration(),t+zt(this))%this._dur||(t?this._dur:0),e):this._time},e.totalProgress=function(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.ratio},e.progress=function(t,e){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?t:1-t)+zt(this),e):this.duration()?Math.min(1,this._time/this._dur):this.ratio},e.iteration=function(t,e){var n=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(t-1)*n,e):this._repeat?Yt(this._tTime,n)+1:1},e.timeScale=function(t){if(!arguments.length)return-1e-8===this._rts?0:this._rts;if(this._rts===t)return this;var e=this.parent&&this._ts?Xt(this.parent._time,this):this._tTime;return this._rts=+t||0,this._ts=this._ps||-1e-8===t?0:this._rts,It(this.totalTime(Jt(-this._delay,this._tDur,e),!0))},e.paused=function(t){return arguments.length?(this._ps!==t&&(this._ps=t,t?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(be(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&(this._tTime-=1e-8)&&1e-8!==Math.abs(this._zTime)))),this):this._ps},e.startTime=function(t){if(arguments.length){this._start=t;var e=this.parent||this._dp;return e&&(e._sort||!this.parent)&&Wt(e,this,t-this._delay),this}return this._start},e.endTime=function(t){return this._start+(q(t)?this.totalDuration():this.duration())/Math.abs(this._ts)},e.rawTime=function(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?Xt(e.rawTime(t),this):this._tTime:this._tTime},e.globalTime=function(t){for(var e=this,n=arguments.length?t:e.rawTime();e;)n=e._start+n/(e._ts||1),e=e._dp;return n},e.repeat=function(t){return arguments.length?(this._repeat=t,Qt(this)):this._repeat},e.repeatDelay=function(t){return arguments.length?(this._rDelay=t,Qt(this)):this._rDelay},e.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},e.seek=function(t,e){return this.totalTime(Zt(this,t),q(e))},e.restart=function(t,e){return this.play().totalTime(t?-this._delay:0,q(e))},e.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},e.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},e.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(t){return arguments.length?(!!t!==this.reversed()&&this.timeScale(-this._rts||(t?-1e-8:0)),this):this._rts<0},e.invalidate=function(){return this._initted=0,this._zTime=-1e-8,this},e.isActive=function(){var t,e=this.parent||this._dp,n=this._start;return!(e&&!(this._ts&&this._initted&&e.isActive()&&(t=e.rawTime(!0))>=n&&t<this.endTime(!0)-1e-8))},e.eventCallback=function(t,e,n){var r=this.vars;return arguments.length>1?(e?(r[t]=e,n&&(r[t+"Params"]=n),"onUpdate"===t&&(this._onUpdate=e)):delete r[t],this):r[t]},e.then=function(t){var e=this;return new Promise((function(n){var r=j(t)?t:At,i=function(){var t=e.then;e.then=null,j(r)&&(r=r(e))&&(r.then||r===e)&&(e.then=t),n(r),e.then=t};e._initted&&1===e.totalProgress()&&e._ts>=0||!e._tTime&&e._ts<0?i():e._prom=i}))},e.kill=function(){de(this)},t}();Mt(ze.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:-1e-8,_prom:0,_ps:!1,_rts:1});var Ye=function(t){function e(e,n){var i;return void 0===e&&(e={}),(i=t.call(this,e,n)||this).labels={},i.smoothChildTiming=!!e.smoothChildTiming,i.autoRemoveChildren=!!e.autoRemoveChildren,i._sort=q(e.sortChildren),i.parent&&Ut(i.parent,r(i)),e.scrollTrigger&&qt(r(i),e.scrollTrigger),i}i(e,t);var n=e.prototype;return n.to=function(t,e,n){return new Qe(t,wt(arguments,0,this),Zt(this,V(e)?arguments[3]:n)),this},n.from=function(t,e,n){return new Qe(t,wt(arguments,1,this),Zt(this,V(e)?arguments[3]:n)),this},n.fromTo=function(t,e,n,r){return new Qe(t,wt(arguments,2,this),Zt(this,V(e)?arguments[4]:r)),this},n.set=function(t,e,n){return e.duration=0,e.parent=this,kt(e).repeatDelay||(e.repeat=0),e.immediateRender=!!e.immediateRender,new Qe(t,e,Zt(this,n),1),this},n.call=function(t,e,n){return Wt(this,Qe.delayedCall(0,t,e),Zt(this,n))},n.staggerTo=function(t,e,n,r,i,u,s){return n.duration=e,n.stagger=n.stagger||r,n.onComplete=u,n.onCompleteParams=s,n.parent=this,new Qe(t,n,Zt(this,i)),this},n.staggerFrom=function(t,e,n,r,i,u,s){return n.runBackwards=1,kt(n).immediateRender=q(n.immediateRender),this.staggerTo(t,e,n,r,i,u,s)},n.staggerFromTo=function(t,e,n,r,i,u,s,o){return r.startAt=n,kt(r).immediateRender=q(r.immediateRender),this.staggerTo(t,e,r,i,u,s,o)},n.render=function(t,e,n){var r,i,s,o,a,l,h,f,D,p,c,d,g=this._time,_=this._dirty?this.totalDuration():this._tDur,m=this._dur,v=this!==u&&t>_-1e-8&&t>=0?_:t<1e-8?0:t,y=this._zTime<0!=t<0&&(this._initted||!m);if(v!==this._tTime||n||y){if(g!==this._time&&m&&(v+=this._time-g,t+=this._time-g),r=v,D=this._start,l=!(f=this._ts),y&&(m||(g=this._zTime),(t||!e)&&(this._zTime=t)),this._repeat&&(c=this._yoyo,a=m+this._rDelay,r=xt(v%a),v===_?(o=this._repeat,r=m):((o=~~(v/a))&&o===v/a&&(r=m,o--),r>m&&(r=m)),p=Yt(this._tTime,a),!g&&this._tTime&&p!==o&&(p=o),c&&1&o&&(r=m-r,d=1),o!==p&&!this._lock)){var C=c&&1&p,x=C===(c&&1&o);if(o<p&&(C=!C),g=C?0:m,this._lock=1,this.render(g||(d?0:xt(o*a)),e,!m)._lock=0,!e&&this.parent&&ce(this,"onRepeat"),this.vars.repeatRefresh&&!d&&(this.invalidate()._lock=1),g!==this._time||l!==!this._ts)return this;if(m=this._dur,_=this._tDur,x&&(this._lock=2,g=C?m:-1e-4,this.render(g,!0),this.vars.repeatRefresh&&!d&&this.invalidate()),this._lock=0,!this._ts&&!l)return this;Pe(this,d)}if(this._hasPause&&!this._forcing&&this._lock<2&&(h=function(t,e,n){var r;if(n>e)for(r=t._first;r&&r._start<=n;){if(!r._dur&&"isPause"===r.data&&r._start>e)return r;r=r._next}else for(r=t._last;r&&r._start>=n;){if(!r._dur&&"isPause"===r.data&&r._start<e)return r;r=r._prev}}(this,xt(g),xt(r)))&&(v-=r-(r=h._start)),this._tTime=v,this._time=r,this._act=!f,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=t),!g&&r&&!e&&ce(this,"onStart"),r>=g&&t>=0)for(i=this._first;i;){if(s=i._next,(i._act||r>=i._start)&&i._ts&&h!==i){if(i.parent!==this)return this.render(t,e,n);if(i.render(i._ts>0?(r-i._start)*i._ts:(i._dirty?i.totalDuration():i._tDur)+(r-i._start)*i._ts,e,n),r!==this._time||!this._ts&&!l){h=0,s&&(v+=this._zTime=-1e-8);break}}i=s}else{i=this._last;for(var F=t<0?t:r;i;){if(s=i._prev,(i._act||F<=i._end)&&i._ts&&h!==i){if(i.parent!==this)return this.render(t,e,n);if(i.render(i._ts>0?(F-i._start)*i._ts:(i._dirty?i.totalDuration():i._tDur)+(F-i._start)*i._ts,e,n),r!==this._time||!this._ts&&!l){h=0,s&&(v+=this._zTime=F?-1e-8:1e-8);break}}i=s}}if(h&&!e&&(this.pause(),h.render(r>=g?0:-1e-8)._zTime=r>=g?1:-1,this._ts))return this._start=D,jt(this),this.render(t,e,n);this._onUpdate&&!e&&ce(this,"onUpdate",!0),(v===_&&_>=this.totalDuration()||!v&&g)&&(D!==this._start&&Math.abs(f)===Math.abs(this._ts)||this._lock||((t||!m)&&(v===_&&this._ts>0||!v&&this._ts<0)&&Nt(this,1),e||t<0&&!g||!v&&!g||(ce(this,v===_?"onComplete":"onReverseComplete",!0),this._prom&&!(v<_&&this.timeScale()>0)&&this._prom())))}return this},n.add=function(t,e){var n=this;if(V(e)||(e=Zt(this,e)),!(t instanceof ze)){if(K(t))return t.forEach((function(t){return n.add(t,e)})),this;if(X(t))return this.addLabel(t,e);if(!j(t))return this;t=Qe.delayedCall(0,t)}return this!==t?Wt(this,t,e):this},n.getChildren=function(t,e,n,r){void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===n&&(n=!0),void 0===r&&(r=-k);for(var i=[],u=this._first;u;)u._start>=r&&(u instanceof Qe?e&&i.push(u):(n&&i.push(u),t&&i.push.apply(i,u.getChildren(!0,e,n)))),u=u._next;return i},n.getById=function(t){for(var e=this.getChildren(1,1,1),n=e.length;n--;)if(e[n].vars.id===t)return e[n]},n.remove=function(t){return X(t)?this.removeLabel(t):j(t)?this.killTweensOf(t):(Lt(this,t),t===this._recent&&(this._recent=this._last),Rt(this))},n.totalTime=function(e,n){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=xt(Ee.time-(this._ts>0?e/this._ts:(this.totalDuration()-e)/-this._ts))),t.prototype.totalTime.call(this,e,n),this._forcing=0,this):this._tTime},n.addLabel=function(t,e){return this.labels[t]=Zt(this,e),this},n.removeLabel=function(t){return delete this.labels[t],this},n.addPause=function(t,e,n){var r=Qe.delayedCall(0,e||lt,n);return r.data="isPause",this._hasPause=1,Wt(this,r,Zt(this,t))},n.removePause=function(t){var e=this._first;for(t=Zt(this,t);e;)e._start===t&&"isPause"===e.data&&Nt(e),e=e._next},n.killTweensOf=function(t,e,n){for(var r=this.getTweensOf(t,n),i=r.length;i--;)Xe!==r[i]&&r[i].kill(t,e);return this},n.getTweensOf=function(t,e){for(var n,r=[],i=ie(t),u=this._first,s=V(e);u;)u instanceof Qe?Ft(u._targets,i)&&(s?(!Xe||u._initted&&u._ts)&&u.globalTime(0)<=e&&u.globalTime(u.totalDuration())>e:!e||u.isActive())&&r.push(u):(n=u.getTweensOf(i,e)).length&&r.push.apply(r,n),u=u._next;return r},n.tweenTo=function(t,e){e=e||{};var n=this,r=Zt(n,t),i=e,u=i.startAt,s=i.onStart,o=i.onStartParams,a=Qe.to(n,Mt(e,{ease:"none",lazy:!1,time:r,overwrite:"auto",duration:e.duration||Math.abs((r-(u&&"time"in u?u.time:n._time))/n.timeScale())||1e-8,onStart:function(){n.pause();var t=e.duration||Math.abs((r-n._time)/n.timeScale());a._dur!==t&&Ht(a,t,0,1).render(a._time,!0,!0),s&&s.apply(a,o||[])}}));return a},n.tweenFromTo=function(t,e,n){return this.tweenTo(e,Mt({startAt:{time:Zt(this,t)}},n))},n.recent=function(){return this._recent},n.nextLabel=function(t){return void 0===t&&(t=this._time),pe(this,Zt(this,t))},n.previousLabel=function(t){return void 0===t&&(t=this._time),pe(this,Zt(this,t),1)},n.currentLabel=function(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+1e-8)},n.shiftChildren=function(t,e,n){void 0===n&&(n=0);for(var r,i=this._first,u=this.labels;i;)i._start>=n&&(i._start+=t,i._end+=t),i=i._next;if(e)for(r in u)u[r]>=n&&(u[r]+=t);return Rt(this)},n.invalidate=function(){var e=this._first;for(this._lock=0;e;)e.invalidate(),e=e._next;return t.prototype.invalidate.call(this)},n.clear=function(t){void 0===t&&(t=!0);for(var e,n=this._first;n;)e=n._next,this.remove(n),n=e;return this._time=this._tTime=this._pTime=0,t&&(this.labels={}),Rt(this)},n.totalDuration=function(t){var e,n,r,i=0,s=this,o=s._last,a=k;if(arguments.length)return s.timeScale((s._repeat<0?s.duration():s.totalDuration())/(s.reversed()?-t:t));if(s._dirty){for(r=s.parent;o;)e=o._prev,o._dirty&&o.totalDuration(),(n=o._start)>a&&s._sort&&o._ts&&!s._lock?(s._lock=1,Wt(s,o,n-o._delay,1)._lock=0):a=n,n<0&&o._ts&&(i-=n,(!r&&!s._dp||r&&r.smoothChildTiming)&&(s._start+=n/s._ts,s._time-=n,s._tTime-=n),s.shiftChildren(-n,!1,-Infinity),a=0),o._end>i&&o._ts&&(i=o._end),o=e;Ht(s,s===u&&s._time>i?s._time:i,1,1),s._dirty=0}return s._tDur},e.updateRoot=function(t){if(u._ts&&(bt(u,Xt(t,u)),h=Ee.frame),Ee.frame>=dt){dt+=P.autoSleep||120;var e=u._first;if((!e||!e._ts)&&P.autoSleep&&Ee._listeners.length<2){for(;e&&!e._ts;)e=e._next;e||Ee.sleep()}}},e}(ze);Mt(Ye.prototype,{_lock:0,_hasPause:0,_forcing:0});var Xe,je=function(t,e,n,r,i,u,s){var o,a,l,h,f,D,p,c,d=new hn(this._pt,t,e,0,1,rn,null,i),g=0,_=0;for(d.b=n,d.e=r,n+="",(p=~(r+="").indexOf("random("))&&(r=fe(r)),u&&(u(c=[n,r],t,e),n=c[0],r=c[1]),a=n.match(tt)||[];o=tt.exec(r);)h=o[0],f=r.substring(g,o.index),l?l=(l+1)%5:"rgba("===f.substr(-5)&&(l=1),h!==a[_++]&&(D=parseFloat(a[_-1])||0,d._pt={_next:d._pt,p:f||1===_?f:",",s:D,c:"="===h.charAt(1)?parseFloat(h.substr(2))*("-"===h.charAt(0)?-1:1):parseFloat(h)-D,m:l&&l<4?Math.round:0},g=tt.lastIndex);return d.c=g<r.length?r.substring(g,r.length):"",d.fp=s,(et.test(r)||p)&&(d.e=0),this._pt=d,d},Ve=function(t,e,n,r,i,u,s,o,a){j(r)&&(r=r(i||0,t,u));var l,h=t[e],f="get"!==n?n:j(h)?a?t[e.indexOf("set")||!j(t["get"+e.substr(3)])?e:"get"+e.substr(3)](a):t[e]():h,D=j(h)?a?$e:Ze:Ke;if(X(r)&&(~r.indexOf("random(")&&(r=fe(r)),"="===r.charAt(1)&&(r=parseFloat(f)+parseFloat(r.substr(2))*("-"===r.charAt(0)?-1:1)+(te(f)||0))),f!==r)return isNaN(f*r)?(!h&&!(e in t)&&st(e,r),je.call(this,t,e,f,r,D,o||P.stringFilter,a)):(l=new hn(this._pt,t,e,+f||0,r-(f||0),"boolean"==typeof h?nn:en,0,D),a&&(l.fp=a),s&&l.modifier(s,this,t),this._pt=l)},Ue=function(t,e,n,r,i,u){var s,o,a,l;if(pt[t]&&!1!==(s=new pt[t]).init(i,s.rawVars?e[t]:function(t,e,n,r,i){if(j(t)&&(t=qe(t,i,e,n,r)),!W(t)||t.style&&t.nodeType||K(t)||Q(t))return X(t)?qe(t,i,e,n,r):t;var u,s={};for(u in t)s[u]=qe(t[u],i,e,n,r);return s}(e[t],r,i,u,n),n,r,u)&&(n._pt=o=new hn(n._pt,i,t,0,1,s.render,s,0,s.priority),n!==f))for(a=n._ptLookup[n._targets.indexOf(i)],l=s._props.length;l--;)a[s._props[l]]=o;return s},We=function t(e,n){var r,i,s,o,a,l,h,f,D,p,c,d,g,_=e.vars,m=_.ease,v=_.startAt,y=_.immediateRender,C=_.lazy,x=_.onUpdate,F=_.onUpdateParams,w=_.callbackScope,E=_.runBackwards,b=_.yoyoEase,T=_.keyframes,A=_.autoRevert,M=e._dur,O=e._startAt,S=e._targets,P=e.parent,k=P&&"nested"===P.data?P.parent._targets:S,L="auto"===e._overwrite,N=e.timeline;if(N&&(!T||!m)&&(m="none"),e._ease=Be(m,B.ease),e._yEase=b?Se(Be(!0===b?m:b,B.ease)):0,b&&e._yoyo&&!e._repeat&&(b=e._yEase,e._yEase=e._ease,e._ease=b),!N){if(d=(f=S[0]?vt(S[0]).harness:0)&&_[f.prop],r=Bt(_,ht),O&&O.render(-1,!0).kill(),v){if(Nt(e._startAt=Qe.set(S,Mt({data:"isStart",overwrite:!1,parent:P,immediateRender:!0,lazy:q(C),startAt:null,delay:0,onUpdate:x,onUpdateParams:F,callbackScope:w,stagger:0},v))),y)if(n>0)A||(e._startAt=0);else if(M&&!(n<0&&O))return void(n&&(e._zTime=n))}else if(E&&M)if(O)!A&&(e._startAt=0);else if(n&&(y=!1),s=Mt({overwrite:!1,data:"isFromStart",lazy:y&&q(C),immediateRender:y,stagger:0,parent:P},r),d&&(s[f.prop]=d),Nt(e._startAt=Qe.set(S,s)),y){if(!n)return}else t(e._startAt,1e-8);for(e._pt=0,C=M&&q(C)||C&&!M,i=0;i<S.length;i++){if(h=(a=S[i])._gsap||mt(S)[i]._gsap,e._ptLookup[i]=p={},Dt[h.id]&&ft.length&&Et(),c=k===S?i:k.indexOf(a),f&&!1!==(D=new f).init(a,d||r,e,c,k)&&(e._pt=o=new hn(e._pt,a,D.name,0,1,D.render,D,0,D.priority),D._props.forEach((function(t){p[t]=o})),D.priority&&(l=1)),!f||d)for(s in r)pt[s]&&(D=Ue(s,r,e,c,a,k))?D.priority&&(l=1):p[s]=o=Ve.call(e,a,s,"get",r[s],c,k,0,_.stringFilter);e._op&&e._op[i]&&e.kill(a,e._op[i]),L&&e._pt&&(Xe=e,u.killTweensOf(a,p,e.globalTime(0)),g=!e.parent,Xe=0),e._pt&&C&&(Dt[h.id]=1)}l&&ln(e),e._onInit&&e._onInit(e)}e._from=!N&&!!_.runBackwards,e._onUpdate=x,e._initted=(!e._op||e._pt)&&!g},qe=function(t,e,n,r,i){return j(t)?t.call(e,n,r,i):X(t)&&~t.indexOf("random(")?fe(t):t},Ge=_t+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase",He=(Ge+",id,stagger,delay,duration,paused,scrollTrigger").split(","),Qe=function(t){function e(e,n,i,s){var o;"number"==typeof n&&(i.duration=n,n=i,i=null);var a,l,h,f,D,p,c,d,g=(o=t.call(this,s?n:kt(n),i)||this).vars,_=g.duration,m=g.delay,v=g.immediateRender,y=g.stagger,C=g.overwrite,x=g.keyframes,F=g.defaults,w=g.scrollTrigger,E=g.yoyoEase,b=o.parent,T=(K(e)||Q(e)?V(e[0]):"length"in n)?[e]:ie(e);if(o._targets=T.length?mt(T):ot("GSAP target "+e+" not found. https://greensock.com",!P.nullTargetWarn)||[],o._ptLookup=[],o._overwrite=C,x||y||H(_)||H(m)){if(n=o.vars,(a=o.timeline=new Ye({data:"nested",defaults:F||{}})).kill(),a.parent=r(o),x)Mt(a.vars.defaults,{ease:"none"}),x.forEach((function(t){return a.to(T,t,">")}));else{if(f=T.length,c=y?se(y):lt,W(y))for(D in y)~Ge.indexOf(D)&&(d||(d={}),d[D]=y[D]);for(l=0;l<f;l++){for(D in h={},n)He.indexOf(D)<0&&(h[D]=n[D]);h.stagger=0,E&&(h.yoyoEase=E),d&&St(h,d),p=T[l],h.duration=+qe(_,r(o),l,p,T),h.delay=(+qe(m,r(o),l,p,T)||0)-o._delay,!y&&1===f&&h.delay&&(o._delay=m=h.delay,o._start+=m,h.delay=0),a.to(p,h,c(l,p,T))}a.duration()?_=m=0:o.timeline=0}_||o.duration(_=a.duration())}else o.timeline=0;return!0===C&&(Xe=r(o),u.killTweensOf(T),Xe=0),b&&Ut(b,r(o)),(v||!_&&!x&&o._start===xt(b._time)&&q(v)&&function t(e){return!e||e._ts&&t(e.parent)}(r(o))&&"nested"!==b.data)&&(o._tTime=-1e-8,o.render(Math.max(0,-m))),w&&qt(r(o),w),o}i(e,t);var n=e.prototype;return n.render=function(t,e,n){var r,i,u,s,o,a,l,h,f,D=this._time,p=this._tDur,c=this._dur,d=t>p-1e-8&&t>=0?p:t<1e-8?0:t;if(c){if(d!==this._tTime||!t||n||this._startAt&&this._zTime<0!=t<0){if(r=d,h=this.timeline,this._repeat){if(s=c+this._rDelay,r=xt(d%s),d===p?(u=this._repeat,r=c):((u=~~(d/s))&&u===d/s&&(r=c,u--),r>c&&(r=c)),(a=this._yoyo&&1&u)&&(f=this._yEase,r=c-r),o=Yt(this._tTime,s),r===D&&!n&&this._initted)return this;u!==o&&(h&&this._yEase&&Pe(h,a),!this.vars.repeatRefresh||a||this._lock||(this._lock=n=1,this.render(xt(s*u),!0).invalidate()._lock=0))}if(!this._initted){if(Gt(this,t<0?t:r,n,e))return this._tTime=0,this;if(c!==this._dur)return this.render(t,e,n)}for(this._tTime=d,this._time=r,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=l=(f||this._ease)(r/c),this._from&&(this.ratio=l=1-l),r&&!D&&!e&&ce(this,"onStart"),i=this._pt;i;)i.r(l,i.d),i=i._next;h&&h.render(t<0?t:!r&&a?-1e-8:h._dur*l,e,n)||this._startAt&&(this._zTime=t),this._onUpdate&&!e&&(t<0&&this._startAt&&this._startAt.render(t,!0,n),ce(this,"onUpdate")),this._repeat&&u!==o&&this.vars.onRepeat&&!e&&this.parent&&ce(this,"onRepeat"),d!==this._tDur&&d||this._tTime!==d||(t<0&&this._startAt&&!this._onUpdate&&this._startAt.render(t,!0,!0),(t||!c)&&(d===this._tDur&&this._ts>0||!d&&this._ts<0)&&Nt(this,1),e||t<0&&!D||!d&&!D||(ce(this,d===p?"onComplete":"onReverseComplete",!0),this._prom&&!(d<p&&this.timeScale()>0)&&this._prom()))}}else!function(t,e,n,r){var i,u,s=t.ratio,o=e<0||!e&&s&&!t._start&&t._zTime>1e-8&&!t._dp._lock||(t._ts<0||t._dp._ts<0)&&"isFromStart"!==t.data&&"isStart"!==t.data?0:1,a=t._rDelay,l=0;if(a&&t._repeat&&(l=Jt(0,t._tDur,e),Yt(l,a)!==(u=Yt(t._tTime,a))&&(s=1-o,t.vars.repeatRefresh&&t._initted&&t.invalidate())),o!==s||r||1e-8===t._zTime||!e&&t._zTime){if(!t._initted&&Gt(t,e,r,n))return;for(u=t._zTime,t._zTime=e||(n?1e-8:0),n||(n=e&&!u),t.ratio=o,t._from&&(o=1-o),t._time=0,t._tTime=l,n||ce(t,"onStart"),i=t._pt;i;)i.r(o,i.d),i=i._next;t._startAt&&e<0&&t._startAt.render(e,!0,!0),t._onUpdate&&!n&&ce(t,"onUpdate"),l&&t._repeat&&!n&&t.parent&&ce(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===o&&(o&&Nt(t,1),n||(ce(t,o?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)}(this,t,e,n);return this},n.targets=function(){return this._targets},n.invalidate=function(){return this._pt=this._op=this._startAt=this._onUpdate=this._act=this._lazy=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(),t.prototype.invalidate.call(this)},n.kill=function(t,e){if(void 0===e&&(e="all"),!(t||e&&"all"!==e)&&(this._lazy=0,this.parent))return de(this);if(this.timeline){var n=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,Xe&&!0!==Xe.vars.overwrite)._first||de(this),this.parent&&n!==this.timeline.totalDuration()&&Ht(this,this._dur*this.timeline._tDur/n,0,1),this}var r,i,u,s,o,a,l,h=this._targets,f=t?ie(t):h,D=this._ptLookup,p=this._pt;if((!e||"all"===e)&&function(t,e){for(var n=t.length,r=n===e.length;r&&n--&&t[n]===e[n];);return n<0}(h,f))return"all"===e&&(this._pt=0),de(this);for(r=this._op=this._op||[],"all"!==e&&(X(e)&&(o={},Ct(e,(function(t){return o[t]=1})),e=o),e=function(t,e){var n,r,i,u,s=t[0]?vt(t[0]).harness:0,o=s&&s.aliases;if(!o)return e;for(r in n=St({},e),o)if(r in n)for(i=(u=o[r].split(",")).length;i--;)n[u[i]]=n[r];return n}(h,e)),l=h.length;l--;)if(~f.indexOf(h[l]))for(o in i=D[l],"all"===e?(r[l]=e,s=i,u={}):(u=r[l]=r[l]||{},s=e),s)(a=i&&i[o])&&("kill"in a.d&&!0!==a.d.kill(o)||Lt(this,a,"_pt"),delete i[o]),"all"!==u&&(u[o]=1);return this._initted&&!this._pt&&p&&de(this),this},e.to=function(t,n){return new e(t,n,arguments[2])},e.from=function(t,n){return new e(t,wt(arguments,1))},e.delayedCall=function(t,n,r,i){return new e(n,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:n,onReverseComplete:n,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},e.fromTo=function(t,n,r){return new e(t,wt(arguments,2))},e.set=function(t,n){return n.duration=0,n.repeatDelay||(n.repeat=0),new e(t,n)},e.killTweensOf=function(t,e,n){return u.killTweensOf(t,e,n)},e}(ze);Mt(Qe.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),Ct("staggerTo,staggerFrom,staggerFromTo",(function(t){Qe[t]=function(){var e=new Ye,n=ee.call(arguments,0);return n.splice("staggerFromTo"===t?5:4,0,0),e[t].apply(e,n)}}));var Ke=function(t,e,n){return t[e]=n},Ze=function(t,e,n){return t[e](n)},$e=function(t,e,n,r){return t[e](r.fp,n)},Je=function(t,e,n){return t.setAttribute(e,n)},tn=function(t,e){return j(t[e])?Ze:U(t[e])&&t.setAttribute?Je:Ke},en=function(t,e){return e.set(e.t,e.p,Math.round(1e4*(e.s+e.c*t))/1e4,e)},nn=function(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},rn=function(t,e){var n=e._pt,r="";if(!t&&e.b)r=e.b;else if(1===t&&e.e)r=e.e;else{for(;n;)r=n.p+(n.m?n.m(n.s+n.c*t):Math.round(1e4*(n.s+n.c*t))/1e4)+r,n=n._next;r+=e.c}e.set(e.t,e.p,r,e)},un=function(t,e){for(var n=e._pt;n;)n.r(t,n.d),n=n._next},sn=function(t,e,n,r){for(var i,u=this._pt;u;)i=u._next,u.p===r&&u.modifier(t,e,n),u=i},on=function(t){for(var e,n,r=this._pt;r;)n=r._next,r.p===t&&!r.op||r.op===t?Lt(this,r,"_pt"):r.dep||(e=1),r=n;return!e},an=function(t,e,n,r){r.mSet(t,e,r.m.call(r.tween,n,r.mt),r)},ln=function(t){for(var e,n,r,i,u=t._pt;u;){for(e=u._next,n=r;n&&n.pr>u.pr;)n=n._next;(u._prev=n?n._prev:i)?u._prev._next=u:r=u,(u._next=n)?n._prev=u:i=u,u=e}t._pt=r},hn=function(){function t(t,e,n,r,i,u,s,o,a){this.t=e,this.s=r,this.c=i,this.p=n,this.r=u||en,this.d=s||this,this.set=o||Ke,this.pr=a||0,this._next=t,t&&(t._prev=this)}return t.prototype.modifier=function(t,e,n){this.mSet=this.mSet||this.set,this.set=an,this.m=t,this.mt=n,this.tween=e},t}();Ct(_t+"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 ht[t]=1})),rt.TweenMax=rt.TweenLite=Qe,rt.TimelineLite=rt.TimelineMax=Ye,u=new Ye({sortChildren:!1,defaults:B,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),P.stringFilter=we;var fn={registerPlugin:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e.forEach((function(t){return ge(t)}))},timeline:function(t){return new Ye(t)},getTweensOf:function(t,e){return u.getTweensOf(t,e)},getProperty:function(t,e,n,r){X(t)&&(t=ie(t)[0]);var i=vt(t||{}).get,u=n?At:Tt;return"native"===n&&(n=""),t?e?u((pt[e]&&pt[e].get||i)(t,e,n,r)):function(e,n,r){return u((pt[e]&&pt[e].get||i)(t,e,n,r))}:t},quickSetter:function(t,e,n){if((t=ie(t)).length>1){var r=t.map((function(t){return cn.quickSetter(t,e,n)})),i=r.length;return function(t){for(var e=i;e--;)r[e](t)}}t=t[0]||{};var u=pt[e],s=vt(t),o=s.harness&&(s.harness.aliases||{})[e]||e,a=u?function(e){var r=new u;f._pt=0,r.init(t,n?e+n:e,f,0,[t]),r.render(1,r),f._pt&&un(1,f)}:s.set(t,o);return u?a:function(e){return a(t,o,n?e+n:e,s,1)}},isTweening:function(t){return u.getTweensOf(t,!0).length>0},defaults:function(t){return t&&t.ease&&(t.ease=Be(t.ease,B.ease)),Pt(B,t||{})},config:function(t){return Pt(P,t||{})},registerEffect:function(t){var e=t.name,n=t.effect,r=t.plugins,i=t.defaults,u=t.extendTimeline;(r||"").split(",").forEach((function(t){return t&&!pt[t]&&!rt[t]&&ot(e+" effect requires "+t+" plugin.")})),ct[e]=function(t,e,r){return n(ie(t),Mt(e||{},i),r)},u&&(Ye.prototype[e]=function(t,n,r){return this.add(ct[e](t,W(n)?n:(r=n)&&{},this),r)})},registerEase:function(t,e){Te[t]=Be(e)},parseEase:function(t,e){return arguments.length?Be(t,e):Te},getById:function(t){return u.getById(t)},exportRoot:function(t,e){void 0===t&&(t={});var n,r,i=new Ye(t);for(i.smoothChildTiming=q(t.smoothChildTiming),u.remove(i),i._dp=0,i._time=i._tTime=u._time,n=u._first;n;)r=n._next,!e&&!n._dur&&n instanceof Qe&&n.vars.onComplete===n._targets[0]||Wt(i,n,n._start-n._delay),n=r;return Wt(u,i,0),i},utils:{wrap:function t(e,n,r){var i=n-e;return K(e)?he(e,t(0,e.length),n):$t(r,(function(t){return(i+(t-e)%i)%i+e}))},wrapYoyo:function t(e,n,r){var i=n-e,u=2*i;return K(e)?he(e,t(0,e.length-1),n):$t(r,(function(t){return e+((t=(u+(t-e)%u)%u||0)>i?u-t:t)}))},distribute:se,random:le,snap:ae,normalize:function(t,e,n){return De(t,e,0,1,n)},getUnit:te,clamp:function(t,e,n){return $t(n,(function(n){return Jt(t,e,n)}))},splitColor:ve,toArray:ie,mapRange:De,pipe:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce((function(t,e){return e(t)}),t)}},unitize:function(t,e){return function(n){return t(parseFloat(n))+(e||te(n))}},interpolate:function t(e,n,r,i){var u=isNaN(e+n)?0:function(t){return(1-t)*e+t*n};if(!u){var s,o,a,l,h,f=X(e),D={};if(!0===r&&(i=1)&&(r=null),f)e={p:e},n={p:n};else if(K(e)&&!K(n)){for(a=[],l=e.length,h=l-2,o=1;o<l;o++)a.push(t(e[o-1],e[o]));l--,u=function(t){t*=l;var e=Math.min(h,~~t);return a[e](t-e)},r=n}else i||(e=St(K(e)?[]:{},e));if(!a){for(s in n)Ve.call(D,e,s,"get",n[s]);u=function(t){return un(t,D)||(f?e.p:e)}}}return $t(r,u)},shuffle:ue},install:ut,effects:ct,ticker:Ee,updateRoot:Ye.updateRoot,plugins:pt,globalTimeline:u,core:{PropTween:hn,globals:at,Tween:Qe,Timeline:Ye,Animation:ze,getCache:vt,_removeLinkedListItem:Lt}};Ct("to,from,fromTo,delayedCall,set,killTweensOf",(function(t){return fn[t]=Qe[t]})),Ee.add(Ye.updateRoot),f=fn.to({},{duration:0});var Dn=function(t,e){for(var n=t._pt;n&&n.p!==e&&n.op!==e&&n.fp!==e;)n=n._next;return n},pn=function(t,e){return{name:t,rawVars:1,init:function(t,n,r){r._onInit=function(t){var r,i;if(X(n)&&(r={},Ct(n,(function(t){return r[t]=1})),n=r),e){for(i in r={},n)r[i]=e(n[i]);n=r}!function(t,e){var n,r,i,u=t._targets;for(n in e)for(r=u.length;r--;)(i=t._ptLookup[r][n])&&(i=i.d)&&(i._pt&&(i=Dn(i,n)),i&&i.modifier&&i.modifier(e[n],t,u[r],n))}(t,n)}}}},cn=fn.registerPlugin({name:"attr",init:function(t,e,n,r,i){var u,s;for(u in e)(s=this.add(t,"setAttribute",(t.getAttribute(u)||0)+"",e[u],r,i,0,0,u))&&(s.op=u),this._props.push(u)}},{name:"endArray",init:function(t,e){for(var n=e.length;n--;)this.add(t,n,t[n]||0,e[n])}},pn("roundProps",oe),pn("modifiers"),pn("snap",ae))||fn;Qe.version=Ye.version=cn.version="3.5.1",l=1,G()&&be();Te.Power0,Te.Power1,Te.Power2,Te.Power3,Te.Power4,Te.Linear,Te.Quad,Te.Cubic,Te.Quart,Te.Quint,Te.Strong,Te.Elastic,Te.Back,Te.SteppedEase,Te.Bounce,Te.Sine,Te.Expo,Te.Circ;
/*!
 * CSSPlugin 3.5.1
 * https://greensock.com
 *
 * Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/var dn,gn,_n,mn,vn,yn,Cn,xn,Fn={},wn=180/Math.PI,En=Math.PI/180,bn=Math.atan2,Tn=/([A-Z])/g,An=/(?:left|right|width|margin|padding|x)/i,Mn=/[\s,\(]\S/,On={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},Sn=function(t,e){return e.set(e.t,e.p,Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)},Pn=function(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)},Bn=function(t,e){return e.set(e.t,e.p,t?Math.round(1e4*(e.s+e.c*t))/1e4+e.u:e.b,e)},kn=function(t,e){var n=e.s+e.c*t;e.set(e.t,e.p,~~(n+(n<0?-.5:.5))+e.u,e)},Ln=function(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)},Nn=function(t,e){return e.set(e.t,e.p,1!==t?e.b:e.e,e)},Rn=function(t,e,n){return t.style[e]=n},In=function(t,e,n){return t.style.setProperty(e,n)},zn=function(t,e,n){return t._gsap[e]=n},Yn=function(t,e,n){return t._gsap.scaleX=t._gsap.scaleY=n},Xn=function(t,e,n,r,i){var u=t._gsap;u.scaleX=u.scaleY=n,u.renderTransform(i,u)},jn=function(t,e,n,r,i){var u=t._gsap;u[e]=n,u.renderTransform(i,u)},Vn="transform",Un=Vn+"Origin",Wn=function(t,e){var n=gn.createElementNS?gn.createElementNS((e||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),t):gn.createElement(t);return n.style?n:gn.createElement(t)},qn=function t(e,n,r){var i=getComputedStyle(e);return i[n]||i.getPropertyValue(n.replace(Tn,"-$1").toLowerCase())||i.getPropertyValue(n)||!r&&t(e,Hn(n)||n,1)||""},Gn="O,Moz,ms,Ms,Webkit".split(","),Hn=function(t,e,n){var r=(e||vn).style,i=5;if(t in r&&!n)return t;for(t=t.charAt(0).toUpperCase()+t.substr(1);i--&&!(Gn[i]+t in r););return i<0?null:(3===i?"ms":i>=0?Gn[i]:"")+t},Qn=function(){"undefined"!=typeof window&&window.document&&(dn=window,gn=dn.document,_n=gn.documentElement,vn=Wn("div")||{style:{}},yn=Wn("div"),Vn=Hn(Vn),Un=Vn+"Origin",vn.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",xn=!!Hn("perspective"),mn=1)},Kn=function t(e){var n,r=Wn("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,u=this.nextSibling,s=this.style.cssText;if(_n.appendChild(r),r.appendChild(this),this.style.display="block",e)try{n=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=t}catch(t){}else this._gsapBBox&&(n=this._gsapBBox());return i&&(u?i.insertBefore(this,u):i.appendChild(this)),_n.removeChild(r),this.style.cssText=s,n},Zn=function(t,e){for(var n=e.length;n--;)if(t.hasAttribute(e[n]))return t.getAttribute(e[n])},$n=function(t){var e;try{e=t.getBBox()}catch(n){e=Kn.call(t,!0)}return e&&(e.width||e.height)||t.getBBox===Kn||(e=Kn.call(t,!0)),!e||e.width||e.x||e.y?e:{x:+Zn(t,["x","cx","x1"])||0,y:+Zn(t,["y","cy","y1"])||0,width:0,height:0}},Jn=function(t){return!(!t.getCTM||t.parentNode&&!t.ownerSVGElement||!$n(t))},tr=function(t,e){if(e){var n=t.style;e in Fn&&e!==Un&&(e=Vn),n.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),n.removeProperty(e.replace(Tn,"-$1").toLowerCase())):n.removeAttribute(e)}},er=function(t,e,n,r,i,u){var s=new hn(t._pt,e,n,0,1,u?Nn:Ln);return t._pt=s,s.b=r,s.e=i,t._props.push(n),s},nr={deg:1,rad:1,turn:1},rr=function t(e,n,r,i){var u,s,o,a,l=parseFloat(r)||0,h=(r+"").trim().substr((l+"").length)||"px",f=vn.style,D=An.test(n),p="svg"===e.tagName.toLowerCase(),c=(p?"client":"offset")+(D?"Width":"Height"),d="px"===i,g="%"===i;return i===h||!l||nr[i]||nr[h]?l:("px"!==h&&!d&&(l=t(e,n,r,"px")),a=e.getCTM&&Jn(e),g&&(Fn[n]||~n.indexOf("adius"))?xt(l/(a?e.getBBox()[D?"width":"height"]:e[c])*100):(f[D?"width":"height"]=100+(d?h:i),s=~n.indexOf("adius")||"em"===i&&e.appendChild&&!p?e:e.parentNode,a&&(s=(e.ownerSVGElement||{}).parentNode),s&&s!==gn&&s.appendChild||(s=gn.body),(o=s._gsap)&&g&&o.width&&D&&o.time===Ee.time?xt(l/o.width*100):((g||"%"===h)&&(f.position=qn(e,"position")),s===e&&(f.position="static"),s.appendChild(vn),u=vn[c],s.removeChild(vn),f.position="absolute",D&&g&&((o=vt(s)).time=Ee.time,o.width=s[c]),xt(d?u*l/100:u&&l?100/u*l:0))))},ir=function(t,e,n,r){var i;return mn||Qn(),e in On&&"transform"!==e&&~(e=On[e]).indexOf(",")&&(e=e.split(",")[0]),Fn[e]&&"transform"!==e?(i=dr(t,r),i="transformOrigin"!==e?i[e]:gr(qn(t,Un))+" "+i.zOrigin+"px"):(!(i=t.style[e])||"auto"===i||r||~(i+"").indexOf("calc("))&&(i=ar[e]&&ar[e](t,e,n)||qn(t,e)||yt(t,e)||("opacity"===e?1:0)),n&&!~(i+"").indexOf(" ")?rr(t,e,i,n)+n:i},ur=function(t,e,n,r){if(!n||"none"===n){var i=Hn(e,t,1),u=i&&qn(t,i,1);u&&u!==n?(e=i,n=u):"borderColor"===e&&(n=qn(t,"borderTopColor"))}var s,o,a,l,h,f,D,p,c,d,g,_,m=new hn(this._pt,t.style,e,0,1,rn),v=0,y=0;if(m.b=n,m.e=r,n+="","auto"===(r+="")&&(t.style[e]=r,r=qn(t,e)||r,t.style[e]=n),we(s=[n,r]),r=s[1],a=(n=s[0]).match(J)||[],(r.match(J)||[]).length){for(;o=J.exec(r);)D=o[0],c=r.substring(v,o.index),h?h=(h+1)%5:"rgba("!==c.substr(-5)&&"hsla("!==c.substr(-5)||(h=1),D!==(f=a[y++]||"")&&(l=parseFloat(f)||0,g=f.substr((l+"").length),(_="="===D.charAt(1)?+(D.charAt(0)+"1"):0)&&(D=D.substr(2)),p=parseFloat(D),d=D.substr((p+"").length),v=J.lastIndex-d.length,d||(d=d||P.units[e]||g,v===r.length&&(r+=d,m.e+=d)),g!==d&&(l=rr(t,e,f,d)||0),m._pt={_next:m._pt,p:c||1===y?c:",",s:l,c:_?_*p:p-l,m:h&&h<4?Math.round:0});m.c=v<r.length?r.substring(v,r.length):""}else m.r="display"===e&&"none"===r?Nn:Ln;return et.test(r)&&(m.e=0),this._pt=m,m},sr={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},or=function(t,e){if(e.tween&&e.tween._time===e.tween._dur){var n,r,i,u=e.t,s=u.style,o=e.u,a=u._gsap;if("all"===o||!0===o)s.cssText="",r=1;else for(i=(o=o.split(",")).length;--i>-1;)n=o[i],Fn[n]&&(r=1,n="transformOrigin"===n?Un:Vn),tr(u,n);r&&(tr(u,Vn),a&&(a.svg&&u.removeAttribute("transform"),dr(u,1),a.uncache=1))}},ar={clearProps:function(t,e,n,r,i){if("isFromStart"!==i.data){var u=t._pt=new hn(t._pt,e,n,0,0,or);return u.u=r,u.pr=-10,u.tween=i,t._props.push(n),1}}},lr=[1,0,0,1,0,0],hr={},fr=function(t){return"matrix(1, 0, 0, 1, 0, 0)"===t||"none"===t||!t},Dr=function(t){var e=qn(t,Vn);return fr(e)?lr:e.substr(7).match($).map(xt)},pr=function(t,e){var n,r,i,u,s=t._gsap||vt(t),o=t.style,a=Dr(t);return s.svg&&t.getAttribute("transform")?"1,0,0,1,0,0"===(a=[(i=t.transform.baseVal.consolidate().matrix).a,i.b,i.c,i.d,i.e,i.f]).join(",")?lr:a:(a!==lr||t.offsetParent||t===_n||s.svg||(i=o.display,o.display="block",(n=t.parentNode)&&t.offsetParent||(u=1,r=t.nextSibling,_n.appendChild(t)),a=Dr(t),i?o.display=i:tr(t,"display"),u&&(r?n.insertBefore(t,r):n?n.appendChild(t):_n.removeChild(t))),e&&a.length>6?[a[0],a[1],a[4],a[5],a[12],a[13]]:a)},cr=function(t,e,n,r,i,u){var s,o,a,l=t._gsap,h=i||pr(t,!0),f=l.xOrigin||0,D=l.yOrigin||0,p=l.xOffset||0,c=l.yOffset||0,d=h[0],g=h[1],_=h[2],m=h[3],v=h[4],y=h[5],C=e.split(" "),x=parseFloat(C[0])||0,F=parseFloat(C[1])||0;n?h!==lr&&(o=d*m-g*_)&&(a=x*(-g/o)+F*(d/o)-(d*y-g*v)/o,x=x*(m/o)+F*(-_/o)+(_*y-m*v)/o,F=a):(x=(s=$n(t)).x+(~C[0].indexOf("%")?x/100*s.width:x),F=s.y+(~(C[1]||C[0]).indexOf("%")?F/100*s.height:F)),r||!1!==r&&l.smooth?(v=x-f,y=F-D,l.xOffset=p+(v*d+y*_)-v,l.yOffset=c+(v*g+y*m)-y):l.xOffset=l.yOffset=0,l.xOrigin=x,l.yOrigin=F,l.smooth=!!r,l.origin=e,l.originIsAbsolute=!!n,t.style[Un]="0px 0px",u&&(er(u,l,"xOrigin",f,x),er(u,l,"yOrigin",D,F),er(u,l,"xOffset",p,l.xOffset),er(u,l,"yOffset",c,l.yOffset)),t.setAttribute("data-svg-origin",x+" "+F)},dr=function(t,e){var n=t._gsap||new Ie(t);if("x"in n&&!e&&!n.uncache)return n;var r,i,u,s,o,a,l,h,f,D,p,c,d,g,_,m,v,y,C,x,F,w,E,b,T,A,M,O,S,B,k,L,N=t.style,R=n.scaleX<0,I=qn(t,Un)||"0";return r=i=u=a=l=h=f=D=p=0,s=o=1,n.svg=!(!t.getCTM||!Jn(t)),g=pr(t,n.svg),n.svg&&(b=!n.uncache&&t.getAttribute("data-svg-origin"),cr(t,b||I,!!b||n.originIsAbsolute,!1!==n.smooth,g)),c=n.xOrigin||0,d=n.yOrigin||0,g!==lr&&(y=g[0],C=g[1],x=g[2],F=g[3],r=w=g[4],i=E=g[5],6===g.length?(s=Math.sqrt(y*y+C*C),o=Math.sqrt(F*F+x*x),a=y||C?bn(C,y)*wn:0,(f=x||F?bn(x,F)*wn+a:0)&&(o*=Math.cos(f*En)),n.svg&&(r-=c-(c*y+d*x),i-=d-(c*C+d*F))):(L=g[6],B=g[7],M=g[8],O=g[9],S=g[10],k=g[11],r=g[12],i=g[13],u=g[14],l=(_=bn(L,S))*wn,_&&(b=w*(m=Math.cos(-_))+M*(v=Math.sin(-_)),T=E*m+O*v,A=L*m+S*v,M=w*-v+M*m,O=E*-v+O*m,S=L*-v+S*m,k=B*-v+k*m,w=b,E=T,L=A),h=(_=bn(-x,S))*wn,_&&(m=Math.cos(-_),k=F*(v=Math.sin(-_))+k*m,y=b=y*m-M*v,C=T=C*m-O*v,x=A=x*m-S*v),a=(_=bn(C,y))*wn,_&&(b=y*(m=Math.cos(_))+C*(v=Math.sin(_)),T=w*m+E*v,C=C*m-y*v,E=E*m-w*v,y=b,w=T),l&&Math.abs(l)+Math.abs(a)>359.9&&(l=a=0,h=180-h),s=xt(Math.sqrt(y*y+C*C+x*x)),o=xt(Math.sqrt(E*E+L*L)),_=bn(w,E),f=Math.abs(_)>2e-4?_*wn:0,p=k?1/(k<0?-k:k):0),n.svg&&(b=t.getAttribute("transform"),n.forceCSS=t.setAttribute("transform","")||!fr(qn(t,Vn)),b&&t.setAttribute("transform",b))),Math.abs(f)>90&&Math.abs(f)<270&&(R?(s*=-1,f+=a<=0?180:-180,a+=a<=0?180:-180):(o*=-1,f+=f<=0?180:-180)),n.x=((n.xPercent=r&&Math.round(t.offsetWidth/2)===Math.round(-r)?-50:0)?0:r)+"px",n.y=((n.yPercent=i&&Math.round(t.offsetHeight/2)===Math.round(-i)?-50:0)?0:i)+"px",n.z=u+"px",n.scaleX=xt(s),n.scaleY=xt(o),n.rotation=xt(a)+"deg",n.rotationX=xt(l)+"deg",n.rotationY=xt(h)+"deg",n.skewX=f+"deg",n.skewY=D+"deg",n.transformPerspective=p+"px",(n.zOrigin=parseFloat(I.split(" ")[2])||0)&&(N[Un]=gr(I)),n.xOffset=n.yOffset=0,n.force3D=P.force3D,n.renderTransform=n.svg?yr:xn?vr:mr,n.uncache=0,n},gr=function(t){return(t=t.split(" "))[0]+" "+t[1]},_r=function(t,e,n){var r=te(e);return xt(parseFloat(e)+parseFloat(rr(t,"x",n+"px",r)))+r},mr=function(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,vr(t,e)},vr=function(t,e){var n=e||this,r=n.xPercent,i=n.yPercent,u=n.x,s=n.y,o=n.z,a=n.rotation,l=n.rotationY,h=n.rotationX,f=n.skewX,D=n.skewY,p=n.scaleX,c=n.scaleY,d=n.transformPerspective,g=n.force3D,_=n.target,m=n.zOrigin,v="",y="auto"===g&&t&&1!==t||!0===g;if(m&&("0deg"!==h||"0deg"!==l)){var C,x=parseFloat(l)*En,F=Math.sin(x),w=Math.cos(x);x=parseFloat(h)*En,C=Math.cos(x),u=_r(_,u,F*C*-m),s=_r(_,s,-Math.sin(x)*-m),o=_r(_,o,w*C*-m+m)}"0px"!==d&&(v+="perspective("+d+") "),(r||i)&&(v+="translate("+r+"%, "+i+"%) "),(y||"0px"!==u||"0px"!==s||"0px"!==o)&&(v+="0px"!==o||y?"translate3d("+u+", "+s+", "+o+") ":"translate("+u+", "+s+") "),"0deg"!==a&&(v+="rotate("+a+") "),"0deg"!==l&&(v+="rotateY("+l+") "),"0deg"!==h&&(v+="rotateX("+h+") "),"0deg"===f&&"0deg"===D||(v+="skew("+f+", "+D+") "),1===p&&1===c||(v+="scale("+p+", "+c+") "),_.style[Vn]=v||"translate(0, 0)"},yr=function(t,e){var n,r,i,u,s,o=e||this,a=o.xPercent,l=o.yPercent,h=o.x,f=o.y,D=o.rotation,p=o.skewX,c=o.skewY,d=o.scaleX,g=o.scaleY,_=o.target,m=o.xOrigin,v=o.yOrigin,y=o.xOffset,C=o.yOffset,x=o.forceCSS,F=parseFloat(h),w=parseFloat(f);D=parseFloat(D),p=parseFloat(p),(c=parseFloat(c))&&(p+=c=parseFloat(c),D+=c),D||p?(D*=En,p*=En,n=Math.cos(D)*d,r=Math.sin(D)*d,i=Math.sin(D-p)*-g,u=Math.cos(D-p)*g,p&&(c*=En,s=Math.tan(p-c),i*=s=Math.sqrt(1+s*s),u*=s,c&&(s=Math.tan(c),n*=s=Math.sqrt(1+s*s),r*=s)),n=xt(n),r=xt(r),i=xt(i),u=xt(u)):(n=d,u=g,r=i=0),(F&&!~(h+"").indexOf("px")||w&&!~(f+"").indexOf("px"))&&(F=rr(_,"x",h,"px"),w=rr(_,"y",f,"px")),(m||v||y||C)&&(F=xt(F+m-(m*n+v*i)+y),w=xt(w+v-(m*r+v*u)+C)),(a||l)&&(s=_.getBBox(),F=xt(F+a/100*s.width),w=xt(w+l/100*s.height)),s="matrix("+n+","+r+","+i+","+u+","+F+","+w+")",_.setAttribute("transform",s),x&&(_.style[Vn]=s)},Cr=function(t,e,n,r,i,u){var s,o,a=X(i),l=parseFloat(i)*(a&&~i.indexOf("rad")?wn:1),h=u?l*u:l-r,f=r+h+"deg";return a&&("short"===(s=i.split("_")[1])&&(h%=360)!==h%180&&(h+=h<0?360:-360),"cw"===s&&h<0?h=(h+36e9)%360-360*~~(h/360):"ccw"===s&&h>0&&(h=(h-36e9)%360-360*~~(h/360))),t._pt=o=new hn(t._pt,e,n,r,h,Pn),o.e=f,o.u="deg",t._props.push(n),o},xr=function(t,e,n){var r,i,u,s,o,a,l,h=yn.style,f=n._gsap;for(i in h.cssText=getComputedStyle(n).cssText+";position:absolute;display:block;",h[Vn]=e,gn.body.appendChild(yn),r=dr(yn,1),Fn)(u=f[i])!==(s=r[i])&&"perspective,force3D,transformOrigin,svgOrigin".indexOf(i)<0&&(o=te(u)!==(l=te(s))?rr(n,i,u,l):parseFloat(u),a=parseFloat(s),t._pt=new hn(t._pt,f,i,o,a-o,Sn),t._pt.u=l||0,t._props.push(i));gn.body.removeChild(yn)};Ct("padding,margin,Width,Radius",(function(t,e){var n="Top",r="Right",i="Bottom",u="Left",s=(e<3?[n,r,i,u]:[n+u,n+r,i+r,i+u]).map((function(n){return e<2?t+n:"border"+n+t}));ar[e>1?"border"+t:t]=function(t,e,n,r,i){var u,o;if(arguments.length<4)return u=s.map((function(e){return ir(t,e,n)})),5===(o=u.join(" ")).split(u[0]).length?u[0]:o;u=(r+"").split(" "),o={},s.forEach((function(t,e){return o[t]=u[e]=u[e]||u[(e-1)/2|0]})),t.init(e,o,i)}}));var Fr,wr,Er={name:"css",register:Qn,targetTest:function(t){return t.style&&t.nodeType},init:function(t,e,n,r,i){var u,s,o,a,l,h,f,D,p,c,d,g,_,m,v,y,C,x,F,w=this._props,E=t.style;for(f in mn||Qn(),e)if("autoRound"!==f&&(s=e[f],!pt[f]||!Ue(f,e,n,r,t,i)))if(l=typeof s,h=ar[f],"function"===l&&(l=typeof(s=s.call(n,r,t,i))),"string"===l&&~s.indexOf("random(")&&(s=fe(s)),h)h(this,t,f,s,n)&&(v=1);else if("--"===f.substr(0,2))this.add(E,"setProperty",getComputedStyle(t).getPropertyValue(f)+"",s+"",r,i,0,0,f);else if("undefined"!==l){if(u=ir(t,f),a=parseFloat(u),(c="string"===l&&"="===s.charAt(1)?+(s.charAt(0)+"1"):0)&&(s=s.substr(2)),o=parseFloat(s),f in On&&("autoAlpha"===f&&(1===a&&"hidden"===ir(t,"visibility")&&o&&(a=0),er(this,E,"visibility",a?"inherit":"hidden",o?"inherit":"hidden",!o)),"scale"!==f&&"transform"!==f&&~(f=On[f]).indexOf(",")&&(f=f.split(",")[0])),d=f in Fn)if(g||((_=t._gsap).renderTransform||dr(t),m=!1!==e.smoothOrigin&&_.smooth,(g=this._pt=new hn(this._pt,E,Vn,0,1,_.renderTransform,_,0,-1)).dep=1),"scale"===f)this._pt=new hn(this._pt,_,"scaleY",_.scaleY,c?c*o:o-_.scaleY),w.push("scaleY",f),f+="X";else{if("transformOrigin"===f){C=void 0,x=void 0,F=void 0,C=(y=s).split(" "),x=C[0],F=C[1]||"50%","top"!==x&&"bottom"!==x&&"left"!==F&&"right"!==F||(y=x,x=F,F=y),C[0]=sr[x]||x,C[1]=sr[F]||F,s=C.join(" "),_.svg?cr(t,s,0,m,0,this):((p=parseFloat(s.split(" ")[2])||0)!==_.zOrigin&&er(this,_,"zOrigin",_.zOrigin,p),er(this,E,f,gr(u),gr(s)));continue}if("svgOrigin"===f){cr(t,s,1,m,0,this);continue}if(f in hr){Cr(this,_,f,a,s,c);continue}if("smoothOrigin"===f){er(this,_,"smooth",_.smooth,s);continue}if("force3D"===f){_[f]=s;continue}if("transform"===f){xr(this,s,t);continue}}else f in E||(f=Hn(f)||f);if(d||(o||0===o)&&(a||0===a)&&!Mn.test(s)&&f in E)o||(o=0),(D=(u+"").substr((a+"").length))!==(p=te(s)||(f in P.units?P.units[f]:D))&&(a=rr(t,f,u,p)),this._pt=new hn(this._pt,d?_:E,f,a,c?c*o:o-a,"px"!==p||!1===e.autoRound||d?Sn:kn),this._pt.u=p||0,D!==p&&(this._pt.b=u,this._pt.r=Bn);else if(f in E)ur.call(this,t,f,u,s);else{if(!(f in t)){st(f,s);continue}this.add(t,f,t[f],s,r,i)}w.push(f)}v&&ln(this)},get:ir,aliases:On,getSetter:function(t,e,n){var r=On[e];return r&&r.indexOf(",")<0&&(e=r),e in Fn&&e!==Un&&(t._gsap.x||ir(t,"x"))?n&&Cn===n?"scale"===e?Yn:zn:(Cn=n||{})&&("scale"===e?Xn:jn):t.style&&!U(t.style[e])?Rn:~e.indexOf("-")?In:tn(t,e)},core:{_removeProperty:tr,_getMatrix:pr}};cn.utils.checkPrefix=Hn,wr=Ct("x,y,z,scale,scaleX,scaleY,xPercent,yPercent,"+(Fr="rotation,rotationX,rotationY,skewX,skewY")+",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective",(function(t){Fn[t]=1})),Ct(Fr,(function(t){P.units[t]="deg",hr[t]=1})),On[wr[13]]="x,y,z,scale,scaleX,scaleY,xPercent,yPercent,"+Fr,Ct("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY",(function(t){var e=t.split(":");On[e[1]]=wr[e[0]]})),Ct("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",(function(t){P.units[t]="px"})),cn.registerPlugin(Er);var br,Tr,Ar,Mr=cn.registerPlugin(Er)||cn,Or=Mr.core.Tween,Sr=function(){return br||"undefined"!=typeof window&&(br=window.gsap)&&br.registerPlugin&&br},Pr=function(t){br=Sr(),(Ar=br&&br.parseEase("_CE"))?(Tr=1,br.parseEase("bounce").config=function(t){return"object"==typeof t?kr("",t):kr("bounce("+t+")",{strength:+t})}):t&&console.warn("Please gsap.registerPlugin(CustomEase, CustomBounce)")},Br=function(t){var e,n=t.length,r=1/t[n-2];for(e=2;e<n;e+=2)t[e]=~~(t[e]*r*1e3)/1e3;t[n-2]=1},kr=function(t,e){Tr||Pr(1),e=e||{};var n,r,i,u,s,o,a,l=Math.min(.999,e.strength||.7),h=l,f=(e.squash||0)/100,D=f,p=1/.03,c=.2,d=1,g=.1,_=[0,0,.07,0,.1,1,.1,1],m=[0,0,0,0,.1,0,.1,0];for(s=0;s<200&&(o=g+(c*=h*((h+1)/2)),u=1-(d*=l*l),r=(i=g+.49*c)+.8*(i-(n=g+d/p)),f&&(g+=f,n+=f,i+=f,r+=f,o+=f,a=f/D,m.push(g-f,0,g-f,a,g-f/2,a,g,a,g,0,g,0,g,-.6*a,g+(o-g)/6,0,o,0),_.push(g-f,1,g,1,g,1),f*=l*l),_.push(g,1,n,u,i,u,r,u,o,1,o,1),l*=.95,p=d/(o-r),g=o,!(u>.999));s++);if(e.endAtStart&&"false"!==e.endAtStart){if(i=-.1,_.unshift(i,1,i,1,-.07,0),D)for(i-=f=2.5*D,_.unshift(i,1,i,1,i,1),m.splice(0,6),m.unshift(i,0,i,0,i,1,i+f/2,1,i+f,1,i+f,0,i+f,0,i+f,-.6,i+f+.033,0),s=0;s<m.length;s+=2)m[s]-=i;for(s=0;s<_.length;s+=2)_[s]-=i,_[s+1]=1-_[s+1]}return f&&(Br(m),m[2]="C"+m[2],Ar(e.squashID||t+"-squash","M"+m.join(","))),Br(_),_[2]="C"+_[2],Ar(t,"M"+_.join(","))},Lr=function(){function t(t,e){this.ease=kr(t,e)}return t.create=function(t,e){return kr(t,e)},t.register=function(t){br=t,Pr()},t}();
/*!
 * CustomBounce 3.5.1
 * https://greensock.com
 *
 * @license Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/Sr()&&br.registerPlugin(Lr),Lr.version="3.5.1";
/*!
 * paths 3.5.1
 * https://greensock.com
 *
 * Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/
var Nr=/[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,Rr=/(?:(-)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,Ir=/[\+\-]?\d*\.?\d+e[\+\-]?\d+/gi,zr=/(^[#\.][a-z]|[a-y][a-z])/i,Yr=Math.PI/180,Xr=180/Math.PI,jr=Math.sin,Vr=Math.cos,Ur=Math.abs,Wr=Math.sqrt,qr=Math.atan2,Gr=function(t){return"string"==typeof t},Hr=function(t){return"number"==typeof t},Qr={},Kr={},Zr=function(t){return Math.round((t+1e8)%1*1e5)/1e5||(t<0?0:1)},$r=function(t){return Math.round(1e5*t)/1e5||0},Jr=function(t,e,n,r){var i=t[e],u=1===r?6:hi(i,n,r);if(u&&u+n+2<i.length)return t.splice(e,0,i.slice(0,n+u+2)),i.splice(0,n+u),1},ti=function(t,e){return e.totalLength=t.totalLength,t.samples?(e.samples=t.samples.slice(0),e.lookup=t.lookup.slice(0),e.minLength=t.minLength,e.resolution=t.resolution):e.totalPoints=t.totalPoints,e},ei=function(t,e){var n=t.length,r=t[n-1]||[],i=r.length;e[0]===r[i-2]&&e[1]===r[i-1]&&(e=r.concat(e.slice(2)),n--),t[n]=e};function ni(t){var e,n=(t=Gr(t)&&zr.test(t)&&document.querySelector(t)||t).getAttribute?t:0;return n&&(t=t.getAttribute("d"))?(n._gsPath||(n._gsPath={}),(e=n._gsPath[t])&&!e._dirty?e:n._gsPath[t]=di(t)):t?Gr(t)?di(t):Hr(t[0])?[t]:t:console.warn("Expecting a <path> element or an SVG path data string")}function ri(t){var e,n=0;for(t.reverse();n<t.length;n+=2)e=t[n],t[n]=t[n+1],t[n+1]=e;t.reversed=!t.reversed}var ii={rect:"rx,ry,x,y,width,height",circle:"r,cx,cy",ellipse:"rx,ry,cx,cy",line:"x1,x2,y1,y2"};function ui(t,e){var n,r,i,u,s,o,a,l,h,f,D,p,c,d,g,_,m,v,y,C,x,F,w=t.tagName.toLowerCase(),E=.552284749831;return"path"!==w&&t.getBBox?(o=function(t,e){var n,r=document.createElementNS("http://www.w3.org/2000/svg","path"),i=[].slice.call(t.attributes),u=i.length;for(e=","+e+",";--u>-1;)n=i[u].nodeName.toLowerCase(),e.indexOf(","+n+",")<0&&r.setAttributeNS(null,n,i[u].nodeValue);return r}(t,"x,y,width,height,cx,cy,rx,ry,r,x1,x2,y1,y2,points"),F=function(t,e){for(var n=e?e.split(","):[],r={},i=n.length;--i>-1;)r[n[i]]=+t.getAttribute(n[i])||0;return r}(t,ii[w]),"rect"===w?(u=F.rx,s=F.ry||u,r=F.x,i=F.y,f=F.width-2*u,D=F.height-2*s,n=u||s?"M"+(_=(d=(c=r+u)+f)+u)+","+(v=i+s)+" V"+(y=v+D)+" C"+[_,C=y+s*E,g=d+u*E,x=y+s,d,x,d-(d-c)/3,x,c+(d-c)/3,x,c,x,p=r+u*(1-E),x,r,C,r,y,r,y-(y-v)/3,r,v+(y-v)/3,r,v,r,m=i+s*(1-E),p,i,c,i,c+(d-c)/3,i,d-(d-c)/3,i,d,i,g,i,_,m,_,v].join(",")+"z":"M"+(r+f)+","+i+" v"+D+" h"+-f+" v"+-D+" h"+f+"z"):"circle"===w||"ellipse"===w?("circle"===w?l=(u=s=F.r)*E:(u=F.rx,l=(s=F.ry)*E),n="M"+((r=F.cx)+u)+","+(i=F.cy)+" C"+[r+u,i+l,r+(a=u*E),i+s,r,i+s,r-a,i+s,r-u,i+l,r-u,i,r-u,i-l,r-a,i-s,r,i-s,r+a,i-s,r+u,i-l,r+u,i].join(",")+"z"):"line"===w?n="M"+F.x1+","+F.y1+" L"+F.x2+","+F.y2:"polyline"!==w&&"polygon"!==w||(n="M"+(r=(h=(t.getAttribute("points")+"").match(Rr)||[]).shift())+","+(i=h.shift())+" L"+h.join(","),"polygon"===w&&(n+=","+r+","+i+"z")),o.setAttribute("d",mi(o._gsRawPath=di(n))),e&&t.parentNode&&(t.parentNode.insertBefore(o,t),t.parentNode.removeChild(t)),o):t}function si(t,e,n){var r,i=t[e],u=t[e+2],s=t[e+4];return i+=(u-i)*n,i+=((u+=(s-u)*n)-i)*n,r=u+(s+(t[e+6]-s)*n-u)*n-i,i=t[e+1],i+=((u=t[e+3])-i)*n,i+=((u+=((s=t[e+5])-u)*n)-i)*n,$r(qr(u+(s+(t[e+7]-s)*n-u)*n-i,r)*Xr)}function oi(t,e,n){void 0===n&&(n=1);var r=(e=e||0)>n,i=Math.max(0,~~(Ur(n-e)-1e-8));if(r&&(r=n,n=e,e=r,r=1,i-=i?1:0),e<0||n<0){var u=1+~~Math.min(e,n);e+=u,n+=u}var s,o,a,l,h,f,D,p=function(t){for(var e=[],n=0;n<t.length;n++)e[n]=ti(t[n],t[n].slice(0));return ti(t,e)}(t.totalLength?t:li(t)),c=n>1,d=fi(p,e,Qr,!0),g=fi(p,n,Kr),_=g.segment,m=d.segment,v=g.segIndex,y=d.segIndex,C=g.i,x=d.i,F=y===v,w=C===x&&F,E=F&&x>C||w&&d.t>g.t;if(c||i){if(Jr(p,y,x,d.t)&&(s=1,y++,w?E?g.t/=d.t:(g.t=(g.t-d.t)/(1-d.t),v++,C=0):y<=v+1&&!E&&(v++,F&&(C-=x))),g.t?Jr(p,v,C,g.t)&&(E&&s&&y++,r&&v++):(v--,r&&y--),l=[],f=1+(h=p.length)*i,D=y,r)for(f+=(h-(v=(v||h)-1)+y)%h,a=0;a<f;a++)ei(l,p[D]),D=(D||h)-1;else for(f+=(h-y+v)%h,a=0;a<f;a++)ei(l,p[D++%h]);p=l}else if(o=1===g.t?6:hi(_,C,g.t),e!==n)for(s=hi(m,x,w?d.t/g.t:d.t),F&&(o+=s),_.splice(C+o+2),(s||x)&&m.splice(0,x+s),a=p.length;a--;)(a<y||a>v)&&p.splice(a,1);else _.angle=si(_,C+o,0),d=_[C+=o],g=_[C+1],_.length=_.totalLength=0,_.totalPoints=p.totalPoints=8,_.push(d,g,d,g,d,g,d,g);return r&&function(t,e){var n=t.length;for(e||t.reverse();n--;)t[n].reversed||ri(t[n])}(p,c||i),p.totalLength=0,p}function ai(t,e,n){e=e||0,t.samples||(t.samples=[],t.lookup=[]);var r,i,u,s,o,a,l,h,f,D,p,c,d,g,_,m,v,y=~~t.resolution||12,C=1/y,x=n?e+6*n+1:t.length,F=t[e],w=t[e+1],E=e?e/6*y:0,b=t.samples,T=t.lookup,A=(e?t.minLength:1e8)||1e8,M=b[E+n*y-1],O=e?b[E-1]:0;for(b.length=T.length=0,i=e+2;i<x;i+=6){if(u=t[i+4]-F,s=t[i+2]-F,o=t[i]-F,h=t[i+5]-w,f=t[i+3]-w,D=t[i+1]-w,a=l=p=c=0,Ur(u)<1e-5&&Ur(h)<1e-5&&Ur(o)+Ur(D)<1e-5)t.length>8&&(t.splice(i,6),i-=6,x-=6);else for(r=1;r<=y;r++)a=l-(l=((g=C*r)*g*u+3*(d=1-g)*(g*s+d*o))*g),p=c-(c=(g*g*h+3*d*(g*f+d*D))*g),(m=Wr(p*p+a*a))<A&&(A=m),O+=m,b[E++]=O;F+=u,w+=h}if(M)for(M-=O;E<b.length;E++)b[E]+=M;if(b.length&&A)for(t.totalLength=v=b[b.length-1]||0,t.minLength=A,m=_=0,r=0;r<v;r+=A)T[m++]=b[_]<r?++_:_;else t.totalLength=b[0]=0;return e?O-b[e/2-1]:O}function li(t,e){var n,r,i;for(i=n=r=0;i<t.length;i++)t[i].resolution=~~e||12,r+=t[i].length,n+=ai(t[i]);return t.totalPoints=r,t.totalLength=n,t}function hi(t,e,n){if(n<=0||n>=1)return 0;var r=t[e],i=t[e+1],u=t[e+2],s=t[e+3],o=t[e+4],a=t[e+5],l=r+(u-r)*n,h=u+(o-u)*n,f=i+(s-i)*n,D=s+(a-s)*n,p=l+(h-l)*n,c=f+(D-f)*n,d=o+(t[e+6]-o)*n,g=a+(t[e+7]-a)*n;return h+=(d-h)*n,D+=(g-D)*n,t.splice(e+2,4,$r(l),$r(f),$r(p),$r(c),$r(p+(h-p)*n),$r(c+(D-c)*n),$r(h),$r(D),$r(d),$r(g)),t.samples&&t.samples.splice(e/6*t.resolution|0,0,0,0,0,0,0,0),6}function fi(t,e,n,r){n=n||{},t.totalLength||li(t),(e<0||e>1)&&(e=Zr(e));var i,u,s,o,a,l,h,f=0,D=t[0];if(t.length>1){for(s=t.totalLength*e,a=l=0;(a+=t[l++].totalLength)<s;)f=l;e=(s-(o=a-(D=t[f]).totalLength))/(a-o)||0}return i=D.samples,u=D.resolution,s=D.totalLength*e,o=(l=D.lookup[~~(s/D.minLength)]||0)?i[l-1]:0,(a=i[l])<s&&(o=a,a=i[++l]),h=1/u*((s-o)/(a-o)+l%u),l=6*~~(l/u),r&&1===h&&(l+6<D.length?(l+=6,h=0):f+1<t.length&&(l=h=0,D=t[++f])),n.t=h,n.i=l,n.path=t,n.segment=D,n.segIndex=f,n}function Di(t,e,n,r){var i,u,s,o,a,l,h,f,D,p=t[0],c=r||{};if((e<0||e>1)&&(e=Zr(e)),t.length>1){for(s=t.totalLength*e,a=l=0;(a+=t[l++].totalLength)<s;)p=t[l];e=(s-(o=a-p.totalLength))/(a-o)||0}return i=p.samples,u=p.resolution,s=p.totalLength*e,o=(l=p.lookup[~~(s/p.minLength)]||0)?i[l-1]:0,(a=i[l])<s&&(o=a,a=i[++l]),D=1-(h=1/u*((s-o)/(a-o)+l%u)||0),f=p[l=6*~~(l/u)],c.x=$r((h*h*(p[l+6]-f)+3*D*(h*(p[l+4]-f)+D*(p[l+2]-f)))*h+f),c.y=$r((h*h*(p[l+7]-(f=p[l+1]))+3*D*(h*(p[l+5]-f)+D*(p[l+3]-f)))*h+f),n&&(c.angle=p.totalLength?si(p,l,h>=1?1-1e-9:h||1e-9):p.angle||0),c}function pi(t,e,n,r,i,u,s){for(var o,a,l,h,f,D=t.length;--D>-1;)for(a=(o=t[D]).length,l=0;l<a;l+=2)h=o[l],f=o[l+1],o[l]=h*e+f*r+u,o[l+1]=h*n+f*i+s;return t._dirty=1,t}function ci(t,e,n,r,i,u,s,o,a){if(t!==o||e!==a){n=Ur(n),r=Ur(r);var l=i%360*Yr,h=Vr(l),f=jr(l),D=Math.PI,p=2*D,c=(t-o)/2,d=(e-a)/2,g=h*c+f*d,_=-f*c+h*d,m=g*g,v=_*_,y=m/(n*n)+v/(r*r);y>1&&(n=Wr(y)*n,r=Wr(y)*r);var C=n*n,x=r*r,F=(C*x-C*v-x*m)/(C*v+x*m);F<0&&(F=0);var w=(u===s?-1:1)*Wr(F),E=w*(n*_/r),b=w*(-r*g/n),T=(t+o)/2+(h*E-f*b),A=(e+a)/2+(f*E+h*b),M=(g-E)/n,O=(_-b)/r,S=(-g-E)/n,P=(-_-b)/r,B=M*M+O*O,k=(O<0?-1:1)*Math.acos(M/Wr(B)),L=(M*P-O*S<0?-1:1)*Math.acos((M*S+O*P)/Wr(B*(S*S+P*P)));isNaN(L)&&(L=D),!s&&L>0?L-=p:s&&L<0&&(L+=p),k%=p,L%=p;var N,R=Math.ceil(Ur(L)/(p/4)),I=[],z=L/R,Y=4/3*jr(z/2)/(1+Vr(z/2)),X=h*n,j=f*n,V=f*-r,U=h*r;for(N=0;N<R;N++)g=Vr(i=k+N*z),_=jr(i),M=Vr(i+=z),O=jr(i),I.push(g-Y*_,_+Y*g,M+Y*O,O-Y*M,M,O);for(N=0;N<I.length;N+=2)g=I[N],_=I[N+1],I[N]=g*X+_*V+T,I[N+1]=g*j+_*U+A;return I[N-2]=o,I[N-1]=a,I}}function di(t){var e,n,r,i,u,s,o,a,l,h,f,D,p,c,d,g=(t+"").replace(Ir,(function(t){var e=+t;return e<1e-4&&e>-1e-4?0:e})).match(Nr)||[],_=[],m=0,v=0,y=g.length,C=0,x="ERROR: malformed path: "+t,F=function(t,e,n,r){h=(n-t)/3,f=(r-e)/3,o.push(t+h,e+f,n-h,r-f,n,r)};if(!t||!isNaN(g[0])||isNaN(g[1]))return console.log(x),_;for(e=0;e<y;e++)if(p=u,isNaN(g[e])?s=(u=g[e].toUpperCase())!==g[e]:e--,r=+g[e+1],i=+g[e+2],s&&(r+=m,i+=v),e||(a=r,l=i),"M"===u)o&&(o.length<8?_.length-=1:C+=o.length),m=a=r,v=l=i,o=[r,i],_.push(o),e+=2,u="L";else if("C"===u)o||(o=[0,0]),s||(m=v=0),o.push(r,i,m+1*g[e+3],v+1*g[e+4],m+=1*g[e+5],v+=1*g[e+6]),e+=6;else if("S"===u)h=m,f=v,"C"!==p&&"S"!==p||(h+=m-o[o.length-4],f+=v-o[o.length-3]),s||(m=v=0),o.push(h,f,r,i,m+=1*g[e+3],v+=1*g[e+4]),e+=4;else if("Q"===u)h=m+2/3*(r-m),f=v+2/3*(i-v),s||(m=v=0),m+=1*g[e+3],v+=1*g[e+4],o.push(h,f,m+2/3*(r-m),v+2/3*(i-v),m,v),e+=4;else if("T"===u)h=m-o[o.length-4],f=v-o[o.length-3],o.push(m+h,v+f,r+2/3*(m+1.5*h-r),i+2/3*(v+1.5*f-i),m=r,v=i),e+=2;else if("H"===u)F(m,v,m=r,v),e+=1;else if("V"===u)F(m,v,m,v=r+(s?v-m:0)),e+=1;else if("L"===u||"Z"===u)"Z"===u&&(r=a,i=l,o.closed=!0),("L"===u||Ur(m-r)>.5||Ur(v-i)>.5)&&(F(m,v,r,i),"L"===u&&(e+=2)),m=r,v=i;else if("A"===u){if(c=g[e+4],d=g[e+5],h=g[e+6],f=g[e+7],n=7,c.length>1&&(c.length<3?(f=h,h=d,n--):(f=d,h=c.substr(2),n-=2),d=c.charAt(1),c=c.charAt(0)),D=ci(m,v,+g[e+1],+g[e+2],+g[e+3],+c,+d,(s?m:0)+1*h,(s?v:0)+1*f),e+=n,D)for(n=0;n<D.length;n++)o.push(D[n]);m=o[o.length-2],v=o[o.length-1]}else console.log(x);return(e=o.length)<6?(_.pop(),e=0):o[0]===o[e-2]&&o[1]===o[e-1]&&(o.closed=!0),_.totalPoints=C+e,_}function gi(t,e){void 0===e&&(e=1);for(var n=t[0],r=0,i=[n,r],u=2;u<t.length;u+=2)i.push(n,r,t[u],r=(t[u]-n)*e/2,n=t[u],-r);return i}function _i(t,e,n){var r,i,u,s,o,a,l,h,f,D,p,c,d,g,_=t.length-2,m=+t[0],v=+t[1],y=+t[2],C=+t[3],x=[m,v,m,v],F=y-m,w=C-v,E=Math.abs(t[_]-m)<.001&&Math.abs(t[_+1]-v)<.001;for(isNaN(n)&&(n=Math.PI/10),E&&(t.push(y,C),y=m,C=v,m=t[_-2],v=t[_-1],t.unshift(m,v),_+=4),e=e||0===e?+e:1,o=2;o<_;o+=2)r=m,i=v,m=y,v=C,c=(a=F)*a+(h=w)*h,d=(F=(y=+t[o+2])-m)*F+(w=(C=+t[o+3])-v)*w,g=(l=y-r)*l+(f=C-i)*f,p=(u=Math.acos((c+d-g)/Wr(4*c*d)))/Math.PI*e,D=Wr(c)*p,p*=Wr(d),m===r&&v===i||(u>n?(s=qr(f,l),x.push($r(m-Vr(s)*D),$r(v-jr(s)*D),$r(m),$r(v),$r(m+Vr(s)*p),$r(v+jr(s)*p))):(s=qr(h,a),x.push($r(m-Vr(s)*D),$r(v-jr(s)*D)),s=qr(w,F),x.push($r(m),$r(v),$r(m+Vr(s)*p),$r(v+jr(s)*p))));return x.push($r(y),$r(C),$r(y),$r(C)),E&&(x.splice(0,6),x.length=x.length-6),x}function mi(t){Hr(t[0])&&(t=[t]);var e,n,r,i,u="",s=t.length;for(n=0;n<s;n++){for(i=t[n],u+="M"+$r(i[0])+","+$r(i[1])+" C",e=i.length,r=2;r<e;r++)u+=$r(i[r++])+","+$r(i[r++])+" "+$r(i[r++])+","+$r(i[r++])+" "+$r(i[r++])+","+$r(i[r])+" ";i.closed&&(u+="z")}return u}
/*!
 * CustomEase 3.5.1
 * https://greensock.com
 *
 * @license Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/var vi,yi,Ci=function(){return vi||"undefined"!=typeof window&&(vi=window.gsap)&&vi.registerPlugin&&vi},xi=function(){(vi=Ci())?(vi.registerEase("_CE",Ti.create),yi=1):console.warn("Please gsap.registerPlugin(CustomEase)")},Fi=function(t){return~~(1e3*t+(t<0?-.5:.5))/1e3},wi=/[-+=\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/gi,Ei=/[cLlsSaAhHvVtTqQ]/g,bi=function t(e,n,r,i,u,s,o,a,l,h,f){var D,p=(e+r)/2,c=(n+i)/2,d=(r+u)/2,g=(i+s)/2,_=(u+o)/2,m=(s+a)/2,v=(p+d)/2,y=(c+g)/2,C=(d+_)/2,x=(g+m)/2,F=(v+C)/2,w=(y+x)/2,E=o-e,b=a-n,T=Math.abs((r-o)*b-(i-a)*E),A=Math.abs((u-o)*b-(s-a)*E);return h||(h=[{x:e,y:n},{x:o,y:a}],f=1),h.splice(f||h.length-1,0,{x:F,y:w}),(T+A)*(T+A)>l*(E*E+b*b)&&(D=h.length,t(e,n,p,c,v,y,F,w,l,h,f),t(F,w,C,x,_,m,o,a,l,h,f+1+(h.length-D))),h},Ti=function(){function t(t,e,n){yi||xi(),this.id=t,this.setData(e,n)}var e=t.prototype;return e.setData=function(t,e){e=e||{};var n,r,i,u,s,o,a,l,h,f=(t=t||"0,0,1,1").match(wi),D=1,p=[],c=[],d=e.precision||1,g=d<=1;if(this.data=t,(Ei.test(t)||~t.indexOf("M")&&t.indexOf("C")<0)&&(f=di(t)[0]),4===(n=f.length))f.unshift(0,0),f.push(1,1),n=8;else if((n-2)%6)throw"Invalid CustomEase";for(0==+f[0]&&1==+f[n-2]||function(t,e,n){n||0===n||(n=Math.max(+t[t.length-1],+t[1]));var r,i=-1*+t[0],u=-n,s=t.length,o=1/(+t[s-2]+i),a=-e||(Math.abs(+t[s-1]-+t[1])<.01*(+t[s-2]-+t[0])?function(t){var e,n=t.length,r=1e20;for(e=1;e<n;e+=6)+t[e]<r&&(r=+t[e]);return r}(t)+u:+t[s-1]+u);for(a=a?1/a:-o,r=0;r<s;r+=2)t[r]=(+t[r]+i)*o,t[r+1]=(+t[r+1]+u)*a}(f,e.height,e.originY),this.segment=f,u=2;u<n;u+=6)r={x:+f[u-2],y:+f[u-1]},i={x:+f[u+4],y:+f[u+5]},p.push(r,i),bi(r.x,r.y,+f[u],+f[u+1],+f[u+2],+f[u+3],i.x,i.y,1/(2e5*d),p,p.length-1);for(n=p.length,u=0;u<n;u++)a=p[u],l=p[u-1]||a,(a.x>l.x||l.y!==a.y&&l.x===a.x||a===l)&&a.x<=1?(l.cx=a.x-l.x,l.cy=a.y-l.y,l.n=a,l.nx=a.x,g&&u>1&&Math.abs(l.cy/l.cx-p[u-2].cy/p[u-2].cx)>2&&(g=0),l.cx<D&&(l.cx?D=l.cx:(l.cx=.001,u===n-1&&(l.x-=.001,D=Math.min(D,.001),g=0)))):(p.splice(u--,1),n--);if(s=1/(n=1/D+1|0),o=0,a=p[0],g){for(u=0;u<n;u++)h=u*s,a.nx<h&&(a=p[++o]),r=a.y+(h-a.x)/a.cx*a.cy,c[u]={x:h,cx:s,y:r,cy:0,nx:9},u&&(c[u-1].cy=r-c[u-1].y);c[n-1].cy=p[p.length-1].y-r}else{for(u=0;u<n;u++)a.nx<u*s&&(a=p[++o]),c[u]=a;o<p.length-1&&(c[u-1]=p[p.length-2])}return this.ease=function(t){var e=c[t*n|0]||c[n-1];return e.nx<t&&(e=e.n),e.y+(t-e.x)/e.cx*e.cy},this.ease.custom=this,this.id&&vi.registerEase(this.id,this.ease),this},e.getSVGData=function(e){return t.getSVGData(this,e)},t.create=function(e,n,r){return new t(e,n,r).ease},t.register=function(t){vi=t,xi()},t.get=function(t){return vi.parseEase(t)},t.getSVGData=function(e,n){var r,i,u,s,o,a,l,h,f,D,p=(n=n||{}).width||100,c=n.height||100,d=n.x||0,g=(n.y||0)+c,_=vi.utils.toArray(n.path)[0];if(n.invert&&(c=-c,g=0),"string"==typeof e&&(e=vi.parseEase(e)),e.custom&&(e=e.custom),e instanceof t)r=mi(pi([e.segment],p,0,0,-c,d,g));else{for(r=[d,g],s=1/(l=Math.max(5,200*(n.precision||1))),h=5/(l+=2),f=Fi(d+s*p),i=((D=Fi(g+e(s)*-c))-g)/(f-d),u=2;u<l;u++)o=Fi(d+u*s*p),a=Fi(g+e(u*s)*-c),(Math.abs((a-D)/(o-f)-i)>h||u===l-1)&&(r.push(f,D),i=(a-D)/(o-f)),f=o,D=a;r="M"+r.join(",")}return _&&_.setAttribute("d",r),r},t}();Ci()&&vi.registerPlugin(Ti),Ti.version="3.5.1";
/*!
 * CustomWiggle 3.5.1
 * https://greensock.com
 *
 * @license Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/
var Ai,Mi,Oi,Si=function(){return Ai||"undefined"!=typeof window&&(Ai=window.gsap)&&Ai.registerPlugin&&Ai},Pi={easeOut:"M0,1,C0.7,1,0.6,0,1,0",easeInOut:"M0,0,C0.1,0,0.24,1,0.444,1,0.644,1,0.6,0,1,0",anticipate:"M0,0,C0,0.222,0.024,0.386,0,0.4,0.18,0.455,0.65,0.646,0.7,0.67,0.9,0.76,1,0.846,1,1",uniform:"M0,0,C0,0.95,0,1,0,1,0,1,1,1,1,1,1,1,1,0,1,0"},Bi=function(t){return t},ki=function(t){if(!Mi)if(Ai=Si(),Oi=Ai&&Ai.parseEase("_CE")){for(var e in Pi)Pi[e]=Oi("",Pi[e]);Mi=1,Ni("wiggle").config=function(t){return"object"==typeof t?Ni("",t):Ni("wiggle("+t+")",{wiggles:+t})}}else t&&console.warn("Please gsap.registerPlugin(CustomEase, CustomWiggle)")},Li=function(t,e){return"function"!=typeof t&&(t=Ai.parseEase(t)||Oi("",t)),t.custom||!e?t:function(e){return 1-t(e)}},Ni=function(t,e){Mi||ki(1);var n,r,i,u,s,o,a,l,h,f=0|((e=e||{}).wiggles||10),D=1/f,p=D/2,c="anticipate"===e.type,d=Pi[e.type]||Pi.easeOut,g=Bi;if(c&&(g=d,d=Pi.easeOut),e.timingEase&&(g=Li(e.timingEase)),e.amplitudeEase&&(d=Li(e.amplitudeEase,!0)),l=[0,0,(o=g(p))/4,0,o/2,a=c?-d(p):d(p),o,a],"random"===e.type){for(l.length=4,n=g(D),r=2*Math.random()-1,h=2;h<f;h++)p=n,a=r,n=g(D*h),r=2*Math.random()-1,i=Math.atan2(r-l[l.length-3],n-l[l.length-4]),u=Math.cos(i)*D,s=Math.sin(i)*D,l.push(p-u,a-s,p,a,p+u,a+s);l.push(n,0,1,0)}else{for(h=1;h<f;h++)l.push(g(p+D/2),a),p+=D,a=(a>0?-1:1)*d(h*D),o=g(p),l.push(g(p-D/2),a,o,a);l.push(g(p+D/4),a,g(p+D/4),0,1,0)}for(h=l.length;--h>-1;)l[h]=~~(1e3*l[h])/1e3;return l[2]="C"+l[2],Oi(t,"M"+l.join(","))},Ri=function(){function t(t,e){this.ease=Ni(t,e)}return t.create=function(t,e){return Ni(t,e)},t.register=function(t){Ai=t,ki()},t}();Si()&&Ai.registerPlugin(Ri),Ri.version="3.5.1";
/*!
 * DrawSVGPlugin 3.5.1
 * https://greensock.com
 *
 * @license Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/
var Ii,zi,Yi,Xi,ji,Vi=function(){return"undefined"!=typeof window},Ui=function(){return Ii||Vi()&&(Ii=window.gsap)&&Ii.registerPlugin&&Ii},Wi=/[-+=\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/gi,qi={rect:["width","height"],circle:["r","r"],ellipse:["rx","ry"],line:["x2","y2"]},Gi=function(t){return Math.round(1e4*t)/1e4},Hi=function(t){return parseFloat(t||0)},Qi=function(t,e){return Hi(t.getAttribute(e))},Ki=Math.sqrt,Zi=function(t,e,n,r,i,u){return Ki(Math.pow((Hi(n)-Hi(t))*i,2)+Math.pow((Hi(r)-Hi(e))*u,2))},$i=function(t){return console.warn(t)},Ji=function(t){return"non-scaling-stroke"===t.getAttribute("vector-effect")},tu=function(t){if(!(t=zi(t)[0]))return 0;var e,n,r,i,u,s,o,a=t.tagName.toLowerCase(),l=t.style,h=1,f=1;Ji(t)&&(f=t.getScreenCTM(),h=Ki(f.a*f.a+f.b*f.b),f=Ki(f.d*f.d+f.c*f.c));try{n=t.getBBox()}catch(t){$i("Some browsers won't measure invisible elements (like display:none or masks inside defs).")}var D=n||{x:0,y:0,width:0,height:0},p=D.x,c=D.y,d=D.width,g=D.height;if(n&&(d||g)||!qi[a]||(d=Qi(t,qi[a][0]),g=Qi(t,qi[a][1]),"rect"!==a&&"line"!==a&&(d*=2,g*=2),"line"===a&&(p=Qi(t,"x1"),c=Qi(t,"y1"),d=Math.abs(d-p),g=Math.abs(g-c))),"path"===a)i=l.strokeDasharray,l.strokeDasharray="none",e=t.getTotalLength()||0,h!==f&&$i("Warning: <path> length cannot be measured when vector-effect is non-scaling-stroke and the element isn't proportionally scaled."),e*=(h+f)/2,l.strokeDasharray=i;else if("rect"===a)e=2*d*h+2*g*f;else if("line"===a)e=Zi(p,c,p+d,c+g,h,f);else if("polyline"===a||"polygon"===a)for(r=t.getAttribute("points").match(Wi)||[],"polygon"===a&&r.push(r[0],r[1]),e=0,u=2;u<r.length;u+=2)e+=Zi(r[u-2],r[u-1],r[u],r[u+1],h,f)||0;else"circle"!==a&&"ellipse"!==a||(s=d/2*h,o=g/2*f,e=Math.PI*(3*(s+o)-Ki((3*s+o)*(s+3*o))));return e||0},eu=function(t,e){if(!(t=zi(t)[0]))return[0,0];e||(e=tu(t)+1);var n=Yi.getComputedStyle(t),r=n.strokeDasharray||"",i=Hi(n.strokeDashoffset),u=r.indexOf(",");return u<0&&(u=r.indexOf(" ")),(r=u<0?e:Hi(r.substr(0,u))||1e-5)>e&&(r=e),[Math.max(0,-i),Math.max(0,r-i)]},nu=function(){Vi()&&(document,Yi=window,ji=Ii=Ui(),zi=Ii.utils.toArray,Xi=-1!==((Yi.navigator||{}).userAgent||"").indexOf("Edge"))},ru={version:"3.5.1",name:"drawSVG",register:function(t){Ii=t,nu()},init:function(t,e,n,r,i){if(!t.getBBox)return!1;ji||nu();var u,s,o,a,l=tu(t)+1;return this._style=t.style,this._target=t,e+""=="true"?e="0 100%":e?-1===(e+"").indexOf(" ")&&(e="0 "+e):e="0 0",s=function(t,e,n){var r,i,u=t.indexOf(" ");return u<0?(r=void 0!==n?n+"":t,i=t):(r=t.substr(0,u),i=t.substr(u+1)),(r=~r.indexOf("%")?Hi(r)/100*e:Hi(r))>(i=~i.indexOf("%")?Hi(i)/100*e:Hi(i))?[i,r]:[r,i]}(e,l,(u=eu(t,l))[0]),this._length=Gi(l+10),0===u[0]&&0===s[0]?(o=Math.max(1e-5,s[1]-l),this._dash=Gi(l+o),this._offset=Gi(l-u[1]+o),this._offsetPT=this.add(this,"_offset",this._offset,Gi(l-s[1]+o))):(this._dash=Gi(u[1]-u[0])||1e-6,this._offset=Gi(-u[0]),this._dashPT=this.add(this,"_dash",this._dash,Gi(s[1]-s[0])||1e-5),this._offsetPT=this.add(this,"_offset",this._offset,Gi(-s[0]))),Xi&&(a=Yi.getComputedStyle(t)).strokeLinecap!==a.strokeLinejoin&&(s=Hi(a.strokeMiterlimit),this.add(t.style,"strokeMiterlimit",s,s+.01)),this._live=Ji(t)||~(e+"").indexOf("live"),this._props.push("drawSVG"),1},render:function(t,e){var n,r,i,u,s=e._pt,o=e._style;if(s){for(e._live&&(n=tu(e._target)+11)!==e._length&&(r=n/e._length,e._length=n,e._offsetPT.s*=r,e._offsetPT.c*=r,e._dashPT?(e._dashPT.s*=r,e._dashPT.c*=r):e._dash*=r);s;)s.r(t,s.d),s=s._next;i=e._dash,u=e._offset,n=e._length,o.strokeDashoffset=e._offset,1!==t&&t?o.strokeDasharray=i+"px,"+n+"px":(i-u<.001&&n-i<=10&&(o.strokeDashoffset=u+1),o.strokeDasharray=u<.001&&n-i<=10?"none":u===i?"0px, 999999px":i+"px,"+n+"px")}},getLength:tu,getPosition:eu};Ui()&&Ii.registerPlugin(ru);
/*!
 * matrix 3.5.1
 * https://greensock.com
 *
 * Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/
var iu,uu,su,ou,au,lu,hu,fu,Du="transform",pu=Du+"Origin",cu=function(t){var e=t.ownerDocument||t;!(Du in t.style)&&"msTransform"in t.style&&(pu=(Du="msTransform")+"Origin");for(;e.parentNode&&(e=e.parentNode););if(uu=window,hu=new Cu,e){iu=e,su=e.documentElement,ou=e.body;var n=e.createElement("div"),r=e.createElement("div");ou.appendChild(n),n.appendChild(r),n.style.position="static",n.style[Du]="translate3d(0,0,1px)",fu=r.offsetParent!==n,ou.removeChild(n)}return e},du=[],gu=[],_u=function(t){return t.ownerSVGElement||("svg"===(t.tagName+"").toLowerCase()?t:null)},mu=function t(e,n){if(e.parentNode&&(iu||cu(e))){var r=_u(e),i=r?r.getAttribute("xmlns")||"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",u=r?n?"rect":"g":"div",s=2!==n?0:100,o=3===n?100:0,a="position:absolute;display:block;pointer-events:none;",l=iu.createElementNS?iu.createElementNS(i.replace(/^https/,"http"),u):iu.createElement(u);return n&&(r?(lu||(lu=t(e)),l.setAttribute("width",.01),l.setAttribute("height",.01),l.setAttribute("transform","translate("+s+","+o+")"),lu.appendChild(l)):(au||((au=t(e)).style.cssText=a),l.style.cssText=a+"width:0.1px;height:0.1px;top:"+o+"px;left:"+s+"px",au.appendChild(l))),l}throw"Need document and parent."},vu=function(t,e){var n,r,i,u,s,o=_u(t),a=t===o,l=o?du:gu;if(t===uu)return t;if(l.length||l.push(mu(t,1),mu(t,2),mu(t,3)),n=o?lu:au,o)i=a?{x:0,y:0}:t.getBBox(),(r=t.transform?t.transform.baseVal:{}).numberOfItems?(u=(r=r.numberOfItems>1?function(t){for(var e=new Cu,n=0;n<t.numberOfItems;n++)e.multiply(t.getItem(n).matrix);return e}(r):r.getItem(0).matrix).a*i.x+r.c*i.y,s=r.b*i.x+r.d*i.y):(r=hu,u=i.x,s=i.y),e&&"g"===t.tagName.toLowerCase()&&(u=s=0),n.setAttribute("transform","matrix("+r.a+","+r.b+","+r.c+","+r.d+","+(r.e+u)+","+(r.f+s)+")"),(a?o:t.parentNode).appendChild(n);else{if(u=s=0,fu)for(r=t.offsetParent,i=t;i&&(i=i.parentNode)&&i!==r&&i.parentNode;)(uu.getComputedStyle(i)[Du]+"").length>4&&(u=i.offsetLeft,s=i.offsetTop,i=0);(i=n.style).top=t.offsetTop-s+"px",i.left=t.offsetLeft-u+"px",r=uu.getComputedStyle(t),i[Du]=r[Du],i[pu]=r[pu],i.border=r.border,i.borderLeftStyle=r.borderLeftStyle,i.borderTopStyle=r.borderTopStyle,i.borderLeftWidth=r.borderLeftWidth,i.borderTopWidth=r.borderTopWidth,i.position="fixed"===r.position?"fixed":"absolute",t.parentNode.appendChild(n)}return n},yu=function(t,e,n,r,i,u,s){return t.a=e,t.b=n,t.c=r,t.d=i,t.e=u,t.f=s,t},Cu=function(){function t(t,e,n,r,i,u){void 0===t&&(t=1),void 0===e&&(e=0),void 0===n&&(n=0),void 0===r&&(r=1),void 0===i&&(i=0),void 0===u&&(u=0),yu(this,t,e,n,r,i,u)}var e=t.prototype;return e.inverse=function(){var t=this.a,e=this.b,n=this.c,r=this.d,i=this.e,u=this.f,s=t*r-e*n||1e-10;return yu(this,r/s,-e/s,-n/s,t/s,(n*u-r*i)/s,-(t*u-e*i)/s)},e.multiply=function(t){var e=this.a,n=this.b,r=this.c,i=this.d,u=this.e,s=this.f,o=t.a,a=t.c,l=t.b,h=t.d,f=t.e,D=t.f;return yu(this,o*e+l*r,o*n+l*i,a*e+h*r,a*n+h*i,u+f*e+D*r,s+f*n+D*i)},e.clone=function(){return new t(this.a,this.b,this.c,this.d,this.e,this.f)},e.equals=function(t){var e=this.a,n=this.b,r=this.c,i=this.d,u=this.e,s=this.f;return e===t.a&&n===t.b&&r===t.c&&i===t.d&&u===t.e&&s===t.f},e.apply=function(t,e){void 0===e&&(e={});var n=t.x,r=t.y,i=this.a,u=this.b,s=this.c,o=this.d,a=this.e,l=this.f;return e.x=n*i+r*s+a||0,e.y=n*u+r*o+l||0,e},t}();function xu(t,e,n){if(!t||!t.parentNode||(iu||cu(t)).documentElement===t)return new Cu;var r=function(t){for(var e,n;t&&t!==ou;)(n=t._gsap)&&!n.scaleX&&!n.scaleY&&n.renderTransform&&(n.scaleX=n.scaleY=1e-4,n.renderTransform(1,n),e?e.push(n):e=[n]),t=t.parentNode;return e}(t.parentNode),i=_u(t)?du:gu,u=vu(t,n),s=i[0].getBoundingClientRect(),o=i[1].getBoundingClientRect(),a=i[2].getBoundingClientRect(),l=u.parentNode,h=function t(e){return"fixed"===uu.getComputedStyle(e).position||((e=e.parentNode)&&1===e.nodeType?t(e):void 0)}(t),f=new Cu((o.left-s.left)/100,(o.top-s.top)/100,(a.left-s.left)/100,(a.top-s.top)/100,s.left+(h?0:uu.pageXOffset||iu.scrollLeft||su.scrollLeft||ou.scrollLeft||0),s.top+(h?0:uu.pageYOffset||iu.scrollTop||su.scrollTop||ou.scrollTop||0));if(l.removeChild(u),r)for(s=r.length;s--;)(o=r[s]).scaleX=o.scaleY=0,o.renderTransform(1,o);return e?f.inverse():f}
/*!
 * MotionPathPlugin 3.5.1
 * https://greensock.com
 *
 * @license Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/var Fu,wu,Eu,bu,Tu=["x","translateX","left","marginLeft"],Au=["y","translateY","top","marginTop"],Mu=Math.PI/180,Ou=function(t,e,n,r){for(var i=e.length,u=2===r?0:r,s=0;s<i;s++)t[u]=parseFloat(e[s][n]),2===r&&(t[u+1]=0),u+=2;return t},Su=function(t,e,n){return parseFloat(t._gsap.get(t,e,n||"px"))||0},Pu=function(t){var e,n=t[0],r=t[1];for(e=2;e<t.length;e+=2)n=t[e]+=n,r=t[e+1]+=r},Bu=function(t,e,n,r,i,u,s){"cubic"===s.type?e=[e]:(e.unshift(Su(n,r,s.unitX),i?Su(n,i,s.unitY):0),s.relative&&Pu(e),e=[(i?_i:gi)(e,s.curviness)]);return e=u(Iu(e,n,s)),zu(t,n,r,e,"x",s.unitX),i&&zu(t,n,i,e,"y",s.unitY),li(e,s.resolution||(0===s.curviness?20:12))},ku=function(t){return t},Lu=/[-+\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/g,Nu=function(t,e,n){var r,i,u,s=xu(t);return"svg"===(t.tagName+"").toLowerCase()?(i=(r=t.viewBox.baseVal).x,u=r.y,r.width||(r={width:+t.getAttribute("width"),height:+t.getAttribute("height")})):(r=e&&t.getBBox&&t.getBBox(),i=u=0),e&&"auto"!==e&&(i+=e.push?e[0]*(r?r.width:t.offsetWidth||0):e.x,u+=e.push?e[1]*(r?r.height:t.offsetHeight||0):e.y),n.apply(i||u?s.apply({x:i,y:u}):{x:s.e,y:s.f})},Ru=function(t,e,n,r){var i,u=xu(t.parentNode,!0,!0),s=u.clone().multiply(xu(e)),o=Nu(t,n,u),a=Nu(e,r,u),l=a.x,h=a.y;return s.e=s.f=0,"auto"===r&&e.getTotalLength&&"path"===e.tagName.toLowerCase()&&(i=e.getAttribute("d").match(Lu)||[],l+=(i=s.apply({x:+i[0],y:+i[1]})).x,h+=i.y),(i||e.getBBox&&t.getBBox&&e.ownerSVGElement===t.ownerSVGElement)&&(l-=(i=s.apply(e.getBBox())).x,h-=i.y),s.e=l-o.x,s.f=h-o.y,s},Iu=function(t,e,n){var r,i,u,s=n.align,o=n.matrix,a=n.offsetX,l=n.offsetY,h=n.alignOrigin,f=t[0][0],D=t[0][1],p=Su(e,"x"),c=Su(e,"y");return t&&t.length?(s&&("self"===s||(r=bu(s)[0]||e)===e?pi(t,1,0,0,1,p-f,c-D):(h&&!1!==h[2]?Fu.set(e,{transformOrigin:100*h[0]+"% "+100*h[1]+"%"}):h=[Su(e,"xPercent")/-100,Su(e,"yPercent")/-100],u=(i=Ru(e,r,h,"auto")).apply({x:f,y:D}),pi(t,i.a,i.b,i.c,i.d,p+i.e-(u.x-i.e),c+i.f-(u.y-i.f)))),o?pi(t,o.a,o.b,o.c,o.d,o.e,o.f):(a||l)&&pi(t,1,0,0,1,a||0,l||0),t):ni("M0,0L0,0")},zu=function(t,e,n,r,i,u){var s=e._gsap,o=s.harness,a=o&&o.aliases&&o.aliases[n],l=a&&a.indexOf(",")<0?a:n,h=t._pt=new wu(t._pt,e,l,0,0,ku,0,s.set(e,l,t));h.u=Eu(s.get(e,l,u))||0,h.path=r,h.pp=i,t._props.push(l)},Yu={version:"3.5.1",name:"motionPath",register:function(t,e,n){Eu=(Fu=t).utils.getUnit,bu=Fu.utils.toArray,wu=n},init:function(t,e){if(!Fu)return console.warn("Please gsap.registerPlugin(MotionPathPlugin)"),!1;"object"==typeof e&&!e.style&&e.path||(e={path:e});var n,r,i,u,s,o,a=[],l=e.path,h=l[0],f=e.autoRotate,D=(s=e.start,o="end"in e?e.end:1,function(t){return s||1!==o?oi(t,s,o):t});if(this.rawPaths=a,this.target=t,(this.rotate=f||0===f)&&(this.rOffset=parseFloat(f)||0,this.radians=!!e.useRadians,this.rProp=e.rotation||"rotation",this.rSet=t._gsap.set(t,this.rProp,this),this.ru=Eu(t._gsap.get(t,this.rProp))||0),Array.isArray(l)&&!("closed"in l)&&"number"!=typeof h){for(r in h)~Tu.indexOf(r)?i=r:~Au.indexOf(r)&&(u=r);for(r in i&&u?a.push(Bu(this,Ou(Ou([],l,i,0),l,u,1),t,e.x||i,e.y||u,D,e)):i=u=0,h)r!==i&&r!==u&&a.push(Bu(this,Ou([],l,r,2),t,r,0,D,e))}else li(n=D(Iu(ni(e.path),t,e)),e.resolution),a.push(n),zu(this,t,e.x||"x",n,"x",e.unitX||"px"),zu(this,t,e.y||"y",n,"y",e.unitY||"px")},render:function(t,e){var n=e.rawPaths,r=n.length,i=e._pt;for(t>1?t=1:t<0&&(t=0);r--;)Di(n[r],t,!r&&e.rotate,n[r]);for(;i;)i.set(i.t,i.p,i.path[i.pp]+i.u,i.d,t),i=i._next;e.rotate&&e.rSet(e.target,e.rProp,n[0].angle*(e.radians?Mu:1)+e.rOffset+e.ru,e,t)},getLength:function(t){return li(ni(t)).totalLength},sliceRawPath:oi,getRawPath:ni,pointsToSegment:_i,stringToRawPath:di,rawPathToString:mi,transformRawPath:pi,getGlobalMatrix:xu,getPositionOnPath:Di,cacheRawPathMeasurements:li,convertToPath:function(t,e){return bu(t).map((function(t){return ui(t,!1!==e)}))},convertCoordinates:function(t,e,n){var r=xu(e,!0,!0).multiply(xu(t));return n?r.apply(n):r},getAlignMatrix:Ru,getRelativePosition:function(t,e,n,r){var i=Ru(t,e,n,r);return{x:i.e,y:i.f}},arrayToRawPath:function(t,e){var n=Ou(Ou([],t,(e=e||{}).x||"x",0),t,e.y||"y",1);return e.relative&&Pu(n),["cubic"===e.type?n:_i(n,e.curviness)]}};(Fu||"undefined"!=typeof window&&(Fu=window.gsap)&&Fu.registerPlugin&&Fu)&&Fu.registerPlugin(Yu);
/*!
 * ScrollToPlugin 3.5.1
 * https://greensock.com
 *
 * @license Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/
var Xu,ju,Vu,Uu,Wu,qu,Gu,Hu=function(){return"undefined"!=typeof window},Qu=function(){return Xu||Hu()&&(Xu=window.gsap)&&Xu.registerPlugin&&Xu},Ku=function(t){return"string"==typeof t},Zu=function(t,e){var n="x"===e?"Width":"Height",r="scroll"+n,i="client"+n;return t===Vu||t===Uu||t===Wu?Math.max(Uu[r],Wu[r])-(Vu["inner"+n]||Uu[i]||Wu[i]):t[r]-t["offset"+n]},$u=function(t,e){var n="scroll"+("x"===e?"Left":"Top");return t===Vu&&(null!=t.pageXOffset?n="page"+e.toUpperCase()+"Offset":t=null!=Uu[n]?Uu:Wu),function(){return t[n]}},Ju=function(t,e){var n=qu(t)[0].getBoundingClientRect(),r=!e||e===Vu||e===Wu,i=r?{top:Uu.clientTop-(Vu.pageYOffset||Uu.scrollTop||Wu.scrollTop||0),left:Uu.clientLeft-(Vu.pageXOffset||Uu.scrollLeft||Wu.scrollLeft||0)}:e.getBoundingClientRect(),u={x:n.left-i.left,y:n.top-i.top};return!r&&e&&(u.x+=$u(e,"x")(),u.y+=$u(e,"y")()),u},ts=function(t,e,n,r,i){return isNaN(t)||"object"==typeof t?Ku(t)&&"="===t.charAt(1)?parseFloat(t.substr(2))*("-"===t.charAt(0)?-1:1)+r-i:"max"===t?Zu(e,n)-i:Math.min(Zu(e,n),Ju(t,e)[n]-i):parseFloat(t)-i},es=function(){Xu=Qu(),Hu()&&Xu&&document.body&&(Vu=window,Wu=document.body,Uu=document.documentElement,qu=Xu.utils.toArray,Xu.config({autoKillThreshold:7}),Gu=Xu.config(),ju=1)},ns={version:"3.5.1",name:"scrollTo",rawVars:1,register:function(t){Xu=t,es()},init:function(t,e,n,r,i){ju||es();this.isWin=t===Vu,this.target=t,this.tween=n,"object"!=typeof e?Ku((e={y:e}).y)&&"max"!==e.y&&"="!==e.y.charAt(1)&&(e.x=e.y):e.nodeType&&(e={y:e,x:e}),this.vars=e,this.autoKill=!!e.autoKill,this.getX=$u(t,"x"),this.getY=$u(t,"y"),this.x=this.xPrev=this.getX(),this.y=this.yPrev=this.getY(),null!=e.x?(this.add(this,"x",this.x,ts(e.x,t,"x",this.x,e.offsetX||0),r,i,Math.round),this._props.push("scrollTo_x")):this.skipX=1,null!=e.y?(this.add(this,"y",this.y,ts(e.y,t,"y",this.y,e.offsetY||0),r,i,Math.round),this._props.push("scrollTo_y")):this.skipY=1},render:function(t,e){for(var n,r,i,u,s,o=e._pt,a=e.target,l=e.tween,h=e.autoKill,f=e.xPrev,D=e.yPrev,p=e.isWin;o;)o.r(t,o.d),o=o._next;n=p||!e.skipX?e.getX():f,i=(r=p||!e.skipY?e.getY():D)-D,u=n-f,s=Gu.autoKillThreshold,e.x<0&&(e.x=0),e.y<0&&(e.y=0),h&&(!e.skipX&&(u>s||u<-s)&&n<Zu(a,"x")&&(e.skipX=1),!e.skipY&&(i>s||i<-s)&&r<Zu(a,"y")&&(e.skipY=1),e.skipX&&e.skipY&&(l.kill(),e.vars.onAutoKill&&e.vars.onAutoKill.apply(l,e.vars.onAutoKillParams||[]))),p?Vu.scrollTo(e.skipX?n:e.x,e.skipY?r:e.y):(e.skipY||(a.scrollTop=e.y),e.skipX||(a.scrollLeft=e.x)),e.xPrev=e.x,e.yPrev=e.y},kill:function(t){var e="scrollTo"===t;(e||"scrollTo_x"===t)&&(this.skipX=1),(e||"scrollTo_y"===t)&&(this.skipY=1)}};ns.max=Zu,ns.getOffset=Ju,ns.buildGetter=$u,Qu()&&Xu.registerPlugin(ns);
/*!
 * strings: 3.5.1
 * https://greensock.com
 *
 * Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/
var rs=/([\uD800-\uDBFF][\uDC00-\uDFFF](?:[\u200D\uFE0F][\uD800-\uDBFF][\uDC00-\uDFFF]){2,}|\uD83D\uDC69(?:\u200D(?:(?:\uD83D\uDC69\u200D)?\uD83D\uDC67|(?:\uD83D\uDC69\u200D)?\uD83D\uDC66)|\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D(?:\uD83D\uDC69\u200D)?\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D(?:\uD83D\uDC69\u200D)?\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]\uFE0F|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC6F\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3C-\uDD3E\uDDD6-\uDDDF])\u200D[\u2640\u2642]\uFE0F|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F\u200D[\u2640\u2642]|(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642])\uFE0F|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]|\uD83D\uDC69\u200D[\u2695\u2696\u2708]|\uD83D\uDC68(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708]))\uFE0F|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83D\uDC69\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|\uD83D\uDC68(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:(?:\uD83D[\uDC68\uDC69])\u200D)?\uD83D\uDC66\u200D\uD83D\uDC66|(?:(?:\uD83D[\uDC68\uDC69])\u200D)?\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92])|(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]))|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDD1-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\u200D(?:(?:(?:\uD83D[\uDC68\uDC69])\u200D)?\uD83D\uDC67|(?:(?:\uD83D[\uDC68\uDC69])\u200D)?\uD83D\uDC66)|\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC69\uDC6E\uDC70-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD26\uDD30-\uDD39\uDD3D\uDD3E\uDDD1-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])?|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDEEB\uDEEC\uDEF4-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])\uFE0F)/;
/*!
 * SplitText: 3.5.1
 * https://greensock.com
 *
 * @license Copyright 2008-2020, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for
 * Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
*/
var is,us,ss,os,as=/(?:\r|\n|\t\t)/g,ls=/(?:\s\s+)/g,hs=function(t){return us.getComputedStyle(t)},fs=Array.isArray,Ds=[].slice,ps=function(t,e){var n;return fs(t)?t:"string"==(n=typeof t)&&!e&&t?Ds.call(is.querySelectorAll(t),0):t&&"object"===n&&"length"in t?Ds.call(t,0):t?[t]:[]},cs=function(t){return"absolute"===t.position||!0===t.absolute},ds=function(t,e){for(var n,r=e.length;--r>-1;)if(n=e[r],t.substr(0,n.length)===n)return n.length},gs=function(t,e){void 0===t&&(t="");var n=~t.indexOf("++"),r=1;return n&&(t=t.split("++").join("")),function(){return"<"+e+" style='position:relative;display:inline-block;'"+(t?" class='"+t+(n?r++:"")+"'>":">")}},_s=function t(e,n,r){var i=e.nodeType;if(1===i||9===i||11===i)for(e=e.firstChild;e;e=e.nextSibling)t(e,n,r);else 3!==i&&4!==i||(e.nodeValue=e.nodeValue.split(n).join(r))},ms=function(t,e){for(var n=e.length;--n>-1;)t.push(e[n])},vs=function(t,e,n){for(var r;t&&t!==e;){if(r=t._next||t.nextSibling)return r.textContent.charAt(0)===n;t=t.parentNode||t._parent}},ys=function t(e){var n,r,i=ps(e.childNodes),u=i.length;for(n=0;n<u;n++)(r=i[n])._isSplit?t(r):(n&&3===r.previousSibling.nodeType?r.previousSibling.nodeValue+=3===r.nodeType?r.nodeValue:r.firstChild.nodeValue:3!==r.nodeType&&e.insertBefore(r.firstChild,r),e.removeChild(r))},Cs=function(t,e){return parseFloat(e[t])||0},xs=function(t,e,n,r,i,u,s){var o,a,l,h,f,D,p,c,d,g,_,m,v=hs(t),y=Cs("paddingLeft",v),C=-999,x=Cs("borderBottomWidth",v)+Cs("borderTopWidth",v),F=Cs("borderLeftWidth",v)+Cs("borderRightWidth",v),w=Cs("paddingTop",v)+Cs("paddingBottom",v),E=Cs("paddingLeft",v)+Cs("paddingRight",v),b=Cs("fontSize",v)*(e.lineThreshold||.2),T=v.textAlign,A=[],M=[],O=[],S=e.wordDelimiter||" ",P=e.tag?e.tag:e.span?"span":"div",B=e.type||e.split||"chars,words,lines",k=i&&~B.indexOf("lines")?[]:null,L=~B.indexOf("words"),N=~B.indexOf("chars"),R=cs(e),I=e.linesClass,z=~(I||"").indexOf("++"),Y=[];for(z&&(I=I.split("++").join("")),l=(a=t.getElementsByTagName("*")).length,f=[],o=0;o<l;o++)f[o]=a[o];if(k||R)for(o=0;o<l;o++)((D=(h=f[o]).parentNode===t)||R||N&&!L)&&(m=h.offsetTop,k&&D&&Math.abs(m-C)>b&&("BR"!==h.nodeName||0===o)&&(p=[],k.push(p),C=m),R&&(h._x=h.offsetLeft,h._y=m,h._w=h.offsetWidth,h._h=h.offsetHeight),k&&((h._isSplit&&D||!N&&D||L&&D||!L&&h.parentNode.parentNode===t&&!h.parentNode._isSplit)&&(p.push(h),h._x-=y,vs(h,t,S)&&(h._wordEnd=!0)),"BR"===h.nodeName&&(h.nextSibling&&"BR"===h.nextSibling.nodeName||0===o)&&k.push([])));for(o=0;o<l;o++)D=(h=f[o]).parentNode===t,"BR"!==h.nodeName?(R&&(d=h.style,L||D||(h._x+=h.parentNode._x,h._y+=h.parentNode._y),d.left=h._x+"px",d.top=h._y+"px",d.position="absolute",d.display="block",d.width=h._w+1+"px",d.height=h._h+"px"),!L&&N?h._isSplit?(h._next=h.nextSibling,h.parentNode.appendChild(h)):h.parentNode._isSplit?(h._parent=h.parentNode,!h.previousSibling&&h.firstChild&&(h.firstChild._isFirst=!0),h.nextSibling&&" "===h.nextSibling.textContent&&!h.nextSibling.nextSibling&&Y.push(h.nextSibling),h._next=h.nextSibling&&h.nextSibling._isFirst?null:h.nextSibling,h.parentNode.removeChild(h),f.splice(o--,1),l--):D||(m=!h.nextSibling&&vs(h.parentNode,t,S),h.parentNode._parent&&h.parentNode._parent.appendChild(h),m&&h.parentNode.appendChild(is.createTextNode(" ")),"span"===P&&(h.style.display="inline"),A.push(h)):h.parentNode._isSplit&&!h._isSplit&&""!==h.innerHTML?M.push(h):N&&!h._isSplit&&("span"===P&&(h.style.display="inline"),A.push(h))):k||R?(h.parentNode&&h.parentNode.removeChild(h),f.splice(o--,1),l--):L||t.appendChild(h);for(o=Y.length;--o>-1;)Y[o].parentNode.removeChild(Y[o]);if(k){for(R&&(g=is.createElement(P),t.appendChild(g),_=g.offsetWidth+"px",m=g.offsetParent===t?0:t.offsetLeft,t.removeChild(g)),d=t.style.cssText,t.style.cssText="display:none;";t.firstChild;)t.removeChild(t.firstChild);for(c=" "===S&&(!R||!L&&!N),o=0;o<k.length;o++){for(p=k[o],(g=is.createElement(P)).style.cssText="display:block;text-align:"+T+";position:"+(R?"absolute;":"relative;"),I&&(g.className=I+(z?o+1:"")),O.push(g),l=p.length,a=0;a<l;a++)"BR"!==p[a].nodeName&&(h=p[a],g.appendChild(h),c&&h._wordEnd&&g.appendChild(is.createTextNode(" ")),R&&(0===a&&(g.style.top=h._y+"px",g.style.left=y+m+"px"),h.style.top="0px",m&&(h.style.left=h._x-m+"px")));0===l?g.innerHTML="&nbsp;":L||N||(ys(g),_s(g,String.fromCharCode(160)," ")),R&&(g.style.width=_,g.style.height=h._h+"px"),t.appendChild(g)}t.style.cssText=d}R&&(s>t.clientHeight&&(t.style.height=s-w+"px",t.clientHeight<s&&(t.style.height=s+x+"px")),u>t.clientWidth&&(t.style.width=u-E+"px",t.clientWidth<u&&(t.style.width=u+F+"px"))),ms(n,A),L&&ms(r,M),ms(i,O)},Fs=function(t,e,n,r){var i,u,s,o,a,l,h,f,D=e.tag?e.tag:e.span?"span":"div",p=~(e.type||e.split||"chars,words,lines").indexOf("chars"),c=cs(e),d=e.wordDelimiter||" ",g=" "!==d?"":c?"&#173; ":" ",_="</"+D+">",m=1,v=e.specialChars?"function"==typeof e.specialChars?e.specialChars:ds:null,y=is.createElement("div"),C=t.parentNode;for(C.insertBefore(y,t),y.textContent=t.nodeValue,C.removeChild(t),h=-1!==(i=function t(e){var n=e.nodeType,r="";if(1===n||9===n||11===n){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)r+=t(e)}else if(3===n||4===n)return e.nodeValue;return r}(t=y)).indexOf("<"),!1!==e.reduceWhiteSpace&&(i=i.replace(ls," ").replace(as,"")),h&&(i=i.split("<").join("{{LT}}")),a=i.length,u=(" "===i.charAt(0)?g:"")+n(),s=0;s<a;s++)if(l=i.charAt(s),v&&(f=v(i.substr(s),e.specialChars)))l=i.substr(s,f||1),u+=p&&" "!==l?r()+l+"</"+D+">":l,s+=f-1;else if(l===d&&i.charAt(s-1)!==d&&s){for(u+=m?_:"",m=0;i.charAt(s+1)===d;)u+=g,s++;s===a-1?u+=g:")"!==i.charAt(s+1)&&(u+=g+n(),m=1)}else"{"===l&&"{{LT}}"===i.substr(s,6)?(u+=p?r()+"{{LT}}</"+D+">":"{{LT}}",s+=5):l.charCodeAt(0)>=55296&&l.charCodeAt(0)<=56319||i.charCodeAt(s+1)>=65024&&i.charCodeAt(s+1)<=65039?(o=((i.substr(s,12).split(rs)||[])[1]||"").length||2,u+=p&&" "!==l?r()+i.substr(s,o)+"</"+D+">":i.substr(s,o),s+=o-1):u+=p&&" "!==l?r()+l+"</"+D+">":l;t.outerHTML=u+(m?_:""),h&&_s(C,"{{LT}}","<")},ws=function t(e,n,r,i){var u,s,o=ps(e.childNodes),a=o.length,l=cs(n);if(3!==e.nodeType||a>1){for(n.absolute=!1,u=0;u<a;u++)(3!==(s=o[u]).nodeType||/\S+/.test(s.nodeValue))&&(l&&3!==s.nodeType&&"inline"===hs(s).display&&(s.style.display="inline-block",s.style.position="relative"),s._isSplit=!0,t(s,n,r,i));return n.absolute=l,void(e._isSplit=!0)}Fs(e,n,r,i)},Es=function(){function t(t,e){ss||(is=document,us=window,ss=1),this.elements=ps(t),this.chars=[],this.words=[],this.lines=[],this._originals=[],this.vars=e||{},this.split(e)}var e=t.prototype;return e.split=function(t){this.isSplit&&this.revert(),this.vars=t=t||this.vars,this._originals.length=this.chars.length=this.words.length=this.lines.length=0;for(var e,n,r,i=this.elements.length,u=t.tag?t.tag:t.span?"span":"div",s=gs(t.wordsClass,u),o=gs(t.charsClass,u);--i>-1;)r=this.elements[i],this._originals[i]=r.innerHTML,e=r.clientHeight,n=r.clientWidth,ws(r,t,s,o),xs(r,t,this.chars,this.words,this.lines,n,e);return this.chars.reverse(),this.words.reverse(),this.lines.reverse(),this.isSplit=!0,this},e.revert=function(){var t=this._originals;if(!t)throw"revert() call wasn't scoped properly.";return this.elements.forEach((function(e,n){return e.innerHTML=t[n]})),this.chars=[],this.words=[],this.lines=[],this.isSplit=!1,this},t.create=function(e,n){return new t(e,n)},t}();Es.version="3.5.1",Mr.registerPlugin(Qe,Or,Ye,Ye,Lr,Ti,Ri,ru,Yu,ns,Er);var bs=os=window.punchgs=window.tpGS={};for(var Ts in bs.gsap=Mr,bs.TweenLite=Qe,bs.TweenMax=Or,bs.TimelineLite=Ye,bs.TimelineMax=Ye,bs.CustomBounce=Lr,bs.CustomEase=Ti,bs.CustomWiggle=Ri,bs.DrawSVGPlugin=ru,bs.MotionPathPlugin=Yu,bs.ScrollToPlugin=ns,bs.CSSPlugin=Er,
/*! Map SplitText to tpGS TPGSSPLITTEXT */
bs.SplitText=Es,bs.RAD2DEG=180/Math.PI,bs.DEG2RAD=Math.PI/180,
/*! REGISTER MOTION PATH (BEZIER) */
bs.gsap.registerPlugin(bs.MotionPathPlugin),bs.gsap.config({nullTargetWarn:!1}),
/*!FallBack for old and new Eases*/
bs.eases=bs.gsap.parseEase(),bs.eases)bs.eases.hasOwnProperty(Ts)&&void 0===bs[Ts]&&(bs[Ts]=bs.eases[Ts])
/*! FallBack for Essential Grid */;void 0!==os&&void 0!==os.TweenLite&&void 0===os.TweenLite.lagSmoothing&&(os.TweenLite.lagSmoothing=function(){});var As=[];function Ms(t,e,n){var r=document.createElement("canvas"),i=r.getContext("2d");if(r.width=100,r.height=200,0===t.length)i.fillStyle=n;else{for(var u=i.createLinearGradient(0,0,100,0),s=0;s<t.length;s++)u.addColorStop(t[s].stop/100,t[s].color);i.fillStyle=u}i.fillRect(0,0,100,200);var o=i.getImageData(0,0,100,2).data,a="";for(s=0;s<e.length;s++){var l=Math.ceil(e[s]),h=4*(0!==l?l-1:l);a+="rgba("+o[h]+","+o[h+1]+","+o[h+2]+","+o[h+3]/255+")",a+=" "+l+(e.length-1===s?"%":"%,")}return r.remove(),a}function Os(t,e,n,r){for(var i="",u=bs.gsap.utils.mapRange(0,r.length-1,0,t.length-1),s=0;s<r.length;s++){var o=Math.round(u(s));i+=t[o].color,i+=" "+t[o].stop+(r.length-1===s?"%":"%,")}return i}function Ss(t){var e=/rgb([\s\S]*?)%/g,n=[],r=[],i=[];do{(s=e.exec(t))&&n.push(s[0])}while(s);for(var u=0;u<n.length;u++){var s=n[u],o=(t=/rgb([\s\S]*?)\)/.exec(s),/\)([\s\S]*?)%/.exec(s));t[0]&&(t=t[0]),o[1]&&(o=o[1]),i.push(parseFloat(o)),r.push({color:t,stop:parseFloat(o)})}return 0===r.length&&(r.push({color:t,stop:0}),i.push(0),r.push({color:t,stop:100}),i.push(100)),{points:r,stops:i}}bs.getSSGColors=function(t,e,n){if(n=void 0===n?"fading":n,-1===t.indexOf("gradient")&&-1===e.indexOf("gradient"))return{from:t,to:e};for(var r={from:t,to:e},i=0;i<As.length;i++){if(As[i].from===t&&As[i].to===e&&As[i].type===n)return{from:As[i].rFrom,to:As[i].rTo};if(As[i].from===e&&As[i].to===t&&As[i].type===n)return{from:As[i].rTo,to:As[i].rFrom}}var u=Ss(t),s=Ss(e);if(u.stops.length===s.stops.length&&-1!==t.indexOf("gradient")&&-1!==e.indexOf("gradient"))return{from:t,to:e};var o,a,l=u.stops;for(i=0;i<s.stops.length;i++)-1===l.indexOf(s.stops[i])&&l.push(s.stops[i]);if(l.sort((function(t,e){return t-e})),-1!==t.indexOf("gradient(")){var h=-1!==t.indexOf("deg,")?t.indexOf("deg,")+4:-1!==t.indexOf("at center,")?t.indexOf("at center,")+10:t.indexOf("gradient(")+9;o=t.substring(0,h),-1===e.indexOf("gradient(")&&(a=t.substring(0,h))}if(-1!==e.indexOf("gradient(")){h=-1!==e.indexOf("deg,")?e.indexOf("deg,")+4:-1!==e.indexOf("at center,")?e.indexOf("at center,")+10:e.indexOf("gradient(")+9;a=e.substring(0,h),-1===t.indexOf("gradient(")&&(o=e.substring(0,h))}return"fading"===n?(u.stops.length,s.stops.length,o+=Ms(u.points,l,t),a+=Ms(s.points,l,e)):"sliding"===n&&(u.stops.length>s.stops.length?a+=Os(s.points,l,e,u.points):o+=Os(u.points,l,t,s.points)),o+=")",a+=")","sliding"===n&&(u.stops.length>s.stops.length?o=t:a=e),r.rFrom=o,r.rTo=a,r.tyep=n,As.push(r),{from:o,to:a}}}]);
// source --> https://microwinlabs.com/wp-content/plugins/revslider/public/assets/js/rs6.min.js?ver=6.4.2 
/*!

  - Slider Revolution 6.4.0 JavaScript Plugin -

..........................xXXXXX.................
................. xXXXXX..xXXXXX..xXXXXX.........
..................xXXXXX..xXXXXX..xXXXXX.........
..........xXXXXX..xXXXXX..xXXXXX..xXXXXX.........
..........xXXXXX..xXXXXX..xXXXXX..xXXXXX.........
..........xXXXXX..xXXXXX..xXXXXX..xXXXXX.........
..........xXXXXX..xXXXXX..xXXXXX..xXXXXX.........
..........xXXXXX..xXXXXX..xXXXXX..xXXXXX.........
.........,xXXXXX..xXXXXX..xXXXXX..xXXXXX.........
.........,xXXXXX..xXXXXX..xXXXXX..xXXXXX.........
.........,xXXXXX..xXXXXX..xXXXXX..xXXXXX.........
..........xXXXXX..xXXXXX..xXXXXX..xXXXXX.........
.....................xxxxxxxxxxxxxxxxxxx.........
.....................xxxxxxxxxxxxxxxxxxx.........
.....................xxxxxxxxxxxxxxxxxxx.........

				VERSION: 6.4.0
			   DATE: 2021-02-10
    @author: Krisztian Horvath, ThemePunch OHG.


UPDATES AND DOCS AT: 
https://www.themepunch.com/support-center
			
GET LICENSE AT: 
https://www.themepunch.com/links/slider_revolution_wordpress_regular_license

LICENSE:
Copyright (c) 2009-2019, ThemePunch. All rights reserved.
This work is subject to the terms at https://www.themepunch.com/links/slider_revolution_wordpress_regular_license (Regular / Extended)

*/
!function(e,i){"use strict";var t;window.RSANYID=window.RSANYID===i?[]:window.RSANYID,window.RSANYID_sliderID=window.RSANYID_sliderID===i?[]:window.RSANYID_sliderID,e.fn.extend({revolution:function(s){return this.each(function(){t=e.fn.revolution;for(var n=document.getElementsByClassName("rs-p-wp-fix");n[0];)n[0].parentNode.removeChild(n[0]);this.id!==i?(t[d]={anyid:[]},this.id=t.revCheckIDS(d,this,!0)):this.id="rs_module_"+Math.round(1e7*Math.random());var d=this.id,l=t.clone(s);t[d]=j(s),t[d].ignoreHeightChange=a&&"fullscreen"===t[d].sliderLayout&&t[d].ignoreHeightChange,t[d].option_export=l,t[d].anyid=[],t[d]._Lshortcuts={},t[d].computedStyle={},t[d].c=e(this),t[d].cpar=t[d].c.parent(),t[d].canvas=t[d].c.find("rs-slides"),t[d].caches={calcResponsiveLayersList:[],contWidthManager:{}},t[d].sbgs={},window.RSBrowser=window.RSBrowser===i?t.get_browser():window.RSBrowser,t.setIsIOS(),t.setIsChrome8889(),t[d].noDetach=t[d].BUG_ie_clipPath="Edge"===window.RSBrowser||"IE"===window.RSBrowser,t.getByTag=r(),t[d].indexhelper=0,t[d].fullScreenOffsetResult=0,t[d].level=0,t[d].rtl=e("body").hasClass("rtl"),t[d]._L=t[d]._L===i?{}:t[d]._L,t[d].emptyObject="{}",t[d].dimensionReCheck={},t.globalListener===i&&t.pageHandler(d),t[d].stopAfterLoops!=i&&t[d].stopAfterLoops>-1?t[d].looptogo=t[d].stopAfterLoops:t[d].looptogo="disabled",window.T=t[d],t[d].BUG_safari_clipPath="Safari"===t.get_browser()&&t.get_browser_version()>"12",t[d].minHeight="fullwidth"===t[d].sliderLayout?0:t[d].minHeight!=i&&""!==t[d].minHeight?parseInt(t[d].minHeight,0):0,t[d].minHeight=t[d].minHeight===i?0:t[d].minHeight,t[d].isEdge="Edge"===t.get_browser(),o(d),t.updateVisibleArea(d),H(d),window.requestAnimationFrame(function(){if("fullscreen"===t[d].sliderLayout){var e=t.getFullscreenOffsets(d);0!==e&&t[d].cpar.height(t.getWinH(d)-e)}t[d].cpar[0].style.visibility="visible"}),"hero"==t[d].sliderType&&t[d].c.find("rs-slide").each(function(i){i>0&&e(this).remove()}),t[d].navigation.use="hero"!==t[d].sliderType&&("carousel"==t[d].sliderType||t[d].navigation.keyboardNavigation||"on"==t[d].navigation.mouseScrollNavigation||"carousel"==t[d].navigation.mouseScrollNavigation||t[d].navigation.touch.touchenabled||t[d].navigation.arrows.enable||t[d].navigation.bullets.enable||t[d].navigation.thumbnails.enable||t[d].navigation.tabs.enable),t[d].c.find("rs-bgvideo").each(function(){"RS-BGVIDEO"!==this.tagName||this.id!==i&&""!==this.id||(this.id="rs-bg-video-"+Math.round(1e6*Math.random()))}),tpGS.force3D="auto",!0===t[d].modal.useAsModal&&-1===t.RS_prioList.indexOf(d)&&(t.RS_toInit[d]=!1,t.RS_prioList.push(d)),t.RS_killedlist!==i&&-1!==t.RS_killedlist.indexOf(d)&&(t.RS_toInit[d]=!1,t.RS_prioList.push(d)),!0===t.RS_prioListFirstInit&&!0!==t[d].modal.useAsModal&&-1===t.RS_prioList.indexOf(d)&&(t.RS_toInit[d]=!1,t.RS_prioList.push(d)),t.initNextRevslider(d)})},getRSJASONOptions:function(e){console.log(JSON.stringify(t[e].option_export))},getRSVersion:function(e){var i,t,a=window.SliderRevolutionVersion;if(!e){for(var r in i=t="---------------------------------------------------------\n",i+="    Currently Loaded Slider Revolution & SR Modules :\n"+t,a)a.hasOwnProperty(r)&&(i+=a[r].alias+": "+a[r].ver+"\n");i+=t}return e?a:i},revremoveslide:function(i){return this.each(function(){var a=this.id;if(!(i<0||i>t[a].slideamount)&&t[a]&&t[a].slides.length>0&&(i>0||i<=t[a].slides.length)){var r=t.gA(t[a].slides[i],"key");t[a].slideamount=t[a].slideamount-1,t[a].realslideamount=t[a].realslideamount-1,n("rs-bullet",r,a),n("rs-tab",r,a),n("rs-thumb",r,a),e(t[a].slides[i]).remove(),t[a].thumbs=s(t[a].thumbs,i),t.updateNavIndexes&&t.updateNavIndexes(a),i<=t[a].pr_active_key&&(t[a].pr_active_key=t[a].pr_active_key-1)}})},revaddcallback:function(e){return this.each(function(){t[this.id]&&(t[this.id].callBackArray===i&&(t[this.id].callBackArray=[]),t[this.id].callBackArray.push(e))})},revgetparallaxproc:function(){if(t[this[0].id])return t[this[0].id].scrollproc},revdebugmode:function(){},revscroll:function(i){return this.each(function(){var t=e(this);e("body,html").animate({scrollTop:t.offset().top+t.height()-i+"px"},{duration:400})})},revredraw:function(){return this.each(function(){m(this.id,i,!0)})},revkill:function(){return this.each(function(){var a=this.id;t[a].c.data("conthover",1),t[a].c.data("conthoverchanged",1),t[a].c.trigger("revolution.slide.onpause"),t[a].tonpause=!0,t[a].c.trigger("stoptimer"),t[a].sliderisrunning=!1;var r="updateContainerSizes."+t[a].c.attr("id");t.window.unbind(r),tpGS.gsap.killTweensOf(t[a].c.find("*"),!1),tpGS.gsap.killTweensOf(t[a].c,!1),t[a].c.unbind("hover, mouseover, mouseenter,mouseleave, resize"),t[a].c.find("*").each(function(){var t=e(this);t.unbind("on, hover, mouseenter,mouseleave,mouseover, resize,restarttimer, stoptimer"),t.off("on, hover, mouseenter,mouseleave,mouseover, resize"),t.data("mySplitText",null),t.data("ctl",null),t.data("tween")!=i&&t.data("tween").kill(),t.data("pztl")!=i&&t.data("pztl").kill(),t.data("timeline_out")!=i&&t.data("timeline_out").kill(),t.data("timeline")!=i&&t.data("timeline").kill(),t.remove(),t.empty(),t=null}),tpGS.gsap.killTweensOf(t[a].c.find("*"),!1),tpGS.gsap.killTweensOf(t[a].c,!1),t[a].progressC.remove();try{t[a].c.closest(".rev_slider_wrapper").detach()}catch(e){}try{t[a].c.closest("rs-fullwidth-wrap").remove()}catch(e){}try{t[a].c.closest("rs-module-wrap").remove()}catch(e){}try{t[a].c.remove()}catch(e){}t[a].cpar.detach(),t[a].c.html(""),t[a].c=null,delete t[a],t.RS_prioList.splice(t.RS_prioList.indexOf(a),1),t.RS_toInit[a]=!1,t.RS_killedlist=t.RS_killedlist===i?[]:t.RS_killedlist,-1===t.RS_killedlist.indexOf(a)&&t.RS_killedlist.push(a)})},revpause:function(){return this.each(function(){var a=e(this);a!=i&&a.length>0&&e("body").find("#"+a.attr("id")).length>0&&(a.data("conthover",1),a.data("conthoverchanged",1),a.trigger("revolution.slide.onpause"),t[this.id].tonpause=!0,a.trigger("stoptimer"))})},revresume:function(){return this.each(function(){if(t[this.id]!==i){var a=e(this);a.data("conthover",0),a.data("conthoverchanged",1),a.trigger("revolution.slide.onresume"),t[this.id].tonpause=!1,a.trigger("starttimer")}})},revmodal:function(a){var r=this instanceof e?this[0]:this,o=r.id;t[r.id]!==i&&t.revModal(o,a)},revstart:function(){var a=this instanceof e?this[0]:this;return t[a.id]===i?(console.log("Slider is Not Existing"),!1):t[a.id].sliderisrunning||!0===t[a.id].initEnded?(console.log("Slider Is Running Already"),!1):(t[a.id].c=e(a),t[a.id].canvas=t[a.id].c.find("rs-slides"),u(a.id),!0)},revnext:function(){return this.each(function(){t[this.id]!==i&&t.callingNewSlide(this.id,1,"carousel"===t[this.id].sliderType)})},revprev:function(){return this.each(function(){t[this.id]!==i&&t.callingNewSlide(this.id,-1,"carousel"===t[this.id].sliderType)})},revmaxslide:function(){return e(this).find("rs-slide").length},revcurrentslide:function(){if(t[e(this)[0].id]!==i)return parseInt(t[e(this)[0].id].pr_active_key,0)+1},revlastslide:function(){return e(this).find("rs-slide").length},revshowslide:function(e){return this.each(function(){t[this.id]!==i&&e!==i&&t.callingNewSlide(this.id,"to"+(e-1))})},revcallslidewithid:function(e){return this.each(function(){t[this.id]!==i&&t.callingNewSlide(this.id,e,"carousel"===t[this.id].sliderType)})}}),t=e.fn.revolution,e.extend(!0,t,{isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},trim:function(e){return e!==i&&null!==e&&"string"==typeof e?e.trim():e},pageHandler:function(r){t.globalListener=!0,t.window=e(window),t.document=e(document),t.RS_toInit={},t.RS_prioList=[],t.RS_swapping=[],t.RS_swapList={},window.isSafari11===i&&(window.isSafari11=t.isSafari11()),a&&window.addEventListener("orientationchange",function(){t.getWindowDimension(!1,!0),setTimeout(function(){t.getWindowDimension(!0,!0)},400)}),(navigator===i||null===navigator||"object"!=typeof navigator||navigator.maxTouchPoints<=1)&&window.addEventListener("resize",t.getWindowDimension),t.getWindowDimension(!1),t.stickySupported=!1,"IE"!==window.RSBrowser&&(t.stickySupported=!0),t.checkParrentOverflows(r);var o=t.getByTag(document,"RS-MODULE");for(var s in o)o.hasOwnProperty(s)&&(t.RS_toInit[o[s].id]=!1,t.RS_prioList.push(o[s].id));t.nextSlider=r,t.RS_prioListFirstInit=!0},checkParrentOverflows:function(e){window.requestAnimationFrame(function(){for(var i=t[e].cpar[0];i.parentNode&&!1!==t.stickySupported;){if("RS-MODULE-WRAP"!==i.tagName&&"RS-FULLWIDTH-WRAP"!==i.tagName&&"RS-MODULE-WRAP"!==i.tagName&&-1===i.className.indexOf("wp-block-themepunch-revslider")){var a=window.getComputedStyle(i);t.stickySupported="hidden"!==a.overflow&&"hidden"!==a.overflowX&&"hidden"!==a.overflowY}i=i.parentNode}})},initNextRevslider:function(e){t.RS_prioList[0]===e&&!1===t.RS_toInit[e]?(t.RS_toInit[e]="waiting",c(e),setTimeout(function(){t.initNextRevslider(e)},19)):t.RS_prioList[0]===e&&"waiting"===t.RS_toInit[e]?setTimeout(function(){t.initNextRevslider(e)},19):t.RS_prioList[0]===e&&!0===t.RS_toInit[e]?(t.RS_prioList.shift(),0!==t.RS_prioList.length&&setTimeout(function(){t.initNextRevslider(e)},19)):t.RS_prioList[0]!==e&&!1===t.RS_toInit[e]?setTimeout(function(){t.initNextRevslider(e)},19):0===t.RS_prioList.length&&!0===t.RS_toInit[e]&&c(e)},scrollTicker:function(e){1!=t.scrollTickerAdded&&(t.slidersToScroll=[],t.scrollTickerAdded=!0,a?(tpGS.gsap.ticker.fps(150),tpGS.gsap.ticker.add(function(){t.generalObserver()})):document.addEventListener("scroll",function(e){t.scrollRaF===i&&(t.scrollRaF=requestAnimationFrame(t.generalObserver.bind(this,!0)))},{passive:!0})),t.slidersToScroll.push(e),t.generalObserver(a)},generalObserver:function(e,a){for(var r in t.scrollRaF&&(t.scrollRaF=cancelAnimationFrame(t.scrollRaF)),t.lastwindowheight=t.lastwindowheight||t.winH,t.scrollY=window.scrollY,t.slidersToScroll)t.slidersToScroll.hasOwnProperty(r)&&t.scrollHandling(t.slidersToScroll[r],e,i,a)},wrapObserver:{targets:[],init:function(e){var i=1,a=0,r=0,o=s.bind(t.wrapObserver);function s(){if(r++,requestAnimationFrame(o),!(r-a<30/i))for(var s in a=r,t.wrapObserver.targets)if(t.wrapObserver.targets.hasOwnProperty(s)){var n=t.wrapObserver.targets[s],d=n.elem.getBoundingClientRect();n.lw===d.width&&n.lh===d.height||0===d.width||(n.callback&&(n.callback.pause(),n.callback.kill(),n.callback=null),n.callback=tpGS.gsap.to({},{duration:.2,onComplete:e.bind(window,n.elem,n.id)})),n.lw=d.width,n.lh=d.height}}s()},observe:function(e,i){if(""!==(e=e.getBoundingClientRect?e:e[0].getBoundingClientRect?e[0]:"")){var a=e.getBoundingClientRect();t.wrapObserver.targets.push({elem:e,id:i,lw:a.width,lh:a.height})}}},enterViewPort:function(a,r){!0!==t[a].started?(t[a].started=!0,t[a].c.trigger("revolution.slide.firstrun"),setTimeout(function(){I(a),"hero"!==t[a].sliderType&&t.manageNavigation&&t[a].navigation.use&&!0===t[a].navigation.createNavigationDone&&t.manageNavigation(a),t[a].slideamount>1&&P(a),setTimeout(function(){t[a]!==i&&(t[a].revolutionSlideOnLoaded=!0,t[a].c.trigger("revolution.slide.onloaded"))},50)},t[a].startDelay),t[a].startDelay=0,window.requestAnimationFrame(function(){h(a)})):(t[a].waitForCountDown&&(P(a),t[a].waitForCountDown=!1),"playing"!=t[a].sliderlaststatus&&t[a].sliderlaststatus!=i||t[a].c.trigger("starttimer"),t[a].lastplayedvideos!=i&&t[a].lastplayedvideos.length>0&&e.each(t[a].lastplayedvideos,function(e,i){t.playVideo(i,a)}))},leaveViewPort:function(a){t[a].sliderlaststatus=t[a].sliderstatus,t[a].c.trigger("stoptimer"),t[a].playingvideos!=i&&t[a].playingvideos.length>0&&(t[a].lastplayedvideos=e.extend(!0,[],t[a].playingvideos),t[a].playingvideos&&e.each(t[a].playingvideos,function(e,i){t[a].leaveViewPortBasedStop=!0,t.stopVideo&&t.stopVideo(i,a)}))},scrollHandling:function(e,a,r,o){if(t[e]!==i){var s=t[e].topc!==i?t[e].topc[0].getBoundingClientRect():0===t[e].canv.height?t[e].cpar[0].getBoundingClientRect():t[e].c[0].getBoundingClientRect();s.hheight=0===s.height?0===t[e].canv.height?t[e].module.height:t[e].canv.height:s.height,t[e].scrollproc=s.top<0||s.hheight>t.lastwindowheight&&s.top<t.lastwindowheight?s.top/s.hheight:s.bottom>t.lastwindowheight?(s.bottom-t.lastwindowheight)/s.hheight:0;var n=Math.max(0,1-Math.abs(t[e].scrollproc));t[e].viewPort.enable&&("%"===t[e].viewPort.vaType[t[e].level]&&(t[e].viewPort.visible_area[t[e].level]<=n||n>=0&&n<=1&&t[e].sbtimeline.fixed)||"px"===t[e].viewPort.vaType[t[e].level]&&(s.top<=0&&s.bottom>=t.lastwindowheight||s.top>=0&&s.bottom<=t.lastwindowheight||s.top>=0&&s.top<t.lastwindowheight-t[e].viewPort.visible_area[t[e].level]||s.bottom>=t[e].viewPort.visible_area[t[e].level]&&s.bottom<t.lastwindowheight)?t[e].inviewport||(t[e].inviewport=!0,t.enterViewPort(e,!0),t[e].c.trigger("enterviewport")):t[e].inviewport&&(t[e].inviewport=!1,t.leaveViewPort(e),t[e].c.trigger("leftviewport"))),t[e].inviewport&&(t.callBackHandling&&t.callBackHandling(e,"parallax","start"),requestAnimationFrame(function(){"fullscreen"===t[e].sliderLayout&&t.getFullscreenOffsets(e)}),t.parallaxProcesses(e,s,o,r),t.callBackHandling&&t.callBackHandling(e,"parallax","end"))}},clone:function(e,t){if(t===i&&e===i)return{};return function e(t,a){var r=Array.isArray(t)?[]:{};for(var o in t)t.hasOwnProperty(o)&&(t[o]!==i&&"object"==typeof t[o]&&a?r[o]=e(t[o],!0):t[o]!==i&&(r[o]=t[o]));return r}(e,t)},closest:function(e,i){return e&&(i(e)?e:t.closest(e.parentNode,i))},closestNode:function(e,i){return t.closest(e,function(e){return e.nodeName===i})},closestClass:function(e,i){return t.closest(e,function(e){return(" "+e.className+" ").indexOf(" "+i+" ")>=0})},getWinH:function(e){return t[e].ignoreHeightChange?t.mobileWinH:t.winH},getWindowDimension:function(e,r){!1===e?(t.winWAll=window.innerWidth,t.winWSbar=document.documentElement.clientWidth,a?(t.zoom=r?1:t.winWSbar/t.winWAll,t.winW=1!==t.zoom?t.winWSbar*t.zoom:Math.min(t.winWAll,t.winWSbar),t.winH=1!==t.zoom?window.innerHeight*t.zoom:window.innerHeight,r&&window.visualViewport&&(t.winH*=window.visualViewport.scale,t.winWAll*=window.visualViewport.scale),t.scrollBarWidth=0):(t.scrollBarWidth=t.winWAll-t.winWSbar,t.winW=Math.min(t.winWAll,t.winWSbar),t.winH=window.innerHeight),a&&t.winH>125&&(t.lastwindowheight!==i&&Math.abs(t.lastwindowheight-t.winH)<125?t.mobileWinH=t.lastwindowheight:t.mobileWinH=t.winH)):clearTimeout(t.windowDimenstionDelay),t.windowDimenstionDelay=setTimeout(function(){t.winWAll=window.innerWidth,t.winWSbar=document.documentElement.clientWidth,a?(t.zoom=r?1:t.winWSbar/t.winWAll,t.RS_px_ratio=window.devicePixelRatio||window.screen.availWidth/document.documentElement.clientWidth,t.winW=1!==t.zoom?t.winWSbar*t.zoom:Math.min(t.winWAll,t.winWSbar),t.winH=1!==t.zoom?window.innerHeight*t.zoom:window.innerHeight,r&&window.visualViewport&&(t.winH*=window.visualViewport.scale,t.winWAll*=window.visualViewport.scale),t.scrollBarWidth=0,r&&tpGS.gsap.delayedCall(.1,function(){t.getWindowDimension()})):(t.scrollBarWidth=t.winWAll-t.winWSbar,t.winW=Math.min(t.winWAll,t.winWSbar),t.winH=window.innerHeight),a&&t.winH>125&&(t.lastwindowheight!==i&&Math.abs(t.lastwindowheight-t.winH)<125?t.mobileWinH=t.lastwindowheight:t.mobileWinH=t.winH),!1!==e&&t.document.trigger("updateContainerSizes")},100)},aC:function(i,t){i&&(i.classList&&i.classList.add?i.classList.add(""+t):e(i).addClass(t))},rC:function(i,t){i&&(i.classList&&i.classList.remove?i.classList.remove(""+t):e(i).removeClass(t))},sA:function(e,i,t){e&&e.setAttribute&&e.setAttribute("data-"+i,t)},gA:function(e,t,a){return e===i?i:e.hasAttribute&&e.hasAttribute("data-"+t)&&e.getAttribute("data-"+t)!==i&&null!==e.getAttribute("data-"+t)?e.getAttribute("data-"+t):a!==i?a:i},rA:function(e,i){e&&e.removeAttribute&&e.removeAttribute("data-"+i)},iWA:function(e,a){return t[e].justifyCarousel?"static"===a?t[e].carousel.wrapwidth:t[e].carousel.slide_widths[a!==i?a:t[e].carousel.focused]:t[e].gridwidth[t[e].level]},iHE:function(e,i){return t[e].useFullScreenHeight?t[e].canv.height:Math.max(t[e].currentRowsHeight,t[e].gridheight[t[e].level])},updateFixedScrollTimes:function(e){!0===t[e].sbtimeline.set&&!0===t[e].sbtimeline.fixed&&"auto"!==t[e].sliderLayout&&(t[e].sbtimeline.rest=t[e].duration-t[e].sbtimeline.fixEnd,t[e].sbtimeline.time=t[e].duration-(t[e].sbtimeline.fixStart+t[e].sbtimeline.rest),t[e].sbtimeline.extended=t[e].sbtimeline.time/10)},addSafariFix:function(e){!0===window.isSafari11&&!0!==t[e].safari3dFix&&(t[e].safari3dFix=!0,t[e].c[0].className+=" safarifix")},showModalCover:function(a,r,o){switch(o){case"show":var s;if(r.spin!==i&&"off"!==r.spin&&(s=t.buildSpinner(a,"spinner"+r.spin,r.spinc,"modalspinner")),r.bg!==i&&!1!==r.bg&&"false"!==r.bg&&"transparent"!==r.bg){var n=e('<rs-modal-cover data-alias="'+r.alias+'" data-rid="'+a+'" id="'+a+'_modal_bg" style="display:none;opacity:0;background:'+r.bg+'"></rs-modal-cover>');e("body").append(n),r.speed=parseFloat(r.speed),r.speed=r.speed>200?r.speed/1e3:r.speed,r.speed=Math.max(Math.min(3,r.speed),.3),tpGS.gsap.to(n,r.speed,{display:"block",opacity:1,ease:"power3.inOut"}),t.isModalOpen=!0,s!==i&&n.append(s)}else s!==i&&t[a].c.append(s);break;case"hide":(n=e('rs-modal-cover[data-alias="'+r.alias+'"] .modalspinner'))!==i&&n.length>0?n.remove():t[a].c.find(".modalspinner").remove()}},revModal:function(a,r){if(a!==i&&t[a]!==i&&"clicked"!==t[a].modal.closeProtection){if(!0===t[a].modal.closeProtection)return t[a].modal.closeProtection,void setTimeout(function(){t[a].modal.closeProtection=!1,t.revModal(a,r)},750);switch(r.mode){case"show":if(!0===t[a].modal.isLive)return;if(!0===t.anyModalclosing)return;t[a].modal.isLive=!0,r.slide=r.slide===i?"to0":r.slide,t[a].modal.bodyclass!==i&&t[a].modal.bodyclass.length>=0&&document.body.classList.add(t[a].modal.bodyclass),tpGS.gsap.to(t[a].modal.bg,t[a].modal.coverSpeed,{display:"block",opacity:1,ease:"power3.inOut"}),tpGS.gsap.set(t[a].modal.c,{display:"auto"===t[a].sliderLayout?"inline-block":"block",opacity:0}),t[a].cpar.removeClass("hideallscrollbars"),tpGS.gsap.set(t[a].cpar,{display:"block",opacity:1});var o={a:0};t.isModalOpen=!0,t[a].clearModalBG=!0,tpGS.gsap.fromTo(o,t[a].modal.coverSpeed/5,{a:0},{a:10,ease:"power3.inOut",onComplete:function(){t.openModalId=a,t[a].sliderisrunning?t.callingNewSlide(a,r.slide):("to0"!==r.slide&&(t[a].startWithSlideKey=r.slide),u(a))}}),tpGS.gsap.fromTo([t[a].modal.c],.01,{opacity:0},{opacity:1,delay:t[a].modal.coverSpeed/4,ease:"power3.inOut",onComplete:function(){}}),window.overscrollhistory=document.body.style.overflow,setTimeout(function(){document.body.style.overflow="hidden"},250),t.getWindowDimension();break;case"close":if(!0===t.anyModalclosing)return;t.anyModalclosing=!0,t.openModalId=i,R(a),document.body.style.overflow=window.overscrollhistory,t[a].cpar.addClass("hideallscrollbars"),t[a].modal.bodyclass!==i&&t[a].modal.bodyclass.length>=0&&document.body.classList.remove(t[a].modal.bodyclass),tpGS.gsap.to(t[a].modal.bg,t[a].modal.coverSpeed,{display:"none",opacity:0,ease:"power3.inOut"}),tpGS.gsap.to(t[a].modal.c,t[a].modal.coverSpeed/6.5,{display:"none",delay:t[a].modal.coverSpeed/4,opacity:0,onComplete:function(){tpGS.gsap.set(t[a].cpar,{display:"none",opacity:0}),t.document.trigger("revolution.all.resize"),t.getWindowDimension(),t.isModalOpen=!1}}),t[a].modal.closeProtection=!0,clearTimeout(t[a].modal.closeTimer),t[a].modal.closeTimer=setTimeout(function(){t.anyModalclosing=!1,t[a].modal.isLive=!1,t[a].modal.closeProtection=!1},Math.max(750,1020*t[a].modal.coverSpeed));break;case"init":if(window.RS_60_MODALS=window.RS_60_MODALS===i?[]:window.RS_60_MODALS,-1===e.inArray(t[a].modal.alias,window.RS_60_MODALS)&&window.RS_60_MODALS.push(t[a].modal.alias),t[a].modal.listener===i&&(t[a].modal.c=e("#"+a+"_modal"),!1!==t[a].modal.cover&&"false"!==t[a].modal.cover||(t[a].modal.coverColor="transparent"),t[a].modal.bg=e('rs-modal-cover[data-alias="'+r.alias+'"]'),t[a].modal.bg===i||0===t[a].modal.bg.length?(t[a].modal.bg=e('<rs-modal-cover style="display:none;opacity:0;background:'+t[a].modal.coverColor+'" data-rid="'+a+'" id="'+a+'_modal_bg"></rs-modal-cover>'),"auto"===t[a].sliderLayout&&t[a].modal.cover?e("body").append(t[a].modal.bg):t[a].modal.c.append(t[a].modal.bg)):t[a].modal.bg.attr("data-rid",a),t[a].modal.c[0].className+="rs-modal-"+t[a].sliderLayout,t[a].modal.calibration={left:"auto"===t[a].sliderLayout?"center"===t[a].modal.horizontal?"50%":"left"===t[a].modal.horizontal?"0px":"auto":"0px",right:"auto"===t[a].sliderLayout?"center"===t[a].modal.horizontal?"auto":"left"===t[a].modal.horizontal?"auto":"0px":"0px",top:"auto"===t[a].sliderLayout||"fullwidth"===t[a].sliderLayout?"middle"===t[a].modal.vertical?"50%":"top"===t[a].modal.vertical?"0px":"auto":"0px",bottom:"auto"===t[a].sliderLayout||"fullwidth"===t[a].sliderLayout?"middle"===t[a].modal.vertical?"auto":"top"===t[a].modal.vertical?"auto":"0px":"0px",y:("auto"===t[a].sliderLayout||"fullwidth"===t[a].sliderLayout)&&"middle"===t[a].modal.vertical?"-50%":0,x:"auto"===t[a].sliderLayout&&"center"===t[a].modal.horizontal?"-50%":0},"-50%"===t[a].modal.calibration.y&&(t[a].modal.calibration.filter="blur(0px)"),tpGS.gsap.set(t[a].modal.c,"auto"===t[a].sliderLayout||"fullscreen"===t[a].sliderLayout?e.extend(!0,t[a].modal.calibration,{opacity:0,display:"none"}):{opacity:0,display:"none"}),"fullwidth"===t[a].sliderLayout&&tpGS.gsap.set(t[a].modal.c.find("rs-module-wrap"),t[a].modal.calibration),t.document.on("RS_OPENMODAL_"+t[a].modal.alias,function(e,i){t.revModal(a,{mode:"show",slide:i})}),t.document.on("click","rs-modal-cover",function(){t.revModal(t.gA(this,"rid"),{mode:"close"})}),t[a].modal.listener=!0,t[a].modal.trigger!==i)){var s,n=t[a].modal.trigger.split(";");for(o in t[a].modal.trigger={},n)if(n.hasOwnProperty(o))switch((s=n[o].split(":"))[0]){case"t":t[a].modal.trigger.time=parseInt(s[1],0);break;case"s":t[a].modal.trigger.scroll=s[1];break;case"so":t[a].modal.trigger.scrollo=parseInt(s[1],0);break;case"e":t[a].modal.trigger.event=s[1]}if(t[a].modal.trigger.time!==i&&0!==t[a].modal.trigger.time&&setTimeout(function(){t.document.trigger("RS_OPENMODAL_"+t[a].modal.alias)},t[a].modal.trigger.time),t[a].modal.trigger.scrollo!==i||t[a].modal.trigger.scroll!==i){t[a].modal.trigger.scroll!==i&&e(t[a].modal.trigger.scroll)[0]!==i&&(t[a].modal.trigger.scroll=e(t[a].modal.trigger.scroll)[0]);var d=function(){if(t[a].modal.trigger.scroll!==i)var e=t[a].modal.trigger.scroll.getBoundingClientRect();(t[a].modal.trigger.scroll!==i&&Math.abs(e.top+(e.bottom-e.top)/2-t.getWinH(a)/2)<50||t[a].modal.trigger.scrollo!==i&&Math.abs(t[a].modal.trigger.scrollo-(t.scrollY!==i?t.scrollY:window.scrollY))<100)&&(t.document.trigger("RS_OPENMODAL_"+t[a].modal.alias),document.removeEventListener("scroll",d))};document.addEventListener("scroll",d,{id:a,passive:!0})}t[a].modal.trigger.event!==i&&t.document.on(t[a].modal.trigger.event,function(){t.document.trigger("RS_OPENMODAL_"+t[a].modal.alias)})}}}},smartConvertDivs:function(e){var i="";if("string"==typeof e&&e.indexOf("#")>=0){var t=e.split(","),a=t.length-1;for(var r in t)i="string"==typeof t[r]&&"#"===t[r][0]?i+t[r][1]/t[r][3]*100+"%"+(r<a?",":""):i+t[r]+(r<a?",":"")}else i=e;return i},revToResp:function(e,t,a,r){if((e=e===i?a:e)!==i){if(r=r===i?",":r,"boolean"!=typeof e&&("object"!=typeof e||Array.isArray(e))){try{e=e.replace(/[[\]]/g,"").replace(/\'/g,"").split(r)}catch(e){}for(e=Array.isArray(e)?e:[e];e.length<t;)e[e.length]=e[e.length-1]}return e}},loadImages:function(a,r,o,s){if(a!==i&&0!==a.length){var n=[];if(Array.isArray(a))for(var d in a)a.hasOwnProperty(d)&&a[d]!==i&&n.push(a[d]);else n.push(a);for(var l in n)if(n.hasOwnProperty(l)){var c=n[l].querySelectorAll("img, rs-sbg, .rs-svg");for(var d in c)if(c.hasOwnProperty(d)){var p=g(c[d],i,r),u=p!==i?p:t.gA(c[d],"svg_src")!=i?t.gA(c[d],"svg_src"):c[d].src===i?e(c[d]).data("src"):c[d].src,h=t.gA(c[d],"svg_src")!=i?"svg":"img";u!==i&&t[r].loadqueue!==i&&0==t[r].loadqueue.filter(function(e){return e.src===u}).length&&t[r].loadqueue.push({src:u,index:d,starttoload:e.now(),type:h||"img",prio:o,progress:c[d].complete&&u===c[d].src?"loaded":"prepared",static:s,width:c[d].complete&&u===c[d].src?c[d].width:i,height:c[d].complete&&u===c[d].src?c[d].height:i})}}S(r)}},waitForCurrentImages:function(r,o,s){if(r!==i&&0!==r.length&&t[o]!==i){var n=!1,d=[];if(Array.isArray(r))for(var l in r)r.hasOwnProperty(l)&&r[l]!==i&&d.push(r[l]);else d.push(r);for(var c in d)if(d.hasOwnProperty(c)){var p=d[c].querySelectorAll("img, rs-sbg, .rs-svg");for(l in p)if(p.hasOwnProperty(l)&&"length"!==l&&!(p[l].className.indexOf("rs-pzimg")>=0)){var u=e(p[l]).data(),h=g(p[l],i,o),m=h!==i?h:t.gA(p[l],"svg_src")!=i?t.gA(p[l],"svg_src"):p[l].src===i?u.src:p[l].src,v=t.getLoadObj(o,m);if(t.sA(p[l],"src-rs-ref",m),u.loaded===i&&v!==i&&v.progress&&"loaded"==v.progress){if(p[l].src=v.src,"img"==v.type){if(u.slidebgimage){-1==v.src.indexOf("images/transparent.png")&&-1==v.src.indexOf("assets/transparent.png")||u.bgcolor===i||u.bgcolor!==i&&"transparent"!==u.bgcolor&&(v.bgColor=!0),t.sA(d[c],"owidth",v.width),t.sA(d[c],"oheight",v.height);var f=t.getByTag(d[c],"RS-SBG-WRAP"),y=t.gA(d[c],"key");if(t[o].sbgs[y].loadobj=v,f.length>0&&(t.sA(f[0],"owidth",v.width),t.sA(f[0],"oheight",v.height)),"carousel"===t[o].sliderType){var b=e(f),w=t.getSlideIndex(o,y);(t[o].carousel.justify&&t[o].carousel.slide_widths===i||t[o].carousel.slide_width===i)&&t.setCarouselDefaults(o,!0),b.data("panzoom")===i||t[o].panzoomTLs!==i&&t[o].panzoomTLs[w]!==i||t.startPanZoom(b,o,0,w,"prepare",y),t[o].sbgs[y].isHTML5&&!t[o].sbgs[y].videoisplaying&&(t[o].sbgs[y].video=t[o].sbgs[y].loadobj.img),t.updateSlideBGs(o,y,t[o].sbgs[y])}}}else"svg"==v.type&&"loaded"==v.progress&&(p[l].innerHTML=v.innerHTML);u.loaded=!0}v&&v.progress&&v.progress.match(/inprogress|inload|prepared/g)&&(!v.error&&e.now()-v.starttoload<3e3?n=!0:(v.progress="failed",v.reported_img||(v.reported_img=!0,console.log(m+"  Could not be loaded !")))),1!=t[o].youtubeapineeded||window.YT&&YT.Player!=i||(n=L("youtube",o)),1!=t[o].vimeoapineeded||window.Vimeo||(n=L("vimeo",o))}}!a&&t[o].audioqueue&&t[o].audioqueue.length>0&&e.each(t[o].audioqueue,function(i,t){t.status&&"prepared"===t.status&&e.now()-t.start<t.waittime&&(n=!0)}),e.each(t[o].loadqueue,function(i,t){!0===t.static&&("loaded"!=t.progress&&"done"!==t.progress||"failed"===t.progress)&&("failed"!=t.progress||t.reported?!t.error&&e.now()-t.starttoload<5e3?n=!0:t.reported||(t.reported=k(t.src,t.error)):t.reported=k(t.src,t.error))}),n?tpGS.gsap.delayedCall(.02,t.waitForCurrentImages,[r,o,s]):s!==i&&tpGS.gsap.delayedCall(1e-4,s)}},updateVisibleArea:function(e){for(var a in t[e].viewPort.visible_area=t.revToResp(t[e].viewPort.visible_area,t[e].rle,"0px"),t[e].viewPort.vaType=new Array(4),t[e].viewPort.visible_area)t[e].viewPort.visible_area.hasOwnProperty(a)&&(t.isNumeric(t[e].viewPort.visible_area[a])&&(t[e].viewPort.visible_area[a]+="%"),t[e].viewPort.visible_area[a]!==i&&(t[e].viewPort.vaType[a]=t[e].viewPort.visible_area[a].indexOf("%")>=0?"%":"px"),t[e].viewPort.visible_area[a]=parseInt(t[e].viewPort.visible_area[a],0),t[e].viewPort.visible_area[a]="%"==t[e].viewPort.vaType[a]?t[e].viewPort.visible_area[a]/100:t[e].viewPort.visible_area[a])},observeFonts:function(e,a,r){r=r===i?0:r,t.fonts===i&&(t.fonts={},t.monoWidth=d("monospace"),t.sansWidth=d("sans-serif"),t.serifWidth=d("serif")),r++;var o=t.fonts[e];!0!==t.fonts[e]&&(t.fonts[e]=t.monoWidth!==d(e+",monospace")||t.sansWidth!==d(e+",sans-serif")||t.serifWidth!==d(e+",serif")),100===r||(!1===o||o===i)&&!0===t.fonts[e]?(d(e+",monospace",!0),d(e+",sans-serif",!0),d(e+",serif",!0),a()):setTimeout(function(){t.observeFonts(e,a,r)},19)},getversion:function(){return"Slider Revolution 6.4.0"},currentSlideIndex:function(e){return t[e].pr_active_key},iOSVersion:function(){return!!(navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/iPad/i))&&navigator.userAgent.match(/OS 4_\d like Mac OS X/i)},setIsIOS:function(){t.isIOS=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||"MacIntel"===navigator.platform&&void 0!==navigator.standalone},setIsChrome8889:function(){t.isChrome8889=t.isChrome8889===i?navigator.userAgent.indexOf("Chrome/88")>=0||navigator.userAgent.indexOf("Chrome/89")>=0:t.isChrome8889},isIE:function(){if(t.isIERes===i){var a=e('<div style="display:none;"/>').appendTo(e("body"));a.html("\x3c!--[if IE 8]><a>&nbsp;</a><![endif]--\x3e"),t.isIERes=a.find("a").length,a.remove()}return t.isIERes},is_mobile:function(){var e=["android","webos","iphone","ipad","blackberry","Android","webos","iPod","iPhone","iPad","Blackberry","BlackBerry"],t=!1;if(window.orientation!==i)t=!0;else for(var a in e)e.hasOwnProperty(a)&&(t=!!(t||navigator.userAgent.split(e[a]).length>1)||t);return t},is_android:function(){var e=["android","Android"],i=!1;for(var t in e)e.hasOwnProperty(t)&&(i=!!(i||navigator.userAgent.split(e[t]).length>1)||i);return i},callBackHandling:function(i,a,r){t[i].callBackArray&&e.each(t[i].callBackArray,function(e,i){i&&i.inmodule&&i.inmodule===a&&i.atposition&&i.atposition===r&&i.callback&&i.callback.call()})},get_browser:function(){var e,i=navigator.userAgent,t=i.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(t[1])?(e=/\brv[ :]+(\d+)/g.exec(i)||[],"IE"):"Chrome"===t[1]&&null!=(e=i.match(/\b(OPR|Edge)\/(\d+)/))?e[1].replace("OPR","Opera"):(t=t[2]?[t[1],t[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=i.match(/version\/(\d+)/i))&&t.splice(1,1,e[1]),t[0])},get_browser_version:function(){var e,i=navigator.appName,t=navigator.userAgent,a=t.match(/(edge|opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);return a&&null!=(e=t.match(/version\/([\.\d]+)/i))&&(a[2]=e[1]),(a=a?[a[1],a[2]]:[i,navigator.appVersion,"-?"])[1]},isFaceBook:function(){return t.isFaceBookApp==i&&(t.isFaceBookApp=navigator.userAgent||navigator.vendor||window.opera,t.isFaceBookApp=t.isFaceBookApp.indexOf("FBAN")>-1||t.isFaceBookApp.indexOf("FBAV")>-1),t.isFaceBookApp},isFirefox:function(e){return t[e].isFirefox=t[e].isFirefox===i?"Firefox"===t.get_browser():t[e].isFirefox,t[e].isFirefox},isSafari11:function(){return"safari"===t.trim(t.get_browser().toLowerCase())&&parseFloat(t.get_browser_version())>=11},isWebkit:function(){var e=/(webkit)[ \/]([\w.]+)/.exec(navigator.userAgent.toLowerCase());return e&&e[1]&&"webkit"===e[1]},isIE11:function(){return t.IE11=t.IE11===i?!!navigator.userAgent.match(/Trident.*rv\:11\./):t.IE11,t.IE11},deepLink:function(e,a){var r;if(a!==i&&a.length<9)if(a.split("slide").length>1&&-1==a.indexOf("slider")){var o=parseInt(a.split("slide")[1],0);t.isNumeric(parseInt(o,0))&&((o=parseInt(o,0))<1&&(o=1),o>t[e].slideamount&&(o=t[e].slideamount),r=o)}else for(var s in t[e].slides)t[e].slides.hasOwnProperty(s)&&t.gA(t[e].slides[s],"deeplink")==a&&(r=parseInt(s)+1);return r},getHorizontalOffset:function(e,i){var t=l(e,".outer-left"),a=l(e,".outer-right");return"left"==i?t:"right"==i?a:"all"==i?{left:t,right:a,both:t+a,inuse:t+a!=0}:t+a},getComingSlide:function(e,a){var r=t[e].pr_next_key!==i?t[e].pr_next_key:t[e].pr_processing_key!==i?t[e].pr_processing_key:t[e].pr_active_key,o=0;if(o=0,t[e].pr_active_slide!==i&&"true"==t.gA(t[e].pr_active_slide[0],"not_in_nav")&&(r=t[e].pr_lastshown_key),a!==i&&t.isNumeric(a)||a!==i&&a.match(/to/g))o=1===a||-1===a?parseInt(r,0)+a<0?t[e].slideamount-1:parseInt(r,0)+a>=t[e].slideamount?0:parseInt(r,0)+a:(a=t.isNumeric(a)?a:parseInt(a.split("to")[1],0))<0?0:a>t[e].slideamount-1?t[e].slideamount-1:a;else if(a)for(var s in t[e].slides)t[e].slides.hasOwnProperty(s)&&(o=t[e].slides&&t[e].slides[s]&&t.gA(t[e].slides[s],"key")===a?s:o);return{nindex:o,aindex:r}},callingNewSlide:function(e,a,r){var o=t.getComingSlide(e,a);t[e].pr_next_key=o.nindex,t[e].sdir=t[e].pr_next_key<t[e].pr_active_key?1:0,r&&t[e].carousel!==i&&(t[e].carousel.focused=t[e].pr_next_key),t[e].ctNavElement?t[e].ctNavElement=!1:t[e].c.trigger("revolution.nextslide.waiting"),(t[e].started&&o.aindex===t[e].pr_next_key&&o.aindex===t[e].pr_lastshown_key||t[e].pr_next_key!==o.aindex&&-1!=t[e].pr_next_key&&t[e].pr_lastshown_key!==i)&&I(e,r)},getLoadObj:function(e,a){var r=t[e].loadqueue!==i&&t[e].loadqueue.filter(function(e){return e.src===a})[0];return r===i?{src:a}:r},getResponsiveLevel:function(e){var i=9999,a=0,r=0,o=0;if(t[e].responsiveLevels&&t[e].responsiveLevels.length)for(var s in t[e].responsiveLevels)t[e].responsiveLevels.hasOwnProperty(s)&&(t.winWAll<t[e].responsiveLevels[s]&&(0==a||a>parseInt(t[e].responsiveLevels[s]))&&(i=parseInt(t[e].responsiveLevels[s]),o=parseInt(s),a=parseInt(t[e].responsiveLevels[s])),t.winWAll>t[e].responsiveLevels[s]&&a<t[e].responsiveLevels[s]&&(a=parseInt(t[e].responsiveLevels[s]),r=parseInt(s)));return a<i?r:o},getSizeMultpilicator:function(e,i,a){var r={h:0,w:0};return t[e].justifyCarousel?r.h=r.w=1:(r.w=a.width/t[e].gridwidth[t[e].level],r.h=a.height/t[e].gridheight[t[e].level],r.w=isNaN(r.w)?1:r.w,r.h=isNaN(r.h)?1:r.h,1==t[e].enableUpscaling?r.h=r.w:(r.h>r.w?r.h=r.w:r.w=r.h,(r.h>1||r.w>1)&&(r.w=1,r.h=1))),r},updateDims:function(e,a){var r=t[e].pr_processing_key||t[e].pr_active_key||0,o=t[e].pr_active_key||0,s=t[e].modal!==i&&t[e].modal.useAsModal,n=s?t.winWAll:t.winW,d=!1;if(t[e].redraw=t[e].redraw===i?{}:t[e].redraw,t[e].module=t[e].module===i?{}:t[e].module,t[e].canv=t[e].canv===i?{}:t[e].canv,t[e].content=t[e].content===i?{}:t[e].content,t[e].drawUpdates={c:{},cpar:{},canv:{}},"carousel"==t[e].sliderType?t[e].module.margins={top:parseInt(t[e].carousel.padding_top||0,0),bottom:parseInt(t[e].carousel.padding_bottom||0,0)}:t[e].module.margins={top:0,bottom:0},t[e].module.paddings===i&&(t[e].module.paddings={top:parseInt(t[e].cpar.css("paddingTop"),0)||0,bottom:parseInt(t[e].cpar.css("paddingBottom"),0)||0}),t[e].blockSpacing!==i?(t[e].block={bottom:t[e].blockSpacing.bottom!==i?parseInt(t[e].blockSpacing.bottom[t[e].level],0):0,top:t[e].blockSpacing.top!==i?parseInt(t[e].blockSpacing.top[t[e].level],0):0,left:t[e].blockSpacing.left!==i?parseInt(t[e].blockSpacing.left[t[e].level],0):0,right:t[e].blockSpacing.right!==i?parseInt(t[e].blockSpacing.right[t[e].level],0):0},t[e].block.hor=t[e].block.left+t[e].block.right,t[e].block.ver=t[e].block.top+t[e].block.bottom):t[e].block===i&&(t[e].block={top:0,left:0,right:0,bottom:0,hor:0,ver:0}),t[e].blockSpacing!==i){var l={paddingLeft:t[e].block.left,paddingRight:t[e].block.right,marginTop:t[e].block.top,marginBottom:t[e].block.bottom},c=JSON.stringify(l);l!==t[e].emptyObject&&c!==t[e].caches.setsizeBLOCKOBJ&&(tpGS.gsap.set(t[e].blockSpacing.block,l),t[e].caches.setsizeBLOCKOBJ=c,d=!0)}if(t[e].levelForced=t[e].level=t.getResponsiveLevel(e),t[e].rowHeights=t.getRowHeights(e),t[e].aratio=t[e].gridheight[t[e].level]/t[e].gridwidth[t[e].level],t[e].module.width="auto"===t[e].sliderLayout||1==t[e].disableForceFullWidth?t[e].cpar.width():n-t[e].block.hor,t[e].outNavDims=t.getOuterNavDimension(e),t[e].canv.width=t[e].module.width-t[e].outNavDims.horizontal-(s?t.scrollBarWidth:0),s&&"auto"===t[e].sliderLayout&&(t[e].canv.width=Math.min(t[e].gridwidth[t[e].level],n)),"fullscreen"===t[e].sliderLayout||t[e].infullscreenmode){var p=t.getWinH(e)-t.getFullscreenOffsets(e);t[e].canv.height=Math.max(t[e].rowHeights.cur,Math.max(p-t[e].outNavDims.vertical,t[e].minHeight)),o!==r&&(t[e].currentSlideHeight=Math.max(t[e].rowHeights.last,Math.max(p-t[e].outNavDims.vertical,t[e].minHeight)),t[e].redraw.maxHeightOld=!0),t[e].drawUpdates.c.height="100%"}else t[e].canv.height=t[e].keepBPHeight?t[e].gridheight[t[e].level]:Math.round(t[e].canv.width*t[e].aratio),t[e].canv.height=t[e].autoHeight?t[e].canv.height:Math.min(t[e].canv.height,t[e].gridheight[t[e].level]),t[e].canv.height=Math.max(Math.max(t[e].rowHeights.cur,t[e].canv.height),t[e].minHeight),t[e].drawUpdates.c.height=t[e].canv.height;t[e].module.height=t[e].canv.height,"fullwidth"!=t[e].sliderLayout||t[e].autoHeight||(t[e].drawUpdates.c.maxHeight=0!=t[e].maxHeight?Math.min(t[e].canv.height,t[e].maxHeight):t[e].canv.height),t[e].CM=t.getSizeMultpilicator(e,t[e].enableUpscaling,{width:t[e].canv.width,height:t[e].canv.height}),t[e].content.width=t[e].gridwidth[t[e].level]*t[e].CM.w,t[e].content.height=Math.round(Math.max(t[e].rowHeights.cur,t[e].gridheight[t[e].level]*t[e].CM.h));var g=t[e].module.margins.top+t[e].module.margins.bottom+t[e].outNavDims.vertical+t[e].canv.height+t[e].module.paddings.top+t[e].module.paddings.bottom;t[e].drawUpdates.cpar.height=g,t[e].drawUpdates.cpar.width="auto"===t[e].sliderLayout?"auto":t[e].module.width,"auto"===t[e].sliderLayout||"fullscreen"===t[e].sliderLayout&&!0===t[e].disableForceFullWidth||t[e].rsFullWidthWrap===i?"fullscreen"==t[e].sliderLayout&&1==t[e].disableForceFullWidth&&(t[e].drawUpdates.cpar.left=0):t[e].drawUpdates.cpar.left=0-Math.ceil(t[e].rsFullWidthWrap.offset().left-(t[e].outNavDims.left+t[e].block.left)),t[e].sbtimeline.set&&t[e].sbtimeline.fixed?(t[e].sbtimeline.extended===i&&t.updateFixedScrollTimes(e),t[e].forcerHeight=2*g+t[e].sbtimeline.extended):t[e].forcerHeight=g,t[e].forcerHeight!==t[e].caches.setsizeForcerHeight&&t[e].forcer!==i&&(t[e].caches.setsizeForcerHeight=t[e].forcerHeight,d=!0,t[e].redraw.forcer=!0),t[e].drawUpdates.c.width=t[e].canv.width,"auto"===t[e].sliderLayout&&(t[e].drawUpdates.c.left=t[e].outNavDims.left),t[e].drawUpdates.c!==t[e].emptyObject&&JSON.stringify(t[e].drawUpdates.c)!==t[e].caches.setsizeCOBJ&&(t[e].caches.setsizeCOBJ=JSON.stringify(t[e].drawUpdates.c),d=!0,t[e].redraw.c=!0),t[e].drawUpdates.cpar!==t[e].emptyObject&&JSON.stringify(t[e].drawUpdates.cpar)!==t[e].caches.setsizeCPAROBJ&&(t[e].caches.setsizeCPAROBJ=JSON.stringify(t[e].drawUpdates.cpar),d=!0,t[e].redraw.cpar=!0),s&&"auto"===t[e].sliderLayout&&t[e].caches.canWidth!==t[e].canv.width&&(t[e].caches.canWidth=t[e].canv.width,d=!0,t[e].redraw.modalcanvas=!0),t[e].slayers&&t[e].slayers.length>0&&t[e].outNavDims.left!==t[e].caches.outNavDimsLeft&&"fullwidth"!=t[e].sliderLayout&&"fullscreen"!=t[e].sliderLayout&&(t[e].caches.outNavDimsLeft=t[e].outNavDims.left,t[e].redraw.slayers=!0),s&&t[e].modal.calibration!==i&&"middle"===t[e].modal.vertical&&(t[e].modal.calibration.top=t.getWinH(e)<g?"0%":"50%",t[e].modal.calibration.y=t.getWinH(e)<g?"0px":"-50%","fullwidth"===t[e].sliderLayout&&(d=!0,t[e].redraw.modulewrap=!0)),t[e].gridOffsetWidth=(t[e].module.width-t[e].gridwidth[t[e].level])/2,t[e].gridOffsetHeight=(t[e].module.height-t[e].content.height)/2,t[e].caches.curRowsHeight=t[e].currentRowsHeight=t[e].rowHeights.cur,t[e].caches.moduleWidth=t[e].width=t[e].module.width,t[e].caches.moduleHeight=t[e].height=t[e].module.height,t[e].caches.canWidth=t[e].conw=t[e].canv.width,t[e].caches.canHeight=t[e].conh=t[e].canv.height,t[e].bw=t[e].CM.w,t[e].bh=t[e].CM.h,t[e].caches.outNavDimsLeft=t[e].outNavDims.left,window.requestAnimationFrame(function(){t[e].redraw.forcer&&tpGS.gsap.set(t[e].forcer,{height:t[e].forcerHeight}),t[e].redraw.c&&tpGS.gsap.set(t[e].c,t[e].drawUpdates.c),t[e].redraw.cpar&&tpGS.gsap.set(t[e].cpar,t[e].drawUpdates.cpar),t[e].redraw.modalcanvas&&tpGS.gsap.set([t[e].modal.c,t[e].canvas],{width:t[e].canv.width}),t[e].redraw.maxHeightOld&&(t[e].slides[o].style.maxHeight=t[e].currentSlideHeight!==t[e].canv.height?t[e].currentSlideHeight+"px":"none"),t[e].redraw.slayers&&tpGS.gsap.set(t[e].slayers,{left:t[e].outNavDims.left}),t[e].redraw.modulewrap&&tpGS.gsap.set(t[e].modal.c.find("rs-module-wrap"),t[e].modal.calibration),!0!==t[e].navigation.initialised&&"prepared"===a&&("hero"!==t[e].sliderType&&t.createNavigation&&t[e].navigation.use&&!0!==t[e].navigation.createNavigationDone&&t.createNavigation(e),t.resizeThumbsTabs&&t.resizeThumbsTabs&&t[e].navigation.use&&t.resizeThumbsTabs(e)),t[e].rebuildProgressBar&&C(e),t[e].redraw={}});var u=t[e].inviewport&&(t[e].heightInLayers!==i&&t[e].module.height!==t[e].heightInLayers||t[e].widthInLayers!==i&&t[e].module.width!==t[e].widthInLayers);return"ignore"!==a&&u&&(t[e].heightInLayers=i,t[e].widthInLayers=i,"carousel"!==t[e].sliderType&&(t[e].pr_next_key!==i?t.animateTheLayers({slide:t[e].pr_next_key,id:e,mode:"rebuild",caller:"swapSlideProgress_1"}):t[e].pr_processing_key!==i?t.animateTheLayers({slide:t[e].pr_processing_key,id:e,mode:"rebuild",caller:"swapSlideProgress_2"}):t[e].pr_active_key!==i&&t.animateTheLayers({slide:t[e].pr_active_key,id:e,mode:"rebuild",caller:"swapSlideProgress_3"})),d=!0),d&&"ignore"!==a&&t.requestLayerUpdates(e,"enterstage"),t[e].module.height!==t[e].module.lastHeight&&(t[e].module.lastHeight=t[e].module.height,window.requestAnimationFrame(function(){m(e,i,!1)})),d},getSlideIndex:function(e,i){var a=!1;for(var r in t[e].slides){if(!t[e].slides.hasOwnProperty(r)||!1!==a)continue;a=t.gA(t[e].slides[r],"key")===i?r:a}return!1===a?0:a},loadUpcomingContent:function(e){if("smart"==t[e].lazyType){var i=[],a=parseInt(t.getSlideIndex(e,t.gA(t[e].pr_next_slide[0],"key")),0),r=a-1<0?t[e].realslideamount-1:a-1,o=a+1==t[e].realslideamount?0:a+1;r!==a&&i.push(t[e].slides[r]),o!==a&&i.push(t[e].slides[o]),i.length>0&&(t.loadImages(i,e,2),t.waitForCurrentImages(i,e,function(){}))}},getFullscreenOffsets:function(a){var r=0;if(t[a].fullScreenOffsetContainer!=i){var o=(""+t[a].fullScreenOffsetContainer).split(",");for(var s in o)o.hasOwnProperty(s)&&(r+=e(o[s]).outerHeight(!0)||0)}return t[a].fullScreenOffset!=i&&(!t.isNumeric(t[a].fullScreenOffset)&&t[a].fullScreenOffset.split("%").length>1?r+=t.getWinH(a)*parseInt(t[a].fullScreenOffset,0)/100:t.isNumeric(parseInt(t[a].fullScreenOffset,0))&&(r+=parseInt(t[a].fullScreenOffset,0)||0)),t[a].fullScreenOffsetResult=r,r},unToggleState:function(e){if(e!==i)for(var t=0;t<e.length;t++)try{document.getElementById(e[t]).classList.remove("rs-tc-active")}catch(e){}},toggleState:function(e){if(e!==i)for(var t=0;t<e.length;t++)try{document.getElementById(e[t]).classList.add("rs-tc-active")}catch(e){}},swaptoggleState:function(e){if(e!=i&&e.length>0)for(var a=0;a<e.length;a++){var r=document.getElementById(e[a]);if(t.gA(r,"toggletimestamp")!==i&&(new Date).getTime()-t.gA(r,"toggletimestamp")<250)return;t.sA(r,"toggletimestamp",(new Date).getTime()),null!==r&&(r.className.indexOf("rs-tc-active")>=0?r.classList.remove("rs-tc-active"):r.classList.add("rs-tc-active"))}},lastToggleState:function(e){var t;if(e!==i)for(var a=0;a<e.length;a++){var r=document.getElementById(e[a]);t=!0===t||null!==r&&r.className.indexOf("rs-tc-active")>=0||t}return t},revCheckIDS:function(a,r){if(t.gA(r,"idcheck")===i){var o=r.id,s=e.inArray(r.id,window.RSANYID),n=-1;-1!==s&&(n=e.inArray(r.id,t[a].anyid),window.RSANYID_sliderID[s]===a&&-1===n||(r.id=r.id+"_"+Math.round(9999*Math.random()),console.log("Warning - ID:"+o+" exists already. New Runtime ID:"+r.id),s=n=-1)),-1===n&&t[a].anyid.push(r.id),-1===s&&(window.RSANYID.push(r.id),window.RSANYID_sliderID.push(a))}return t.sA(r,"idcheck",!0),r.id},buildSpinner:function(t,a,r,o){var s;if("off"!==a){o=o===i?"":o,r=r===i?"#ffffff":r;var n=parseInt(a.replace("spinner",""),10);if(isNaN(n)||n<6){var d='style="background-color:'+r+'"',l=o===i||3!==n&&4!=n?"":d;s=e("<rs-loader "+(o===i||1!==n&&2!=n?"":d)+' class="'+a+" "+o+'"><div '+l+' class="dot1"></div><div '+l+' class="dot2"></div><div '+l+' class="bounce1"></div><div '+l+' class="bounce2"></div><div '+l+' class="bounce3"></div></rs-loader>')}else{var c,p='<div class="rs-spinner-inner"';if(7===n)-1!==r.search("#")?(c=r.replace("#",""),c="rgba("+parseInt(c.substring(0,2),16)+", "+parseInt(c.substring(2,4),16)+", "+parseInt(c.substring(4,6),16)+", "):-1!==r.search("rgb")&&(c=r.substring(r.indexOf("(")+1,r.lastIndexOf(")")).split(",")).length>2&&(c="rgba("+c[0].trim()+", "+c[1].trim()+", "+c[2].trim()+", "),c&&"string"==typeof c&&(p+=' style="border-top-color: '+c+"0.65); border-bottom-color: "+c+"0.15); border-left-color: "+c+"0.65); border-right-color: "+c+'0.15)"');else 12===n&&(p+=' style="background:'+r+'"');p+=">";for(var g=[10,0,4,2,5,9,0,4,4,2][n-6],u=0;u<g;u++)u>0&&(p+=" "),p+='<span style="background:'+r+'"></span>';s=e('<rs-loader class="'+a+" "+o+'">'+(p+="</div>")+"</div></rs-loader>")}return s}},addStaticLayerTo:function(e,i,a){if(t[e].slayers.length<2){var r=document.createElement("rs-static-layers");r.className="rs-stl-"+i,r.appendChild(a[0]),t[e].c[0].appendChild(r),t[e].slayers.push(r)}else t[e].slayers[1].appendChild(a[0])}});var a=t.is_mobile(),r=(t.is_android(),function(){return t.isIE11()?function(e,i){return e.querySelectorAll(i)}:function(e,i){return e.getElementsByTagName(i)}}),o=function(e){t[e].responsiveLevels=t.revToResp(t[e].responsiveLevels,t[e].rle),t[e].visibilityLevels=t.revToResp(t[e].visibilityLevels,t[e].rle),t[e].responsiveLevels[0]=9999,t[e].rle=t[e].responsiveLevels.length||1,t[e].gridwidth=t.revToResp(t[e].gridwidth,t[e].rle),t[e].gridheight=t.revToResp(t[e].gridheight,t[e].rle),t[e].editorheight!==i&&(t[e].editorheight=t.revToResp(t[e].editorheight,t[e].rle)),t.updateDims(e)},s=function(i,t){var a=[];return e.each(i,function(e,i){e!=t&&a.push(i)}),a},n=function(i,a,r){t[r].c.find(i).each(function(){var i=e(this);i.data("key")===a&&i.remove()})},d=function(e,a){if(t["rsfont_"+e]==i&&(t["rsfont_"+e]=document.createElement("span"),t["rsfont_"+e].innerHTML=Array(100).join("wi"),t["rsfont_"+e].style.cssText=["position:absolute","width:auto","font-size:128px","left:-99999px"].join(" !important;"),t["rsfont_"+e].style.fontFamily=e,document.body.appendChild(t["rsfont_"+e])),a===i)return t["rsfont_"+e].clientWidth;document.body.removeChild(t["rsfont_"+e])},l=function(i,t){var a=0;return i.find(t).each(function(){var i=e(this);!i.hasClass("tp-forcenotvisible")&&a<i.outerWidth()&&(a=i.outerWidth())}),a},c=function(r){if(r===i||t[r]===i||t[r].c===i)return!1;if(t[r].cpar!==i&&t[r].cpar.data("aimg")!=i&&("enabled"==t[r].cpar.data("aie8")&&t.isIE(8)||"enabled"==t[r].cpar.data("amobile")&&a))t[r].c.html('<img class="tp-slider-alternative-image" src="'+t[r].cpar.data("aimg")+'">');else{window._rs_firefox13=!1,window._rs_firefox=t.isFirefox(),window._rs_ie=window._rs_ie===i?!e.support.opacity:window._rs_ie,window._rs_ie9=window._rs_ie9===i?9==document.documentMode:window._rs_ie9;var o=e.fn.jquery.split("."),s=parseFloat(o[0]),n=parseFloat(o[1]);1==s&&n<7&&t[r].c.html('<div style="text-align:center; padding:40px 0px; font-size:20px; color:#992222;"> The Current Version of jQuery:'+o+" <br>Please update your jQuery Version to min. 1.7 in Case you wish to use the Revolution Slider Plugin</div>"),s>1&&(window._rs_ie=!1),t[r].realslideamount=t[r].slideamount=0;var d=t.getByTag(t[r].canvas[0],"RS-SLIDE"),l=[];for(var c in t[r].notInNav=[],t[r].slides=[],d)d.hasOwnProperty(c)&&("on"==t.gA(d[c],"hsom")&&a?l.push(d[c]):(t.gA(d[c],"invisible")||1==t.gA(d[c],"invisible")?t[r].notInNav.push(d[c]):(t[r].slides.push(d[c]),t[r].slideamount++),t[r].realslideamount++,t.sA(d[c],"originalindex",t[r].realslideamount),t.sA(d[c],"origindex",t[r].realslideamount-1)));for(c in l)l.hasOwnProperty(c)&&l[c].remove();for(c in t[r].notInNav)t[r].notInNav.hasOwnProperty(c)&&(t.sA(t[r].notInNav[c],"not_in_nav",!0),t[r].canvas[0].appendChild(t[r].notInNav[c]));if(t[r].canvas.css({visibility:"visible"}),t[r].slayers=t[r].c.find("rs-static-layers"),t[r].slayers.length>0&&t.sA(t[r].slayers[0],"key","staticlayers"),!0===t[r].modal.useAsModal&&(t[r].cpar.wrap('<rs-modal id="'+t[r].c[0].id+'_modal"></rs-modal>'),t[r].modal.c=e(t.closestNode(t[r].cpar[0],"RS-MODAL")),t[r].modal.c.appendTo(e("body")),t[r].modal!==i&&t[r].modal.alias!==i&&t.revModal(r,{mode:"init"})),1==t[r].waitForInit||1==t[r].modal.useAsModal)return t.RS_toInit!==i&&(t.RS_toInit[r]=!0),t[r].c.trigger("revolution.slide.waitingforinit"),void(t[r].waitingForInit=!0);window.requestAnimationFrame(function(){u(r)}),t[r].initEnded=!0}},p=function(){e("body").data("rs-fullScreenMode",!e("body").data("rs-fullScreenMode")),e("body").data("rs-fullScreenMode")&&setTimeout(function(){t.window.trigger("resize")},200)},g=function(e,a,r){return t.gA(e,"lazyload")!==i?t.gA(e,"lazyload"):t[r].lazyloaddata!==i&&t[r].lazyloaddata.length>0&&t.gA(e,t[r].lazyloaddata)!==i?t.gA(e,t[r].lazyloaddata):t.gA(e,"lazy-src")!==i?t.gA(e,"lazy-src"):t.gA(e,"lazy-wpfc-original-src")!==i?t.gA(e,"lazy-wpfc-original-src"):t.gA(e,"lazy")!==i?t.gA(e,"lazy"):a},u=function(r){if(t[r]!==i){if(t[r].sliderisrunning=!0,!0!==t[r].noDetach&&t[r].c.detach(),t[r].shuffle){for(var o=t[r].canvas.find("rs-slide:first-child"),s=t.gA(o[0],"firstanim"),n=0;n<t[r].slideamount;n++)t[r].canvas.find("rs-slide:eq("+Math.round(Math.random()*t[r].slideamount)+")").prependTo(t[r].canvas);t.sA(t[r].canvas.find("rs-slide:first-child")[0],"firstanim",s)}t[r].slides=t.getByTag(t[r].canvas[0],"RS-SLIDE"),t[r].thumbs=new Array(t[r].slides.length),t[r].slots=1,t[r].firststart=1,t[r].loadqueue=[],t[r].syncload=0;var d=0,l="carousel"===t[r].sliderType&&t[r].carousel.border_radius!==i?parseInt(t[r].carousel.border_radius,0):0;for(var c in t[r].slides)if(t[r].slides.hasOwnProperty(c)&&"length"!==c){var u=t[r].slides[c],h=t.getByTag(u,"IMG")[0];t.gA(u,"key")===i&&t.sA(u,"key","rs-"+Math.round(999999*Math.random()));var v={params:Array(12),id:t.gA(u,"key"),src:t.gA(u,"thumb")!==i?t.gA(u,"thumb"):g(h,h!==i?h.src:i,r)};t.gA(u,"title")===i&&t.sA(u,"title",""),t.gA(u,"description")===i&&t.sA(u,"description",""),v.params[0]={from:RegExp("\\{\\{title\\}\\}","g"),to:t.gA(u,"title")},v.params[1]={from:RegExp("\\{\\{description\\}\\}","g"),to:t.gA(u,"description")};for(var y=1;y<=10;y++)t.gA(u,"p"+y)!==i?v.params[y+1]={from:RegExp("\\{\\{param"+y+"\\}\\}","g"),to:t.gA(u,"p"+y)}:v.params[y+1]={from:RegExp("\\{\\{param"+y+"\\}\\}","g"),to:""};if(t[r].thumbs[d]=e.extend({},!0,v),l>0&&tpGS.gsap.set(u,{borderRadius:l+"px"}),t.gA(u,"link")!=i||t.gA(u,"linktoslide")!==i){var b=t.gA(u,"link")!==i?t.gA(u,"link"):"slide",w="slide"!=b?"no":t.gA(u,"linktoslide"),_=t.gA(u,"seoz");if(w!=i&&"no"!=w&&"next"!=w&&"prev"!=w)for(var x in t[r].slides)t[r].slides.hasOwnProperty(x)&&parseInt(t.gA(t[r].slides[x],"origindex"),0)+1==t.gA(u,"linktoslide")&&(w=t.gA(t[r].slides[x],"key"));e(u).prepend('<rs-layer class="rs-layer slidelink" id="rs_slidelink_'+Math.round(1e5*Math.random())+'" data-zindex="'+("back"===_?0:"front"===_?95:_!==i?parseInt(_,0):100)+'" dataxy="x:c;y:c" data-dim="w:100%;h:100%" data-basealign="slide"'+("no"==w?"slide"==b||a?"":"  data-actions='o:click;a:simplelink;target:"+(t.gA(u,"target")||"_self")+";url:"+b+";'":"  data-actions='"+("scroll_under"===w?"o:click;a:scrollbelow;offset:100px;":"prev"===w?"o:click;a:jumptoslide;slide:prev;d:0.2;":"next"===w?"o:click;a:jumptoslide;slide:next;d:0.2;":"o:click;a:jumptoslide;slide:"+w+";d:0.2;")+"'")+" data-frame_1='e:power3.inOut;st:100;sp:100' data-frame_999='e:power3.inOut;o:0;st:w;sp:100'>"+(a?"<a "+("slide"!=b?("_blank"===t.gA(u,"target")?'rel="noopener" ':"")+'target="'+(t.gA(u,"target")||"_self")+'" href="'+b+'"':"")+"><span></span></a>":"")+"</rs-layer>")}d++}if(t[r].simplifyAll&&(t.isIE(8)||t.iOSVersion())&&(t[r].c.find(".rs-layer").each(function(){var i=e(this);i.removeClass("customin customout").addClass("fadein fadeout"),i.data("splitin",""),i.data("speed",400)}),t[r].c.find("rs-slide").each(function(){var i=e(this);i.data("transition","fade"),i.data("masterspeed",500),i.data("slotamount",1),(i.find(".rev-slidebg")||i.find(">img").first()).data("panzoom",null)})),window._rs_desktop=window._rs_desktop===i?!navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i):window._rs_desktop,t[r].autoHeight="fullscreen"==t[r].sliderLayout||t[r].autoHeight,"fullwidth"!=t[r].sliderLayout||t[r].autoHeight||t[r].c.css({maxHeight:t[r].gridheight[t[r].level]+"px"}),"auto"==t[r].sliderLayout||null!==t.closestNode(t[r].c[0],"RS-FULLWIDTH-WRAP")||"fullscreen"===t[r].sliderLayout&&1==t[r].disableForceFullWidth)t[r].topc=t[r].cpar;else{var S=t[r].cpar[0].style.marginTop,k=t[r].cpar[0].style.marginBottom;S=S===i||""===S?"":"margin-top:"+S+";",k=k===i||""===k?"":"margin-bottom:"+k+";",t[r].rsFullWidthWrap=t[r].topc=e('<rs-fullwidth-wrap id="'+t[r].c[0].id+'_forcefullwidth" style="'+S+k+'"></rs-fullwidth-wrap>'),t[r].forcer=e('<rs-fw-forcer style="height:'+(t[r].forcerHeight===i?t[r].cpar.height():t[r].forcerHeight)+'px"></rs-fw-forcer>'),t[r].topc.append(t[r].forcer),t[r].topc.insertBefore(t[r].cpar),t[r].cpar.detach(),t[r].cpar.css({marginTop:"0px",marginBottom:"0px",position:"absolute"}),t[r].cpar.prependTo(t[r].topc)}if(t[r].forceOverflow&&t[r].topc[0].classList.add("rs-forceoverflow"),"carousel"===t[r].sliderType&&!0!==t[r].overflowHidden&&t[r].c.css({overflow:"visible"}),0!==t[r].maxHeight&&tpGS.gsap.set([t[r].cpar,t[r].c,t[r].topc],{maxHeight:t[r].maxHeight+"px"}),t[r].fixedOnTop&&tpGS.gsap.set(t[r].blockSpacing!==i&&t[r].blockSpacing.block!==i?t[r].blockSpacing.block:t[r].topc,{position:"fixed",top:"0px",left:"0px",pointerEvents:"none",zIndex:5e3}),t[r].shadow!==i&&t[r].shadow>0&&t[r].cpar.addClass("tp-shadow"+t[r].shadow).append('<div class="tp-shadowcover" style="background-color:'+t[r].cpar.css("backgroundColor")+";background-image:"+t[r].cpar.css("backgroundImage")+'"></div>'),t.updateDims(r,"prepared"),t.observeWraps===i&&(t.observeWraps=new t.wrapObserver.init(function(e,t){m(t,i,!0)})),!t[r].c.hasClass("revslider-initialised")){t[r].c[0].classList.add("revslider-initialised"),t[r].c[0].id=t[r].c[0].id===i?"revslider-"+Math.round(1e3*Math.random()+5):t[r].c[0].id,t.revCheckIDS(r,t[r].c[0]),t[r].origcd=parseInt(t[r].duration,0),t[r].scrolleffect._L=[],t[r].sbas=t[r].sbas===i?{}:t[r].sbas,t[r].layers=t[r].layers||{},t[r].sortedLayers=t[r].sortedLayers||{};var L=t[r].c[0].querySelectorAll("rs-layer, rs-row, rs-column, rs-group,  rs-bgvideo, .rs-layer");for(var R in L)if(L.hasOwnProperty(R)){var I,O,T=e(L[R]),C=T.data();if(C.startclasses=L[R].className,C.startclasses=C.startclasses===i||null===C.startclasses?"":C.startclasses,C.animationonscroll=!!t[r].sbtimeline.set&&t[r].sbtimeline.layers,C.animationonscroll=!0===C.animationonscroll||"true"==C.animationonscroll,C.filteronscroll=!!t[r].scrolleffect.set&&t[r].scrolleffect.layers,C.pxundermask=C.startclasses.indexOf("rs-pxmask")>=0&&"off"!==t[r].parallax.type&&C.startclasses.indexOf("rs-pxl-")>=0,C.noPevents=C.startclasses.indexOf("rs-noevents")>=0,C.sba)for(var y in I=C.sba.split(";"))I.hasOwnProperty(y)&&("t"==(O=I[y].split(":"))[0]&&(C.animationonscroll=O[1],"false"==O[1]&&(C.animOnScrollForceDisable=!0)),"e"==O[0]&&(C.filteronscroll=O[1]),"so"==O[0]&&(C.scrollBasedOffset=parseInt(O[1])/1e3));if("true"!=C.animationonscroll&&1!=C.animationonscroll||(C.startclasses+=" rs-sba",T[0].className+=" rs-sba"),C.startclasses.indexOf("rs-layer-static")>=0&&t.handleStaticLayers&&t.handleStaticLayers(T,r),"RS-BGVIDEO"!==T[0].tagName){if(T[0].classList.add("rs-layer"),"column"===C.type&&(C.columnwidth="33.33%",C.verticalalign="top",C.column!==i))for(var A in I=C.column.split(";"))I.hasOwnProperty(A)&&("w"===(O=I[A].split(":"))[0]&&(C.columnwidth=O[1]),"a"===O[0]&&(C.verticalalign=O[1]));var M=C.startclasses.indexOf("slidelink")>=0?"z-index:"+C.zindex+";width:100% !important;height:100% !important;":"",P="column"!==C.type?"":C.verticalalign===i?" vertical-align:top;":" vertical-align:"+C.verticalalign+";",B="row"===C.type||"column"===C.type?"position:relative;":"position:absolute;",D="",H="row"===C.type?"rs-row-wrap":"column"===C.type?"rs-column-wrap":"group"===C.type?"rs-group-wrap":"rs-layer-wrap",N="",j="",F=(C.noPevents,";pointer-events:none");"row"===C.type||"column"===C.type||"group"===C.type?(T[0].classList.remove("tp-resizeme"),"column"===C.type&&(C.width="auto",T[0].group="row",tpGS.gsap.set(T,{width:"auto"}),C.filteronscroll=!1)):(N="display:"+("inline-block"===T[0].style.display?"inline-block":"block")+";",null!==t.closestNode(T[0],"RS-COLUMN")?(T[0].group="column",C.filteronscroll=!1):null!==t.closestNode(T[0],"RS-GROUP-WRAP")&&(T[0].group="group",C.filteronscroll=!1)),C.wrpcls!==i&&(D=D+" "+C.wrpcls),C.wrpid!==i&&(j='id="'+C.wrpid+'"'),T.wrap("<"+H+" "+j+' class="rs-parallax-wrap '+D+'" style="'+P+" "+M+B+N+F+'"><rs-loop-wrap style="'+M+B+N+'"><rs-mask-wrap style="'+M+B+N+'">'+(C.pxundermask?"<rs-px-mask></rs-px-mask>":"")+"</rs-mask-wrap></rs-loop-wrap></"+H+">"),!0!==C.filteronscroll&&"true"!=C.filteronscroll||t[r].scrolleffect._L.push(T.parent()),T[0].id=T[0].id===i?"layer-"+Math.round(999999999*Math.random()):T[0].id,t.revCheckIDS(r,T[0]),C.pxundermask?t[r]._Lshortcuts[T[0].id]={p:e(T[0].parentNode.parentNode.parentNode.parentNode),lp:e(T[0].parentNode.parentNode.parentNode),m:e(T[0].parentNode.parentNode)}:t[r]._Lshortcuts[T[0].id]={p:e(T[0].parentNode.parentNode.parentNode),lp:e(T[0].parentNode.parentNode),m:e(T[0].parentNode)},"column"===C.type&&t[r]._Lshortcuts[T[0].id].p.append('<rs-cbg-mask-wrap><rs-column-bg id="'+T[0].id+'_rs_cbg"></rs-column-bg></rs-cbg-mask-wrap>'),"text"===C.type&&t.getByTag(T[0],"IFRAME").length>0&&(t[r].slideHasIframe=!0,T[0].classList.add("rs-ii-o")),t[r].BUG_safari_clipPath&&"true"!=C.animationonscroll&&1!=C.animationonscroll&&T[0].classList.add("rs-pelock"),T[0].dataset.staticz!==i&&"row"!==C.type&&"row"!==T[0].group&&"column"!==T[0].group&&t.addStaticLayerTo(r,T[0].dataset.staticz,t[r]._Lshortcuts[T[0].id].p)}t.gA(T[0],"actions")&&t.checkActions&&t.checkActions(T,r,t[r]),!t.checkVideoApis||window.rs_addedvim&&window.rs_addedyt||t[r].youtubeapineeded&&t[r].vimeoapineeded||t.checkVideoApis(T,r)}t.checkActions&&t.checkActions(i,r),t[r].c[0].addEventListener("mousedown",function(){if(!0!==t[r].onceClicked&&(t[r].onceClicked=!0,!0!==t[r].onceVideoPlayed&&t[r].activeRSSlide!==i&&t[r].slides!==i&&t[r].slides[t[r].activeRSSlide]!==i)){var a=e(t[r].slides[t[r].activeRSSlide]).find("rs-bgvideo");a!==i&&null!==a&&a.length>0&&t.playVideo(a,r)}}),t[r].c[0].addEventListener("mouseenter",function(){t[r].c.trigger("tp-mouseenter"),t[r].overcontainer=!0},{passive:!0}),t[r].c[0].addEventListener("mouseover",function(){t[r].c.trigger("tp-mouseover"),t[r].overcontainer=!0},{passive:!0}),t[r].c[0].addEventListener("mouseleave",function(){t[r].c.trigger("tp-mouseleft"),t[r].overcontainer=!1},{passive:!0}),t[r].c.find(".rs-layer video").each(function(i){var t=e(this);t.removeClass("video-js vjs-default-skin"),t.attr("preload",""),t.css({display:"none"})}),t[r].rs_static_layer=t.getByTag(t[r].c[0],"RS-STATIC-LAYERS"),t.preLoadAudio&&t[r].rs_static_layer.length>0&&t.preLoadAudio(e(t[r].rs_static_layer),r,1),t[r].rs_static_layer.length>0&&(t.loadImages(t[r].rs_static_layer[0],r,0,!0),t.waitForCurrentImages(t[r].rs_static_layer[0],r,function(){t[r]!==i&&t[r].c.find("rs-static-layers img").each(function(){this.src=t.getLoadObj(r,t.gA(this,"src")!=i?t.gA(this,"src"):this.src).src})})),t[r].rowzones=[],t[r].rowzonesHeights=[],t[r].middleZones=[];let a=t.deepLink(r,G("#")[0]);a!==i&&(t[r].startWithSlide=a,t[r].deepLinkListener=!0,window.addEventListener("hashchange",function(){if(!0!==t[r].ignoreDeeplinkChange){let e=t.deepLink(r,G("#")[0]);e!==i&&t.callingNewSlide(r,e,!0)}t[r].ignoreDeeplinkChange=!1})),t[r].loader=t.buildSpinner(r,t[r].spinner,t[r].spinnerclr),t[r].loaderVisible=!0,t[r].c.append(t[r].loader),f(r),("off"!==t[r].parallax.type||t[r].scrolleffect.set||t[r].sbtimeline.set)&&t.checkForParallax&&t.checkForParallax(r),t[r].fallbacks.disableFocusListener||"true"==t[r].fallbacks.disableFocusListener||!0===t[r].fallbacks.disableFocusListener||(t[r].c.addClass("rev_redraw_on_blurfocus"),z());var W=t[r].viewPort;for(var y in"on"===t[r].navigation.mouseScrollNavigation&&(W.enable=!0),t[r].slides)if(t[r].slides.hasOwnProperty(y)){var V=e(t[r].slides[y]);t[r].rowzones[y]=[],t[r].rowzonesHeights[y]=[],t[r].middleZones[y]=[],V.find("rs-zone").each(function(){t[r].rowzones[y].push(e(this)),this.className.indexOf("rev_row_zone_middle")>=0&&t[r].middleZones[y].push(this)}),(W.enable&&t[r].inviewport||!W.enable)&&"all"==t[r].lazyType&&(t.loadImages(V[0],r,y),t.waitForCurrentImages(V[0],r,function(){}))}t[r].srowzones=[],t[r].smiddleZones=[],t[r].slayers&&t[r].slayers.find("rs-zone").each(function(){t[r].srowzones.push(e(this)),this.className.indexOf("rev_row_zone_middle")>=0&&t[r].smiddleZones.push(this)}),"carousel"===t[r].sliderType&&tpGS.gsap.set(t[r].canvas,{scale:1,perspective:1200,transformStyle:"flat",opacity:0}),t[r].c.prependTo(t[r].cpar),e("body").data("rs-fullScreenMode",!1),window.addEventListener("fullscreenchange",p,{passive:!0}),window.addEventListener("mozfullscreenchange",p,{passive:!0}),window.addEventListener("webkitfullscreenchange",p,{passive:!0}),t.document.on("updateContainerSizes."+t[r].c.attr("id"),function(){if(t[r]!==i)return t[r].c!=i&&void(t.updateDims(r,"ignore")&&window.requestAnimationFrame(function(){t.updateDims(r,"ignore"),t[r].fullScreenMode=t.checkfullscreenEnabled(r),t.lastwindowheight=t.getWinH(r),m(r)}))}),W.presize&&(t[r].pr_next_slide=e(t[r].slides[0]),t.loadImages(t[r].pr_next_slide[0],r,0,!0),t.waitForCurrentImages(t[r].pr_next_slide.find(".tp-layers"),r,function(){t.animateTheLayers&&t.animateTheLayers({slide:t[r].pr_next_key,id:r,mode:"preset",caller:"runSlider"})})),("off"!=t[r].parallax.type||t[r].sbtimeline.set||!0===W.enable)&&t.scrollTicker(r),!0!==W.enable&&(t[r].inviewport=!0,t.enterViewPort(r)),t.RS_toInit!==i&&(t.RS_toInit[r]=!0),t[r].observeWrap&&t.observeWraps&&t.wrapObserver.observe(t[r].rsFullWidthWrap!==i?t[r].rsFullWidthWrap[0]:t[r].cpar[0],r)}}},h=function(e,a){t.winW<t[e].hideSliderAtLimit?(t[e].c.trigger("stoptimer"),!0!==t[e].sliderIsHidden&&(t.sA(t[e].cpar[0],"displaycache","none"!=t[e].cpar.css("display")?t[e].cpar.css("display"):t.gA(t[e].cpar[0],"displaycache")),t[e].cpar.css({display:"none"}),t[e].sliderIsHidden=!0)):(!0===t[e].sliderIsHidden||t[e].sliderIsHidden===i&&t[e].c.is(":hidden"))&&a&&(t[e].cpar[0].style.display=t.gA(t[e].cpar[0],"displaycache")!=i&&"none"!=t.gA(t[e].cpar[0],"displaycache")?t.gA(t[e].cpar[0],"displaycache"):"block",t[e].sliderIsHidden=!1,t[e].c.trigger("restarttimer"),window.requestAnimationFrame(function(){m(e,!0)})),t.hideUnHideNav&&t[e].navigation.use&&t.hideUnHideNav(e)},m=function(e,r,o){if(t[e].c===i)return!1;if(t[e].dimensionReCheck={},t[e].c.trigger("revolution.slide.beforeredraw"),1==t[e].infullscreenmode&&(t[e].minHeight=t.getWinH(e)),a&&(t[e].lastMobileHeight=t.getWinH(e)),o&&t.updateDims(e),!t.resizeThumbsTabs||!0===t.resizeThumbsTabs(e)){if(window.requestAnimationFrame(function(){h(e,!0!==r),C(e)}),t[e].started){if("carousel"==t[e].sliderType)for(var s in t.prepareCarousel(e),t[e].sbgs)t[e].sbgs.hasOwnProperty(s)&&t[e].sbgs[s].mDIM!==i&&t.updateSlideBGs(e,t[e].sbgs[s].key,t[e].sbgs[s]);else t.updateSlideBGs(e);if("carousel"===t[e].sliderType&&t[e].carCheckconW!=t[e].canv.width){for(var n in clearTimeout(t[e].pcartimer),t[e].sbgs)t[e].sbgs[n].loadobj!==i&&t.updateSlideBGs(e,t[e].sbgs[n].key,t[e].sbgs[n]);t[e].pcartimer=setTimeout(function(){t.prepareCarousel(e),t.animateTheLayers({slide:"individual",id:e,mode:"rebuild",caller:"containerResized_1"}),t[e].carCheckconW=t[e].canv.width},100),t[e].lastconw=t[e].canv.width}if(t[e].pr_processing_key!==i?t.animateTheLayers({slide:t[e].pr_processing_key,id:e,mode:"rebuild",caller:"containerResized_2"}):t[e].pr_active_key!==i&&t.animateTheLayers({slide:t[e].pr_active_key,id:e,mode:"rebuild",caller:"containerResized_3"}),"carousel"===t[e].sliderType){for(var n in t[e].panzoomTLs)if(t[e].panzoomTLs.hasOwnProperty(n)){var d=t.gA(t[e].panzoomBGs[n][0],"key");t.startPanZoom(t[e].panzoomBGs[n],e,t[e].panzoomTLs[n].progress(),n,t[e].panzoomTLs[n].isActive()?"play":"reset",d)}}else t[e].pr_active_bg!==i&&t[e].pr_active_bg[0]!==i&&v(e,t[e].pr_active_bg,t[e].pr_active_bg[0].dataset.key),t[e].pr_next_bg!==i&&t[e].pr_next_bg[0]!==i&&v(e,t[e].pr_next_bg,t[e].pr_next_bg[0].dataset.key);clearTimeout(t[e].mNavigTimeout),t.manageNavigation&&(t[e].mNavigTimeout=setTimeout(function(){t.manageNavigation(e)},20))}t.prepareCoveredVideo(e)}t[e].c.trigger("revolution.slide.afterdraw",[{id:e}])},v=function(e,a,r){if(t[e].panzoomTLs!==i){var o=t.getSlideIndex(e,r);t.startPanZoom(a,e,t[e].panzoomTLs[o]!==i?t[e].panzoomTLs[o].progress():0,o,"play",r)}},f=function(a){!0!==t[a].noDetach&&t[a].canvas.detach();var r=t.isFaceBook()?"visible":"hidden";if(t[a].autoHeight&&tpGS.gsap.set([t[a].c,t[a].cpar],{maxHeight:"none"}),tpGS.gsap.set(t[a].canvas,t[a].modal!==i&&t[a].modal.useAsModal?{overflow:r,width:"100%",height:"100%"}:{overflow:r,width:"100%",height:"100%",maxHeight:t[a].autoHeight?"none":t[a].cpar.css("maxHeight")}),"carousel"===t[a].sliderType){var o="margin-top:"+parseInt(t[a].carousel.padding_top||0,0)+"px;";t[a].canvas.css({overflow:"visible"}).wrap('<rs-carousel-wrap style="'+o+'"></rs-carousel-wrap>'),t[a].cpar.prepend("<rs-carousel-space></rs-carousel-space>").append("<rs-carousel-space></rs-carousel-space>"),t.defineCarouselElements(a)}t[a].startWithSlide=t[a].startWithSlide===i?i:Math.max(1,(t[a].sliderType,parseInt(t[a].startWithSlide))),t[a].cpar.css({overflow:"visible"}),t[a].scrolleffect.bgs=[];for(var s=0;s<t[a].slides.length;s++){var n=e(t[a].slides[s]),d=t.gA(n[0],"key"),l=n.find(".rev-slidebg")||n.find(">img"),c=t[a].sbgs[d]=y(l.data(),a),p=n.data("mediafilter");if(c.skeyindex=t.getSlideIndex(a,d),c.bgvid=n.find("rs-bgvideo"),l.detach(),c.bgvid.detach(),(t[a].startWithSlide!=i&&t.gA(t[a].slides[s],"originalindex")==t[a].startWithSlide||t[a].startWithSlide===i&&0==s)&&(t[a].pr_next_key=n.index()),tpGS.gsap.set(n,{width:"100%",height:"100%",overflow:r}),l.wrap('<rs-sbg-px><rs-sbg-wrap data-key="'+d+'"></rs-sbg-wrap></rs-sbg-px>'),c.wrap=e(t.closestNode(l[0],"RS-SBG-WRAP")),c.src=l[0].src,c.lazyload=c.lazyload=g(l[0],i,a),c.slidebgimage=!0,c.loadobj=c.loadobj===i?{}:c.loadobj,c.mediafilter=p="none"===p||p===i?"":p,c.sbg=document.createElement("rs-sbg"),t[a].overlay!==i&&"none"!=t[a].overlay.type&&t[a].overlay.type!=i){var u=t.createOverlay(a,t[a].overlay.type,t[a].overlay.size,{0:t[a].overlay.colora,1:t[a].overlay.colorb});c.wrap.append('<rs-dotted style="background-image:'+u+'"></rs-dotted>')}l.data("mediafilter",p),c.canvas=document.createElement("canvas"),c.sbg.appendChild(c.canvas),c.canvas.style.width="100%",c.canvas.style.height="100%",c.ctx=c.canvas.getContext("2d"),c.lazyload!==i&&(c.sbg.dataset.lazyload=c.lazyload),c.sbg.className=p,c.sbg.src=c.src,c.sbg.dataset.bgcolor=c.bgcolor,c.sbg.style.width="100%",c.sbg.style.height="100%",c.key=d,c.wrap[0].dataset.key=d,e(c.sbg).data(c),c.wrap.data(c),c.wrap[0].appendChild(c.sbg);var h=document.createComment("Runtime Modification - Img tag is Still Available for SEO Goals in Source - "+l.get(0).outerHTML);l.replaceWith(h),t.gA(n[0],"sba")===i&&t.sA(n[0],"sba","");var m={},v=t.gA(n[0],"sba").split(";");for(var f in v)if(v.hasOwnProperty(f)){var b=v[f].split(":");switch(b[0]){case"f":m.f=b[1];break;case"b":m.b=b[1];break;case"g":m.g=b[1];break;case"t":m.s=b[1]}}t.sA(n[0],"scroll-based",!!t[a].sbtimeline.set&&(m.s!==i&&m.s)),c.bgvid.length>0&&(c.bgvidid=c.bgvid[0].id,c.animateDirection="idle",c.bgvid.addClass("defaultvid").css({zIndex:30}),p!==i&&""!==p&&"none"!==p&&c.bgvid.addClass(p),c.bgvid.appendTo(c.wrap),c.parallax!=i&&(c.bgvid.data("parallax",c.parallax),c.bgvid.data("showcoveronpause","on"),c.bgvid.data("mediafilter",p)),c.poster=!1,(c.src!==i&&-1==c.src.indexOf("assets/dummy.png")&&-1==c.src.indexOf("assets/transparent.png")||c.lazyload!==i&&-1==c.lazyload.indexOf("assets/transparent.png")&&-1==c.lazyload.indexOf("assets/dummy.png"))&&(c.poster=!0),c.bgvid.data("bgvideo",1),c.bgvid[0].dataset.key=d,t.manageVideoLayer(c.bgvid,a,d),0==c.bgvid.find(".rs-fullvideo-cover").length&&c.bgvid.append('<div class="rs-fullvideo-cover"></div>')),t[a].scrolleffect.set?(t[a].scrolleffect.bgs.push({fade:m.f!==i?m.f:!!t[a].scrolleffect.slide&&t[a].scrolleffect.fade,blur:m.b!==i?m.b:!!t[a].scrolleffect.slide&&t[a].scrolleffect.blur,grayscale:m.g!==i?m.g:!!t[a].scrolleffect.slide&&t[a].scrolleffect.grayscale,c:c.wrap.wrap("<rs-sbg-effectwrap></rs-sbg-effectwrap>").parent()}),n.prepend(c.wrap.parent().parent())):n.prepend(c.wrap.parent())}"carousel"===t[a].sliderType?(tpGS.gsap.set(t[a].carousel.wrap,{opacity:0}),t[a].c[0].appendChild(t[a].carousel.wrap[0])):t[a].c[0].appendChild(t[a].canvas[0])},y=function(r,o){r.bg=r.bg===i?"":r.bg;var s=r.bg.split(";"),n={bgposition:"50% 50%",bgfit:"cover",bgrepeat:"no-repeat",bgcolor:"transparent"};for(var d in s)if(s.hasOwnProperty(d)){var l=s[d].split(":"),c=l[0],p=l[1],g="";switch(c){case"p":g="bgposition";break;case"f":g="bgfit";break;case"r":g="bgrepeat";break;case"c":g="bgcolor"}g!==i&&(n[g]=p)}return t[o].fallbacks.panZoomDisableOnMobile&&a&&(n.panzoom=i,n.bgfit="cover"),e.extend(!0,r,n)},b=function(e){var t=e;return e!=i&&e.length>0&&(t=e.split("?")[0]),t},w=function(e){var t=e;return e!=i&&e.length>0&&(t=t.replace(document.location.protocol,"")),t},_=function(e,i){var t=e.split("/"),a=i.split("/");t.pop();for(var r=0;r<a.length;r++)"."!=a[r]&&(".."==a[r]?t.pop():t.push(a[r]));return t.join("/")},x=function(e,a,r){if(t[a]!==i){for(var o in t[a].syncload--,t[a].loadqueue)if(t[a].loadqueue.hasOwnProperty(o)&&"loaded"!==t[a].loadqueue[o].progress){var s=t[a].loadqueue[o].src!==i?t[a].loadqueue[o].src.replace(/\.\.\/\.\.\//gi,""):t[a].loadqueue[o].src;s.indexOf("www.")<13&&(s=s.replace("www.",""));var n=e.src.indexOf("www.")<13?e.src.replace("www.",""):e.src;(s===e.src||w(s)===w(n)||b(document.location.protocol+s)===b(decodeURIComponent(n))||b(document.location.origin+s)===b(decodeURIComponent(n))||b(document.location.origin.replace("/www.","/")+s)===b(decodeURIComponent(n))||b(document.location.origin.replace("/www.","/")+s)===b(decodeURIComponent(n).replace("/www.","/"))||b(self.location.href.substring(0,self.location.href.length-1)+s)===b(decodeURIComponent(n))||b(_(self.location.href,t[a].loadqueue[o].src))===b(decodeURIComponent(n))||b(document.location.origin+"/"+s)===b(decodeURIComponent(n))||b(self.location.href.substring(0,self.location.href.length-1)+"/"+s)===b(decodeURIComponent(n))||b(t[a].loadqueue[o].src)===b(decodeURIComponent(n))||"file://"===window.location.origin&&b(e.src).match(new RegExp(s)))&&(t[a].loadqueue[o].img=e,t[a].loadqueue[o].progress=r,t[a].loadqueue[o].width=e.width,t[a].loadqueue[o].height=e.height)}S(a)}},S=function(a){4!=t[a].syncload&&t[a].loadqueue&&e.each(t[a].loadqueue,function(r,o){if("prepared"==o.progress&&t[a].syncload<=4){if(t[a].syncload++,"img"==o.type){var s=new Image;/^([\w]+\:)?\/\//.test(o.src)&&-1===o.src.indexOf(location.host)&&""!==t[a].imgCrossOrigin&&t[a].imgCrossOrigin!==i&&(s.crossOrigin=t[a].imgCrossOrigin),s.onload=function(){x(this,a,"loaded"),o.error=!1},s.onerror=function(){x(this,a,"failed"),o.error=!0},s.src=o.src,o.starttoload=e.now()}else e.get(o.src,function(e){o.innerHTML=(new XMLSerializer).serializeToString(e.documentElement),o.progress="loaded",t[a].syncload--,S(a)}).fail(function(){o.progress="failed",t[a].syncload--,S(a)});o.progress="inload"}})},k=function(e,i){return console.log("Static Image "+e+"  Could not be loaded in time. Error Exists:"+i),!0},L=function(i,a){if(e.now()-t[a][i+"starttime"]>5e3&&1!=t[a][i+"warning"]){t[a][i+"warning"]=!0;var r=i+" Api Could not be loaded !";"https:"===location.protocol&&(r+=" Please Check and Renew SSL Certificate !"),console.error(r),t[a].c.append('<div style="position:absolute;top:50%;width:100%;color:#e74c3c;  font-size:16px; text-align:center; padding:15px;background:#000; display:block;"><strong>'+r+"</strong></div>")}return!0},R=function(a){t[a]!==i&&(t[a].pr_active_slide=e(t[a].slides[t[a].pr_active_key]),t[a].pr_next_slide=e(t[a].slides[t[a].pr_processing_key]),t[a].pr_active_bg=t[a].pr_active_slide.find("rs-sbg-wrap"),t[a].pr_next_bg=t[a].pr_next_slide.find("rs-sbg-wrap"),t[a].pr_active_bg!==i&&t[a].pr_active_bg.length>0&&tpGS.gsap.to(t[a].pr_active_bg,.5,{opacity:0}),t[a].pr_next_bg!==i&&t[a].pr_next_bg.length>0&&tpGS.gsap.to(t[a].pr_next_bg,.5,{opacity:0}),tpGS.gsap.set(t[a].pr_active_slide,{zIndex:18}),t[a].pr_next_slide!==i&&t[a].pr_next_slide.length>0&&tpGS.gsap.set(t[a].pr_next_slide,{autoAlpha:0,zIndex:20}),t[a].tonpause=!1,t[a].pr_active_key!==i&&t.removeTheLayers(t[a].pr_active_slide,a,!0),t[a].firststart=1,setTimeout(function(){delete t[a].pr_active_key,delete t[a].pr_processing_key},200))},I=function(a,r){if(t[a]!==i)if(clearTimeout(t[a].waitWithSwapSlide),t[a].pr_processing_key===i||!0!==t[a].firstSlideShown){if(clearTimeout(t[a].waitWithSwapSlide),t[a].startWithSlideKey!==i&&(t[a].pr_next_key=t.getComingSlide(a,t[a].startWithSlideKey).nindex,delete t[a].startWithSlideKey),t[a].pr_active_slide=e(t[a].slides[t[a].pr_active_key]),t[a].pr_next_slide=e(t[a].slides[t[a].pr_next_key]),t[a].pr_next_key==t[a].pr_active_key)return delete t[a].pr_next_key;t[a].pr_processing_key=t[a].pr_next_key,t[a].pr_cache_pr_next_key=t[a].pr_next_key,delete t[a].pr_next_key,t[a].pr_next_slide!==i&&t[a].pr_next_slide[0]!==i&&t.gA(t[a].pr_next_slide[0],"hal")!==i&&t.sA(t[a].pr_next_slide[0],"sofacounter",t.gA(t[a].pr_next_slide[0],"sofacounter")===i?1:parseInt(t.gA(t[a].pr_next_slide[0],"sofacounter"),0)+1),t[a].stopLoop&&t[a].pr_processing_key==t[a].lastslidetoshow-1&&(t[a].progressC.css({visibility:"hidden"}),t[a].c.trigger("revolution.slide.onstop"),t[a].noloopanymore=1),t[a].pr_next_slide.index()===t[a].slideamount-1&&t[a].looptogo>0&&"disabled"!==t[a].looptogo&&(t[a].looptogo--,t[a].looptogo<=0&&(t[a].stopLoop=!0)),t[a].tonpause=!0,t[a].slideInSwapTimer=!0,t[a].c.trigger("stoptimer"),"off"===t[a].spinner?t[a].loader!==i&&!0===t[a].loaderVisible&&(t[a].loader.css({display:"none"}),t[a].loaderVisible=!1):t[a].loadertimer=setTimeout(function(){t[a].loader!==i&&!0!==t[a].loaderVisible&&(t[a].loader.css({display:"block"}),t[a].loaderVisible=!0)},50);var o="carousel"===t[a].sliderType&&"all"!==t[a].lazyType?t.loadVisibleCarouselItems(a):t[a].pr_next_slide[0];t.loadImages(o,a,1),t.preLoadAudio&&t.preLoadAudio(t[a].pr_next_slide,a,1),t.waitForCurrentImages(o,a,function(){t[a].firstSlideShown=!0,t[a].pr_next_slide.find("rs-bgvideo").each(function(){t.prepareCoveredVideo(a)}),t.loadUpcomingContent(a),window.requestAnimationFrame(function(){O(t[a].pr_next_slide.find("rs-sbg"),a,r)})})}else t[a].waitWithSwapSlide=setTimeout(function(){I(a,r)},18)},O=function(a,r,o){if(t[r]!==i){if(C(r),t[r].pr_active_slide=e(t[r].slides[t[r].pr_active_key]),t[r].pr_next_slide=e(t[r].slides[t[r].pr_processing_key]),t[r].pr_active_bg=t[r].pr_active_slide.find("rs-sbg-wrap"),t[r].pr_next_bg=t[r].pr_next_slide.find("rs-sbg-wrap"),t[r].tonpause=!1,clearTimeout(t[r].loadertimer),t[r].loader!==i&&!0===t[r].loaderVisible&&(window.requestAnimationFrame(function(){t[r].loader.css({display:"none"})}),t[r].loaderVisible=!1),t[r].onBeforeSwap={slider:r,slideIndex:parseInt(t[r].pr_active_key,0)+1,slideLIIndex:t[r].pr_active_key,nextSlideIndex:parseInt(t[r].pr_processing_key,0)+1,nextSlideLIIndex:t[r].pr_processing_key,nextslide:t[r].pr_next_slide,slide:t[r].pr_active_slide,currentslide:t[r].pr_active_slide,prevslide:t[r].pr_lastshown_key!==i?t[r].slides[t[r].pr_lastshown_key]:""},t[r].c.trigger("revolution.slide.onbeforeswap",t[r].onBeforeSwap),t[r].transition=1,t[r].stopByVideo=!1,t[r].pr_next_slide[0]!==i&&t.gA(t[r].pr_next_slide[0],"duration")!=i&&""!=t.gA(t[r].pr_next_slide[0],"duration")?t[r].duration=parseInt(t.gA(t[r].pr_next_slide[0],"duration"),0):t[r].duration=t[r].origcd,t[r].pr_next_slide[0]===i||"true"!=t.gA(t[r].pr_next_slide[0],"ssop")&&!0!==t.gA(t[r].pr_next_slide[0],"ssop")?t[r].ssop=!1:t[r].ssop=!0,t[r].sbtimeline.set&&t[r].sbtimeline.fixed&&t.updateFixedScrollTimes(r),t[r].c.trigger("nulltimer"),t[r].sdir=t[r].pr_processing_key<t[r].pr_active_key?1:0,"arrow"==t[r].sc_indicator&&(0==t[r].pr_active_key&&t[r].pr_processing_key==t[r].slideamount-1&&(t[r].sdir=1),t[r].pr_active_key==t[r].slideamount-1&&0==t[r].pr_processing_key&&(t[r].sdir=0)),t[r].lsdir=t[r].sdir,t[r].pr_active_key!=t[r].pr_processing_key&&1!=t[r].firststart&&"carousel"!==t[r].sliderType&&t.removeTheLayers&&t.removeTheLayers(t[r].pr_active_slide,r),1!==t.gA(t[r].pr_next_slide[0],"rspausetimeronce")&&1!==t.gA(t[r].pr_next_slide[0],"rspausetimeralways")?t[r].c.trigger("restarttimer"):(t[r].stopByVideo=!0,t.unToggleState(t[r].slidertoggledby)),t.sA(t[r].pr_next_slide[0],"rspausetimeronce",0),t[r].pr_next_slide[0]!==i&&t.sA(t[r].c[0],"slideactive",t.gA(t[r].pr_next_slide[0],"key")),"carousel"==t[r].sliderType){if(t[r].mtl=tpGS.gsap.timeline(),t.prepareCarousel(r),T(r),t.updateSlideBGs(r),!0!==t[r].carousel.checkFVideo){var s=t.gA(t[r].pr_next_slide[0],"key");t[r].sbgs[s]!==i&&t[r].sbgs[s].bgvid!==i&&0!==t[r].sbgs[s].bgvid.length&&t.playBGVideo(r,s),t[r].carousel.checkFVideo=!0}t[r].transition=0}else{t[r].pr_lastshown_key=t[r].pr_lastshown_key===i?t[r].pr_next_key!==i?t[r].pr_next_key:t[r].pr_processing_key!==i?t[r].pr_processing_key:t[r].pr_active_key!==i?t[r].pr_active_key:t[r].pr_lastshown_key:t[r].pr_lastshown_key,t[r].mtl=tpGS.gsap.timeline({paused:!0,onComplete:function(){T(r)}}),t[r].pr_next_key!==i?t.animateTheLayers({slide:t[r].pr_next_key,id:r,mode:"preset",caller:"swapSlideProgress_1"}):t[r].pr_processing_key!==i?t.animateTheLayers({slide:t[r].pr_processing_key,id:r,mode:"preset",caller:"swapSlideProgress_2"}):t[r].pr_active_key!==i&&t.animateTheLayers({slide:t[r].pr_active_key,id:r,mode:"preset",caller:"swapSlideProgress_3"}),1==t[r].firststart&&(t[r].pr_active_slide[0]!==i&&tpGS.gsap.set(t[r].pr_active_slide,{autoAlpha:0}),t[r].firststart=0),t[r].pr_active_slide[0]!==i&&tpGS.gsap.set(t[r].pr_active_slide,{zIndex:18}),t[r].pr_next_slide[0]!==i&&tpGS.gsap.set(t[r].pr_next_slide,{autoAlpha:0,zIndex:20});s=t.gA(t[r].pr_next_slide[0],"key");t[r].sbgs[s].alt===i&&(t[r].sbgs[s].alt=t.gA(t[r].pr_next_slide[0],"alttrans")||!1,t[r].sbgs[s].alt=!1!==t[r].sbgs[s].alt&&t[r].sbgs[s].alt.split(","),t[r].sbgs[s].altIndex=0,t[r].sbgs[s].altLen=!1!==t[r].sbgs[s].alt?t[r].sbgs[s].alt.length:0);t[r].firstSlideAnimDone===i&&t[r].fanim!==i&&!1!==t[r].fanim||(t[r].sbgs[s].slideanimation===i||t[r].sbgs[s].slideanimationRebuild||(t[r].sbgs[s].random!==i&&t.SLTR!==i||t[r].sbgs[s].altLen>0&&t.SLTR));t[r].sbgs[s].slideanimation=t[r].firstSlideAnimDone===i&&t[r].fanim!==i&&!1!==t[r].fanim?t.convertSlideAnimVals(e.extend(!0,{},t.getSlideAnim_EmptyObject(),t[r].fanim)):t[r].sbgs[s].slideanimation===i||t[r].sbgs[s].slideanimationRebuild?t.getSlideAnimationObj(r,{anim:t.gA(t[r].pr_next_slide[0],"anim"),filter:t.gA(t[r].pr_next_slide[0],"filter"),in:t.gA(t[r].pr_next_slide[0],"in"),out:t.gA(t[r].pr_next_slide[0],"out"),d3:t.gA(t[r].pr_next_slide[0],"d3")},s):t[r].sbgs[s].random!==i&&t.SLTR!==i?t.convertSlideAnimVals(e.extend(!0,{},t.getSlideAnim_EmptyObject(),t.getAnimObjectByKey(t.getRandomSlideTrans(t[r].sbgs[s].random.rndmain,t[r].sbgs[s].random.rndgrp,t.SLTR),t.SLTR))):t[r].sbgs[s].altLen>0&&t.SLTR!==i?t.convertSlideAnimVals(e.extend(!0,{altAnim:t[r].sbgs[s].alt[t[r].sbgs[s].altIndex]},t.getSlideAnim_EmptyObject(),t.getAnimObjectByKey(t[r].sbgs[s].alt[t[r].sbgs[s].altIndex],t.SLTR))):t[r].sbgs[s].slideanimation,t[r].sbgs[s].altLen>0&&(t[r].sbgs[s].firstSlideAnimDone!==i?(t[r].sbgs[s].altIndex++,t[r].sbgs[s].altIndex=t[r].sbgs[s].altIndex>=t[r].sbgs[s].altLen?0:t[r].sbgs[s].altIndex):(t[r].sbgs[s].firstSlideAnimDone=!0,t.SLTR===i&&t.SLTR_loading===i&&t.loadSlideAnimLibrary(r))),t[r].sbgs[s].currentState="animating",t.animateSlide(r,t[r].sbgs[s].slideanimation),t[r].firstSlideAnimDone===i&&t[r].fanim!==i&&!1!==t[r].fanim&&(t[r].sbgs[s].slideanimationRebuild=!0),t[r].firstSlideAnimDone=!0,t[r].pr_next_bg.data("panzoom")!==i&&requestAnimationFrame(function(){var e=t.gA(t[r].pr_next_slide[0],"key");t.startPanZoom(t[r].pr_next_bg,r,0,t.getSlideIndex(r,e),"first",e)}),t[r].mtl.pause()}t.animateTheLayers?"carousel"===t[r].sliderType?(!1!==t[r].carousel.showLayersAllTime&&(t[r].carousel.allLayersStarted?t.animateTheLayers({slide:"individual",id:r,mode:"rebuild",caller:"swapSlideProgress_5"}):t.animateTheLayers({slide:"individual",id:r,mode:"start",caller:"swapSlideProgress_4"}),t[r].carousel.allLayersStarted=!0),0!==t[r].firststart?t.animateTheLayers({slide:0,id:r,mode:"start",caller:"swapSlideProgress_6"}):!0!==o&&t.animateTheLayers({slide:t[r].pr_next_key!==i?t[r].pr_next_key:t[r].pr_processing_key!==i?t[r].pr_processing_key:t[r].pr_active_key,id:r,mode:"start",caller:"swapSlideProgress_7"}),t[r].firststart=0):t.animateTheLayers({slide:t[r].pr_next_key!==i?t[r].pr_next_key:t[r].pr_processing_key!==i?t[r].pr_processing_key:t[r].pr_active_key,id:r,mode:"start",caller:"swapSlideProgress_8"}):t[r].mtl!=i&&setTimeout(function(){t[r].mtl.resume()},18),"carousel"!==t[r].sliderType&&tpGS.gsap.to(t[r].pr_next_slide,.001,{autoAlpha:1})}},T=function(r){if(t[r]!==i){if("done"!==t.RS_swapList[r]){t.RS_swapList[r]="done";var o=e.inArray(r,t.RS_swapping);t.RS_swapping.splice(o,1)}if(t[r].firstSlideAvailable===i&&(t[r].firstSlideAvailable=!0,window.requestAnimationFrame(function(){"hero"!==t[r].sliderType&&t.createNavigation&&t[r].navigation.use&&!0!==t[r].navigation.createNavigationDone&&t.createNavigation(r)})),"carousel"===t[r].sliderType&&tpGS.gsap.to(t[r].carousel.wrap,1,{opacity:1}),t[r].pr_active_key=t[r].pr_processing_key!==i?t[r].pr_processing_key:t[r].pr_active_key,delete t[r].pr_processing_key,"scroll"!=t[r].parallax.type&&"scroll+mouse"!=t[r].parallax.type&&"mouse+scroll"!=t[r].parallax.type||(t[r].lastscrolltop=-999,t.generalObserver(a)),t[r].mtldiff=t[r].mtl.time(),delete t[r].mtl,t[r].pr_active_key!==i){t.gA(t[r].slides[t[r].pr_active_key],"sloop")!==i&&function(e){if(t[e]!==i){t[e].sloops=t[e].sloops===i?{}:t[e].sloops;var a=t.gA(t[e].slides[t[e].pr_active_key],"key"),r=t[e].sloops[a];if(r===i){r={s:2500,e:4500,r:"unlimited"};var o=t.gA(t[e].slides[t[e].pr_active_key],"sloop").split(";");for(var s in o)if(o.hasOwnProperty(s)){var n=o[s].split(":");switch(n[0]){case"s":r.s=parseInt(n[1],0)/1e3;break;case"e":r.e=parseInt(n[1],0)/1e3;break;case"r":r.r=n[1]}}r.r="unlimited"===r.r?-1:parseInt(r.r,0),t[e].sloops[a]=r,r.key=a}r.ct={time:r.s},r.tl=tpGS.gsap.timeline({}),r.timer=tpGS.gsap.fromTo(r.ct,r.e-r.s,{time:r.s},{time:r.e,ease:"none",onRepeat:function(){for(var a in t[e].layers[r.key])t[e].layers[r.key].hasOwnProperty(a)&&t[e]._L[a].timeline.play(r.s);var o=t[e].progressC;o!==i&&o[0]!==i&&o[0].tween!==i&&o[0].tween.time(r.s)},onUpdate:function(){},onComplete:function(){}}).repeat(r.r),r.tl.add(r.timer,r.s),r.tl.time(t[e].mtldiff)}}(r),t.sA(t[r].slides[t[r].activeRSSlide],"isactiveslide",!1),t[r].activeRSSlide=t[r].pr_active_key,t.sA(t[r].slides[t[r].activeRSSlide],"isactiveslide",!0);var s=t.gA(t[r].slides[t[r].pr_active_key],"key"),n=t.gA(t[r].slides[t[r].pr_lastshown_key],"key");t.sA(t[r].c[0],"slideactive",s),n!==i&&t[r].panzoomTLs!==i&&t[r].panzoomTLs[t.getSlideIndex(r,n)]!==i&&("carousel"===t[r].sliderType?(t[r].panzoomTLs[t.getSlideIndex(r,n)].timeScale(3),t[r].panzoomTLs[t.getSlideIndex(r,n)].reverse()):t[r].panzoomTLs[t.getSlideIndex(r,n)].pause()),t[r].pr_next_bg.data("panzoom")!==i&&(t[r].panzoomTLs!==i&&t[r].panzoomTLs[t.getSlideIndex(r,s)]!==i?(t[r].panzoomTLs[t.getSlideIndex(r,s)].timeScale(1),t[r].panzoomTLs[t.getSlideIndex(r,s)].play()):t.startPanZoom(t[r].pr_next_bg,r,0,t.getSlideIndex(r,s),"play",s));var d={slider:r,slideIndex:parseInt(t[r].pr_active_key,0)+1,slideLIIndex:t[r].pr_active_key,slide:t[r].pr_next_slide,currentslide:t[r].pr_next_slide,prevSlideIndex:t[r].pr_lastshown_key!==i&&parseInt(t[r].pr_lastshown_key,0)+1,prevSlideLIIndex:t[r].pr_lastshown_key!==i&&parseInt(t[r].pr_lastshown_key,0),prevSlide:t[r].pr_lastshown_key!==i&&t[r].slides[t[r].pr_lastshown_key]};if(t[r].c.trigger("revolution.slide.onchange",d),t[r].c.trigger("revolution.slide.onafterswap",d),t[r].deepLinkListener||t[r].enableDeeplinkHash){let e=t.gA(t[r].slides[t[r].pr_active_key],"deeplink");e!==i&&e.length>0&&(t[r].ignoreDeeplinkChange=!0,window.location.hash=t.gA(t[r].slides[t[r].pr_active_key],"deeplink"))}t[r].pr_lastshown_key=t[r].pr_active_key,t[r].startWithSlide!==i&&"done"!==t[r].startWithSlide&&"carousel"===t[r].sliderType&&(t[r].firststart=0),t[r].duringslidechange=!1,t[r].pr_active_slide.length>0&&0!=t.gA(t[r].pr_active_slide[0],"hal")&&t.gA(t[r].pr_active_slide[0],"hal")<=t.gA(t[r].pr_active_slide[0],"sofacounter")&&t[r].c.revremoveslide(t[r].pr_active_slide.index());var l=t[r].pr_processing_key||t[r].pr_active_key||0;t[r].rowzones!=i&&(l=l>t[r].rowzones.length?t[r].rowzones.length:l),(t[r].rowzones!=i&&t[r].rowzones.length>0&&t[r].rowzones[l]!=i&&l>=0&&l<=t[r].rowzones.length&&t[r].rowzones[l].length>0||t.winH<t[r].module.height)&&t.updateDims(r),delete t[r].sc_indicator,delete t[r].sc_indicator_dir,t[r].firstLetItFree===i&&(t.generalObserver(a),t[r].firstLetItFree=!0)}}},C=function(a){var r=t[a].progressBar;if(t[a].progressC===i||0==t[a].progressC.length)if(t[a].progressC=e('<rs-progress style="visibility:hidden;"></rs-progress>'),"horizontal"===r.style||"vertical"===r.style){if("module"===r.basedon){for(var o="",s=0;s<t[a].slideamount;s++)o+="<rs-progress-bar></rs-progress-bar>";o+="<rs-progress-bgs>";for(s=0;s<t[a].slideamount;s++)o+="<rs-progress-bg></rs-progress-bg>";if(o+="</rs-progress-bgs>","nogap"!==r.gaptype)for(s=0;s<t[a].slideamount;s++)o+="<rs-progress-gap></rs-progress-gap>";t[a].progressC[0].innerHTML=o,!0===t[a].noDetach&&t[a].c.append(t[a].progressC),t[a].progressCBarBGS=t.getByTag(t[a].progressC[0],"RS-PROGRESS-BG"),t[a].progressCBarGAPS=t.getByTag(t[a].progressC[0],"RS-PROGRESS-GAP"),"nogap"!==r.gaptype&&tpGS.gsap.set(t[a].progressCBarGAPS,{backgroundColor:r.gapcolor,zIndex:"gapbg"===r.gaptype?17:27}),tpGS.gsap.set(t[a].progressCBarBGS,{backgroundColor:r.bgcolor})}else t[a].progressC[0].innerHTML="<rs-progress-bar></rs-progress-bar>",!0===t[a].noDetach&&t[a].c.append(t[a].progressC);t[a].progressCBarInner=t.getByTag(t[a].progressC[0],"RS-PROGRESS-BAR"),tpGS.gsap.set(t[a].progressCBarInner,{background:r.color})}else t[a].progressC[0].innerHTML='<canvas width="'+2*r.radius+'" height="'+2*r.radius+'" style="position:absolute" class="rs-progress-bar"></canvas>',!0===t[a].noDetach&&t[a].c.append(t[a].progressC),t[a].progressCBarInner=t[a].progressC[0].getElementsByClassName("rs-progress-bar")[0],t[a].progressBCanvas=t[a].progressCBarInner.getContext("2d"),t[a].progressBar.degree="cw"===t[a].progressBar.style?360:0,A(a);if(!0!==t[a].noDetach&&t[a].progressC.detach(),t[a].progressBar.visibility[t[a].level]&&1!=t[a].progressBar.disableProgressBar)if("horizontal"===r.style||"vertical"===r.style){var n,d,l=t[a].slideamount-1;if("horizontal"===r.style){var c="grid"===r.alignby?t[a].gridwidth[t[a].level]:t[a].module.width;n=Math.ceil(c/t[a].slideamount),d=Math.ceil((c-l*r.gapsize)/t[a].slideamount),tpGS.gsap.set(t[a].progressC,{visibility:"visible",top:"top"===r.vertical?r.y+("grid"===r.alignby&&t[a].gridOffsetHeight!==i?Math.max(0,t[a].gridOffsetHeight):0):"center"===r.vertical?"50%":"auto",bottom:"top"===r.vertical||"center"===r.vertical?"auto":r.y+("grid"===r.alignby&&t[a].gridOffsetHeight!==i?Math.max(0,t[a].gridOffsetHeight):0),left:"left"===r.horizontal&&"grid"===r.alignby&&t[a].gridOffsetWidth!==i?Math.max(0,t[a].gridOffsetWidth):"auto",right:"right"===r.horizontal&&"grid"===r.alignby&&t[a].gridOffsetWidth!==i?Math.max(0,t[a].gridOffsetWidth):"auto",y:"center"===r.vertical?r.y:0,height:r.size,backgroundColor:"module"===r.basedon?"transparent":r.bgcolor,marginTop:"bottom"===r.vertical?0:"top"===r.vertical?0:parseInt(r.size,0)/2,width:"grid"===r.alignby?t[a].gridwidth[t[a].level]:"100%"}),tpGS.gsap.set(t[a].progressCBarInner,{x:"module"===r.basedon?r.gap?function(e){return("right"===r.horizontal?l-e:e)*(d+r.gapsize)}:function(e){return("right"===r.horizontal?l-e:e)*n}:0,width:"module"===r.basedon?r.gap?d+"px":100/t[a].slideamount+"%":"100%"}),"module"===r.basedon&&(tpGS.gsap.set(t[a].progressCBarBGS,{x:"module"===r.basedon?r.gap?function(e){return e*(d+r.gapsize)}:function(e){return e*n}:0,width:"module"===r.basedon?r.gap?d+"px":100/t[a].slideamount+"%":"100%"}),tpGS.gsap.set(t[a].progressCBarGAPS,{width:r.gap?r.gapsize+"px":0,x:r.gap?function(e){return(e+1)*d+parseInt(r.gapsize,0)*e}:0}))}else if("vertical"===r.style){c="grid"===r.alignby?t[a].gridheight[t[a].level]:t[a].module.height;n=Math.ceil(c/t[a].slideamount),d=Math.ceil((c-l*r.gapsize)/t[a].slideamount),tpGS.gsap.set(t[a].progressC,{visibility:"visible",left:"left"===r.horizontal?r.x+("grid"===r.alignby&&t[a].gridOffsetWidth!==i?Math.max(0,t[a].gridOffsetWidth):0):"center"===r.horizontal?"50%":"auto",right:"left"===r.horizontal||"center"===r.horizontal?"auto":r.x+("grid"===r.alignby&&t[a].gridOffsetWidth!==i?Math.max(0,t[a].gridOffsetWidth):0),x:"center"===r.horizontal?r.x:0,top:"top"===r.vertical&&"grid"===r.alignby&&t[a].gridOffsetHeight!==i?Math.max(t[a].gridOffsetHeight,0):"auto",bottom:"bottom"===r.vertical&&"grid"===r.alignby&&t[a].gridOffsetHeight!==i?Math.max(t[a].gridOffsetHeight,0):"auto",width:r.size,marginLeft:"left"===r.horizontal?0:"right"===r.horizontal?0:parseInt(r.size,0)/2,backgroundColor:"module"===r.basedon?"transparent":r.bgcolor,height:"grid"===r.alignby?t[a].gridheight[t[a].level]:"100%"}),tpGS.gsap.set(t[a].progressCBarInner,{y:"module"===r.basedon?r.gap?function(e){return("bottom"===r.vertical?l-e:e)*(d+r.gapsize)}:function(e){return("bottom"===r.vertical?l-e:e)*n}:0,height:"module"===r.basedon?r.gap?d+"px":100/t[a].slideamount+"%":"100%"}),"module"===r.basedon&&(tpGS.gsap.set(t[a].progressCBarBGS,{y:"module"===r.basedon?r.gap?function(e){return e*(d+r.gapsize)}:function(e){return e*n}:0,height:"module"===r.basedon?r.gap?d+"px":100/t[a].slideamount+"%":"100%"}),tpGS.gsap.set(t[a].progressCBarGAPS,{height:r.gap?r.gapsize+"px":0,y:r.gap?function(e){return(e+1)*d+parseInt(r.gapsize,0)*e}:0}))}}else tpGS.gsap.set(t[a].progressC,{top:"top"===r.vertical?r.y+("grid"===r.alignby&&t[a].gridOffsetHeight!==i?Math.max(0,t[a].gridOffsetHeight):0):"center"===r.vertical?"50%":"auto",bottom:"top"===r.vertical||"center"===r.vertical?"auto":r.y+("grid"===r.alignby&&t[a].gridOffsetHeight!==i?Math.max(0,t[a].gridOffsetHeight):0),left:"left"===r.horizontal?r.x+("grid"===r.alignby&&t[a].gridOffsetWidth!==i?Math.max(0,t[a].gridOffsetWidth):0):"center"===r.horizontal?"50%":"auto",right:"left"===r.horizontal||"center"===r.horizontal?"auto":r.x+("grid"===r.alignby&&t[a].gridOffsetWidth!==i?Math.max(0,t[a].gridOffsetWidth):0),y:"center"===r.vertical?r.y:0,x:"center"===r.horizontal?r.x:0,width:2*r.radius,height:2*r.radius,marginTop:"center"===r.vertical?0-r.radius:0,marginLeft:"center"===r.horizontal?0-r.radius:0,backgroundColor:"transparent",visibility:"visible"});else t[a].progressC[0].style.visibility="hidden";!0!==t[a].noDetach&&t[a].c.append(t[a].progressC),t[a].gridOffsetWidth===i&&"grid"===r.alignby?t[a].rebuildProgressBar=!0:t[a].rebuildProgressBar=!1},A=function(e){var i=t[e].progressBar;i.radius-parseInt(i.size,0)<=0&&(i.size=i.radius/4);var a=parseInt(i.radius),r=parseInt(i.radius);t[e].progressBCanvas.lineCap="round",t[e].progressBCanvas.clearRect(0,0,2*i.radius,2*i.radius),t[e].progressBCanvas.beginPath(),t[e].progressBCanvas.arc(a,r,i.radius-parseInt(i.size,0),Math.PI/180*270,Math.PI/180*630),t[e].progressBCanvas.strokeStyle=i.bgcolor,t[e].progressBCanvas.lineWidth=parseInt(i.size,0)-1,t[e].progressBCanvas.stroke(),t[e].progressBCanvas.beginPath(),t[e].progressBCanvas.strokeStyle=i.color,t[e].progressBCanvas.lineWidth=parseInt(i.size,0),t[e].progressBCanvas.arc(a,r,i.radius-parseInt(i.size,0),Math.PI/180*270,Math.PI/180*(270+t[e].progressBar.degree),"cw"!==i.style),t[e].progressBCanvas.stroke()},M=function(a){var r=function(){a!==i&&t!==i&&t[a]!==i&&(0==e("body").find(t[a].c).length||null===t[a]||null===t[a].c||t[a].c===i||0===t[a].length?(!function(i){t[i].c.children().each(function(){try{e(this).die("click")}catch(e){}try{e(this).die("mouseenter")}catch(e){}try{e(this).die("mouseleave")}catch(e){}try{e(this).unbind("hover")}catch(e){}});try{t[i].c.die("click","mouseenter","mouseleave")}catch(e){}clearInterval(t[i].cdint),t[i].c=null}(a),clearInterval(t[a].cdint)):(t[a].c.trigger("revolution.slide.slideatend"),1==t[a].c.data("conthoverchanged")&&(t[a].conthover=t[a].c.data("conthover"),t[a].c.data("conthoverchanged",0)),t.callingNewSlide(a,1,!0)))},o=tpGS.gsap.timeline({paused:!0}),s="reset"===t[a].progressBar.reset||t[a].progressBar.notnew===i?0:.2,n="slide"===t[a].progressBar.basedon?0:t[a].pr_processing_key!==i?t[a].pr_processing_key:t[a].pr_active_key;if(n=n===i?0:n,"horizontal"===t[a].progressBar.style){if(o.add(tpGS.gsap.to(t[a].progressCBarInner[n],s,{scaleX:0,transformOrigin:"right"===t[a].progressBar.horizontal?"100% 50%":"0% 50%"})),o.add(tpGS.gsap.to(t[a].progressCBarInner[n],t[a].duration/1e3,{transformOrigin:"right"===t[a].progressBar.horizontal?"100% 50%":"0% 50%",force3D:"auto",scaleX:1,onComplete:r,delay:.5,ease:t[a].progressBar.ease})),"module"===t[a].progressBar.basedon)for(var d=0;d<t[a].slideamount;d++)d!==n&&o.add(tpGS.gsap.set(t[a].progressCBarInner[d],{scaleX:d<n?1:0,transformOrigin:"right"===t[a].progressBar.horizontal?"100% 50%":"0% 50%"}),0)}else if("vertical"===t[a].progressBar.style){if(t[a].progressCBarInner[n]!==i&&o.add(tpGS.gsap.to(t[a].progressCBarInner[n],s,{scaleY:0,transformOrigin:"bottom"===t[a].progressBar.vertical?"50% 100%":"50% 0%"})),t[a].progressCBarInner[n]!==i&&o.add(tpGS.gsap.to(t[a].progressCBarInner[n],t[a].duration/1e3,{transformOrigin:"bottom"===t[a].progressBar.vertical?"50% 100%":"50% 0%",force3D:"auto",scaleY:1,onComplete:r,delay:.5,ease:t[a].progressBar.ease})),"module"===t[a].progressBar.basedon)for(d=0;d<t[a].slideamount;d++)d!==n&&t[a].progressCBarInner[d]!==i&&o.add(tpGS.gsap.set(t[a].progressCBarInner[d],{scaleY:d<n?1:0,transformOrigin:"botton"===t[a].progressBar.vertical?"50% 100%":"50% 0%"}),0)}else{var l="slide"===t[a].progressBar.basedon?0:Math.max(0,360/t[a].slideamount*n),c="slide"===t[a].progressBar.basedon?360:360/t[a].slideamount*(n+1);"ccw"===t[a].progressBar.style&&"slide"!==t[a].progressBar.basedon&&(l=360-c,c=360-360/t[a].slideamount*n),o.add(tpGS.gsap.to(t[a].progressBar,s,{degree:"cw"===t[a].progressBar.style?l:c,onUpdate:function(){A(a)}})),o.add(tpGS.gsap.to(t[a].progressBar,t[a].duration/1e3,{degree:"cw"===t[a].progressBar.style?c:l,onUpdate:function(){A(a)},onComplete:r,delay:.5,ease:t[a].progressBar.ease}))}return t[a].progressBar.notnew=!0,o},P=function(e){t[e].progressC==i&&C(e),t[e].loop=0,t[e].stopAtSlide!=i&&t[e].stopAtSlide>-1?t[e].lastslidetoshow=t[e].stopAtSlide:t[e].lastslidetoshow=999,t[e].stopLoop=!1,0==t[e].looptogo&&(t[e].stopLoop=!0),t[e].c.on("stoptimer",function(){t[e].progressC!=i&&(t[e].progressC[0].tween.pause(),t[e].progressBar.disableProgressBar&&(t[e].progressC[0].style.visibility="hidden"),t[e].sliderstatus="paused",t[e].slideInSwapTimer||t.unToggleState(t[e].slidertoggledby),t[e].slideInSwapTimer=!1)}),t[e].c.on("starttimer",function(){t[e].progressC!=i&&(t[e].forcepaused||(1!=t[e].conthover&&1!=t[e].stopByVideo&&t[e].module.width>t[e].hideSliderAtLimit&&1!=t[e].tonpause&&1!=t[e].overnav&&1!=t[e].ssop&&(1===t[e].noloopanymore||t[e].viewPort.enable&&!t[e].inviewport||(t[e].progressBar.visibility[t[e].level]||(t[e].progressC[0].style.visibility="visible"),t[e].progressC[0].tween.resume(),t[e].sliderstatus="playing")),!t[e].progressBar.disableProgressBar&&t[e].progressBar.visibility[t[e].level]||(t[e].progressC[0].style.visibility="hidden"),t.toggleState(t[e].slidertoggledby)))}),t[e].c.on("restarttimer",function(){if(t[e].progressC!=i&&!t[e].forcepaused){if(t[e].mouseoncontainer&&"on"==t[e].navigation.onHoverStop&&!a)return!1;1===t[e].noloopanymore||t[e].viewPort.enable&&!t[e].inviewport||1==t[e].ssop?t.unToggleState(t[e].slidertoggledby):(t[e].progressBar.visibility[t[e].level]||(t[e].progressC[0].style.visibility="visible"),t[e].progressC[0].tween!==i&&t[e].progressC[0].tween.kill(),t[e].progressC[0].tween=M(e),t[e].progressC[0].tween.play(),t[e].sliderstatus="playing",t.toggleState(t[e].slidertoggledby)),!t[e].progressBar.disableProgressBar&&t[e].progressBar.visibility[t[e].level]||(t[e].progressC[0].style.visibility="hidden"),t[e].mouseoncontainer&&1==t[e].navigation.onHoverStop&&!a&&(t[e].c.trigger("stoptimer"),t[e].c.trigger("revolution.slide.onpause"))}}),t[e].c.on("nulltimer",function(){t[e].progressC!=i&&t[e].progressC[0]!==i&&(t[e].progressC[0].tween!==i&&t[e].progressC[0].tween.kill(),t[e].progressC[0].tween=M(e),t[e].progressC[0].tween.pause(0),!t[e].progressBar.disableProgressBar&&t[e].progressBar.visibility[t[e].level]||(t[e].progressC[0].style.visibility="hidden"),t[e].sliderstatus="paused")}),t[e].progressC!==i&&(t[e].progressC[0].tween=M(e)),t[e].slideamount>1&&(0!=t[e].stopAfterLoops||1!=t[e].stopAtSlide)?t[e].c.trigger("starttimer"):(t[e].noloopanymore=1,t[e].c.trigger("nulltimer")),t[e].c.on("tp-mouseenter",function(){t[e].mouseoncontainer=!0,1!=t[e].navigation.onHoverStop||a||(t[e].c.trigger("stoptimer"),t[e].c.trigger("revolution.slide.onpause"))}),t[e].c.on("tp-mouseleft",function(){t[e].mouseoncontainer=!1,1!=t[e].c.data("conthover")&&1==t[e].navigation.onHoverStop&&(1==t[e].viewPort.enable&&t[e].inviewport||0==t[e].viewPort.enable)&&(t[e].c.trigger("revolution.slide.onresume"),t[e].c.trigger("starttimer"))})},B=function(){e(".rev_redraw_on_blurfocus").each(function(){var e=this.id;if(t[e]==i||t[e].c==i||0===t[e].c.length)return!1;1!=t[e].windowfocused&&(t[e].windowfocused=!0,tpGS.gsap.delayedCall(.1,function(){t[e].fallbacks.nextSlideOnWindowFocus&&t[e].c.revnext(),t[e].c.revredraw(),"playing"==t[e].lastsliderstatus&&t[e].c.revresume(),t[e].c.trigger("revolution.slide.tabfocused")}))})},D=function(){document.hasFocus()||e(".rev_redraw_on_blurfocus").each(function(e){var i=this.id;t[i].windowfocused=!1,t[i].lastsliderstatus=t[i].sliderstatus,t[i].c.revpause(),t[i].c.trigger("revolution.slide.tabblured")})},z=function(){var e=document.documentMode===i,a=window.chrome;1!==t.revslider_focus_blur_listener&&(t.revslider_focus_blur_listener=1,e&&!a?t.window.on("focusin",function(){!0!==t.windowIsFocused&&B(),t.windowIsFocused=!0}).on("focusout",function(){!0!==t.windowIsFocused&&t.windowIsFocused!==i||D(),t.windowIsFocused=!1}):window.addEventListener?(window.addEventListener("focus",function(e){!0!==t.windowIsFocused&&B(),t.windowIsFocused=!0},{capture:!1,passive:!0}),window.addEventListener("blur",function(e){!0!==t.windowIsFocused&&t.windowIsFocused!==i||D(),t.windowIsFocused=!1},{capture:!1,passive:!0})):(window.attachEvent("focus",function(e){!0!==t.windowIsFocused&&B(),t.windowIsFocused=!0}),window.attachEvent("blur",function(e){!0!==t.windowIsFocused&&t.windowIsFocused!==i||D(),t.windowIsFocused=!1})))},G=function(e){for(var i,t=[],a=window.location.href.slice(window.location.href.indexOf(e)+1).split("_"),r=0;r<a.length;r++)a[r]=a[r].replace("%3D","="),i=a[r].split("="),t.push(i[0]),t[i[0]]=i[1];return t},H=function(a){if(t[a].blockSpacing!==i){var r=t[a].blockSpacing.split(";");for(var o in t[a].blockSpacing={},r)if(r.hasOwnProperty(o)){var s=r[o].split(":");switch(s[0]){case"t":t[a].blockSpacing.top=t.revToResp(s[1],4,0);break;case"b":t[a].blockSpacing.bottom=t.revToResp(s[1],4,0);break;case"l":t[a].blockSpacing.left=t.revToResp(s[1],4,0);break;case"r":t[a].blockSpacing.right=t.revToResp(s[1],4,0)}}t[a].blockSpacing.block=e(t.closestClass(t[a].c[0],"wp-block-themepunch-revslider")),t[a].level!==i&&t[a].blockSpacing!==i&&tpGS.gsap.set(t[a].blockSpacing.block,{paddingLeft:t[a].blockSpacing.left[t[a].level],paddingRight:t[a].blockSpacing.right[t[a].level],marginTop:t[a].blockSpacing.top[t[a].level],marginBottom:t[a].blockSpacing.bottom[t[a].level]})}},N=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},j=function(a){return function(e){for(var a in e.minHeight=e.minHeight!==i?"none"===e.minHeight||"0"===e.minHeight||"0px"===e.minHeight||""==e.minHeight||" "==e.minHeight?0:parseInt(e.minHeight,0):0,e.maxHeight="none"===e.maxHeight||"0"===e.maxHeight?0:parseInt(e.maxHeight,0),e.carousel.maxVisibleItems=e.carousel.maxVisibleItems<1?999:e.carousel.maxVisibleItems,e.carousel.vertical_align="top"===e.carousel.vertical_align?"0%":"bottom"===e.carousel.vertical_align?"100%":"50%",e.carousel.space=parseInt(e.carousel.space,0),e.carousel.maxOpacity=parseInt(e.carousel.maxOpacity,0),e.carousel.maxOpacity=e.carousel.maxOpacity>1?e.carousel.maxOpacity/100:e.carousel.maxOpacity,e.carousel.showLayersAllTime="true"===e.carousel.showLayersAllTime||!0===e.carousel.showLayersAllTime?"all":e.carousel.showLayersAllTime,e.carousel.maxRotation=parseInt(e.carousel.maxRotation,0),e.carousel.minScale=parseInt(e.carousel.minScale,0),e.carousel.minScale=e.carousel.minScale>.9?e.carousel.minScale/100:e.carousel.minScale,e.carousel.speed=parseInt(e.carousel.speed,0),e.navigation.maintypes=["arrows","tabs","thumbnails","bullets"],e.perspective=parseInt(e.perspective,0),e.navigation.maintypes)e.navigation.maintypes.hasOwnProperty(a)&&e.navigation[e.navigation.maintypes[a]]!==i&&(e.navigation[e.navigation.maintypes[a]].animDelay=e.navigation[e.navigation.maintypes[a]].animDelay===i?1e3:e.navigation[e.navigation.maintypes[a]].animDelay,e.navigation[e.navigation.maintypes[a]].animSpeed=e.navigation[e.navigation.maintypes[a]].animSpeed===i?1e3:e.navigation[e.navigation.maintypes[a]].animSpeed,e.navigation[e.navigation.maintypes[a]].animDelay=parseInt(e.navigation[e.navigation.maintypes[a]].animDelay,0)/1e3,e.navigation[e.navigation.maintypes[a]].animSpeed=parseInt(e.navigation[e.navigation.maintypes[a]].animSpeed,0)/1e3);if(t.isNumeric(e.scrolleffect.tilt)||-1!==e.scrolleffect.tilt.indexOf("%")&&(e.scrolleffect.tilt=parseInt(e.scrolleffect.tilt)),e.scrolleffect.tilt=e.scrolleffect.tilt/100,e.navigation.thumbnails.position="outer-horizontal"==e.navigation.thumbnails.position?"bottom"==e.navigation.thumbnails.v_align?"outer-bottom":"outer-top":"outer-vertical"==e.navigation.thumbnails.position?"left"==e.navigation.thumbnails.h_align?"outer-left":"outer-right":e.navigation.thumbnails.position,e.navigation.tabs.position="outer-horizontal"==e.navigation.tabs.position?"bottom"==e.navigation.tabs.v_align?"outer-bottom":"outer-top":"outer-vertical"==e.navigation.tabs.position?"left"==e.navigation.tabs.h_align?"outer-left":"outer-right":e.navigation.tabs.position,e.sbtimeline.speed=parseInt(e.sbtimeline.speed,0)/1e3||.5,!0===e.sbtimeline.set&&!0===e.sbtimeline.fixed&&"auto"!==e.sliderLayout?(e.sbtimeline.fixStart=parseInt(e.sbtimeline.fixStart),e.sbtimeline.fixEnd=parseInt(e.sbtimeline.fixEnd)):e.sbtimeline.fixed=!1,e.progressBar===i||"true"!=e.progressBar.disableProgressBar&&1!=e.progressBar.disableProgressBar||(e.progressBar.disableProgressBar=!0),e.startDelay=parseInt(e.startDelay,0)||0,e.navigation!==i&&e.navigation.arrows!=i&&e.navigation.arrows.hide_under!=i&&(e.navigation.arrows.hide_under=parseInt(e.navigation.arrows.hide_under)),e.navigation!==i&&e.navigation.bullets!=i&&e.navigation.bullets.hide_under!=i&&(e.navigation.bullets.hide_under=parseInt(e.navigation.bullets.hide_under)),e.navigation!==i&&e.navigation.thumbnails!=i&&e.navigation.thumbnails.hide_under!=i&&(e.navigation.thumbnails.hide_under=parseInt(e.navigation.thumbnails.hide_under)),e.navigation!==i&&e.navigation.tabs!=i&&e.navigation.tabs.hide_under!=i&&(e.navigation.tabs.hide_under=parseInt(e.navigation.tabs.hide_under)),e.navigation!==i&&e.navigation.arrows!=i&&e.navigation.arrows.hide_over!=i&&(e.navigation.arrows.hide_over=parseInt(e.navigation.arrows.hide_over)),e.navigation!==i&&e.navigation.bullets!=i&&e.navigation.bullets.hide_over!=i&&(e.navigation.bullets.hide_over=parseInt(e.navigation.bullets.hide_over)),e.navigation!==i&&e.navigation.thumbnails!=i&&e.navigation.thumbnails.hide_over!=i&&(e.navigation.thumbnails.hide_over=parseInt(e.navigation.thumbnails.hide_over)),e.navigation!==i&&e.navigation.tabs!=i&&e.navigation.tabs.hide_over!=i&&(e.navigation.tabs.hide_over=parseInt(e.navigation.tabs.hide_over)),e.lazyloaddata!==i&&e.lazyloaddata.length>0&&e.lazyloaddata.indexOf("-")>0){var r=e.lazyloaddata.split("-");for(e.lazyloaddata=r[0],a=1;a<r.length;a++)e.lazyloaddata+=N(r[a])}return e.duration=parseInt(e.duration),"single"===e.lazyType&&"carousel"===e.sliderType&&(e.lazyType="smart"),"carousel"===e.sliderType&&e.carousel.justify&&(e.justifyCarousel=!0,e.keepBPHeight=!0),e.enableUpscaling=1==e.enableUpscaling&&"carousel"!==e.sliderType&&"fullwidth"===e.sliderLayout,e.useFullScreenHeight="carousel"===e.sliderType&&"fullscreen"===e.sliderLayout&&!0===e.useFullScreenHeight,e.progressBar.y=parseInt(e.progressBar.y,0),e.progressBar.x=parseInt(e.progressBar.x,0),
/*! Custom Eases */
"IE"!==window.RSBrowser&&e.customEases!==i&&(!e.customEases.SFXBounceLite&&"true"!=e.customEases.SFXBounceLite||tpGS.SFXBounceLite!==i||(tpGS.SFXBounceLite=tpGS.CustomBounce.create("SFXBounceLite",{strength:.3,squash:1,squashID:"SFXBounceLite-squash"})),!e.customEases.SFXBounceSolid&&"true"!=e.customEases.SFXBounceSolid||tpGS.SFXBounceSolid!==i||(tpGS.SFXBounceSolid=tpGS.CustomBounce.create("SFXBounceSolid",{strength:.5,squash:2,squashID:"SFXBounceSolid-squash"})),!e.customEases.SFXBounceStrong&&"true"!=e.customEases.SFXBounceStrong||tpGS.SFXBounceStrong!==i||(tpGS.SFXBounceStrong=tpGS.CustomBounce.create("SFXBounceStrong",{strength:.7,squash:3,squashID:"SFXBounceStrong-squash"})),!e.customEases.SFXBounceExtrem&&"true"!=e.customEases.SFXBounceExtrem||tpGS.SFXBounceExtrem!==i||(tpGS.SFXBounceExtrem=tpGS.CustomBounce.create("SFXBounceExtrem",{strength:.9,squash:4,squashID:"SFXBounceExtrem-squash"})),!e.customEases.BounceLite&&"true"!=e.customEases.BounceLite||tpGS.BounceLite!==i||(tpGS.BounceLite=tpGS.CustomBounce.create("BounceLite",{strength:.3})),!e.customEases.BounceSolid&&"true"!=e.customEases.BounceSolid||tpGS.BounceSolid!==i||(tpGS.BounceSolid=tpGS.CustomBounce.create("BounceSolid",{strength:.5})),!e.customEases.BounceStrong&&"true"!=e.customEases.BounceStrong||tpGS.BounceStrong!==i||(tpGS.BounceStrong=tpGS.CustomBounce.create("BounceStrong",{strength:.7})),!e.customEases.BounceExtrem&&"true"!=e.customEases.BounceExtrem||tpGS.BounceExtrem!==i||(tpGS.BounceExtrem=tpGS.CustomBounce.create("BounceExtrem",{strength:.9}))),e.modal.coverSpeed=parseFloat(e.modal.coverSpeed),e.modal.coverSpeed=e.modal.coverSpeed>200?e.modal.coverSpeed/1e3:e.modal.coverSpeed,e.modal.coverSpeed=Math.max(Math.min(3,e.modal.coverSpeed),.3),e.navigation.wheelViewPort=e.navigation.wheelViewPort===i?.5:e.navigation.wheelViewPort/100,e.navigation.wheelCallDelay=e.navigation.wheelCallDelay===i?1e3:parseInt(e.navigation.wheelCallDelay),e}(e.extend(!0,{sliderType:"standard",sliderLayout:"auto",overlay:{type:"none",size:1,colora:"transparent",colorb:"#000000"},duration:9e3,imgCrossOrigin:"",modal:{useAsModal:!1,cover:!0,coverColor:"rgba(0,0,0,0.5)",horizontal:"center",vertical:"middle",coverSpeed:1},navigation:{keyboardNavigation:!1,keyboard_direction:"horizontal",mouseScrollNavigation:"off",wheelViewPort:50,wheelCallDelay:"1000ms",onHoverStop:!0,mouseScrollReverse:"default",touch:{touchenabled:!1,touchOnDesktop:!1,swipe_treshold:75,swipe_min_touches:1,swipe_direction:"horizontal",drag_block_vertical:!1,mobileCarousel:!0,desktopCarousel:!0},arrows:{style:"",enable:!1,hide_onmobile:!1,hide_under:0,hide_onleave:!1,hide_delay:200,hide_delay_mobile:1200,hide_over:9999,tmp:"",rtl:!1,left:{h_align:"left",v_align:"center",h_offset:20,v_offset:0,container:"slider"},right:{h_align:"right",v_align:"center",h_offset:20,v_offset:0,container:"slider"}},bullets:{enable:!1,hide_onmobile:!1,hide_onleave:!1,hide_delay:200,hide_delay_mobile:1200,hide_under:0,hide_over:9999,direction:"horizontal",h_align:"center",v_align:"bottom",space:5,h_offset:0,v_offset:20,tmp:'<span class="tp-bullet-image"></span><span class="tp-bullet-title"></span>',container:"slider",rtl:!1,style:""},thumbnails:{container:"slider",rtl:!1,style:"",enable:!1,width:100,height:50,min_width:100,wrapper_padding:2,wrapper_color:"transparent",tmp:'<span class="tp-thumb-image"></span><span class="tp-thumb-title"></span>',visibleAmount:5,hide_onmobile:!1,hide_onleave:!1,hide_delay:200,hide_delay_mobile:1200,hide_under:0,hide_over:9999,direction:"horizontal",span:!1,position:"inner",space:2,h_align:"center",v_align:"bottom",h_offset:0,v_offset:20,mhoff:0,mvoff:0},tabs:{container:"slider",rtl:!1,style:"",enable:!1,width:100,min_width:100,height:50,wrapper_padding:10,wrapper_color:"transparent",tmp:'<span class="tp-tab-image"></span>',visibleAmount:5,hide_onmobile:!1,hide_onleave:!1,hide_delay:200,hide_delay_mobile:1200,hide_under:0,hide_over:9999,direction:"horizontal",span:!1,space:0,position:"inner",h_align:"center",v_align:"bottom",h_offset:0,v_offset:20,mhoff:0,mvoff:0}},responsiveLevels:4064,visibilityLevels:[2048,1024,778,480],gridwidth:960,gridheight:500,minHeight:0,maxHeight:0,keepBPHeight:!1,useFullScreenHeight:!0,overflowHidden:!1,forceOverflow:!1,fixedOnTop:!1,autoHeight:!1,gridEQModule:!1,disableForceFullWidth:!1,fullScreenOffsetContainer:"",fullScreenOffset:"0",hideLayerAtLimit:0,hideAllLayerAtLimit:0,hideSliderAtLimit:0,progressBar:{disableProgressBar:!1,style:"horizontal",size:"5px",radius:10,vertical:"bottom",horizontal:"left",x:0,y:0,color:"rgba(255,255,255,0.5)",bgcolor:"transparent",basedon:"slide",gapsize:0,reset:"reset",gaptype:"gapboth",gapcolor:"rgba(255,255,255,0.5)",ease:"none",visibility:{0:!0,1:!0,2:!0,3:!0}},stopAtSlide:-1,stopAfterLoops:0,shadow:0,startDelay:0,lazyType:"none",spinner:"off",shuffle:!1,perspective:"600px",perspectiveType:"local",viewPort:{enable:!1,outof:"wait",visible_area:"200px",presize:!1},fallbacks:{isJoomla:!1,panZoomDisableOnMobile:!1,simplifyAll:!0,nextSlideOnWindowFocus:!1,disableFocusListener:!1,allowHTML5AutoPlayOnAndroid:!0},fanim:!1,parallax:{type:"off",levels:[10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85],origo:"enterpoint",disable_onmobile:!1,ddd_shadow:!1,ddd_bgfreeze:!1,ddd_overflow:"visible",ddd_layer_overflow:"visible",ddd_z_correction:65,speed:400,speedbg:0,speedls:0},scrolleffect:{set:!1,fade:!1,blur:!1,scale:!1,grayscale:!1,maxblur:10,layers:!1,slide:!1,direction:"both",multiplicator:1.35,multiplicator_layers:.5,tilt:30,disable_onmobile:!1},sbtimeline:{set:!1,fixed:!1,fixStart:0,fixEnd:0,layers:!1,slide:!1,ease:"none",speed:500},carousel:{easing:"power3.inOut",speed:800,showLayersAllTime:!1,horizontal_align:"center",vertical_align:"center",infinity:!1,space:0,maxVisibleItems:3,stretch:!1,fadeout:!0,maxRotation:0,maxOpacity:100,minScale:0,offsetScale:!1,vary_fade:!1,vary_rotation:!1,vary_scale:!1,border_radius:"0px",padding_top:0,padding_bottom:0},observeWrap:!1,extensions:"extensions/",extensions_suffix:".min.js",stopLoop:!1,waitForInit:!1,ignoreHeightChange:!0},a))}}(jQuery),function($,undefined){"use strict";var _R=jQuery.fn.revolution,_ISM=_R.is_mobile();jQuery.extend(!0,_R,{checkActions:function(e,i){e===undefined?moduleEnterLeaveActions(i):checkActions_intern(e,i)},delayer:function(e,i,t){_R[e].timeStamps=_R[e].timeStamps===undefined?{}:_R[e].timeStamps;var a=(new Date).getTime(),r=_R[e].timeStamps[t]===undefined?parseInt(i)+100:a-_R[e].timeStamps[t],o=parseInt(r)>i;return o&&(_R[e].timeStamps[t]=a),o},getURLDetails:function(e){(e=e===undefined?{}:e).url=e.url===undefined?window.location.href:e.url,e.url=e.url.replace("www",""),e.protocol=0===e.url.indexOf("http://")?"http://":0===e.url.indexOf("https://")?"https://":0===e.url.indexOf("//")?"//":"relative";var i=e.url.replace("https://","");i=i.replace("http://",""),"relative"===e.protocol&&(i=i.replace("//","")),i=i.split("#"),e.anchor=(e.anchor===undefined||""==e.anchor||0==e.anchor.length)&&i.length>1?i[1]:e.anchor===undefined?"":e.anchor.replace("#",""),e.anchor=e.anchor.split("?"),e.queries=i[0].split("?"),e.queries=e.queries.length>1?e.queries[1]:"",e.queries=e.queries.length>1?e.queries[1]:e.anchor.length>1?e.anchor[1]:e.queries,e.anchor=e.anchor[0];(i=i[0]).split("/");var t=i.split("/");return e.host=t[0],t.splice(0,1),e.path="/"+t.join("/"),"/"==e.path[e.path.length-1]&&(e.path=e.path.slice(0,-1)),e.origin="relative"!==e.protocol?e.protocol+e.host:window.location.origin.replace("www","")+window.location.pathname,e.hash=(""!==e.queries&&e.queries!==undefined?"?"+e.queries:"")+(""!==e.anchor&&e.anchor!==undefined?"#"+e.anchor:""),e},scrollToId:function(e){var i="scrollbelow"===e.action?(getOffContH(_R[e.id].fullScreenOffsetContainer)||0)-(parseInt(e.offset,0)||0)||0:0-(parseInt(e.offset,0)||0),t="scrollbelow"===e.action?_R[e.id].c:jQuery("#"+e.anchor),a=t.length>0?t.offset().top:0,r={_y:_R[e.id].modal.useAsModal?_R[e.id].cpar[0].scrollTop:window.pageYOffset!==document.documentElement.scrollTop?0!==window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop:window.pageYOffset};a+="scrollbelow"===e.action?_R[e.id].sbtimeline.fixed?_R[e.id].cpar.parent().height()+_R[e.id].fullScreenOffsetResult:jQuery(_R[e.id].slides[0]).height():0,tpGS.gsap.to(r,e.speed/1e3,{_y:a-i,ease:e.ease,onUpdate:function(){_R[e.id].modal.useAsModal?_R[e.id].cpar.scrollTop(r._y):_R.document.scrollTop(r._y)},onComplete:function(){e.hash!==undefined&&(window.location.hash=e.hash)}})}});var moduleEnterLeaveActions=function(e){!_R[e].moduleActionsPrepared&&_R[e].c[0].getElementsByClassName("rs-on-sh").length>0&&(_R[e].c.on("tp-mouseenter",function(){_R[e].mouseoncontainer=!0;var i,t=_R[e].pr_next_key!==undefined?_R[e].pr_next_key:_R[e].pr_processing_key!==undefined?_R[e].pr_processing_key:_R[e].pr_active_key!==undefined?_R[e].pr_active_key:_R[e].pr_next_key;if("none"!==t&&t!==undefined){if((t=_R.gA(_R[e].slides[t],"key"))!==undefined&&_R[e].layers[t])for(i in _R[e].layers[t])_R[e].layers[t][i].className.indexOf("rs-on-sh")>=0&&_R.renderLayerAnimation({layer:jQuery(_R[e].layers[t][i]),frame:"frame_1",mode:"trigger",id:e});for(i in _R[e].layers.static)_R[e].layers.static[i].className.indexOf("rs-on-sh")>=0&&_R.renderLayerAnimation({layer:jQuery(_R[e].layers.static[i]),frame:"frame_1",mode:"trigger",id:e})}}),_R[e].c.on("tp-mouseleft",function(){_R[e].mouseoncontainer=!0;var i,t=_R[e].pr_next_key!==undefined?_R[e].pr_next_key:_R[e].pr_processing_key!==undefined?_R[e].pr_processing_key:_R[e].pr_active_key!==undefined?_R[e].pr_active_key:_R[e].pr_next_key;if("none"!==t&&t!==undefined){if((t=_R.gA(_R[e].slides[t],"key"))!==undefined&&_R[e].layers[t])for(i in _R[e].layers[t])_R[e].layers[t][i].className.indexOf("rs-on-sh")>=0&&_R.renderLayerAnimation({layer:jQuery(_R[e].layers[t][i]),frame:"frame_999",mode:"trigger",id:e});for(i in _R[e].layers.static)_R[e].layers.static[i].className.indexOf("rs-on-sh")>=0&&_R.renderLayerAnimation({layer:jQuery(_R[e].layers.static[i]),frame:"frame_999",mode:"trigger",id:e})}})),_R[e].moduleActionsPrepared=!0},checkActions_intern=function(layer,id){var actions=_R.gA(layer[0],"actions"),_L=layer.data();for(var ei in actions=actions.split("||"),layer.addClass("rs-waction"),_L.events=_L.events===undefined?[]:_L.events,_R[id].lastMouseDown={},actions)if(actions.hasOwnProperty(ei)){var event=getEventParams(actions[ei].split(";"));_L.events.push(event),"click"===event.on&&layer[0].classList.add("rs-wclickaction"),_R[id].fullscreen_esclistener||"exitfullscreen"!=event.action&&"togglefullscreen"!=event.action||(_R.document.keyup(function(e){27==e.keyCode&&jQuery("#rs-go-fullscreen").length>0&&layer.trigger(event.on)}),_R[id].fullscreen_esclistener=!0);var targetlayer="backgroundvideo"==event.layer?jQuery("rs-bgvideo"):"firstvideo"==event.layer?jQuery("rs-slide").find(".rs-layer-video"):jQuery("#"+event.layer);switch(-1!=jQuery.inArray(event.action,["toggleslider","toggle_mute_video","toggle_global_mute_video","togglefullscreen"])&&(_L._togglelisteners=!0),event.action){case"togglevideo":jQuery.each(targetlayer,function(){updateToggleByList(jQuery(this),"videotoggledby",layer[0].id)});break;case"togglelayer":jQuery.each(targetlayer,function(){updateToggleByList(jQuery(this),"layertoggledby",layer[0].id),jQuery(this).data("triggered_startstatus",event.togglestate)});break;case"toggle_global_mute_video":case"toggle_mute_video":jQuery.each(targetlayer,function(){updateToggleByList(jQuery(this),"videomutetoggledby",layer[0].id)});break;case"toggleslider":_R[id].slidertoggledby==undefined&&(_R[id].slidertoggledby=[]),_R[id].slidertoggledby.push(layer[0].id);break;case"togglefullscreen":_R[id].fullscreentoggledby==undefined&&(_R[id].fullscreentoggledby=[]),_R[id].fullscreentoggledby.push(layer[0].id)}}_R[id].actionsPrepared=!0,layer.on("mousedown",function(e){e.touches&&(e=e.touches[0]),_R[id].lastMouseDown.pageX=e.pageX,_R[id].lastMouseDown.pageY=e.pageY}),layer.on("click mouseenter mouseleave",function(e){if("click"===e.type){var evt=e.touches?e.touches[0]:e;if(Math.abs(evt.pageX-_R[id].lastMouseDown.pageX)>5||Math.abs(evt.pageY-_R[id].lastMouseDown.pageY)>5)return}for(var i in _L.events)if(_L.events.hasOwnProperty(i)&&_L.events[i].on===e.type){var event=_L.events[i];if(!(event.repeat!==undefined&&event.repeat>0)||_R.delayer(id,1e3*event.repeat,_L.c[0].id+"_"+event.action)){if("click"===event.on&&layer.hasClass("tp-temporarydisabled"))return!1;var targetlayer="backgroundvideo"==event.layer?jQuery(_R[id].slides[_R[id].pr_active_key]).find("rs-sbg-wrap rs-bgvideo"):"firstvideo"==event.layer?jQuery(_R[id].slides[_R[id].pr_active_key]).find(".rs-layer-video").first():jQuery("#"+event.layer),tex=targetlayer.length>0;switch(event.action){case"menulink":var linkto=_R.getURLDetails({url:event.url,anchor:event.anchor}),linkfrom=_R.getURLDetails();linkto.host==linkfrom.host&&linkto.path==linkfrom.path&&"_self"===event.target?_R.scrollToId({id:id,offset:event.offset,action:event.action,anchor:event.anchor,hash:linkto.hash,speed:event.speed,ease:event.ease}):"_self"===event.target?window.location=linkto.url+(linkto.anchor!==undefined&&""!==linkto.anchor?"#"+linkto.anchor:""):window.open(linkto.url+(linkto.anchor!==undefined&&""!==linkto.anchor?"#"+linkto.anchor:"")),e.preventDefault();break;case"nextframe":case"prevframe":case"gotoframe":case"togglelayer":case"toggleframes":case"startlayer":case"stoplayer":if(targetlayer[0]===undefined)continue;var _=_R[id]._L[targetlayer[0].id],frame=event.frame,tou="triggerdelay";if("click"===e.type&&_.clicked_time_stamp!==undefined&&(new Date).getTime()-_.clicked_time_stamp<300)return;if("mouseenter"===e.type&&_.mouseentered_time_stamp!==undefined&&(new Date).getTime()-_.mouseentered_time_stamp<300)return;if(clearTimeout(_.triggerdelayIn),clearTimeout(_.triggerdelayOut),clearTimeout(_.triggerdelay),"click"===e.type&&(_.clicked_time_stamp=(new Date).getTime()),"mouseenter"===e.type&&(_.mouseentered_time_stamp=(new Date).getTime()),"mouseleave"===e.type&&(_.mouseentered_time_stamp=undefined),"nextframe"===event.action||"prevframe"===event.action){_.forda=_.forda===undefined?getFordWithAction(_):_.forda;var inx=jQuery.inArray(_.currentframe,_.ford);for("nextframe"===event.action&&inx++,"prevframe"===event.action&&inx--;"skip"!==_.forda[inx]&&inx>0&&inx<_.forda.length-1;)"nextframe"===event.action&&inx++,"prevframe"===event.action&&inx--,inx=Math.min(Math.max(0,inx),_.forda.length-1);frame=_.ford[inx]}jQuery.inArray(event.action,["toggleframes","togglelayer","startlayer","stoplayer"])>=0&&(_.triggeredstate="startlayer"===event.action||"togglelayer"===event.action&&"frame_1"!==_.currentframe||"toggleframes"===event.action&&_.currentframe!==event.frameN,"togglelayer"===event.action&&!0===_.triggeredstate&&_.currentframe!==undefined&&"frame_999"!==_.currentframe&&(_.triggeredstate=!1),frame=_.triggeredstate?"toggleframes"===event.action?event.frameN:"frame_1":"toggleframes"===event.action?event.frameM:"frame_999",tou=_.triggeredstate?"triggerdelayIn":"triggerdelayOut",_.triggeredstate?_R.toggleState(_.layertoggledby):(_R.stopVideo&&_R.stopVideo(targetlayer,id),_R.unToggleState(_.layertoggledby)));var pars={layer:targetlayer,frame:frame,mode:"trigger",id:id};!0===event.children&&(pars.updateChildren=!0,pars.fastforward=!0),_R.renderLayerAnimation&&(clearTimeout(_[tou]),_[tou]=setTimeout(function(e){_R.renderLayerAnimation(e)},1e3*event.delay,pars));break;case"playvideo":tex&&_R.playVideo(targetlayer,id);break;case"stopvideo":tex&&_R.stopVideo&&_R.stopVideo(targetlayer,id);break;case"togglevideo":tex&&(_R.isVideoPlaying(targetlayer,id)?_R.stopVideo&&_R.stopVideo(targetlayer,id):_R.playVideo(targetlayer,id));break;case"mutevideo":tex&&_R.Mute(targetlayer,id,!0);break;case"unmutevideo":tex&&_R.Mute&&_R.Mute(targetlayer,id,!1);break;case"toggle_mute_video":tex&&(_R.Mute(targetlayer,id)?_R.Mute(targetlayer,id,!1):_R.Mute&&_R.Mute(targetlayer,id,!0));break;case"toggle_global_mute_video":var pvl=_R[id].playingvideos!=undefined&&_R[id].playingvideos.length>0;pvl&&(_R[id].globalmute?jQuery.each(_R[id].playingvideos,function(e,i){_R.Mute&&_R.Mute(i,id,!1)}):jQuery.each(_R[id].playingvideos,function(e,i){_R.Mute&&_R.Mute(i,id,!0)})),_R[id].globalmute=!_R[id].globalmute;break;default:tpGS.gsap.delayedCall(event.delay,function(targetlayer,id,event,layer){switch(event.action){case"openmodal":if(event.modalslide=event.modalslide===undefined?0:event.modalslide,window.RS_60_MODALS===undefined||-1==jQuery.inArray(event.modal,window.RS_60_MODALS)){_R.showModalCover(id,event,"show");var data={action:"revslider_ajax_call_front",client_action:"get_slider_html",token:_R[id].ajaxNonce,alias:event.modal,usage:"modal"};jQuery.ajax({type:"post",url:_R[id].ajaxUrl,dataType:"json",data:data,success:function(e,i,t){1==e.success&&(jQuery("body").append(e.data),setTimeout(function(){_R.showModalCover(id,event,"hide"),_R.document.trigger("RS_OPENMODAL_"+event.modal,event.modalslide)},49))},error:function(e){console.log("Modal Can not be Loaded"),console.log(e)}})}else _R.document.trigger("RS_OPENMODAL_"+event.modal,event.modalslide);break;case"closemodal":_R.revModal(id,{mode:"close"});break;case"callback":eval(event.callback);break;case"simplelink":window.open(event.url,event.target);break;case"simulateclick":targetlayer.length>0&&targetlayer.trigger("click");break;case"toggleclass":targetlayer.length>0&&targetlayer.toggleClass(event.classname);break;case"scrollbelow":case"scrollto":"scrollbelow"===event.action&&layer.addClass("tp-scrollbelowslider"),_R.scrollToId({id:id,offset:event.offset,action:event.action,anchor:event.id,speed:event.speed,ease:event.ease});break;case"jumptoslide":switch(event.slide.toLowerCase()){case"rs-random":var ts=Math.min(Math.max(0,Math.ceil(Math.random()*_R[id].realslideamount)-1));ts=_R[id].activeRSSlide==ts?ts>0?ts-1:ts+1:ts,_R.callingNewSlide(id,_R[id].slides[ts].dataset.key,"carousel"===_R[id].sliderType);break;case"+1":case"next":case"rs-next":_R[id].sc_indicator="arrow",_R[id].sc_indicator_dir=0,_R.callingNewSlide(id,1,"carousel"===_R[id].sliderType);break;case"rs-previous":case"rs-prev":case"previous":case"prev":case"-1":_R[id].sc_indicator="arrow",_R[id].sc_indicator_dir=1,_R.callingNewSlide(id,-1,"carousel"===_R[id].sliderType);break;case"first":case"rs-first":_R[id].sc_indicator="arrow",_R[id].sc_indicator_dir=1,_R.callingNewSlide(id,0,"carousel"===_R[id].sliderType);break;case"last":case"rs-last":_R[id].sc_indicator="arrow",_R[id].sc_indicator_dir=0,_R.callingNewSlide(id,_R[id].slideamount-1,"carousel"===_R[id].sliderType);break;default:var ts=_R.isNumeric(event.slide)?parseInt(event.slide,0):event.slide;_R.callingNewSlide(id,ts,"carousel"===_R[id].sliderType)}break;case"toggleslider":_R[id].noloopanymore=0,"playing"==_R[id].sliderstatus?(_R[id].c.revpause(),_R[id].forcepaused=!0,_R.unToggleState(_R[id].slidertoggledby)):(_R[id].forcepaused=!1,_R[id].c.revresume(),_R.toggleState(_R[id].slidertoggledby));break;case"pauseslider":_R[id].c.revpause(),_R.unToggleState(_R[id].slidertoggledby);break;case"playslider":_R[id].noloopanymore=0,_R[id].c.revresume(),_R.toggleState(_R[id].slidertoggledby);break;case"gofullscreen":case"exitfullscreen":case"togglefullscreen":var gf;jQuery(".rs-go-fullscreen").length>0&&("togglefullscreen"==event.action||"exitfullscreen"==event.action)?(jQuery(".rs-go-fullscreen").removeClass("rs-go-fullscreen"),gf=_R[id].c.closest("rs-fullwidth-wrap").length>0?_R[id].c.closest("rs-fullwidth-wrap"):_R[id].c.closest("rs-module-wrap"),_R[id].minHeight=_R[id].oldminheight,_R[id].infullscreenmode=!1,_R[id].c.revredraw(),_R[id].c.revredraw(),jQuery(window).trigger("resize"),_R.unToggleState(_R[id].fullscreentoggledby)):0!=jQuery(".rs-go-fullscreen").length||"togglefullscreen"!=event.action&&"gofullscreen"!=event.action||(gf=_R[id].c.closest("rs-fullwidth-wrap").length>0?_R[id].c.closest("rs-fullwidth-wrap"):_R[id].c.closest("rs-module-wrap"),gf.addClass("rs-go-fullscreen"),_R[id].oldminheight=_R[id].minHeight,_R[id].minHeight=_R.getWinH(id),_R[id].infullscreenmode=!0,jQuery(window).trigger("resize"),_R.toggleState(_R[id].fullscreentoggledby),_R[id].c.revredraw());break;default:_R[id].c.trigger("layeraction",[event.action,layer,event])}},[targetlayer,id,event,layer])}}}})};function getFordWithAction(e){var i=[];for(var t in e.ford)e.frames[e.ford[t]].timeline.waitoncall?i.push(e.ford[t]):i.push("skip");return i}function updateToggleByList(e,i,t){var a=e.data(i);a===undefined&&(a=[]),a.push(t),e.data(i,a)}function getEventParams(e){var i={on:"click",delay:0,ease:"power2.out",speed:400};for(var t in e)if(e.hasOwnProperty(t)){var a=e[t].split(":");switch(a.length>2&&"call"===a[0]&&(a[1]=a.join(":").replace(a[0]+":","")),a[0]){case"modal":i.modal=a[1];break;case"ms":i.modalslide=a[1];break;case"m":i.frameM=a[1];break;case"n":i.frameN=a[1];break;case"o":i.on="click"===a[1]||"c"===a[1]?"click":"ml"===a[1]||"mouseleave"===a[1]?"mouseleave":"mouseenter"===a[1]||"me"===a[1]?"mouseenter":a[1];break;case"d":i.delay=parseInt(a[1],0)/1e3,i.delay="NaN"===i.delay||isNaN(i.delay)?0:i.delay;break;case"rd":i.repeat=parseInt(a[1],0)/1e3,i.repeat="NaN"===i.repeat||isNaN(i.repeat)?0:i.repeat;break;case"a":i.action=a[1];break;case"f":i.frame=a[1];break;case"slide":i.slide=a[1];break;case"layer":i.layer=a[1];break;case"sp":i.speed=parseInt(a[1],0);break;case"e":i.ease=a[1];break;case"ls":i.togglestate=a[1];break;case"offset":i.offset=a[1];break;case"call":i.callback=a[1];break;case"url":i.url="";for(var r=1;r<a.length;r++)i.url+=a[r]+(r===a.length-1?"":":");break;case"target":i.target=a[1];break;case"class":i.classname=a[1];break;case"ch":i.children="true"==a[1]||1==a[1]||"t"==a[1];break;default:a[0].length>0&&""!==a[0]&&(i[a[0]]=a[1])}}return i}var getOffContH=function(e){if(e==undefined)return 0;if(e.split(",").length>1){var i=e.split(","),t=0;return i&&jQuery.each(i,function(e,i){jQuery(i).length>0&&(t+=jQuery(i).outerHeight(!0))}),t}return jQuery(e).height()}}(jQuery),function(e){"use strict";var i=jQuery.fn.revolution;i.is_mobile();jQuery.extend(!0,i,{prepareCarousel:function(e,t,a){if(void 0!==e){var o=i[e].carousel;o.slidepositions=void 0===o.slidepositions?[]:o.slidepositions,o.slideFakePositions=void 0===o.slideFakePositions?[]:o.slideFakePositions,t=o.lastdirection=r(t,o.lastdirection),i.setCarouselDefaults(e),void 0===o.slidepositions[0]&&(o.slideAnims=[],i.organiseCarousel(e,"right",!0,!1,!1),o.focused=0,o.keepFocusedFirst=!0),o.slide_offset=void 0!==o.slide_offset&&i.isNumeric(o.slide_offset)?o.slide_offset:0,o.swipeTo=o.slide_offset+s(e),o.swipeToDistance=Math.abs(o.slide_offset)+Math.abs(s(e)),void 0!==o.swipeTo&&i.isNumeric(o.swipeTo)?void 0!==a?i.swipeAnimate({id:e,to:o.swipeTo,distance:o.swipeToDistance,direction:t,fix:!0,speed:a}):i.swipeAnimate({id:e,to:o.swipeTo,distance:o.swipeToDistance,direction:t,fix:!0}):i.swipeAnimate({id:e,to:0,direction:t,speed:0})}},carouselToEvalPosition:function(e,a,o){var s=i[e].carousel;if(s.justify)s.focused=void 0===s.focused?0:s.focused,s.slidepositions[s.focused]=void 0===s.slidepositions[s.focused]?0:s.slidepositions[s.focused],s.slide_offset_target=t(e,s.focused);else{a=s.lastdirection=r(a,s.lastdirection);var n="center"===s.horizontal_align?(s.wrapwidth/2-s.slide_width/2-s.slide_offset)/s.slide_width:(0-s.slide_offset)/s.slide_width,d=n%i[e].slideamount,l=d-Math.floor(d),c=-1*(Math.ceil(d)-d),p=-1*(Math.floor(d)-d),g=l*s.slide_width,u=g>=20&&"left"===a?1:g>=s.slide_width-20&&"right"===a?2:g<20&&"left"===a?3:g<s.slide_width-20&&"right"===a?4:5,h=1===u||2===u?c:3===u||4===u?p:0;s.slide_offset_target=(s.infinity?h:d<0?d:n>i[e].slideamount-1?n-(i[e].slideamount-1):h)*s.slide_width}return s.slide_offset_target!==s.slide_offset_targetCACHE&&!0!==o&&(0!==Math.abs(s.slide_offset_target)?i.animateCarousel(e,a,!0):i.organiseCarousel(e,a),s.slide_offset_targetCACHE=s.slide_offset_target),s.slide_offset_target},loadVisibleCarouselItems:function(e,t){var a=[];i[e].carousel.focused=parseInt(i[e].carousel.focused,0),i[e].carousel.focused=i.isNumeric(i[e].carousel.focused)?i[e].carousel.focused:0;for(var r=0;r<Math.ceil(i[e].carousel.maxVisibleItems/2);r++){var o="right"===i[e].carousel.horizontal_align?i[e].carousel.focused-r:i[e].carousel.focused+r,s="center"===i[e].carousel.horizontal_align?i[e].carousel.focused-r:"left"===i[e].carousel.horizontal_align?i[e].carousel.maxVisibleItems+o-1:o-i[e].carousel.maxVisibleItems+1;o=o>=i[e].slideamount?o-i[e].slideamount+0:o,s=s>=i[e].slideamount?s-i[e].slideamount+0:s,o=o<0?i[e].slideamount+o:o,s=s<0?i[e].slideamount+s:s,a.push(i[e].slides[o]),o!==s&&a.push(i[e].slides[s])}return t&&(i.loadImages(a,e,1),i.waitForCurrentImages(a,e)),a},organiseCarousel:function(e,t,a,r,o){Math.round(1e5*Math.random());var s=i[e].carousel,n="center"===s.horizontal_align?2:1,d=Math.ceil(s.maxVisibleItems/n),l="center"===s.horizontal_align?s.wrapwidth/2+s.maxwidth/2:s.maxwidth-s.slide_width,c="center"===s.horizontal_align?s.wrapwidth/2-s.maxwidth/2:0-s.slide_width,p=0,g=0,u=0;if(t=s.slide_offset<s.cached_slide_offset?"left":"right",s.cached_slide_offset=s.slide_offset,!0!==s.justify&&"center"===s.horizontal_align){var h=2*(s.windhalf-s.wrapoffset)+s.slide_width;h>=s.maxwidth&&("left"===t&&(l=2*s.windhalf,c=0-(s.slide_width-(h-s.maxwidth))),"right"===t&&(l=2*s.windhalf-(h-s.maxwidth),c=0-s.slide_width))}for(var m=2*s.windhalf,v=0,f=-1,y=0;y<s.len;y++)!0===s.justify?(p+=y>0?s.slide_widths[y-1]+s.space:s.slide_offset,s.wrapwidth>=s.maxwidth&&"center"!==s.horizontal_align&&(s.slideFakePositions[y]=p-s.slide_offset),c=0-s.slide_widths[y],l=s.maxwidth-s.slide_widths[y],s.inneroffset=0):(p=y*s.slide_width+s.slide_offset,s.wrapwidth>=s.maxwidth&&"left"===s.horizontal_align&&(s.slideFakePositions[y]=y*s.slide_width),s.wrapwidth>=s.maxwidth&&"right"===s.horizontal_align&&(s.slideFakePositions[y]=s.wrapwidth-(y+1)*s.slide_width)),u=g=p,s.infinity&&(g=g>=l-s.inneroffset?g-s.maxwidth:g<=c-s.inneroffset?g+s.maxwidth:g),m>g&&(m=g,y),v<g&&(v=g,f=y),s.slidepositions[y]=u>s.maxwidth+l?g-s.maxwidth:u<c-s.maxwidth?g+s.maxwidth:g;s.infinity&&m>0&&v>s.wrapwidth&&(s.slidepositions[f]-=s.maxwidth);var b=999,w=0,_=(i[e].module.width,!1),x="right"===s.horizontal_align?0:s.wrapwidth;if(i[e].slides)for(y=0;y<i[e].slides.length;y++){var S={left:(g=s.slidepositions[y])+s.inneroffset,width:!0===s.justify?s.slide_widths[y]:s.slide_width,x:0},k=0;if(void 0===s.slideAnims[y]&&(S.transformOrigin="50% "+s.vertical_align,S.scale=1,S.force3D=!0,S.transformStyle="3D"!=i[e].parallax.type&&"3d"!=i[e].parallax.type?"flat":"preserve-3d"),s.justify)S.autoAlpha=1,s.wrapwidth>=s.maxwidth&&"center"!==s.horizontal_align||("center"===s.horizontal_align&&s.slidepositions[y]<s.windhalf&&s.slidepositions[y]+s.slide_widths[y]>s.windhalf?s.focused=y:"left"===s.horizontal_align&&s.slidepositions[y]>=-25&&s.slidepositions[y]<s.windhalf&&(!_||s.slidepositions[y]<x)?(s.focused=y,_=!0,x=s.slidepositions[y]):"right"===s.horizontal_align&&s.slidepositions[y]+s.slide_widths[y]<=s.wrapwidth+25&&(s.slide_widths[y]<s.windhalf&&s.slidepositions[y]>s.windhalf||s.slidepositions[y]>s.wrapwidth-s.slide_widths[y])&&(!_||s.slidepositions[y]>x)&&(s.focused=y,_=!0,x=s.slidepositions[y]),s.focused=s.focused>=s.len?s.infinity?0:s.len-1:s.focused<0?s.infinity?s.len-1:0:s.focused);else{k="center"===s.horizontal_align?(Math.abs(s.wrapwidth/2)-(S.left+s.slide_width/2))/s.slide_width:(s.inneroffset-S.left)/s.slide_width,(Math.abs(k)<b||0===k)&&(b=Math.abs(k),s.focused=y),void 0!==s.minScale&&s.minScale>0&&(s.vary_scale?S.scale=1-Math.abs((1-s.minScale)/d*k):S.scale=k>=1||k<=-1?s.minScale:s.minScale+(1-s.minScale)*(1-Math.abs(k)),w=k*(S.width-S.width*S.scale)/2),s.fadeout&&(s.vary_fade?S.autoAlpha=1-Math.abs(s.maxOpacity/d*k):S.autoAlpha=k>=1||k<=-1?s.maxOpacity:s.maxOpacity+(1-s.maxOpacity)*(1-Math.abs(k)));var L=Math.ceil(s.maxVisibleItems/n)-Math.abs(k);S.autoAlpha=void 0===S.autoAlpha?1:S.autoAlpha,S.autoAlpha=Math.max(0,Math.min(L,S.autoAlpha)),void 0!==s.maxRotation&&0!=Math.abs(s.maxRotation)&&(s.vary_rotation?(S.rotationY=Math.abs(s.maxRotation)-Math.abs((1-Math.abs(1/d*k))*s.maxRotation),S.autoAlpha=Math.abs(S.rotationY)>90?0:S.autoAlpha):S.rotationY=k>=1||k<=-1?s.maxRotation:Math.abs(k)*s.maxRotation,S.rotationY=k<0?-1*S.rotationY:S.rotationY,i.isSafari11()&&(S.z=0!==k?0-Math.abs(S.rotationY):0)),S.x=Math.floor(-1*s.space*k*(s.offsetScale?S.scale:1)),void 0!==S.scale&&(S.x=S.x+w)}S.x+=s.wrapwidth>=s.maxwidth&&("left"===s.horizontal_align||"right"===s.horizontal_align)?s.slideFakePositions[y]:Math.floor(S.left),delete S.left,S.zIndex=s.justify?95:Math.round(100-Math.abs(5*k)),!0!==o&&(void 0!==s.slideAnims[y]&&(S.width===s.slideAnims[y].width&&delete S.width,S.x===s.slideAnims[y].x&&delete S.x,S.autoAlpha===s.slideAnims[y].autoAlpha&&delete S.autoAlpha,S.scale===s.slideAnims[y].scale&&delete S.scale,S.zIndex===s.slideAnims[y].zIndex&&delete S.zIndex,S.rotationY===s.slideAnims[y].rotationY&&delete S.rotationY),tpGS.gsap.set(i[e].slides[y],S),s.slideAnims[y]=jQuery.extend(!0,s.slideAnims[y],S))}if(i.loadVisibleCarouselItems(e,!0),r&&!0!==o){if(s.focused=void 0===s.focused?0:s.focused,s.oldfocused=void 0===s.oldfocused?0:s.oldfocused,i[e].pr_next_key=s.focused,s.focused!==s.oldfocused)for(var R in void 0!==s.oldfocused&&i.removeTheLayers(jQuery(i[e].slides[s.oldfocused]),e),i.animateTheLayers({slide:s.focused,id:e,mode:"start"}),i.animateTheLayers({slide:"individual",id:e,mode:i[e].carousel.allLayersStarted?"rebuild":"start"}),i[e].sbgs)i[e].sbgs.hasOwnProperty(R)&&void 0!==i[e].sbgs[R].bgvid&&0!==i[e].sbgs[R].bgvid.length&&(""+i[e].sbgs[R].skeyindex==""+s.focused?i.playBGVideo(e,i.gA(i[e].pr_next_slide[0],"key")):i.stopBGVideo(e,i[e].sbgs[R].key));s.oldfocused=s.focused,i[e].c.trigger("revolution.nextslide.waiting")}},swipeAnimate:function(e){var t=i[e.id].carousel,r={from:t.slide_offset,to:e.to},o=void 0===e.speed?.5:e.speed;if(t.distance=void 0!==e.distance?e.distance:e.to,void 0!==t.positionanim&&t.positionanim.pause(),e.fix){if(!1!==t.snap){var s=t.slide_offset,n="end"===e.phase?t.focusedBeforeSwipe:t.focused;t.slide_offset=e.to,i.organiseCarousel(e.id,e.direction,!0,!1,!1),Math.abs(t.swipeDistance)>40&&n==t.focused&&(t.focused="right"===e.direction?t.focused-1:t.focused+1,t.focused=t.focused>=t.len?t.infinity?0:t.len-1:t.focused<0?t.infinity?t.len-1:0:t.focused),r.to+=i.carouselToEvalPosition(e.id,e.direction,!0),t.slide_offset=s,i.organiseCarousel(e.id,e.direction,!0,!1,!1),t.keepFocusedFirst&&(t.keepFocusedFirst=!1,t.focused=0)}else!0!==t.infinity?(r.to>0&&(r.to=0),r.to<t.wrapwidth-t.maxwidth&&(r.to=t.wrapwidth-t.maxwidth)):"end"===e.phase?t.dragModeJustEnded=!0:!0!==t.dragModeJustEnded?r.to+=i.carouselToEvalPosition(e.id,e.direction,!0):t.dragModeJustEnded=!1;0!==(o=t.speed/1e3*a(Math.abs(Math.abs(r.from)-Math.abs(t.distance))/t.wrapwidth))&&o<.1&&Math.abs(r.to)>25&&(o=.3)}t.swipeDistance=0,o=!0!==t.firstSwipedDone?0:o,t.firstSwipedDone=!0,t.positionanim=tpGS.gsap.to(r,o,{from:r.to,onUpdate:function(){t.slide_offset=r.from%t.maxwidth,i.organiseCarousel(e.id,e.direction,!0!==e.fix,!0!==e.fix),t.slide_offset=r.from},onComplete:function(){t.slide_offset=r.from%t.maxwidth,"carousel"!==i[e.id].sliderType||t.fadein||(tpGS.gsap.to(i[e.id].canvas,1,{scale:1,opacity:1}),t.fadein=!0),t.lastNotSimplifedSlideOffset=t.slide_offset,t.justDragged=!1,e.fix&&(t.focusedAfterAnimation=t.focused,e.newSlide&&t.focusedBeforeSwipe!==t.focused&&i.callingNewSlide(e.id,jQuery(i[e.id].slides[t.focused]).data("key"),!0),i.organiseCarousel(e.id,e.direction,!0,!0),i[e.id].c.trigger("revolution.slide.carouselchange",{slider:e.id,slideIndex:parseInt(i[e.id].pr_active_key,0)+1,slideLIIndex:i[e.id].pr_active_key,slide:i[e.id].pr_next_slide,currentslide:i[e.id].pr_next_slide,prevSlideIndex:void 0!==i[e.id].pr_lastshown_key&&parseInt(i[e.id].pr_lastshown_key,0)+1,prevSlideLIIndex:void 0!==i[e.id].pr_lastshown_key&&parseInt(i[e.id].pr_lastshown_key,0),prevSlide:void 0!==i[e.id].pr_lastshown_key&&i[e.id].slides[i[e.id].pr_lastshown_key]}))},ease:e.easing?e.easing:t.easing})},defineCarouselElements:function(e){var t=i[e].carousel;t.infbackup=t.infinity,t.maxVisiblebackup=t.maxVisibleItems,t.slide_offset="none",t.slide_offset=0,t.cached_slide_offset=0,t.wrap=jQuery(i[e].canvas[0].parentNode),0!==t.maxRotation&&("3D"!==i[e].parallax.type&&"3d"!==i[e].parallax.type||tpGS.gsap.set(t.wrap,{perspective:"1600px",transformStyle:"preserve-3d"}))},setCarouselDefaults:function(e,t){var a=i[e].carousel;if(a.slide_width=!0!==a.stretch?i[e].gridwidth[i[e].level]*(0===i[e].CM.w?1:i[e].CM.w):i[e].canv.width,a.slide_height=!0!==a.stretch?i[e].infullscreenmode?i.getWinH(e)-i.getFullscreenOffsets(e):i[e].gridheight[i[e].level]*(0===i[e].CM.w?1:i[e].CM.w):i[e].canv.height,a.ratio=a.slide_width/a.slide_height,a.len=i[e].slides.length,a.maxwidth=i[e].slideamount*a.slide_width,1!=a.justify&&a.maxVisiblebackup>a.len&&(a.maxVisibleItems=a.len%2?a.len:a.len+1),a.wrapwidth=a.maxVisibleItems*a.slide_width+(a.maxVisibleItems-1)*a.space,a.wrapwidth="auto"!=i[e].sliderLayout?a.wrapwidth>i[e].canv.width?i[e].canv.width:a.wrapwidth:a.wrapwidth>i[e].module.width?i[e].module.width:a.wrapwidth,!0===a.justify){a.slide_height="fullscreen"===i[e].sliderLayout?i[e].module.height:i[e].gridheight[i[e].level],a.slide_widths=[],a.slide_widthsCache=void 0===a.slide_widthsCache?[]:a.slide_widthsCache,a.maxwidth=0;for(var r=0;r<a.len;r++)if(i[e].slides.hasOwnProperty(r)){var o=i.gA(i[e].slides[r],"iratio");o=void 0===o||0===o||null===o?a.ratio:o,a.slide_widths[r]=Math.round(a.slide_height*o),!1!==a.justifyMaxWidth&&(a.slide_widths[r]=Math.min(a.wrapwidth,a.slide_widths[r])),a.slide_widths[r]!==a.slide_widthsCache[r]&&(a.slide_widthsCache[r]=a.slide_widths[r],!0!==t&&tpGS.gsap.set(i[e].slides[r],{width:a.slide_widths[r]})),a.maxwidth+=a.slide_widths[r]+a.space}}if(a.infinity=!(a.wrapwidth>=a.maxwidth)&&a.infbackup,!0!==a.quickmode){a.wrapoffset="center"===a.horizontal_align?(i[e].canv.width-i[e].outNavDims.right-i[e].outNavDims.left-a.wrapwidth)/2:0,a.wrapoffset="auto"!=i[e].sliderLayout&&i[e].outernav?0:a.wrapoffset<i[e].outNavDims.left?i[e].outNavDims.left:a.wrapoffset;var s="3D"==i[e].parallax.type||"3d"==i[e].parallax.type?"visible":"hidden",n="right"===a.horizontal_align?{left:"auto",right:a.wrapoffset+"px",width:a.wrapwidth,overflow:s}:"left"===a.horizontal_align||a.wrapwidth<i.winW?{right:"auto",left:a.wrapoffset+"px",width:a.wrapwidth,overflow:s}:{right:"auto",left:"auto",width:"100%",overflow:s};void 0!==a.cacheWrapObj&&n.left===a.cacheWrapObj.left&&n.right===a.cacheWrapObj.right&&n.width===a.cacheWrapObj.width||(window.requestAnimationFrame(function(){tpGS.gsap.set(a.wrap,n),i[e].carousel.wrapoffset>0&&tpGS.gsap.set(i[e].canvas,{left:0})}),a.cacheWrapObj=jQuery.extend(!0,{},n)),a.inneroffset="right"===a.horizontal_align?a.wrapwidth-a.slide_width:0,a.windhalf="auto"===i[e].sliderLayout?i[e].module.width/2:i.winW/2}}});var t=function(e,t){var a=i[e].carousel;return"center"===a.horizontal_align?a.windhalf-a.slide_widths[t]/2-a.slidepositions[t]:"left"===a.horizontal_align?0-a.slidepositions[t]:a.wrapwidth-a.slide_widths[t]-a.slidepositions[t]},a=function(e){return e<1?Math.sqrt(1-(e-=1)*e):Math.sqrt(e)},r=function(e,i){return null===e||jQuery.isEmptyObject(e)?i:void 0===e?"right":e},o=function(e,i){return Math.abs(e)>Math.abs(i)?e>0?e-Math.abs(Math.floor(e/i)*i):e+Math.abs(Math.floor(e/i)*i):e},s=function(e){var t,a,r,s,n,d=0,l=i[e].carousel;if(void 0!==l.positionanim&&l.positionanim.pause(),l.justify)"center"===l.horizontal_align?d=l.windhalf-l.slide_widths[l.focused]/2-l.slidepositions[l.focused]:"left"===l.horizontal_align?d=0-l.slidepositions[l.focused]:"right"===l.horizontal_align&&(d=l.wrapwidth-l.slide_widths[l.focused]-l.slidepositions[l.focused]),d=d>l.maxwidth/2?l.maxwidth-d:d<0-l.maxwidth/2?d+l.maxwidth:d;else{var c=i[e].pr_processing_key>=0?i[e].pr_processing_key:i[e].pr_active_key>=0?i[e].pr_active_key:0,p=("center"===l.horizontal_align?(l.wrapwidth/2-l.slide_width/2-l.slide_offset)/l.slide_width:(0-l.slide_offset)/l.slide_width)%i[e].slideamount;d=(l.infinity?(t=p,a=c,r=i[e].slideamount,n=a-r-t,s=o(s=a-t,r),n=o(n,r),-(Math.abs(s)>Math.abs(n)?n:s)):p-c)*l.slide_width}return!1===l.snap&&l.justDragged&&(d=0),l.justDragged=!1,d}}(jQuery),function(e){"use strict";var i=["chars","words","lines"],t=["Top","Right","Bottom","Left"],a=["TopLeft","TopRight","BottomRight","BottomLeft"],r=["top","right","bottom","left"],o=jQuery.fn.revolution,s=o.is_mobile();o.is_android();jQuery.extend(!0,o,{checkLayerDimensions:function(e){var i=!1;for(var t in o[e.id].layers[e.skey])if(o[e.id].layers[e.skey].hasOwnProperty(t)){var a=o[e.id].layers[e.skey][t],r=o[e.id]._L[a.id];r.eow!==a.offsetWidth&&"true"!==o.gA(a,"vary-layer-dims")&&(i=!0),r.lastknownwidth=r.eow,r.lastknownheight=r.eoh,r._slidelink||o[e.id].caches.calcResponsiveLayersList.push({a:o[e.id]._L[a.id].c,b:e.id,c:0,d:r.rsp_bd,e:e.slideIndex})}return i},requestLayerUpdates:function(e,i,t,a){var r,s,n,d;if(void 0!==t)r=t,o[e]._L[r].pVisRequest!==o[e]._L[r].pVisStatus&&(void 0===o[e]._L[r]._ligid||!0!==o[e]._L[o[e]._L[r]._ligid].childrenAtStartNotVisible?(o[e]._L[r].pVisStatus=o[e]._L[r].pVisRequest,d=("row"===o[e]._L[r].type||"column"===o[e]._L[r].type||"group"===o[e]._L[r].type)&&void 0!==o[e]._L[r].frames&&void 0!==o[e]._L[r].frames.frame_999&&void 0!==o[e]._L[r].frames.frame_999.transform&&""+o[e]._L[r].frames.frame_999.transform.opacity!="0",n=1===o[e]._L[r].pVisRequest?"remove":d?n:"add",s=1===o[e]._L[r].pVisRequest?"remove":d?"add":s):(n="add",s="remove"),void 0!==s&&o[e]._L[r].p[0].classList[s]("rs-forceuntouchable"),void 0!==n&&o[e]._L[r].p[0].classList[n]("rs-forcehidden")),o[e]._L[r].pPointerStatus!==o[e]._L[r].pPeventsRequest&&(o[e]._L[r].pPointerStatus=o[e]._L[r].pPeventsRequest,tpGS.gsap.set(o[e]._L[r].p[0],{pointerEvents:o[e]._L[r].pPointerStatus,visibility:1===o[e]._L[r].pVisStatus?"visible":0===o[e]._L[r].pVisStatus?"hidden":o[e]._L[r].pVisStatus})),void 0!==a&&"ignore"!==a&&0!==a&&(a++,"enterstage"===i||"leavestage"===i||"framestarted"===i?o.isFirefox(e)?-1===o[e]._L[r].p[0].style.transform.indexOf("perspective")&&(o[e]._L[r].p[0].style.transform+=(0===o[e]._L[r].p[0].style.transform.length?" ":"")+"perspective("+a+"px)"):(!window.isSafari11&&!0!==o[e]._L[r].maskHasPerspective&&0===o[e]._L[r].p[0].style.perspective.length||"none"==o[e]._L[r].p[0].style.perspective)&&(o[e]._L[r].p[0].style.perspective=a+"px"):"frameended"===i&&(o.isFirefox(e)?o[e]._L[r].p[0].style.transform=o[e]._L[r].p[0].style.transform.replace("perspective("+a+"px)",""):window.isSafari11||(o[e]._L[r].p[0].style.perspective=o[e]._L[r].p[0].style.perspective.replace(a-1+"px",""))));else for(r in o[e]._L)o[e]._L.hasOwnProperty(r)&&(o[e]._L[r].pVisRequest!==o[e]._L[r].pVisStatus&&(o[e]._L[r].pVisStatus=o[e]._L[r].pVisRequest,0===o[e]._L[r].pVisStatus?o[e]._L[r].p[0].classList.add("rs-forcehidden"):o[e]._L[r].p[0].classList.remove("rs-forcehidden")),o[e]._L[r].pPointerStatus!==o[e]._L[r].pPeventsRequest&&(o[e]._L[r].pPointerStatus=o[e]._L[r].pPeventsRequest,tpGS.gsap.set(o[e]._L[r].p[0],{pointerEvents:o[e]._L[r].pPointerStatus,visibility:o[e]._L[r].pVisStatus})));"enterstage"===i&&void 0!==t&&void 0!==o[e]._L[t].esginside&&o[e]._L[t].esginside.length>0&&void 0!==o[e]._L[t].esginside.esredraw&&o[e]._L[t].esginside.esredraw()},updateMiddleZonesAndESG:function(e){var i,t=o[e].pr_processing_key||o[e].pr_active_key||0;if(o[e].middleZones&&o[e].middleZones.length>0&&void 0!==o[e].middleZones[t])for(i=0;i<o[e].middleZones[t].length;i++)tpGS.gsap.set(o[e].middleZones[t][i],{y:Math.round(o[e].module.height/2-o[e].middleZones[t][i].offsetHeight/2)+"px"});if(o[e].smiddleZones&&o[e].smiddleZones.length>0)for(i=0;i<o[e].smiddleZones.length;i++)tpGS.gsap.set(o[e].smiddleZones[i],{y:Math.round(o[e].module.height/2-o[e].smiddleZones[i].offsetHeight/2)+"px"})},getRowHeights:function(e){var i=0,t=0,a=0,r=o[e].pr_processing_key||o[e].pr_active_key||0,s=o[e].pr_active_key||0;if(o[e].rowzones&&o[e].rowzones.length>0){if(void 0!==o[e].rowzones[r])for(var n=0;n<o[e].rowzones[r].length;n++)o[e].rowzonesHeights[r][n]=o[e].rowzones[r][n][0].offsetHeight,i+=o[e].rowzonesHeights[r][n];if(s!==r)for(n=0;n<o[e].rowzones[s].length;n++)o[e].rowzonesHeights[s][n]=o[e].rowzones[s][n][0].offsetHeight,t+=o[e].rowzonesHeights[s][n]}if(o[e].srowzones&&o[e].srowzones.length>0)for(n=0;n<o[e].srowzones.length;n++)a+=o[e].srowzones[n][0].offsetHeight;return{cur:i=i<a?a:i,last:t}},initLayer:function(e){var i,t,a,r=e.id,s=e.skey;for(var n in o[r].layers[e.skey])if(o[r].layers[e.skey].hasOwnProperty(n)){var d=o[r].layers[e.skey][n],l=jQuery(d),c=o.gA(d,"initialised"),p=c?o[r]._L[d.id]:l.data();"individual"===e.skey&&(p.slideKey=void 0===p.slideKey?o.gA(l.closest("rs-slide")[0],"key"):p.slideKey,p.slideIndex=void 0===p.slideIndex?o.getSlideIndex(r,p.slideKey):p.slideIndex,e.slideIndex=p.slideIndex,s=p.slideKey);var g="carousel"===o[r].sliderType?0:o[r].canv.width/2-o.iWA(r,e.slideIndex)*o[r].CM.w/2,u=0;if(void 0===c){if(o.revCheckIDS(r,d),o[r]._L[d.id]=p,p.ford=void 0===p.ford?"frame_0;frame_1;frame_999":p.ford,p.ford=";"==p.ford[p.ford.length-1]?p.ford.substring(0,p.ford.length-1):p.ford,p.ford=p.ford.split(";"),void 0!==p.clip)for(i in p.clipPath={use:!1,origin:"l",type:"rectangle"},p.clip=p.clip.split(";"),p.clip)p.clip.hasOwnProperty(i)&&("u"==(t=p.clip[i].split(":"))[0]&&(p.clipPath.use="true"==t[1]),"o"==t[0]&&(p.clipPath.origin=t[1]),"t"==t[0]&&(p.clipPath.type=t[1]));if(p.frames=L(p,r),p.caches={},p.OBJUPD={},p.c=l,p.p=o[r]._Lshortcuts[d.id].p,p.lp=o[r]._Lshortcuts[d.id].lp,p.m=o[r]._Lshortcuts[d.id].m,p.triggercache=void 0===p.triggercache?"reset":p.triggercache,p.rsp_bd=void 0===p.rsp_bd?"column"===p.type||"row"===p.type?"off":"on":p.rsp_bd,p.rsp_o=void 0===p.rsp_o?"on":p.rsp_o,p.basealign=void 0===p.basealign?"grid":p.basealign,p.group="group"!==p.type&&null!==o.closestNode(l[0],"RS-GROUP-WRAP")?"group":"column"!==p.type&&null!==o.closestNode(l[0],"RS-COLUMN")?"column":"row"!==p.type&&null!==o.closestNode(l[0],"RS-ROW")?"row":void 0,p._lig="group"===p.group?jQuery(o.closestNode(l[0],"RS-GROUP")):"column"===p.group?jQuery(o.closestNode(l[0],"RS-COLUMN")):"row"===p.group?jQuery(o.closestNode(l[0],"RS-ROW")):void 0,p._ligid=void 0!==p._lig?p._lig[0].id:void 0,p._column="RS-COLUMN"===l[0].tagName?jQuery(o.closestNode(l[0],"RS-COLUMN-WRAP")):"none",p._row="RS-COLUMN"===l[0].tagName&&jQuery(o.closestNode(l[0],"RS-ROW")),p._ingroup="group"===p.group,p._incolumn="column"===p.group,p._inrow="row"===p.group,(p._ingroup||p._incolumn)&&p._lig[0].className.indexOf("rs-sba")>=0&&(!1!==p.animationonscroll||void 0===p.frames.loop)&&!0!==p.animOnScrollForceDisable&&(p.animationonscroll=!0,l[0].className+=" rs-sba",o[r].sbas[s][d.id]=l[0]),p.animOnScrollRepeats=0,p._isgroup="RS-GROUP"===l[0].tagName,p.type=p.type||"none","row"===p.type&&void 0===p.cbreak&&(p.cbreak=2),p.esginside=jQuery(l[0].getElementsByClassName("esg-grid")[0]),p._isnotext=-1!==jQuery.inArray(p.type,["video","image","audio","shape","row","group"]),p._mediatag="html5"==p.audio?"audio":"video",p.img=l.find("img"),p.deepiframe=o.getByTag(l[0],"iframe"),p.deepmedia=o.getByTag(l[0],p._mediatag),p.layertype="image"===p.type?"image":l[0].className.indexOf("rs-layer-video")>=0||l[0].className.indexOf("rs-layer-audio")>=0||p.deepiframe.length>0&&(p.deepiframe[0].src.toLowerCase().indexOf("youtube")>0||p.deepiframe[0].src.toLowerCase().indexOf("vimeo")>0)||p.deepmedia.length>0?"video":"html",p.deepiframe.length>0&&o.sA(p.deepiframe[0],"layertype",p.layertype),"column"===p.type&&(p.cbg=jQuery(o.getByTag(p.p[0],"RS-COLUMN-BG")[0]),p.cbgmask=jQuery(o.getByTag(p.p[0],"RS-CBG-MASK-WRAP")[0])),p._slidelink=l[0].className.indexOf("slidelink")>=0,p._isstatic=l[0].className.indexOf("rs-layer-static")>=0,p.slidekey=p._isstatic?"staticlayers":s,p._togglelisteners=l[0].getElementsByClassName("rs-toggled-content").length>0,p.bgcol=void 0===p.bgcol?l[0].style.background.indexOf("gradient")>=0?l[0].style.background:l[0].style.backgroundColor:p.bgcol,p.bgcol=""===p.bgcol?"rgba(0, 0, 0, 0)":p.bgcol,p.bgcol=0===p.bgcol.indexOf("rgba(0, 0, 0, 0)")&&p.bgcol.length>18?p.bgcol.replace("rgba(0, 0, 0, 0)",""):p.bgcol,p.zindex=void 0===p.zindex?l[0].style.zIndex:p.zindex,p._isgroup&&(p.frames.frame_1.timeline.waitoncall&&(p.childrenAtStartNotVisible=!0),p.pVisRequest=0),p._togglelisteners&&l.on("click",function(){o.swaptoggleState([this.id])}),void 0!==p.border)for(i in p.border=p.border.split(";"),p.bordercolor="transparent",p.border)if(p.border.hasOwnProperty(i))switch((t=p.border[i].split(":"))[0]){case"boc":p.bordercolor=t[1];break;case"bow":p.borderwidth=o.revToResp(t[1],4,0);break;case"bos":p.borderstyle=o.revToResp(t[1],4,0);break;case"bor":p.borderradius=o.revToResp(t[1],4,0)}if("svg"===p.type&&(p.svg=l.find("svg"),p.svgPath=p.svg.find("path"),p.svgI=y(p.svgi,r),p.svgH=void 0!==p.svgi&&-1===p.svgi.indexOf("oc:t")?y(p.svgh,r):{}),void 0!==p.btrans){var h=p.btrans;for(i in p.btrans={rX:0,rY:0,rZ:0,o:1},h=h.split(";"))if(h.hasOwnProperty(i))switch((t=h[i].split(":"))[0]){case"rX":p.btrans.rX=t[1];break;case"rY":p.btrans.rY=t[1];break;case"rZ":p.btrans.rZ=t[1];break;case"o":p.btrans.o=t[1]}}if(void 0!==p.tsh)for(i in p.tshadow={c:"rgba(0,0,0,0.25)",v:0,h:0,b:0},p.tsh=p.tsh.split(";"),p.tsh)if(p.tsh.hasOwnProperty(i))switch((t=p.tsh[i].split(":"))[0]){case"c":p.tshadow.c=t[1];break;case"h":p.tshadow.h=t[1];break;case"v":p.tshadow.v=t[1];break;case"b":p.tshadow.b=t[1]}if(void 0!==p.tst)for(i in p.tstroke={c:"rgba(0,0,0,0.25)",w:1},p.tst=p.tst.split(";"),p.tst)if(p.tst.hasOwnProperty(i))switch((t=p.tst[i].split(":"))[0]){case"c":p.tstroke.c=t[1];break;case"w":p.tstroke.w=t[1]}if(void 0!==p.bsh)for(i in p.bshadow={e:"c",c:"rgba(0,0,0,0.25)",v:0,h:0,b:0,s:0},p.bsh=p.bsh.split(";"),p.bsh)if(p.bsh.hasOwnProperty(i))switch((t=p.bsh[i].split(":"))[0]){case"c":p.bshadow.c=t[1];break;case"h":p.bshadow.h=t[1];break;case"v":p.bshadow.v=t[1];break;case"b":p.bshadow.b=t[1];break;case"s":p.bshadow.s=t[1];break;case"e":p.bshadow.e=t[1]}if(void 0!==p.dim)for(i in p.dim=p.dim.split(";"),p.dim)if(p.dim.hasOwnProperty(i))switch((t=p.dim[i].split(":"))[0]){case"w":p.width=t[1];break;case"h":p.height=t[1];break;case"maxw":p.maxwidth=t[1];break;case"maxh":p.maxheight=t[1];break;case"minw":p.minwidth=t[1];break;case"minh":p.minheight=t[1]}if(void 0!==p.xy)for(i in p.xy=p.xy.split(";"),p.xy)if(p.xy.hasOwnProperty(i))switch((t=p.xy[i].split(":"))[0]){case"x":p.x=t[1].replace("px","");break;case"y":p.y=t[1].replace("px","");break;case"xo":p.hoffset=t[1].replace("px","");break;case"yo":p.voffset=t[1].replace("px","")}if(!p._isnotext&&void 0!==p.text)for(i in p.text=p.text.split(";"),p.text)if(p.text.hasOwnProperty(i))switch((t=p.text[i].split(":"))[0]){case"w":p.whitespace=t[1];break;case"td":p.textDecoration=t[1];break;case"c":p.clear=t[1];break;case"f":p.float=t[1];break;case"s":p.fontsize=t[1];break;case"l":p.lineheight=t[1];break;case"ls":p.letterspacing=t[1];break;case"fw":p.fontweight=t[1];break;case"a":p.textalign=t[1]}if("column"===p.type&&void 0!==p.textDecoration&&delete p.textDecoration,void 0!==p.flcr)for(i in p.flcr=p.flcr.split(";"),p.flcr)if(p.flcr.hasOwnProperty(i))switch((t=p.flcr[i].split(":"))[0]){case"c":p.clear=t[1];break;case"f":p.float=t[1]}if(void 0!==p.padding)for(i in p.padding=p.padding.split(";"),p.padding)if(p.padding.hasOwnProperty(i))switch((t=p.padding[i].split(":"))[0]){case"t":p.paddingtop=t[1];break;case"b":p.paddingbottom=t[1];break;case"l":p.paddingleft=t[1];break;case"r":p.paddingright=t[1]}if(void 0!==p.margin)for(i in p.margin=p.margin.split(";"),p.margin)if(p.margin.hasOwnProperty(i))switch((t=p.margin[i].split(":"))[0]){case"t":p.margintop=t[1];break;case"b":p.marginbottom=t[1];break;case"l":p.marginleft=t[1];break;case"r":p.marginright=t[1]}if(void 0!==p.spike&&(p.spike=G(p.spike)),void 0!==p.corners)for(i in a=p.corners.split(";"),p.corners={},a)a.hasOwnProperty(i)&&a[i].length>0&&(p.corners[a[i]]=jQuery("<"+a[i]+"></"+a[i]+">"),p.c.append(p.corners[a[i]]));p.textalign=b(p.textalign),p.vbility=o.revToResp(p.vbility,o[r].rle,!0),p.hoffset=o.revToResp(p.hoffset,o[r].rle,0),p.voffset=o.revToResp(p.voffset,o[r].rle,0),p.x=o.revToResp(p.x,o[r].rle,"l"),p.y=o.revToResp(p.y,o[r].rle,"t"),M(l,0,r),o.sA(d,"initialised",!0),o[r].c.trigger("layerinitialised",{layer:l[0].id,slider:r})}var m="grid"===p.basealign?o[r].canv.width:"carousel"!==o[r].sliderType||p._isstatic?o[r].canv.width:o[r].carousel.slide_width,v=o[r].useFullScreenHeight?o[r].module.height:"grid"===p.basealign?o[r].content.height:"carousel"!==o[r].sliderType||p._isstatic?o[r].module.height:o[r].canv.height,f=p.x[o[r].level],w=p.y[o[r].level];if(p.gw=m,p.gh=v,u="slide"===p.basealign?0:Math.max(0,"fullscreen"==o[r].sliderLayout?o[r].module.height/2-o.iHE(r)*(o[r].keepBPHeight?1:o[r].CM.h)/2:o[r].autoHeight||null!=o[r].minHeight&&o[r].minHeight>0||o[r].keepBPHeight?o[r].canv.height/2-o.iHE(r)*o[r].CM.h/2:u),g="slide"===p.basealign?0:Math.max(0,g),"slide"!==p.basealign&&"carousel"===o[r].sliderType&&p._isstatic&&void 0!==o[r].carousel&&void 0!==o[r].carousel.horizontal_align&&(g=Math.max(0,"center"===o[r].carousel.horizontal_align?0+(o[r].module.width-o.iWA(r,"static")*o[r].CM.w)/2:"right"===o[r].carousel.horizontal_align?o[r].module.width-o[r].gridwidth[o[r].level]*o[r].CM.w:g)),o[r].lgridOffset={offsety:u,offsetx:g},"updateposition"!==e.mode){if(0==p.vbility[o[r].levelForced]||"f"==p.vbility[o[r].levelForced]||m<o[r].hideLayerAtLimit&&"on"==p.layeronlimit||m<o[r].hideAllLayerAtLimit?(!0!==p.layerIsHidden&&p.p[0].classList.add("rs-layer-hidden"),p.layerIsHidden=!0):(p.layerIsHidden&&p.p[0].classList.remove("rs-layer-hidden"),p.layerIsHidden=!1),p.poster=null==p.poster&&void 0!==p.thumbimage?p.thumbimage:p.poster,"image"===p.layertype)if(p.imgOBJ={},"cover-proportional"===p.img.data("c")){o.sA(p.img[0],"owidth",o.gA(p.img[0],"owidth",p.img[0].width)),o.sA(p.img[0],"oheight",o.gA(p.img[0],"oheight",p.img[0].height));var _=o.gA(p.img[0],"owidth")/o.gA(p.img[0],"oheight"),x=m/v;p.imgOBJ=_>x&&_<=1||_<x&&_>1?{width:"100%",height:"auto",left:"c"===f||"center"===f?"50%":"left"===f||"l"===f?"0":"auto",right:"r"===f||"right"===f?"0":"auto",top:"c"===w||"center"===w?"50%":"top"===w||"t"===w?"0":"auto",bottom:"b"===w||"bottom"===w?"0":"auto",x:"c"===f||"center"===f?"-50%":"0",y:"c"===w||"center"===f?"-50%":"0"}:{height:"100%",width:"auto",left:"c"===f||"center"===f?"50%":"left"===f||"l"===f?"0":"auto",right:"r"===f||"right"===f?"0":"auto",top:"c"===w||"center"===w?"50%":"top"===w||"t"===w?"0":"auto",bottom:"b"===w||"bottom"===w?"0":"auto",x:"c"===f||"center"===f?"-50%":"0",y:"c"===w||"center"===f?"-50%":"0"}}else void 0===p.group&&"auto"===p.width[o[r].level]&&"auto"===p.height[o[r].level]&&(p.width[o[r].level]=o.gA(p.img[0],"owidth",p.img[0].width),p.height[o[r].level]=o.gA(p.img[0],"owidth",p.img[0].height)),p.imgOBJ={width:"auto"!==p.width[o[r].level]||isNaN(p.width[o[r].level])&&p.width[o[r].level].indexOf("%")>=0?"100%":"auto",height:"auto"!==p.height[o[r].level]||isNaN(p.height[o[r].level])&&p.height[o[r].level].indexOf("%")>=0?"100%":"auto"};else if("video"===p.layertype){o.manageVideoLayer(l,r,s),"rebuild"!==e.mode&&o.resetVideo(l,r,e.mode),null!=p.aspectratio&&p.aspectratio.split(":").length>1&&(1==p.bgvideo||1==p.forcecover)&&o.prepareCoveredVideo(r,l),p.media=void 0===p.media?p.deepiframe.length>0?jQuery(p.deepiframe[0]):jQuery(p.deepmedia[0]):p.media,p.html5vid=void 0===p.html5vid?!(p.deepiframe.length>0):p.html5vid;var S=l[0].className.indexOf("coverscreenvideo")>=0;p.mediaOBJ={display:"block"};var k=p.width[o[r].level],R=p.height[o[r].level];if(k="auto"===k?k:!o.isNumeric(k)&&k.indexOf("%")>0?p._incolumn||p._ingroup?"100%":"grid"===p.basealign?o.iWA(r,e.slideIndex)*o[r].CM.w:m:"off"!==p.rsp_bd?parseFloat(k)*o[r].CM.w+"px":parseFloat(k)+"px",R="auto"===R?R:!o.isNumeric(R)&&R.indexOf("%")>0?"grid"===p.basealign?o.iHE(r)*o[r].CM.w:v:"off"!==p.rsp_bd?parseFloat(R)*o[r].CM.h+"px":parseFloat(R)+"px",p.vd=void 0===p.vd?o[r].videos[l[0].id].ratio.split(":").length>1?o[r].videos[l[0].id].ratio.split(":")[0]/o[r].videos[l[0].id].ratio.split(":")[1]:1:p.vd,!p._incolumn||"100%"!==k&&"auto"!==R||void 0===p.ytid)-1!=l[0].className.indexOf("rs-fsv")||S?(g=0,u=0,p.x=o.revToResp(0,o[r].rle,0),p.y=o.revToResp(0,o[r].rle,0),p.vidOBJ={width:k,height:o[r].autoHeight?o[r].canv.height:R}):(R="auto"===R&&void 0!==p.vd&&"auto"!==k?"100%"===k?l.width()/p.vd:k/p.vd:R,p.vidOBJ={width:k,height:R}),(0==p.html5vid&&!S||1!=p.forcecover&&!l.hasClass("rs-fsv")&&!S)&&(p.mediaOBJ={width:k,height:R,display:"block"}),p._ingroup&&null!==p.vidOBJ.width&&void 0!==p.vidOBJ.width&&!o.isNumeric(p.vidOBJ.width)&&p.vidOBJ.width.indexOf("%")>0&&(p.OBJUPD.lppmOBJ={minWidth:k});else{var I=l.width(),O="auto"===R?I/p.vd:R;p.vidOBJ={width:"auto",height:O},p.heightSetByVideo=!0}}p._slidelink||o[r].caches.calcResponsiveLayersList.push({a:l,b:r,c:0,d:p.rsp_bd,e:e.slideIndex}),"on"===p.rsp_ch&&"row"!==p.type&&"column"!==p.type&&"group"!==p.type&&"image"!==p.type&&"video"!==p.type&&"shape"!==p.type&&l.find("*").each(function(){var i=jQuery(this);"true"!==o.gA(this,"stylerecorder")&&!0!==o.gA(this,"stylerecorder")&&M(i,"rekursive",r),o[r].caches.calcResponsiveLayersList.push({a:i,b:r,c:"rekursive",d:p.rsp_bd,e:e.slideIndex,RSL:l})})}if("preset"!==e.mode){if(p.oldeow=p.eow,p.oldeoh=p.eoh,p.eow=l.outerWidth(!0),p.eoh=l.outerHeight(!0),p.imgInFirefox="image"==p.type&&"auto"==p.width[o[r].level]&&"100%"==p.height[o[r].level]&&o.isFirefox(r),p.imgInFirefox){var T=p.img.width();p.eow=0!==T?T:p.eow}if(p.eow<=0&&void 0!==p.lastknownwidth&&(p.eow=p.lastknownwidth),p.eoh<=0&&void 0!==p.lastknownheight&&(p.eoh=p.lastknownheight),void 0!==p.corners&&("text"===p.type||"button"===p.type||"shape"===p.type)){for(a in p.corners)if(p.corners.hasOwnProperty(a)){p.corners[a].css("borderWidth",p.eoh+"px");var C="rs-fcrt"===a||"rs-fcr"===a;p.corners[a].css("border"+(C?"Right":"Left"),"0px solid transparent"),p.corners[a].css("border"+("rs-fcrt"==a||"rs-bcr"==a?"Bottom":"Top")+"Color",p.bgcol)}p.eow=l.outerWidth(!0)}0==p.eow&&0==p.eoh&&(p.eow="grid"===p.basealign?o[r].content.width:o[r].module.width,p.eoh="grid"===p.basealign?o[r].content.height:o[r].module.height),p.basealign=o[r].justifyCarousel?"grid":p.basealign;var A="on"===p.rsp_o?parseInt(p.voffset[o[r].level],0)*o[r].CM.w:parseInt(p.voffset[o[r].level],0),P="on"===p.rsp_o?parseInt(p.hoffset[o[r].level],0)*o[r].CM.w:parseInt(p.hoffset[o[r].level],0),B="grid"===p.basealign?o.iWA(r,e.slideIndex)*o[r].CM.w:m,D="grid"===p.basealign?o.iHE(r)*(o[r].keepBPHeight||o[r].currentRowsHeight>o[r].gridheight[o[r].level]?1:o[r].CM.h):v;(1==o[r].gridEQModule||void 0!==p._lig&&"row"!==p.type&&"column"!==p.type&&"group"!==p.type)&&(B=void 0!==p._lig?p._lig.width():o[r].module.width,D=void 0!==p._lig?p._lig.height():o[r].module.height,g=0,u=0),"video"===p.type&&null!=p.vidOBJ&&(p.vidOBJ.height>=0&&0===p.eoh&&(p.eoh=p.vidOBJ.height),p.vidOBJ.width>=0&&0===p.eow&&(p.eow=p.vidOBJ.width)),f="c"===f||"m"===f||"center"===f||"middle"===f?B/2-p.eow/2+P:"l"===f||"left"===f?P:"r"===f||"right"===f?B-p.eow-P:"off"!==p.rsp_o?f*o[r].CM.w:f,w="m"===w||"c"===w||"center"===w||"middle"===w?D/2-p.eoh/2+A:"t"===w||"top"==w?A:"b"===w||"bottom"==w?D-p.eoh-A:"off"!==p.rsp_o?w*o[r].CM.w:w,f=p._slidelink?0:o[r].rtl&&-1==(""+p.width[o[r].level]).indexOf("%")?parseInt(f)+p.eow:f,p.calcx=parseInt(f,0)+g,p.calcy=parseInt(w,0)+u,"row"!==p.type&&"column"!==p.type?p.OBJUPD.POBJ={zIndex:p.zindex,top:p.calcy,left:p.calcx,overwrite:"auto"}:"row"!==p.type?p.OBJUPD.POBJ={zIndex:p.zindex,width:p.columnwidth,top:0,left:0,overwrite:"auto"}:"row"===p.type&&(p.OBJUPD.POBJ={zIndex:p.zindex,width:"grid"===p.basealign?B+"px":"100%",top:0,left:o[r].rtl?-1*g:g,overwrite:"auto"},p.cbreak<=o[r].level?-1===l[0].className.indexOf("rev_break_columns")&&l[0].classList.add("rev_break_columns"):l[0].className.indexOf("rev_break_columns")>0&&l[0].classList.remove("rev_break_columns"),p.rowcalcx=p.OBJUPD.POBJ.left,p.pow=p.p.outerWidth(!0)),void 0!==p.blendmode&&(p.OBJUPD.POBJ.mixBlendMode=p.blendmode),(void 0!==p.frames.loop||p.imgInFirefox)&&(p.OBJUPD.LPOBJ={width:p.eow,height:p.eoh}),p._ingroup&&(void 0!==p._groupw&&!o.isNumeric(p._groupw)&&p._groupw.indexOf("%")>0&&(p.OBJUPD.lppmOBJ.minWidth=p._groupw),void 0!==p._grouph&&!o.isNumeric(p._grouph)&&p._grouph.indexOf("%")>0&&(p.OBJUPD.lppmOBJ.minHeight=p._grouph)),"updateposition"===e.mode&&(p.caches.POBJ_LEFT===p.OBJUPD.POBJ.left&&p.caches.POBJ_TOP===p.OBJUPD.POBJ.top||(tpGS.gsap.set(p.p,p.OBJUPD.POBJ),p.caches.POBJ_LEFT=p.OBJUPD.POBJ.left,p.caches.POBJ_TOP=p.OBJUPD.POBJ.top)),e.animcompleted&&o.animcompleted(l,r)}}},hoverReverseDone:function(e){o[e.id]._L[e.L[0].id].textDecoration&&tpGS.gsap.set(o[e.id]._L[e.L[0].id].c,{textDecoration:o[e.id]._L[e.L[0].id].textDecoration})},animcompleted:function(e,i,t){if(void 0!==o[i].videos){var a=o[i].videos[e[0].id];null!=a&&null!=a.type&&"none"!=a.type&&(1==a.aplay||"true"==a.aplay||"on"==a.aplay||"1sttime"==a.aplay?(("carousel"!==o[i].sliderType||e.closest("rs-slide").index()==o[i].carousel.focused||e.closest("rs-slide").index()==o[i].activeRSSlide&&o[i].carousel.oldfocused==o[i].carousel.focused||t)&&o.playVideo(e,i),o.toggleState(e.data("videotoggledby")),(a.aplay1||"1sttime"==a.aplay)&&(a.aplay1=!1,a.aplay=!1)):("no1sttime"==a.aplay&&(a.aplay=!0),o.unToggleState(e.data("videotoggledby"))))}},handleStaticLayers:function(e,i){var t=0,a=o[i].realslideamount+1;if(void 0!==o.gA(e[0],"onslides")){var r=o.gA(e[0],"onslides").split(";");for(var s in r)if(r.hasOwnProperty(s)){var n=r[s].split(":");"s"===n[0]&&(t=parseInt(n[1],0)),"e"===n[0]&&(a=parseInt(n[1],0))}}t=Math.max(0,t),a=Math.min(o[i].realslideamount,a<0?o[i].realslideamount:a),a=1!==t&&0!==t||a!==o[i].realslideamount?a:o[i].realslideamount+1,e.data("startslide",t),e.data("endslide",a),o.sA(e[0],"startslide",t),o.sA(e[0],"endslide",a)},updateLayersOnFullStage:function(e){if(o[e].caches.calcResponsiveLayersList.length>0){!0!==o[e].slideHasIframe&&!0!==o[e].fullScreenMode&&("carousel"===o[e].sliderType?o[e].carousel.wrap.detach():o[e].canvas.detach());for(var i=0;i<o[e].caches.calcResponsiveLayersList.length;i++)void 0!==o[e].caches.calcResponsiveLayersList[i]&&z(o[e].caches.calcResponsiveLayersList[i]);!0!==o[e].slideHasIframe&&!0!==o[e].fullScreenMode&&("carousel"===o[e].sliderType?o[e].c[0].appendChild(o[e].carousel.wrap[0]):o[e].c[0].appendChild(o[e].canvas[0]))}},animateTheLayers:function(e){if(void 0===e.slide)return!1;var i=e.id;if(void 0===o[i].slides[e.slide]&&"individual"!==e.slide)return!1;if("carousel"===o[i].sliderType){if("start"===e.mode&&"start"===o[i].lastATLmode){if(e.slide===o[i].lastATLslide&&(new Date).getTime()-o[i].lastATLtime<1500)return;o[i].lastATLtime=(new Date).getTime()}o[i].lastATLmode=e.mode,o[i].lastATLslide=e.slide}var t="individual"!==e.slide?o.gA(o[i].slides[e.slide],"key"):"individual",a=o[i].pr_processing_key||o[i].pr_active_key||0;o[i].caches.calcResponsiveLayersList=[],o[i].layers=o[i].layers||{},"individual"===t?o[i].layers.individual=void 0===o[i].layers.individual?"all"===o[i].carousel.showLayersAllTime?C(jQuery(o[i].c),"rs-layer","rs-layer-static"):C(jQuery(o[i].c),"rs-on-car"):o[i].layers.individual:(o[i].layers[t]=void 0===o[i].layers[t]?"all"===o[i].carousel.showLayersAllTime?[]:C(jQuery(o[i].slides[e.slide]),"rs-layer","carousel"===o[i].sliderType?"rs-on-car":void 0):o[i].layers[t],o[i].layers.static=void 0===o[i].layers.static?C(jQuery(o[i].c.find("rs-static-layers")),"rs-layer","rs-on-car"):o[i].layers.static,o[i].sbas[t]=void 0===o[i].sbas[t]?C(jQuery(o[i].slides[e.slide]),"rs-sba"):o[i].sbas[t]);var r="rebuild"===e.mode&&"carousel"===o[i].sliderType&&"individual"===t;void 0!==t&&o[i].layers[t]&&o.initLayer({id:i,slideIndex:e.slide,skey:t,mode:e.mode,animcompleted:r}),o[i].layers.static&&o.initLayer({id:i,skey:"static",slideIndex:"static",mode:e.mode,animcompleted:r}),o.updateLayersOnFullStage(i),"preset"!==e.mode||void 0!==o[i].slidePresets&&void 0!==o[i].slidePresets[e.slide]||(o[i].slidePresets=void 0===o[i].slidePresets?{}:o[i].slidePresets,o[i].slidePresets[e.slide]=!0,o[i].c.trigger("revolution.slideprepared",{slide:e.slide})),o[i].heightInLayers=o[i].module.height,o[i].widthInLayers=o[i].module.width,o[i].levelInLayers=o[i].level;var s={id:i,skey:t,slide:e.slide,key:t,mode:e.mode,index:a};window.requestAnimationFrame(function(){if(void 0===o[i].dimensionReCheck[t]?(o.updateLayerDimensions(s),!0!==o[i].doubleDimensionCheck?setTimeout(function(){o.updateLayerDimensions(s),o.updateRowZones(s)},150):o.updateRowZones(s),o[i].doubleDimensionCheck=!0,o[i].dimensionReCheck[t]=!0):o.updateRowZones(s),void 0!==t&&o[i].layers[t])for(var a in o[i].layers[t])o[i].layers[t].hasOwnProperty(a)&&o.renderLayerAnimation({layer:jQuery(o[i].layers[t][a]),id:i,mode:e.mode,caller:e.caller});if(o[i].layers.static)for(var a in o[i].layers.static)o[i].layers.static.hasOwnProperty(a)&&o.renderLayerAnimation({layer:jQuery(o[i].layers.static[a]),id:i,mode:e.mode,caller:e.caller});null!=o[i].mtl&&o[i].mtl.resume()})},updateRowZones:function(e){(void 0!==o[e.id].rowzones&&o[e.id].rowzones.length>0&&e.index>=0&&o[e.id].rowzones[Math.min(e.index,o[e.id].rowzones.length)]&&o[e.id].rowzones[Math.min(e.index,o[e.id].rowzones.length)].length>0||void 0!==o[e.id].srowzones&&o[e.id].srowzones.length>0||void 0!==o[e.id].smiddleZones&&o[e.id].smiddleZones.length>0)&&(o.updateDims(e.id),o.initLayer({id:e.id,skey:e.key,slideIndex:e.slide,mode:"updateposition"}),o.initLayer({id:e.id,skey:"static",slideIndex:"static",mode:"updateposition"}),"start"!==e.mode&&"preset"!==e.mode||o.manageNavigation(e.id))},updateLayerDimensions:function(e){var i=!1;o[e.id].caches.calcResponsiveLayersList=[],void 0===e.key||"individual"!=e.key&&void 0===o[e.id].layers[e.key]||!o.checkLayerDimensions({id:e.id,skey:e.key,slideIndex:e.slide})||(i=!0),o.initLayer({id:e.id,skey:e.key,slideIndex:e.slide,mode:"updateAndResize"}),o[e.id].layers.static&&o.checkLayerDimensions({id:e.id,skey:"static",slideIndex:"static"})&&(i=!0,o.initLayer({id:e.id,skey:"static",slideIndex:"static",mode:"updateAndResize"})),i&&o.updateLayersOnFullStage(e.id)},updateAnimatingLayerPositions:function(e){o.initLayer({id:e.id,skey:e.key,slideIndex:e.slide,mode:"updateposition"})},removeTheLayers:function(e,i,t){var a=o.gA(e[0],"key");for(var r in o[i].sloops&&o[i].sloops[a]&&o[i].sloops[a].tl&&o[i].sloops[a].tl.pause(),o[i].layers[a])o[i].layers[a].hasOwnProperty(r)&&o.renderLayerAnimation({layer:jQuery(o[i].layers[a][r]),frame:"frame_999",mode:"continue",remove:!0,id:i,allforce:t});for(var r in o[i].layers.static)o[i].layers.static.hasOwnProperty(r)&&o.renderLayerAnimation({layer:jQuery(o[i].layers.static[r]),frame:"frame_999",mode:"continue",remove:!0,id:i,allforce:t})},renderLayerAnimation:function(e){var t,a=e.layer,r=e.id,s=o[r].level,h=o[r]._L[a[0].id],v=void 0!==h.timeline?h.timeline.time():void 0,f=!1,y=!1,b="none";if(("containerResized_2"!==e.caller&&"swapSlideProgress_2"!==e.caller||!0===h.animationRendered)&&(h.animationRendered=!0,"preset"!==e.mode||!0===h.frames.frame_1.timeline.waitoncall||void 0!==h.scrollBasedOffset)){if("trigger"==e.mode&&(h.triggeredFrame=e.frame),h._isstatic){var x="carousel"===o[r].sliderType&&void 0!==o[r].carousel.oldfocused?o[r].carousel.oldfocused:void 0===o[r].pr_lastshown_key?1:parseInt(o[r].pr_lastshown_key,0)+1,k="carousel"===o[r].sliderType?void 0===o[r].pr_next_key?0===x?1:x:parseInt(o[r].pr_next_key,0)+1:void 0===o[r].pr_processing_key?x:parseInt(o[r].pr_processing_key,0)+1,L=x>=h.startslide&&x<=h.endslide,R=k>=h.startslide&&k<=h.endslide;if(b=x===h.endslide&&"continue"===e.mode||("continue"===e.mode||x===h.endslide)&&"none",!0===e.allforce||!0===b){if("continue"===e.mode&&"frame_999"===e.frame&&(R||void 0===h.lastRequestedMainFrame))return}else{if("preset"===e.mode&&(h.elementHovered||!R))return;if("rebuild"===e.mode&&!L&&!R)return;if("start"===e.mode&&R&&"frame_1"===h.lastRequestedMainFrame)return;if(("start"===e.mode||"preset"===e.mode)&&"frame_999"===h.lastRequestedMainFrame&&!0!==h.leftstage)return;if("continue"===e.mode&&"frame_999"===e.frame&&(R||void 0===h.lastRequestedMainFrame))return;if("start"===e.mode&&!R)return}}else"start"===e.mode&&"keep"!==h.triggercache&&(h.triggeredFrame=void 0);for(var I in"start"===e.mode&&(void 0!==h.layerLoop&&(h.layerLoop.count=0),e.frame=void 0===h.triggeredFrame?0:h.triggeredFrame),"continue"===e.mode||"trigger"===e.mode||void 0===h.timeline||h._isstatic&&!0===h.leftstage||h.timeline.pause(0),"continue"!==e.mode&&"trigger"!==e.mode||void 0===h.timeline||h.timeline.pause(),h.timeline=tpGS.gsap.timeline({paused:!0}),"text"!==h.type&&"button"!==h.type||void 0!==h.splitText&&(void 0!==h.splitTextFix||"start"!==e.mode&&"preset"!==e.mode)||(w({layer:a,id:r}),"start"===e.mode&&(h.splitTextFix=!0)),h.ford)if(h.ford.hasOwnProperty(I)){var O=h.ford[I],T=!1;if("frame_0"!==O&&"frame_hover"!==O&&"loop"!==O){if("frame_999"===O&&!h.frames[O].timeline.waitoncall&&h.frames[O].timeline.start>=o[r].duration&&!0!==e.remove&&(h.frames[O].timeline.waitoncall=!0),"start"===e.mode&&"keep"!==h.triggercache&&(h.frames[O].timeline.callstate=h.frames[O].timeline.waitoncall?"waiting":""),"trigger"===e.mode&&h.frames[O].timeline.waitoncall&&(O===e.frame?(h.frames[O].timeline.triggered=!0,h.frames[O].timeline.callstate="called"):h.frames[O].timeline.triggered=!1),"rebuild"===e.mode||h.frames[O].timeline.triggered||(h.frames[O].timeline.callstate=h.frames[O].timeline.waitoncall?"waiting":""),!1!==e.fastforward){if(("continue"===e.mode||"trigger"===e.mode)&&!1===y&&O!==e.frame)continue;if(("rebuild"===e.mode||"preset"===e.mode)&&!1===y&&void 0!==h.triggeredFrame&&O!==h.triggeredFrame)continue;(O===e.frame||"rebuild"===e.mode&&O===h.triggeredFrame)&&(y=!0)}else O===e.frame&&(y=!0);if(O!==e.frame&&h.frames[O].timeline.waitoncall&&"called"!==h.frames[O].timeline.callstate&&(f=!0),O!==e.frame&&y&&(f=!0===f&&h.frames[O].timeline.waitoncall?"skiprest":!0!==f&&f),void 0===h.hideonfirststart&&"frame_1"===O&&h.frames[O].timeline.waitoncall&&(h.hideonfirststart=!0),f&&"waiting"===h.frames[O].timeline.callstate&&"preset"===e.mode&&1!=h.firstTimeRendered){if(h._isstatic&&void 0===h.currentframe)continue;T=!0,h.firstTimeRendered=!0}else if("skiprest"===f||"called"!==h.frames[O].timeline.callstate&&f&&e.toframe!==O)continue;if("frame_999"!==O||!1!==b||"continue"!==e.mode&&"start"!==e.mode&&"rebuild"!==e.mode){h.fff="frame_1"===O&&("trigger"!==e.mode||"frame_999"===h.currentframe||"frame_0"===h.currentframe||void 0===h.currentframe),"trigger"===e.mode&&"frame_1"===e.frame&&!1===h.leftstage&&(h.fff=!1),T||(h.frames[O].timeline.callstate="called",h.currentframe=O);var C=h.frames[O],A=h.fff?h.frames.frame_0:void 0,M=tpGS.gsap.timeline(),P=tpGS.gsap.timeline(),B=h.c,D=void 0!==C.sfx&&_(C.sfx.effect,h.m,C.timeline.ease),z=C.timeline.speed/1e3,G=0,H=S({id:r,frame:C,layer:a,ease:C.timeline.ease,splitAmount:B.length,target:O,forcefilter:void 0!==h.frames.frame_hover&&void 0!==h.frames.frame_hover.filter}),N=h.fff?S({id:r,frame:A,layer:a,ease:C.timeline.ease,splitAmount:B.length,target:"frame_0"}):void 0,j=void 0!==C.mask?S({id:r,frame:{transform:{x:C.mask.x,y:C.mask.y}},layer:a,ease:H.ease,target:"mask"}):void 0,F=void 0!==j&&h.fff?S({id:r,frame:{transform:{x:A.mask.x,y:A.mask.y}},layer:a,ease:H.ease,target:"frommask"}):void 0,W=H.ease;if(H.force3D=!0,"block"===D.type&&(D.ft[0].background=C.sfx.fxc,D.ft[0].visibility="visible",D.ft[1].visibility="visible",M.add(tpGS.gsap.fromTo(D.bmask_in,z/2,D.ft[0],D.ft[1],0)),M.add(tpGS.gsap.fromTo(D.bmask_in,z/2,D.ft[1],D.t,z/2)),"frame_0"!==O&&"frame_1"!==O||(N.opacity=0)),void 0!==C.color?H.color=C.color:void 0!==h.color&&"npc"!==h.color[s]&&(H.color=h.color[s]),void 0!==A&&void 0!==A.color?N.color=A.color:void 0!==A&&void 0!==h.color&&"npc"!==h.color[s]&&(N.color=h.color[s]),void 0!==C.bgcolor?C.bgcolor.indexOf("gradient")>=0?H.background=C.bgcolor:H.backgroundColor=C.bgcolor:!0===h.bgcolinuse&&(h.bgcol.indexOf("gradient")>=0?H.background=h.bgcol:H.backgroundColor=h.bgcol),void 0!==A&&(void 0!==A.bgcolor?A.bgcolor.indexOf("gradient")>=0?N.background=A.bgcolor:N.backgroundColor=A.bgcolor:!0===h.bgcolinuse&&(h.bgcol.indexOf("gradient")>=0?N.background=h.bgcol:N.backgroundColor=h.bgcol)),void 0!==h.splitText&&!1!==h.splitText)for(var V in i)if(void 0!==C[i[V]]&&!h.quickRendering){var E=h.splitText[i[V]],X=S({id:r,frame:C,source:i[V],ease:W,layer:a,splitAmount:E.length,target:O+"_"+i[V]}),Y=h.fff?S({id:r,frame:A,ease:X.ease,source:i[V],layer:a,splitAmount:E.length,target:"frame_0_"+i[V]}):void 0,Q=h.frames[O].dosplit?void 0===C[i[V]].delay?.05:C[i[V]].delay/100:0;h.color[s]===H.color&&"frame_1"===O||(X.color=H.color),void 0!==N&&h.color[s]!==N.color&&(Y.color=N.color),void 0!==Y&&Y.color!==H.color&&(X.color=H.color);var J=o.clone(X),q=h.fff?o.clone(Y):void 0,U=C[i[V]].dir;delete J.dir,J.data={splitted:!0},J.stagger="center"===U||"edge"===U?c({each:Q,offset:Q/2,from:U}):{each:Q,from:U},J.duration=z,void 0!==q&&delete q.dir,h.fff?M.add(P.fromTo(E,q,J),0):M.add(P.to(E,J),0),G=Math.max(G,E.length*Q)}if(z+=G,void 0===t&&(t="isometric"===o[r].perspectiveType?0:"local"===o[r].perspectiveType?void 0!==H.transformPerspective?H.transformPerspective:h.fff&&void 0!==N.transfromPerspective?N.transfromPerspective:o[r].perspective:o[r].perspective),h.knowTransformPerspective=t,h.pxundermask||void 0!==j&&(void 0!==A&&"hidden"===A.mask.overflow||"hidden"===C.mask.overflow))M.add(tpGS.gsap.to(h.m,.001,{overflow:"hidden"}),0),"column"===h.type&&M.add(tpGS.gsap.to(h.cbgmask,.001,{overflow:"hidden"}),0),h.btrans&&(F&&(F.rotationX=h.btrans.rX,F.rotationY=h.btrans.rY,F.rotationZ=h.btrans.rZ,F.opacity=h.btrans.o),j.rotationX=h.btrans.rX,j.rotationY=h.btrans.rY,j.rotationZ=h.btrans.rZ,j.opacity=h.btrans.o),h.fff?M.add(tpGS.gsap.fromTo([h.m,h.cbgmask],z,o.clone(F),o.clone(j)),.001):M.add(tpGS.gsap.to([h.m,h.cbgmask],z,o.clone(j)),.001);else if(void 0!==h.btrans){var Z={x:0,y:0,filter:"none",opacity:h.btrans.o,rotationX:h.btrans.rX,rotationY:h.btrans.rY,rotationZ:h.btrans.rZ,overflow:"visible"};0===h.btrans.rX&&0==h.btrans.rY||(h.maskHasPerspective=!0,Z.transformPerspective=t),M.add(tpGS.gsap.to(h.m,.001,Z),0)}else M.add(tpGS.gsap.to(h.m,.001,{clearProps:"transform",overflow:"visible"}),0);H.force3D="auto",h.fff?(H.visibility="visible",void 0!==h.cbg&&M.fromTo(h.cbg,z,N,H,0),o[r].BUG_safari_clipPath&&(N.clipPath||H.clipPath||h.spike)&&(N.z&&parseInt(N.z,10)||(N.z=-1e-4),H.z&&parseInt(H.z,10)||(H.z=0)),void 0!==h.cbg&&"column"===h.type?M.fromTo(B,z,n(N),n(H),0):M.fromTo(B,z,N,H,0),M.invalidate()):("frame_999"!==h.frame&&(H.visibility="visible"),void 0!==h.cbg&&M.to(h.cbg,z,H,0),!o[r].BUG_safari_clipPath||!H.clipPath&&!h.spike||H.z&&parseInt(H.z,10)||(H.z=0-.01*Math.random()),void 0!==h.cbg&&"column"===h.type?M.to(B,z,n(H),0):M.to(B,z,H,0)),void 0!==W&&"object"!=typeof W&&"function"!=typeof W&&W.indexOf("SFXBounce")>=0&&M.to(B,z,{scaleY:.5,scaleX:1.3,ease:H.ease+"-squash",transformOrigin:"bottom"},1e-4);var K="trigger"!==e.mode&&(!0!==f&&"skiprest"!==f||"rebuild"!==e.mode)||e.frame===O||void 0===C.timeline.start||!o.isNumeric(C.timeline.start)?"+=0"===C.timeline.start||void 0===C.timeline.start?"+=0.05":parseInt(C.timeline.start,0)/1e3:"+="+parseInt(C.timeline.startRelative,0)/1e3;h.timeline.addLabel(O,K),h.timeline.add(M,K),h.timeline.addLabel(O+"_end","+=0.01"),M.eventCallback("onStart",p,[{id:r,frame:O,L:a,tPE:t}]),"true"==h.animationonscroll||1==h.animationonscroll?(M.eventCallback("onUpdate",g,[{id:r,frame:O,L:a}]),M.smoothChildTiming=!0):M.eventCallback("onUpdate",g,[{id:r,frame:O,L:a}]),M.eventCallback("onComplete",u,[{id:r,frame:O,L:a,tPE:t}])}}}if(void 0!==h.frames.loop){var $=parseInt(h.frames.loop.timeline.speed,0)/1e3,ee=parseInt(h.frames.loop.timeline.start)/1e3||0,ie="trigger"!==e.mode&&"frame_999"!==e.frame||"frame_999"!==e.frame?.2:0,te=ee+ie;h.loop={root:tpGS.gsap.timeline({}),preset:tpGS.gsap.timeline({}),move:tpGS.gsap.timeline({repeat:-1,yoyo:h.frames.loop.timeline.yoyo_move}),rotate:tpGS.gsap.timeline({repeat:-1,yoyo:h.frames.loop.timeline.yoyo_rotate}),scale:tpGS.gsap.timeline({repeat:-1,yoyo:h.frames.loop.timeline.yoyo_scale}),filter:tpGS.gsap.timeline({repeat:-1,yoyo:h.frames.loop.timeline.yoyo_filter})};var ae=h.frames.loop.frame_0,re=h.frames.loop.frame_999,oe="blur("+parseInt(ae.blur||0,0)+"px) grayscale("+parseInt(ae.grayscale||0,0)+"%) brightness("+parseInt(ae.brightness||100,0)+"%)",se="blur("+(re.blur||0)+"px) grayscale("+(re.grayscale||0)+"%) brightness("+(re.brightness||100)+"%)";if(h.loop.root.add(h.loop.preset,0),h.loop.root.add(h.loop.move,ie),h.loop.root.add(h.loop.rotate,ie),h.loop.root.add(h.loop.scale,ie),h.loop.root.add(h.loop.filter,ie),"blur(0px) grayscale(0%) brightness(100%)"===oe&&"blur(0px) grayscale(0%) brightness(100%)"===se&&(oe="none",se="none"),re.originX=ae.originX,re.originY=ae.originY,re.originZ=ae.originZ,void 0===t&&(t="isometric"===o[r].perspectiveType?0:"local"===o[r].perspectiveType&&void 0!==H?void 0!==H.transformPerspective?H.transformPerspective:h.fff&&void 0!==N.transfromPerspective?N.transfromPerspective:o[r].perspective:o[r].perspective),h.frames.loop.timeline.curved){var ne=parseInt(h.frames.loop.timeline.radiusAngle,0)||0,de=[{x:(ae.x-ae.xr)*o[r].CM.w,y:0,z:(ae.z-ae.zr)*o[r].CM.w},{x:0,y:(ae.y+ae.yr)*o[r].CM.w,z:0},{x:(re.x+re.xr)*o[r].CM.w,y:0,z:(re.z+re.zr)*o[r].CM.w},{x:0,y:(re.y-re.yr)*o[r].CM.w,z:0}],le={type:"thru",curviness:h.frames.loop.timeline.curviness,path:[],autoRotate:h.frames.loop.timeline.autoRotate};for(var ce in de)de.hasOwnProperty(ce)&&(le.path[ce]=de[ne],ne=++ne==de.length?0:ne);("trigger"!==e.mode&&"frame_999"!==e.frame||"frame_999"!==e.frame)&&h.loop.preset.fromTo(h.lp,ie,{"-webkit-filter":oe,filter:oe,x:0,y:0,z:0,minWidth:h._incolumn||h._ingroup?"100%":void 0===h.eow?0:h.eow,minHeight:h._incolumn||h._ingroup?"100%":void 0===h.eoh?0:h.eoh,scaleX:1,scaleY:1,skewX:0,skewY:0,rotationX:0,rotationY:0,rotationZ:0,transformPerspective:t,transformOrigin:re.originX+" "+re.originY+" "+re.originZ,opacity:1},l({x:le.path[3].x,y:le.path[3].y,z:le.path[3].z,scaleX:ae.scaleX,skewX:ae.skewX,skewY:ae.skewY,scaleY:ae.scaleY,rotationX:ae.rotationX,rotationY:ae.rotationY,rotationZ:ae.rotationZ,"-webkit-filter":oe,filter:oe,ease:"sine.inOut",opacity:ae.opacity}),0),d(le)&&h.loop.move.to(h.lp,h.frames.loop.timeline.yoyo_move?$/2:$,{motionPath:le,ease:h.frames.loop.timeline.ease})}else("trigger"!==e.mode&&"frame_999"!==e.frame||"frame_999"!==e.frame)&&h.loop.preset.fromTo(h.lp,ie,{"-webkit-filter":oe,filter:oe,x:0,y:0,z:0,minWidth:h._incolumn||h._ingroup?"100%":void 0===h.eow?0:h.eow,minHeight:h._incolumn||h._ingroup?"100%":void 0===h.eoh?0:h.eoh,scaleX:1,scaleY:1,skewX:0,skewY:0,rotationX:0,rotationY:0,rotationZ:0,transformPerspective:t,transformOrigin:re.originX+" "+re.originY+" "+re.originZ,opacity:1},l({x:ae.x*o[r].CM.w,y:ae.y*o[r].CM.w,z:ae.z*o[r].CM.w,scaleX:ae.scaleX,skewX:ae.skewX,skewY:ae.skewY,scaleY:ae.scaleY,rotationX:ae.rotationX,rotationY:ae.rotationY,rotationZ:ae.rotationZ,ease:"sine.out",opacity:ae.opacity,"-webkit-filter":oe,filter:oe}),0),h.loop.move.to(h.lp,h.frames.loop.timeline.yoyo_move?$/2:$,{x:re.x*o[r].CM.w,y:re.y*o[r].CM.w,z:re.z*o[r].CM.w,ease:h.frames.loop.timeline.ease});h.loop.rotate.to(h.lp,h.frames.loop.timeline.yoyo_rotate?$/2:$,{rotationX:re.rotationX,rotationY:re.rotationY,rotationZ:re.rotationZ,ease:h.frames.loop.timeline.ease}),h.loop.scale.to(h.lp,h.frames.loop.timeline.yoyo_scale?$/2:$,l({scaleX:re.scaleX,scaleY:re.scaleY,skewX:re.skewX,skewY:re.skewY,ease:h.frames.loop.timeline.ease}));var pe={opacity:re.opacity||1,ease:h.frames.loop.timeline.ease,"-webkit-filter":se,filter:se};h.loop.filter.to(h.lp,h.frames.loop.timeline.yoyo_filter?$/2:$,pe),h.timeline.add(h.loop.root,te)}if(void 0!==h.frames.frame_hover&&("start"===e.mode||void 0===h.hoverframeadded)){h.hoverframeadded=!0;var ge=h.frames.frame_hover.timeline.speed/1e3;ge=0===ge?1e-5:ge,h.hoverlistener||(h.hoverlistener=!0,o.document.on("mouseenter mousemove",("column"===h.type?"#"+h.cbg[0].id+",":"")+"#"+h.c[0].id,function(e){if("mousemove"!==e.type||!0!==h.ignoremousemove){if(h.animationonscroll||h.readyForHover){if(h.elementHovered=!0,h.hovertimeline||(h.hovertimeline=tpGS.gsap.timeline({paused:!0})),0==h.hovertimeline.progress()&&(void 0===h.lastHoveredTimeStamp||(new Date).getTime()-h.lastHoveredTimeStamp>150)&&(h.ignoremousemove=!0,h.hovertimeline.to([h.m,h.cbgmask],ge,{overflow:h.frames.frame_hover.mask?"hidden":"visible"},0),"column"===h.type&&h.hovertimeline.to(h.cbg,ge,o.clone(m(h.frames.frame_hover,h.cbg,{bgCol:h.bgcol,bg:h.styleProps.background})),0),"text"!==h.type&&"button"!==h.type||void 0===h.splitText||!1===h.splitText||h.hovertimeline.to([h.splitText.lines,h.splitText.words,h.splitText.chars],ge,{color:h.frames.frame_hover.color,ease:h.frames.frame_hover.transform.ease},0),"column"===h.type?h.hovertimeline.to(h.c,ge,n(o.clone(m(h.frames.frame_hover,h.c,{bgCol:h.bgcol,bg:h.styleProps.background}))),0):h.hovertimeline.to(h.c,ge,o.clone(m(h.frames.frame_hover,h.c,{bgCol:h.bgcol,bg:h.styleProps.background})),0),"svg"===h.type)){h.svgHTemp=o.clone(h.svgH);var i=Array.isArray(h.svgHTemp.fill)?h.svgHTemp.fill[o[r].level]:h.svgHTemp.fill;h.svgHTemp.fill=i,h.hovertimeline.to(h.svg,ge,h.svgHTemp,0),h.hovertimeline.to(h.svgPath,ge,{fill:i},0)}h.hovertimeline.play()}h.lastHoveredTimeStamp=(new Date).getTime()}}),o.document.on("mouseleave",("column"===h.type?"#"+h.cbg[0].id+",":"")+"#"+h.c[0].id,function(){h.elementHovered=!1,(h.animationonscroll||h.readyForHover)&&void 0!==h.hovertimeline&&(h.hovertimeline.reverse(),h.hovertimeline.eventCallback("onReverseComplete",o.hoverReverseDone,[{id:r,L:a}]))}))}if(T||(h.lastRequestedMainFrame="start"===e.mode?"frame_1":"continue"===e.mode?void 0===e.frame?h.currentframe:e.frame:h.lastRequestedMainFrame),void 0!==e.totime?h.tSTART=e.totime:void 0!==v&&void 0===e.frame?h.tSTART=v:void 0!==e.frame?h.tSTART=e.frame:h.tSTART=0,0===h.tSTART&&void 0===h.startedAnimOnce&&void 0===h.leftstage&&void 0===h.startedAnimOnce&&!0===h.hideonfirststart&&"preset"===e.mode&&(o[r]._L[a[0].id].pVisRequest=0,h.hideonfirststart=!1),"frame_999"!==h.tSTART&&"frame_999"!==h.triggeredFrame||!h.leftstage&&void 0!==h.startedAnimOnce){if("true"!=h.animationonscroll&&1!=h.animationonscroll?h.timeline.play(h.tSTART):h.timeline.time(h.tSTART),jQuery.inArray(h.type,["group","row","column"])>=0&&void 0!==e.frame){if(void 0===h.childrenJS)for(var V in h.childrenJS={},o[r]._L)void 0!==o[r]._L[V]._lig&&void 0!==o[r]._L[V]._lig[0]&&o[r]._L[V]._lig[0].id===a[0].id&&o[r]._L[V]._lig[0].id!==o[r]._L[V].c[0].id&&(h.childrenJS[o[r]._L[V].c[0].id]=o[r]._L[V].c);e.frame="0"==e.frame?"frame_0":e.frame,e.frame="1"==e.frame?"frame_1":e.frame,e.frame="999"==e.frame?"frame_999":e.frame;var ue=void 0===e.totime?void 0!==h.frames[e.frame].timeline.startAbsolute?parseInt(h.frames[e.frame].timeline.startAbsolute,0)/1e3:void 0!==h.frames[e.frame].timeline.start?o.isNumeric(h.frames[e.frame].timeline.start)?parseInt(h.frames[e.frame].timeline.start,0)/1e3:0:.001:e.totime;if(!0===e.updateChildren)for(var V in h.childrenJS)h.childrenJS.hasOwnProperty(V)&&o.renderLayerAnimation({layer:h.childrenJS[V],fastforward:!1,id:r,mode:"continue",updateChildren:!0,totime:ue});else for(var V in h.childrenJS)h.childrenJS.hasOwnProperty(V)&&o[r]._L[V].pausedTrueParrent&&(o.renderLayerAnimation({layer:h.childrenJS[V],fastforward:!1,id:r,mode:"continue",updateChildren:!0,totime:ue}),o[r]._L[V].pausedTrueParrent=!1)}}else;}}});var n=function(e){var i=o.clone(e);return delete i.backgroundColor,delete i.background,delete i.backgroundImage,delete i.borderSize,delete i.borderStyle,delete i["backdrop-filter"],i},d=function(e){if(void 0!==e&&void 0!==e.path&&Array.isArray(e.path)){var i=0,t=0;for(var a in e.path)!e.path.hasOwnProperty(a)||i>0||t>0||(i+=e.path[a].x,t+=e.path[a].y);return 0!=i||0!=t}},l=function(e){return void 0===e.skewX&&delete e.skewX,void 0===e.skewY&&delete e.skewY,e},c=function(e){e.from="edge"===e.from?"edges":e.from;var i=tpGS.gsap.utils.distribute(e);return function(t,a,r){return i(t,a,r)+(t<=r.length/2?0:e.offset||0)}},p=function(e){o[e.id].BUG_safari_clipPath&&e.L[0].classList.remove("rs-pelock"),(o[e.id]._L[e.L[0].id]._ingroup||o[e.id]._L[e.L[0].id]._incolumn||o[e.id]._L[e.L[0].id]._inrow)&&void 0!==o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid]&&void 0!==o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid].timeline&&(o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid].timeline.isActive()||void 0===o[e.id]._L[e.L[0].id]||void 0===o[e.id]._L[e.L[0].id].frames[o[e.id]._L[e.L[0].id].timeline.currentLabel()]||(null==o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid].timezone||o[e.id]._L[o[e.id]._L[e.L[0].id]._ligid].timezone.to<=parseInt(o[e.id]._L[e.L[0].id].frames[o[e.id]._L[e.L[0].id].timeline.currentLabel()].timeline.start,0))&&!0!==o[e.id]._L[e.L[0].id].animOnScrollForceDisable&&(o[e.id]._L[e.L[0].id].pausedTrueParrent=!0,o[e.id]._L[e.L[0].id].timeline.pause()));var i=o[e.id]._L[e.L[0].id],t=i.hovertimeline;t&&t.time()>0&&(t.pause(),t.time(0),t.kill(),delete i.hovertimeline),delete o[e.id]._L[e.L[0].id].childrenAtStartNotVisible,o[e.id]._L[e.L[0].id].pVisRequest=1;var a={layer:e.L};o[e.id]._L[e.L[0].id].ignoremousemove=!1,o[e.id]._L[e.L[0].id].leftstage=!1,o[e.id]._L[e.L[0].id].readyForHover=!1,void 0!==o[e.id]._L[e.L[0].id].layerLoop&&o[e.id]._L[e.L[0].id].layerLoop.from===e.frame&&o[e.id]._L[e.L[0].id].layerLoop.count++,"frame_1"===e.frame&&"Safari"===window.RSBrowser&&void 0===o[e.id]._L[e.L[0].id].safariRenderIssue&&(tpGS.gsap.set([o[e.id]._L[e.L[0].id].c],{opacity:1}),o[e.id]._L[e.L[0].id].safariRenderIssue=!0),"frame_999"!==e.frame&&(o[e.id]._L[e.L[0].id].startedAnimOnce=!0,o[e.id]._L[e.L[0].id].pPeventsRequest=o[e.id]._L[e.L[0].id].noPevents?"none":"auto"),a.eventtype="frame_0"===e.frame||"frame_1"===e.frame?"enterstage":"frame_999"===e.frame?"leavestage":"framestarted",window.requestAnimationFrame(function(){o[e.id]._L[e.L[0].id]._ingroup&&!0!==o[e.id]._L[o[e.id]._L[e.L[0].id]._lig[0].id].frames.frame_1.timeline.waitoncall&&(o[e.id]._L[o[e.id]._L[e.L[0].id]._lig[0].id].pVisRequest=1),o.requestLayerUpdates(e.id,a.eventtype,e.L[0].id,void 0!==o[e.id]._L[e.L[0].id].frames[e.frame]&&void 0!==o[e.id]._L[e.L[0].id].frames[e.frame].timeline&&0==o[e.id]._L[e.L[0].id].frames[e.frame].timeline.usePerspective?e.tPE:"ignore")}),a.id=e.id,a.layerid=e.L[0].id,a.layertype=o[e.id]._L[e.L[0].id].type,a.frame_index=e.frame,a.layersettings=o[e.id]._L[e.L[0].id],o[e.id].c.trigger("revolution.layeraction",[a]),"enterstage"===a.eventtype&&o.toggleState(o[e.id]._L[e.L[0].id].layertoggledby),"frame_1"===e.frame&&o.animcompleted(e.L,e.id)},g=function(e){"frame_999"===e.frame&&(o[e.id]._L[e.L[0].id].pVisRequest=1,o[e.id]._L[e.L[0].id].pPeventsRequest=o[e.id]._L[e.L[0].id].noPevents?"none":"auto",o[e.id]._L[e.L[0].id].leftstage=!1,window.requestAnimationFrame(function(){o.requestLayerUpdates(e.id,"update",e.L[0].id)}))},u=function(e){var i=!0;if("column"===o[e.id]._L[e.L[0].id].type||"row"===o[e.id]._L[e.L[0].id].type||"group"===o[e.id]._L[e.L[0].id].type){var t=o[e.id]._L[e.L[0].id].timeline.currentLabel(),a=jQuery.inArray(t,o[e.id]._L[e.L[0].id].ford);a++,a=o[e.id]._L[e.L[0].id].ford.length>a?o[e.id]._L[e.L[0].id].ford[a]:t,void 0!==o[e.id]._L[e.L[0].id].frames[a]&&void 0!==o[e.id]._L[e.L[0].id].frames[t]&&(o[e.id]._L[e.L[0].id].timezone={from:parseInt(o[e.id]._L[e.L[0].id].frames[t].timeline.startAbsolute,0),to:parseInt(o[e.id]._L[e.L[0].id].frames[a].timeline.startAbsolute,0)})}if("frame_999"!==e.frame&&o[e.id].isEdge&&"shape"===o[e.id]._L[e.L[0].id].type){var r=o[e.id]._L[e.L[0].id].c[0].style.opacity;o[e.id]._L[e.L[0].id].c[0].style.opacity=r-1e-4,tpGS.gsap.set(o[e.id]._L[e.L[0].id].c[0],{opacity:r-.001,delay:.05}),tpGS.gsap.set(o[e.id]._L[e.L[0].id].c[0],{opacity:r,delay:.1})}var s={};s.layer=e.L,s.eventtype="frame_0"===e.frame||"frame_1"===e.frame?"enteredstage":"frame_999"===e.frame?"leftstage":"frameended",o[e.id]._L[e.L[0].id].readyForHover=!0,s.layertype=o[e.id]._L[e.L[0].id].type,s.frame_index=e.frame,s.layersettings=o[e.id]._L[e.L[0].id],o[e.id].c.trigger("revolution.layeraction",[s]),"frame_999"===e.frame&&"leftstage"===s.eventtype?(o[e.id]._L[e.L[0].id].leftstage=!0,o[e.id]._L[e.L[0].id].pVisRequest=0,o[e.id]._L[e.L[0].id].pPeventsRequest="none",i=!1,window.requestAnimationFrame(function(){o.requestLayerUpdates(e.id,"leftstage",e.L[0].id)})):(e.L[0].id,void 0!==o[e.id]._L[e.L[0].id].frames[e.frame]&&void 0!==o[e.id]._L[e.L[0].id].frames[e.frame].timeline&&0==o[e.id]._L[e.L[0].id].frames[e.frame].timeline.usePerspective&&window.requestAnimationFrame(function(){o.requestLayerUpdates(e.id,"frameended",e.L[0].id,e.tPE)})),"leftstage"===s.eventtype&&void 0!==o[e.id].videos&&void 0!==o[e.id].videos[e.L[0].id]&&o.stopVideo&&o.stopVideo(e.L,e.id),"column"===o[e.id]._L[e.L[0].id].type&&tpGS.gsap.to(o[e.id]._L[e.L[0].id].cbg,.01,{visibility:"visible"}),"leftstage"===s.eventtype&&(o.unToggleState(e.layertoggledby),"video"===o[e.id]._L[e.L[0].id].type&&o.resetVideo&&setTimeout(function(){o.resetVideo(e.L,e.id)},100)),o[e.id].BUG_safari_clipPath&&!i&&e.L[0].classList.add("rs-pelock"),void 0!==o[e.id]._L[e.L[0].id].layerLoop&&o[e.id]._L[e.L[0].id].layerLoop.to===e.frame&&(-1==o[e.id]._L[e.L[0].id].layerLoop.repeat||o[e.id]._L[e.L[0].id].layerLoop.repeat>o[e.id]._L[e.L[0].id].layerLoop.count)&&o.renderLayerAnimation({layer:o[e.id]._L[e.L[0].id].c,frame:o[e.id]._L[e.L[0].id].layerLoop.from,updateChildren:o[e.id]._L[e.L[0].id].layerLoop.children,mode:"continue",fastforward:!0===o[e.id]._L[e.L[0].id].layerLoop.keep,id:e.id})},h=function(e){if(void 0===e)return"";var i="";return o.isChrome8889&&0===e.blur&&(e.blur=.05),i=void 0!==e.blur?"blur("+(e.blur||0)+"px)":"",i+=void 0!==e.grayscale?(i.length>0?" ":"")+"grayscale("+(e.grayscale||0)+"%)":"",""===(i+=void 0!==e.brightness?(i.length>0?" ":"")+"brightness("+(e.brightness||100)+"%)":"")?"none":i},m=function(e,i,t){var a,r=o.clone(e.transform);if((r.originX||r.originY||r.originZ)&&(r.transformOrigin=(void 0===r.originX?"50%":r.originX)+" "+(void 0===r.originY?"50%":r.originY)+" "+(void 0===r.originZ?"50%":r.originZ),delete r.originX,delete r.originY,delete r.originZ),void 0!==e&&void 0!==e.filter&&(r.filter=h(e.filter),r["-webkit-filter"]=r.filter),r.color=void 0===r.color?"rgba(255,255,255,1)":r.color,r.force3D="auto",void 0!==r.borderRadius&&((a=r.borderRadius.split(" ")).length,r.borderTopLeftRadius=a[0],r.borderTopRightRadius=a[1],r.borderBottomRightRadius=a[2],r.borderBottomLeftRadius=a[3],delete r.borderRadius),void 0!==r.borderWidth&&((a=r.borderWidth.split(" ")).length,r.borderTopWidth=a[0],r.borderRightWidth=a[1],r.borderBottomWidth=a[2],r.borderLeftWidth=a[3],delete r.borderWidth),void 0===t.bg||-1===t.bg.indexOf("url")){var s=-1!==t.bgCol.search("gradient"),n=r.backgroundImage&&"string"==typeof r.backgroundImage&&-1!==r.backgroundImage.search("gradient");n&&s?(180!==f(t.bgCol)&&180==f(r.backgroundImage)&&(r.backgroundImage=v(r.backgroundImage,180)),r.backgroundImage=tpGS.getSSGColors(t.bgCol,r.backgroundImage,void 0===r.gs?"fading":r.gs).to):n&&!s?r.backgroundImage=tpGS.getSSGColors(t.bgCol,r.backgroundImage,void 0===r.gs?"fading":r.gs).to:!n&&s&&(r.backgroundImage=tpGS.getSSGColors(t.bgCol,r.backgroundColor,void 0===r.gs?"fading":r.gs).to)}return delete r.gs,r},v=function(e,i){var t=(e=e.split("("))[0];return e.shift(),t+"("+i+"deg, "+e.join("(")},f=function(e){if(-1!==e.search("deg,")){var i=e.split("deg,")[0];if(-1!==i.search(/\(/))return parseInt(i.split("(")[1],10)}return 180},y=function(e,i){if(void 0!==e&&e.indexOf("oc:t")>=0)return{};e=void 0===e?"":e.split(";");var t={fill:o.revToResp("#ffffff",o[i].rle),stroke:"transparent","stroke-width":"0px","stroke-dasharray":"0","stroke-dashoffset":"0"};for(var a in e)if(e.hasOwnProperty(a)){var r=e[a].split(":");switch(r[0]){case"c":t.fill=o.revToResp(r[1],o[i].rle,void 0,"||");break;case"sw":t["stroke-width"]=r[1];break;case"sc":t.stroke=r[1];break;case"so":t["stroke-dashoffset"]=r[1];break;case"sa":t["stroke-dasharray"]=r[1]}}return t},b=function(e){return"c"===e?"center":"l"===e?"left":"r"===e?"right":e},w=function(e){var i=o[e.id]._L[e.layer[0].id],t=!1;if(i.splitText&&!1!==i.splitText&&i.splitText.revert(),"text"===i.type||"button"===i.type){for(var a in i.frames)if(void 0!==i.frames[a].chars||void 0!==i.frames[a].words||void 0!==i.frames[a].lines){t=!0;break}i.splitText=!!t&&new tpGS.SplitText(i.c,{type:"lines,words,chars",wordsClass:"rs_splitted_words",linesClass:"rs_splitted_lines",charsClass:"rs_splitted_chars"})}else i.splitText=!1},_=function(e,i,t){if(void 0!==e&&e.indexOf("block")>=0){var a={};switch(0===i[0].getElementsByClassName("tp-blockmask_in").length&&(i.append('<div class="tp-blockmask_in"></div>'),i.append('<div class="tp-blockmask_out"></div>')),t=void 0===t?"power3.inOut":t,a.ft=[{scaleY:1,scaleX:0,transformOrigin:"0% 50%"},{scaleY:1,scaleX:1,ease:t,immediateRender:!1}],a.t={scaleY:1,scaleX:0,transformOrigin:"100% 50%",ease:t,immediateRender:!1},a.bmask_in=i.find(".tp-blockmask_in"),a.bmask_out=i.find(".tp-blockmask_out"),a.type="block",e){case"blocktoleft":case"blockfromright":a.ft[0].transformOrigin="100% 50%",a.t.transformOrigin="0% 50%";break;case"blockfromtop":case"blocktobottom":a.ft=[{scaleX:1,scaleY:0,transformOrigin:"50% 0%"},{scaleX:1,scaleY:1,ease:t,immediateRender:!1}],a.t={scaleX:1,scaleY:0,transformOrigin:"50% 100%",ease:t,immediateRender:!1};break;case"blocktotop":case"blockfrombottom":a.ft=[{scaleX:1,scaleY:0,transformOrigin:"50% 100%"},{scaleX:1,scaleY:1,ease:t,immediateRender:!1}],a.t={scaleX:1,scaleY:0,transformOrigin:"50% 0%",ease:t,immediateRender:!1}}return a.ft[1].overwrite="auto",a.t.overwrite="auto",a}return!1},x=function(e,i,t,a,r){return 0===o[r].sdir||void 0===i?e:("mask"===t?a="x"===a?"mX":"y"===a?"mY":a:"chars"===t?a="x"===a?"cX":"y"===a?"cY":"dir"===a?"cD":a:"words"===t?a="x"===a?"wX":"y"===a?"wY":"dir"===a?"wD":a:"lines"===t&&(a="x"===a?"lX":"y"===a?"lY":"dir"===a?"lD":a),void 0===i[a]||!1===i[a]?e:void 0!==i&&!0===i[a]?"t"===e||"top"===e?"b":"b"===e||"bottom"===e?"t":"l"===e||"left"===e?"r":"r"===e||"right"===e?"l":-1*e:void 0)},S=function(e){var i,t=o[e.id]._L[e.layer[0].id],a=void 0===e.source?o.clone(e.frame.transform):o.clone(e.frame[e.source]),r={originX:"50%",originY:"50%",originZ:"0"},s=void 0!==t._lig?o[e.id]._L[t._lig[0].id].eow:o[e.id].conw,n=void 0!==t._lig?o[e.id]._L[t._lig[0].id].eoh:o[e.id].conh;for(var d in a)if(a.hasOwnProperty(d)){if(a[d]="object"==typeof a[d]?a[d][o[e.id].level]:a[d],"inherit"===a[d]||"delay"===d||"direction"===d||"use"===d)delete a[d];else if("originX"===d||"originY"===d||"originZ"===d)r[d]=a[d],delete a[d];else if(o.isNumeric(a[d],0))a[d]=x(a[d],e.frame.reverse,e.target,d,e.id,e.id);else if("r"===a[d][0]&&"a"===a[d][1]&&"("===a[d][3])a[d]=a[d].replace("ran","random");else if(a[d].indexOf("cyc(")>=0){var l=a[d].replace("cyc(","").replace(")","").replace("[","").replace("]","").split("|");a[d]=new function(e){return tpGS.gsap.utils.wrap(l,void 0)}}else if(a[d].indexOf("%")>=0&&o.isNumeric(i=parseInt(a[d],0)))a[d]="x"===d?x((t.eow||0)*i/100,e.frame.reverse,e.target,d,e.id):"y"===d?x((t.eoh||0)*i/100,e.frame.reverse,e.target,d,e.id):a[d];else switch(a[d]=a[d].replace("[","").replace("]",""),a[d]=x(a[d],e.frame.reverse,e.target,d,e.id,e.id),a[d]){case"t":case"top":a[d]=0-(t.eoh||0)-("column"===t.type?0:t.calcy||0)-o.getLayerParallaxOffset(e.id,e.layer[0].id,"v")-("row"===t.type&&void 0!==t.marginTop?t.marginTop[o[e.id].level]:0);break;case"b":case"bottom":a[d]=n-("column"===t.type?0:t.calcy||0)+o.getLayerParallaxOffset(e.id,e.layer[0].id,"v");break;case"l":case"left":a[d]=0-("row"===t.type?t.pow:t.eow||0)-("column"===t.type?0:"row"===t.type?t.rowcalcx:t.calcx||0)-o.getLayerParallaxOffset(e.id,e.layer[0].id,"h");break;case"r":case"right":a[d]=s-("column"===t.type?0:"row"===t.type?t.rowcalcx:t.calcx||0)+o.getLayerParallaxOffset(e.id,e.layer[0].id,"h");break;case"m":case"c":case"middle":case"center":a[d]="x"===d?x(s/2-("column"===t.type?0:t.calcx||0)-(t.eow||0)/2,e.frame.reverse,e.target,d,e.id):"y"===d?x(n/2-("column"===t.type?0:t.calcy||0)-(t.eoh||0)/2,e.frame.reverse,e.target,d,e.id):a[d]}"skewX"===d&&void 0!==a[d]&&(a.scaleY=void 0===a.scaleY?1:parseFloat(a.scaleY),a.scaleY*=Math.cos(parseFloat(a[d])*tpGS.DEG2RAD)),"skewY"===d&&void 0!==a[d]&&(a.scaleX=void 0===a.scaleX?1:parseFloat(a.scaleX),a.scaleX*=Math.cos(parseFloat(a[d])*tpGS.DEG2RAD))}if(a.transformOrigin=r.originX+" "+r.originY+" "+r.originZ,!o[e.id].BUG_ie_clipPath&&void 0!==a.clip&&void 0!==t.clipPath&&t.clipPath.use){var c="rectangle"==t.clipPath.type,p=parseInt(a.clip,0),g=100-parseInt(a.clipB,0),u=Math.round(p/2);switch(t.clipPath.origin){case"invh":a.clipPath="polygon(0% 0%, 0% 100%, "+p+"% 100%, "+p+"% 0%, 100% 0%, 100% 100%, "+g+"% 100%, "+g+"% 0%, 0% 0%)";break;case"invv":a.clipPath="polygon(100% 0%, 0% 0%, 0% "+p+"%, 100% "+p+"%, 100% 100%, 0% 100%, 0% "+g+"%, 100% "+g+"%, 100% 0%)";break;case"cv":a.clipPath=c?"polygon("+(50-u)+"% 0%, "+(50+u)+"% 0%, "+(50+u)+"% 100%, "+(50-u)+"% 100%)":"circle("+p+"% at 50% 50%)";break;case"ch":a.clipPath=c?"polygon(0% "+(50-u)+"%, 0% "+(50+u)+"%, 100% "+(50+u)+"%, 100% "+(50-u)+"%)":"circle("+p+"% at 50% 50%)";break;case"l":a.clipPath=c?"polygon(0% 0%, "+p+"% 0%, "+p+"% 100%, 0% 100%)":"circle("+p+"% at 0% 50%)";break;case"r":a.clipPath=c?"polygon("+(100-p)+"% 0%, 100% 0%, 100% 100%, "+(100-p)+"% 100%)":"circle("+p+"% at 100% 50%)";break;case"t":a.clipPath=c?"polygon(0% 0%, 100% 0%, 100% "+p+"%, 0% "+p+"%)":"circle("+p+"% at 50% 0%)";break;case"b":a.clipPath=c?"polygon(0% 100%, 100% 100%, 100% "+(100-p)+"%, 0% "+(100-p)+"%)":"circle("+p+"% at 50% 100%)";break;case"lt":a.clipPath=c?"polygon(0% 0%,"+2*p+"% 0%, 0% "+2*p+"%)":"circle("+p+"% at 0% 0%)";break;case"lb":a.clipPath=c?"polygon(0% "+(100-2*p)+"%, 0% 100%,"+2*p+"% 100%)":"circle("+p+"% at 0% 100%)";break;case"rt":a.clipPath=c?"polygon("+(100-2*p)+"% 0%, 100% 0%, 100% "+2*p+"%)":"circle("+p+"% at 100% 0%)";break;case"rb":a.clipPath=c?"polygon("+(100-2*p)+"% 100%, 100% 100%, 100% "+(100-2*p)+"%)":"circle("+p+"% at 100% 100%)";break;case"clr":a.clipPath=c?"polygon(0% 0%, 0% "+p+"%, "+(100-p)+"% 100%, 100% 100%, 100% "+(100-p)+"%, "+p+"% 0%)":"circle("+p+"% at 50% 50%)";break;case"crl":a.clipPath=c?"polygon(0% "+(100-p)+"%, 0% 100%, "+p+"% 100%, 100% "+p+"%, 100% 0%, "+(100-p)+"% 0%)":"circle("+p+"% at 50% 50%)"}!0!==o.isFirefox(e.id)&&(a["-webkit-clip-path"]=a.clipPath),a["clip-path"]=a.clipPath,delete a.clip,delete a.clipB}else delete a.clip;return"mask"!==e.target&&(void 0===e.frame||void 0===e.frame.filter&&!e.forcefilter||(a.filter=h(e.frame.filter),a["-webkit-filter"]=a.filter,a["backdrop-filter"]=function(e){if(void 0===e)return"";var i="";return o.isChrome8889&&0===e.b_blur&&(e.b_blur=.05),i=void 0!==e.b_blur?"blur("+(e.b_blur||0)+"px)":"",i+=void 0!==e.b_grayscale?(i.length>0?" ":"")+"grayscale("+(e.b_grayscale||0)+"%)":"",i+=void 0!==e.b_sepia?(i.length>0?" ":"")+"sepia("+(e.b_sepia||0)+"%)":"",i+=void 0!==e.b_invert?(i.length>0?" ":"")+"invert("+(e.b_invert||0)+"%)":"",""==(i+=void 0!==e.b_brightness?(i.length>0?" ":"")+"brightness("+(e.b_brightness||100)+"%)":"")?"none":i}(e.frame.filter),window.isSafari11&&(a["-webkit-backdrop-filter"]=a["backdrop-filter"]),window.isSafari11&&void 0!==a.filter&&void 0===a.rotationX&&void 0!==e.frame.filter&&void 0!==e.frame.filter.blur&&(a.rotationX=.001)),jQuery.inArray(e.source,["chars","words","lines"])>=0&&(void 0!==e.frame[e.source].blur||e.forcefilter)&&(a.filter=h(e.frame[e.source]),a["-webkit-filter"]=a.filter),delete a.grayscale,delete a.blur,delete a.brightness),a.ease=void 0!==a.ease?a.ease:void 0===a.ease&&void 0!==e.ease||void 0!==a.ease&&void 0!==e.ease&&"inherit"===a.ease?e.ease:e.frame.timeline.ease,a.ease=void 0===a.ease||"default"===a.ease?"power3.inOut":a.ease,a},k=function(e,i,t,a,r){var s,n,d={},l={},c={};for(var p in a=void 0===a?"transform":a,"loop"===r?(c.autoRotate=!1,c.yoyo_filter=!1,c.yoyo_rotate=!1,c.yoyo_move=!1,c.yoyo_scale=!1,c.curved=!1,c.curviness=2,c.ease="none",c.speed=1e3,c.st=0,d.x=0,d.y=0,d.z=0,d.xr=0,d.yr=0,d.zr=0,d.scaleX=1,d.scaleY=1,d.originX="50%",d.originY="50%",d.originZ="0",d.rotationX="0deg",d.rotationY="0deg",d.rotationZ="0deg"):(c.speed=300,t?c.ease="default":d.ease="default"),"sfx"===r&&(d.fxc="#ffffff"),e=e.split(";"))if(e.hasOwnProperty(p)){var g=e[p].split(":");switch(g[0]){case"u":d.use="true"===g[1]||"t"===g[1]||fasle;break;case"c":s=g[1];break;case"fxc":d.fxc=g[1];break;case"bgc":n=g[1];break;case"auto":d.auto="t"===g[1]||void 0===g[1]||"true"===g[1];break;case"o":d.opacity=g[1];break;case"oX":d.originX=g[1];break;case"oY":d.originY=g[1];break;case"oZ":d.originZ=g[1];break;case"sX":d.scaleX=g[1];break;case"sY":d.scaleY=g[1];break;case"skX":d.skewX=g[1];break;case"skY":d.skewY=g[1];break;case"rX":d.rotationX=g[1],0!=g[1]&&"0deg"!==g[1]&&o.addSafariFix(i);break;case"rY":d.rotationY=g[1],0!=g[1]&&"0deg"!==g[1]&&o.addSafariFix(i);break;case"rZ":d.rotationZ=g[1];break;case"sc":d.color=g[1];break;case"se":d.effect=g[1];break;case"bos":d.borderStyle=g[1];break;case"boc":d.borderColor=g[1];break;case"td":d.textDecoration=g[1];break;case"zI":d.zIndex=g[1];break;case"tp":d.transformPerspective="isometric"===o[i].perspectiveType?0:"global"===o[i].perspectiveType?o[i].perspective:g[1];break;case"cp":d.clip=parseInt(g[1],0);break;case"cpb":d.clipB=parseInt(g[1],0);break;case"aR":c.autoRotate="t"==g[1];break;case"rA":c.radiusAngle=g[1];break;case"yyf":c.yoyo_filter="t"==g[1];break;case"yym":c.yoyo_move="t"==g[1];break;case"yyr":c.yoyo_rotate="t"==g[1];break;case"yys":c.yoyo_scale="t"==g[1];break;case"crd":c.curved="t"==g[1];break;case"x":d.x="reverse"===r?"t"===g[1]||!0===g[1]||"true"==g[1]:"loop"===r?parseInt(g[1],0):o.revToResp(g[1],o[i].rle);break;case"y":d.y="reverse"===r?"t"===g[1]||!0===g[1]||"true"==g[1]:"loop"===r?parseInt(g[1],0):o.revToResp(g[1],o[i].rle);break;case"z":d.z="loop"===r?parseInt(g[1],0):o.revToResp(g[1],o[i].rle),0!=g[1]&&o.addSafariFix(i);break;case"bow":d.borderWidth=o.revToResp(g[1],4,0).toString().replace(/,/g," ");break;case"bor":d.borderRadius=o.revToResp(g[1],4,0).toString().replace(/,/g," ");break;case"m":d.mask="t"===g[1]||"f"!==g[1]&&g[1];break;case"iC":d.instantClick="t"===g[1]||"f"!==g[1]&&g[1];break;case"xR":d.xr=parseInt(g[1],0),o.addSafariFix(i);break;case"yR":d.yr=parseInt(g[1],0),o.addSafariFix(i);break;case"zR":d.zr=parseInt(g[1],0);break;case"blu":"loop"===r?d.blur=parseInt(g[1],0):l.blur=parseInt(g[1],0);break;case"gra":"loop"===r?d.grayscale=parseInt(g[1],0):l.grayscale=parseInt(g[1],0);break;case"bri":"loop"===r?d.brightness=parseInt(g[1],0):l.brightness=parseInt(g[1],0);break;case"bB":l.b_blur=parseInt(g[1],0);break;case"bG":l.b_grayscale=parseInt(g[1],0);break;case"bR":l.b_brightness=parseInt(g[1],0);break;case"bI":l.b_invert=parseInt(g[1],0);break;case"bS":l.b_sepia=parseInt(g[1],0);break;case"sp":c.speed=parseInt(g[1],0);break;case"d":d.delay=parseInt(g[1],0);break;case"crns":c.curviness=parseInt(g[1],0);break;case"st":c.start="w"===g[1]||"a"===g[1]?"+=0":g[1],c.waitoncall="w"===g[1]||"a"===g[1];break;case"sA":c.startAbsolute=g[1];break;case"sR":c.startRelative=g[1];break;case"e":t?c.ease=g[1]:d.ease=g[1];break;default:g[0].length>0&&(d[g[0]]="t"===g[1]||"f"!==g[1]&&g[1])}}var u={timeline:c};return jQuery.isEmptyObject(l)||("split"===r?d=jQuery.extend(!0,d,l):u.filter=l),"split"===r&&(d.dir=void 0===d.dir?"start":"backward"===d.dir?"end":"middletoedge"===d.dir?"center":"edgetomiddle"===d.dir?"edge":d.dir),jQuery.isEmptyObject(s)||(u.color=s),jQuery.isEmptyObject(n)||(u.bgcolor=n),u[a]=d,u},L=function(e,i){var t={},a=0;if(void 0===window.rdF0){var r=k("x:0;y:0;z:0;rX:0;rY:0;rZ:0;o:0;skX:0;skY:0;sX:0;sY:0;oX:50%;oY:50%;oZ:0;dir:forward;d:5",i).transform;window.rdF0=window.rdF1={transform:k("x:0;y:0;z:0;rX:0;rY:0;rZ:0;o:0;skX:0;skY:0;sX:0;sY:0;oX:50%;oY:50%;oZ:0;tp:600px",i,!0).transform,mask:k("x:0;y:0",i,!0).transform,chars:jQuery.extend(!0,{blur:0,grayscale:0,brightness:100},r),words:jQuery.extend(!0,{blur:0,grayscale:0,brightness:100},r),lines:jQuery.extend(!0,{blur:0,grayscale:0,brightness:100},r)},window.rdF1.transform.opacity=window.rdF1.chars.opacity=window.rdF1.words.opacity=window.rdF1.lines.opacity=window.rdF1.transform.scaleX=window.rdF1.chars.scaleX=window.rdF1.words.scaleX=window.rdF1.lines.scaleX=window.rdF1.transform.scaleY=window.rdF1.chars.scaleY=window.rdF1.words.scaleY=window.rdF1.lines.scaleY=1}for(var a in void 0===e.frame_0&&(e.frame_0="x:0"),void 0===e.frame_1&&(e.frame_1="x:0"),e.dddNeeded=!1,e.ford)if(e.ford.hasOwnProperty(a)){var n=e.ford[a];if(e[n]){if(t[n]=k(e[n],i,!0),void 0!==t[n].bgcolor&&(e.bgcolinuse=!0),o[i].BUG_ie_clipPath&&void 0!==e.clipPath&&e.clipPath.use&&void 0!==t[n].transform.clip){var d="rectangle"===e.clipPath.type?100-parseInt(t[n].transform.clip):100-Math.min(100,2*parseInt(t[n].transform.clip));switch(e.clipPath.origin){case"clr":case"rb":case"rt":case"r":e[n+"_mask"]="u:t;x:"+d+"%;y:0px;",t[n].transform.x=o.revToResp("-"+d+"%",o[i].rle);break;case"crl":case"lb":case"lt":case"cv":case"l":e[n+"_mask"]="u:t;x:-"+d+"%;y:0px;",t[n].transform.x=o.revToResp(d+"%",o[i].rle);break;case"ch":case"t":e[n+"_mask"]="u:t;y:-"+d+"%;y:0px;",t[n].transform.y=o.revToResp(d+"%",o[i].rle);break;case"b":e[n+"_mask"]="u:t;y:"+d+"%;y:0px;",t[n].transform.y=o.revToResp("-"+d+"%",o[i].rle)}delete t[n].transform.clip,delete t[n].transform.clipB}e[n+"_mask"]&&(t[n].mask=k(e[n+"_mask"],i).transform),null!=t[n].mask&&t[n].mask.use?(t[n].mask.x=void 0===t[n].mask.x?0:t[n].mask.x,t[n].mask.y=void 0===t[n].mask.y?0:t[n].mask.y,delete t[n].mask.use,t[n].mask.overflow="hidden"):t[n].mask={ease:"default",overflow:"visible"},e[n+"_chars"]&&(t[n].chars=k(e[n+"_chars"],i,void 0,void 0,"split").transform),e[n+"_words"]&&(t[n].words=k(e[n+"_words"],i,void 0,void 0,"split").transform),e[n+"_lines"]&&(t[n].lines=k(e[n+"_lines"],i,void 0,void 0,"split").transform),(e[n+"_chars"]||e[n+"_words"]||e[n+"_lines"])&&(t[n].dosplit=!0),t.frame_0=void 0===t.frame_0?{transform:{}}:t.frame_0,t[n].transform.auto&&(t[n].transform=o.clone(t.frame_0.transform),t[n].transform.opacity=void 0===t[n].transform.opacity?0:t[n].transform.opacity,void 0!==t.frame_0.filter&&(t[n].filter=o.clone(t.frame_0.filter)),void 0!==t.frame_0.mask&&(t[n].mask=o.clone(t.frame_0.mask)),void 0!==t.frame_0.chars&&(t[n].chars=o.clone(t.frame_0.chars)),void 0!==t.frame_0.words&&(t[n].words=o.clone(t.frame_0.words)),void 0!==t.frame_0.lines&&(t[n].lines=o.clone(t.frame_0.lines)),void 0===t.frame_0.chars&&void 0===t.frame_0.words&&void 0===t.frame_0.lines||(t[n].dosplit=!0)),e[n+"_sfx"]&&(t[n].sfx=k(e[n+"_sfx"],i,!1,void 0,"sfx").transform),e[n+"_reverse"]&&(t[n].reverse=k(e[n+"_reverse"],i,!1,void 0,"reverse").transform)}}if(t.frame_0.dosplit&&(t.frame_1.dosplit=!0),void 0===e.frame_hover&&void 0===e.svgh||(t.frame_hover=k(void 0===e.frame_hover?"":e.frame_hover,i),!s||"true"!=t.frame_hover.transform.instantClick&&1!=t.frame_hover.transform.instantClick?(delete t.frame_hover.transform.instantClick,t.frame_hover.transform.color=t.frame_hover.color,void 0===t.frame_hover.transform.color&&delete t.frame_hover.transform.color,void 0!==t.frame_hover.bgcolor&&t.frame_hover.bgcolor.indexOf("gradient")>=0?t.frame_hover.transform.backgroundImage=t.frame_hover.bgcolor:void 0!==t.frame_hover.bgcolor&&(t.frame_hover.transform.backgroundColor=t.frame_hover.bgcolor),void 0!==t.frame_hover.bgcolor&&(e.bgcolinuse=!0),t.frame_hover.transform.opacity=void 0===t.frame_hover.transform.opacity?1:t.frame_hover.transform.opacity,t.frame_hover.mask=void 0!==t.frame_hover.transform.mask&&t.frame_hover.transform.mask,delete t.frame_hover.transform.mask,void 0!==t.frame_hover.transform&&((t.frame_hover.transform.borderWidth||t.frame_hover.transform.borderStyle)&&(t.frame_hover.transform.borderColor=void 0===t.frame_hover.transform.borderColor?"transparent":t.frame_hover.transform.borderColor),"none"!==t.frame_hover.transform.borderStyle&&void 0===t.frame_hover.transform.borderWidth&&(t.frame_hover.transform.borderWidth=o.revToResp(0,4,0).toString().replace(/,/g," ")),void 0===e.bordercolor&&void 0!==t.frame_hover.transform.borderColor&&(e.bordercolor="transparent"),void 0===e.borderwidth&&void 0!==t.frame_hover.transform.borderWidth&&(e.borderwidth=o.revToResp(t.frame_hover.transform.borderWidth,4,0)),void 0===e.borderstyle&&void 0!==t.frame_hover.transform.borderStyle&&(e.borderstyle=o.revToResp(t.frame_hover.transform.borderStyle,4,0)))):delete t.frame_hover),void 0!==e.tloop){e.layerLoop={from:"frame_1",to:"frame_999",repeat:-1,keep:!0,children:!0};var l=e.tloop.split(";");for(var a in l)if(l.hasOwnProperty(a)){var c=l[a].split(":");switch(c[0]){case"f":e.layerLoop.from=c[1];break;case"t":e.layerLoop.to=c[1];break;case"k":e.layerLoop.keep=c[1];break;case"r":e.layerLoop.repeat=parseInt(c[1],0);break;case"c":e.layerLoop.children=c[1]}}e.layerLoop.count=0}for(var a in(e.loop_0||e.loop_999)&&(t.loop=k(e.loop_999,i,!0,"frame_999","loop"),t.loop.frame_0=k(e.loop_0||"",i,!1,void 0,"loop").transform),t.frame_0.transform.opacity=void 0===t.frame_0.transform.opacity?0:t.frame_0.transform.opacity,t.frame_1.transform.opacity=void 0===t.frame_1.transform.opacity?1:t.frame_1.transform.opacity,t.frame_999.transform.opacity=void 0===t.frame_999.transform.opacity?"inherit":t.frame_999.transform.opacity,e.clipPath&&e.clipPath.use&&(t.frame_0.transform.clip=void 0===t.frame_0.transform.clip?100:parseInt(t.frame_0.transform.clip),t.frame_1.transform.clip=void 0===t.frame_1.transform.clip?100:parseInt(t.frame_1.transform.clip)),e.resetfilter=!1,e.useFilter={blur:!1,grayscale:!1,brightness:!1,b_blur:!1,b_grayscale:!1,b_brightness:!1,b_invert:!1,b_sepia:!1},t)void 0!==t[a].filter&&(e.resetfilter=!0,e.useFilter=I(e.useFilter,t[a].filter));if(!0!==e.resetFilter&&void 0!==t.frame_hover&&(e.useFilter=I(e.useFilter,t.frame_hover)),e.resetfilter)for(var a in t.frame_0.filter=o.clone(t.frame_0.filter),t.frame_0.filter=R(e.useFilter,o.clone(t.frame_0.filter)),t)void 0!==t[a].filter&&"frame_1"!==a&&"frame_0"!==a&&(t[a].filter=o.clone(t[a].filter),t[a].filter=R(e.useFilter,o.clone(t[a].filter)));return void 0!==t.frame_0.filter&&(t.frame_1.filter=o.clone(t.frame_1.filter),void 0!==t.frame_0.filter.blur&&0!==t.frame_1.filter.blur&&(t.frame_1.filter.blur=void 0===t.frame_1.filter.blur?0:t.frame_1.filter.blur),void 0!==t.frame_0.filter.brightness&&100!==t.frame_1.filter.brightness&&(t.frame_1.filter.brightness=void 0===t.frame_1.filter.brightness?100:t.frame_1.filter.brightness),void 0!==t.frame_0.filter.grayscale&&0!==t.frame_1.filter.grayscale&&(t.frame_1.filter.grayscale=void 0===t.frame_1.filter.grayscale?0:t.frame_1.filter.grayscale),void 0!==t.frame_0.filter.b_blur&&0!==t.frame_1.filter.b_blur&&(t.frame_1.filter.b_blur=void 0===t.frame_1.filter.b_blur?0:t.frame_1.filter.b_blur),void 0!==t.frame_0.filter.b_brightness&&100!==t.frame_1.filter.b_brightness&&(t.frame_1.filter.b_brightness=void 0===t.frame_1.filter.b_brightness?100:t.frame_1.filter.b_brightness),void 0!==t.frame_0.filter.b_grayscale&&0!==t.frame_1.filter.b_grayscale&&(t.frame_1.filter.b_grayscale=void 0===t.frame_1.filter.b_grayscale?0:t.frame_1.filter.b_grayscale),void 0!==t.frame_0.filter.b_invert&&0!==t.frame_1.filter.b_invert&&(t.frame_1.filter.b_invert=void 0===t.frame_1.filter.b_invert?0:t.frame_1.filter.b_invert),void 0!==t.frame_0.filter.b_sepia&&0!==t.frame_1.filter.b_sepia&&(t.frame_1.filter.b_sepia=void 0===t.frame_1.filter.b_sepia?0:t.frame_1.filter.b_sepia)),T(t,i,e)},R=function(e,i){return e.blur?i.blur=void 0===i.blur?0:i.blur:delete i.blur,e.brightness?i.brightness=void 0===i.brightness?100:i.brightness:delete i.brightness,e.grayscale?i.grayscale=void 0===i.grayscale?0:i.grayscale:delete i.grayscale,e.b_blur?i.b_blur=void 0===i.b_blur?0:i.b_blur:delete i.b_blur,e.b_brightness?i.b_brightness=void 0===i.b_brightness?100:i.b_brightness:delete i.b_brightness,e.b_grayscale?i.b_grayscale=void 0===i.b_grayscale?0:i.b_grayscale:delete i.b_grayscale,e.b_invert?i.b_invert=void 0===i.b_invert?0:i.b_invert:delete i.b_invert,e.b_sepia?i.b_sepia=void 0===i.b_sepia?0:i.b_sepia:delete i.b_sepia,i},I=function(e,i){return e.blur=!0===e.blur||void 0!==i.blur&&0!==i.blur&&"0px"!==i.blur,e.grayscale=!0===e.grayscale||void 0!==i.grayscale&&0!==i.grayscale&&"0%"!==i.grayscale,e.brightness=!0===e.brightness||void 0!==i.brightness&&100!==i.brightness&&"100%"!==i.brightness,e.b_blur=!0===e.b_blur||void 0!==i.b_blur&&0!==i.b_blur&&"0px"!==i.b_blur,e.b_grayscale=!0===e.b_grayscale||void 0!==i.b_grayscale&&0!==i.b_grayscale&&"0%"!==i.b_grayscale,e.b_brightness=!0===e.b_brightness||void 0!==i.b_brightness&&100!==i.b_brightness&&"100%"!==i.b_brightness,e.b_invert=!0===e.b_invert||void 0!==i.b_invert&&0!==i.b_invert&&"0%"!==i.b_invert,e.b_sepia=!0===e.b_sepia||void 0!==i.b_sepia&&0!==i.b_sepia&&"0%"!==i.b_sepia,e},O=function(e){return void 0!==e&&(void 0!==e.rotationY||void 0!==e.rotationX||void 0!==e.z)},T=function(e,i,t){var a,r={},s=["transform","words","chars","lines","mask"],n="global"==o[i].perspectiveType?o[i].perspective:0,d=!0,l=!1;for(var c in e)"loop"!==c&&"frame_hover"!==c&&(r=jQuery.extend(!0,r,e[c]));for(var c in e)if(e.hasOwnProperty(c)&&(void 0!==e[c].timeline&&(e[c].timeline.usePerspective=!1),"loop"!==c&&"frame_hover"!==c)){for(a in r.transform)r.transform.hasOwnProperty(a)&&(r.transform[a]=void 0===e[c].transform[a]?"frame_0"===c?window.rdF0.transform[a]:"frame_1"===c?window.rdF1.transform[a]:r.transform[a]:e[c].transform[a],e[c].transform[a]=void 0===e[c].transform[a]?r.transform[a]:e[c].transform[a]);for(var p=1;p<=4;p++)for(a in r[s[p]])r[s[p]].hasOwnProperty(a)&&(e[c][s[p]]=void 0===e[c][s[p]]?{}:e[c][s[p]],r[s[p]][a]=void 0===e[c][s[p]][a]?"frame_0"===c?window.rdF0[s[p]][a]:"frame_1"===c?window.rdF1[s[p]][a]:r[s[p]][a]:e[c][s[p]][a],e[c][s[p]][a]=void 0===e[c][s[p]][a]?r[s[p]][a]:e[c][s[p]][a]);void 0!==e[c].timeline&&!1===e[c].timeline.usePerspective&&void 0!==e[c].transform&&(void 0!==e[c].transform.rotationY||void 0!==e[c].transform.rotationX||void 0!==e[c].transform.z||O(e[c].chars)||O(e[c].words)||O(e[c].lines))&&(n="local"==o[i].perspectiveType?void 0===e[c].transform.transformPerspective?600:e[c].transform.transformPerspective:n,e[c].timeline.usePerspective=!0,(O(e[c].chars)||O(e[c].words)||O(e[c].lines))&&!o.isFirefox(i)&&(l=!0),d=!1)}if(l&&requestAnimationFrame(function(){tpGS.gsap.set(t.c,{transformStyle:"preserve-3d"})}),void 0!==e.frame_0.timeline&&e.frame_0.timeline.usePerspective&&(e.frame_0.transform.transformPerspective="local"===o[i].perspectiveType?void 0===e.frame_0.transform.transformPerspective?n:e.frame_0.transform.transformPerspective:"isometric"===o[i].perspectiveType?0:o[i].perspective),d)for(var c in e){if(!e.hasOwnProperty(c)||void 0===e[c].transform)continue;delete e[c].transform.transformPerspective}return e},C=function(e,i,t){if(0===e.length)return{};for(var a=e[0].getElementsByClassName(i),r={},o=0;o<a.length;o++)void 0!==t&&-1!==a[o].className.indexOf(t)||(r[a[o].id]=a[o]);if(void 0!==e[1])for(a=e[1].getElementsByClassName(i),o=0;o<a.length;o++)void 0!==t&&-1!==a[o].className.indexOf(t)||(r[a[o].id]=a[o]);return r},A=function(e){return"thin"===(e=o.isNumeric(e)?e:e.toLowerCase())?"00":"extra light"===e?200:"light"===e?300:"normal"===e?400:"medium"===e?500:"semi bold"===e?600:"bold"===e?700:"extra bold"===e?800:"ultra bold"===e?900:"black"===e?900:e},M=function(e,i,s){var n;if("BR"==e[0].nodeName||"br"==e[0].tagName||"object"!=typeof e[0].className&&e[0].className.indexOf("rs_splitted_")>=0)return!1;o.sA(e[0],"stylerecorder",!0),void 0===e[0].id&&(e[0].id="rs-layer-sub-"+Math.round(1e6*Math.random())),o[s].computedStyle[e[0].id]=window.getComputedStyle(e[0],null);var d=void 0!==e[0].id&&void 0!==o[s]._L[e[0].id]?o[s]._L[e[0].id]:e.data(),l="rekursive"===i?jQuery(o.closestClass(e[0],"rs-layer")):void 0;void 0!==l&&(o[s].computedStyle[l[0].id]=void 0===o[s].computedStyle[l[0].id]?window.getComputedStyle(l[0],null):o[s].computedStyle[l[0].id]);var c=void 0!==l&&o[s].computedStyle[e[0].id].fontSize==o[s].computedStyle[l[0].id].fontSize&&A(o[s].computedStyle[e[0].id].fontWeight)==A(o[s].computedStyle[l[0].id].fontWeight)&&o[s].computedStyle[e[0].id].lineHeight==o[s].computedStyle[l[0].id].lineHeight,p=c?void 0!==l[0].id&&void 0!==o[s]._L[l[0].id]?o[s]._L[l[0].id]:l.data():void 0,g=0;for(d.basealign=void 0===d.basealign?"grid":d.basealign,d._isnotext||(d.fontSize=o.revToResp(c?void 0===p.fontsize?parseInt(o[s].computedStyle[l[0].id].fontSize,0)||20:p.fontsize:void 0===d.fontsize?"rekursive"!==i?20:"inherit":d.fontsize,o[s].rle),d.fontWeight=o.revToResp(c?void 0===p.fontweight?o[s].computedStyle[l[0].id].fontWeight||"inherit":p.fontweight:void 0===d.fontweight?o[s].computedStyle[e[0].id].fontWeight||"inherit":d.fontweight,o[s].rle),d.whiteSpace=o.revToResp(c?void 0===p.whitespace?"nowrap":p.whitespace:void 0===d.whitespace?"nowrap":d.whitespace,o[s].rle),d.textAlign=o.revToResp(c?void 0===p.textalign?"left":p.textalign:void 0===d.textalign?"left":d.textalign,o[s].rle),d.letterSpacing=o.revToResp(c?void 0===p.letterspacing?parseInt(o[s].computedStyle[l[0].id].letterSpacing,0)||"inherit":p.letterspacing:void 0===d.letterspacing?parseInt("normal"===o[s].computedStyle[e[0].id].letterSpacing?0:o[s].computedStyle[e[0].id].letterSpacing,0)||"inherit":d.letterspacing,o[s].rle),d.textDecoration=c?void 0===p.textDecoration?"none":p.textDecoration:void 0===d.textDecoration?"none":d.textDecoration,g=25,g=void 0!==l&&"I"===e[0].tagName?"inherit":g,void 0!==d.tshadow&&(d.tshadow.b=o.revToResp(d.tshadow.b,o[s].rle),d.tshadow.h=o.revToResp(d.tshadow.h,o[s].rle),d.tshadow.v=o.revToResp(d.tshadow.v,o[s].rle))),void 0!==d.bshadow&&(d.bshadow.b=o.revToResp(d.bshadow.b,o[s].rle),d.bshadow.h=o.revToResp(d.bshadow.h,o[s].rle),d.bshadow.v=o.revToResp(d.bshadow.v,o[s].rle),d.bshadow.s=o.revToResp(d.bshadow.s,o[s].rle)),void 0!==d.tstroke&&(d.tstroke.w=o.revToResp(d.tstroke.w,o[s].rle)),d.display=c?void 0===p.display?o[s].computedStyle[l[0].id].display:p.display:void 0===d.display?o[s].computedStyle[e[0].id].display:d.display,d.float=o.revToResp(c?void 0===p.float?o[s].computedStyle[l[0].id].float||"none":p.float:void 0===d.float?"none":d.float,o[s].rle),d.clear=o.revToResp(c?void 0===p.clear?o[s].computedStyle[l[0].id].clear||"none":p.clear:void 0===d.clear?"none":d.clear,o[s].rle),d.lineHeight=o.revToResp(e.is("img")||-1!=jQuery.inArray(d.layertype,["video","image","audio"])?g:c?void 0===p.lineheight?parseInt(o[s].computedStyle[l[0].id].lineHeight,0)||g:p.lineheight:void 0===d.lineheight?g:d.lineheight,o[s].rle),d.zIndex=c?void 0===p.zindex?parseInt(o[s].computedStyle[l[0].id].zIndex,0)||"inherit":p.zindex:void 0===d.zindex?parseInt(o[s].computedStyle[e[0].id].zIndex,0)||"inherit":d.zindex,n=0;n<4;n++)d["padding"+t[n]]=o.revToResp(void 0===d["padding"+r[n]]?parseInt(o[s].computedStyle[e[0].id]["padding"+t[n]],0)||0:d["padding"+r[n]],o[s].rle),d["margin"+t[n]]=o.revToResp(void 0===d["margin"+r[n]]?parseInt(o[s].computedStyle[e[0].id]["margin"+t[n]],0)||0:d["margin"+r[n]],o[s].rle),d["border"+t[n]+"Width"]=void 0===d.borderwidth?parseInt(o[s].computedStyle[e[0].id]["border"+t[n]+"Width"],0)||0:d.borderwidth[n],d["border"+t[n]+"Color"]=void 0===d.bordercolor?o[s].computedStyle[e[0].id]["border-"+r[n]+"-color"]:d.bordercolor,d["border"+a[n]+"Radius"]=o.revToResp(void 0===d.borderradius?o[s].computedStyle[e[0].id]["border"+a[n]+"Radius"]||0:d.borderradius[n],o[s].rle);for(d.borderStyle=o.revToResp(void 0===d.borderstyle?o[s].computedStyle[e[0].id].borderStyle||0:d.borderstyle,o[s].rle),"rekursive"!==i?(d.color=o.revToResp(void 0===d.color?"#ffffff":d.color,o[s].rle,void 0,"||"),d.minWidth=o.revToResp(void 0===d.minwidth?parseInt(o[s].computedStyle[e[0].id].minWidth,0)||0:d.minwidth,o[s].rle),d.minHeight=o.revToResp(void 0===d.minheight?parseInt(o[s].computedStyle[e[0].id].minHeight,0)||0:d.minheight,o[s].rle),d.width=o.revToResp(void 0===d.width?"auto":o.smartConvertDivs(d.width),o[s].rle),d.height=o.revToResp(void 0===d.height?"auto":o.smartConvertDivs(d.height),o[s].rle),d.maxWidth=o.revToResp(void 0===d.maxwidth?parseInt(o[s].computedStyle[e[0].id].maxWidth,0)||"none":d.maxwidth,o[s].rle),d.maxHeight=o.revToResp(-1!==jQuery.inArray(d.type,["column","row"])?"none":void 0!==d.maxheight?parseInt(o[s].computedStyle[e[0].id].maxHeight,0)||"none":d.maxheight,o[s].rle)):"html"===d.layertype&&(d.width=o.revToResp(e[0].width,o[s].rle),d.height=o.revToResp(e[0].height,o[s].rle)),d.styleProps={background:e[0].style.background,"background-color":e[0].style["background-color"],color:e[0].style.color,cursor:e[0].style.cursor,"font-style":e[0].style["font-style"]},null==d.bshadow&&(d.styleProps.boxShadow=e[0].style.boxShadow),""!==d.styleProps.background&&void 0!==d.styleProps.background&&d.styleProps.background!==d.styleProps["background-color"]||delete d.styleProps.background,""==d.styleProps.color&&(d.styleProps.color=o[s].computedStyle[e[0].id].color),n=0;n<4;n++)P(d["padding"+t[n]],0)&&delete d["padding"+t[n]],P(d["margin"+t[n]],0)&&delete d["margin"+t[n]],P(d["border"+a[n]+"Radius"],"0px")?delete d["border"+a[n]+"Radius"]:P(d["border"+a[n]+"Radius"],"0")&&delete d["border"+a[n]+"Radius"];if(P(d.borderStyle,"none"))for(delete d.borderStyle,n=0;n<4;n++)delete d["border"+t[n]+"Width"],delete d["border"+t[n]+"Color"]},P=function(e,i){return i===e[0]&&i===e[1]&&i===e[2]&&i===e[3]},B=function(e,i,t,a,r){var s=o.isNumeric(e)||void 0===e?"":e.indexOf("px")>=0?"px":e.indexOf("%")>=0?"%":"";return e=o.isNumeric(parseInt(e))?parseInt(e):e,e=null==(e="full"===(e=o.isNumeric(e)?e*i+s:e)?a:"auto"===e||"none"===e?t:e)?r:e},D=function(e){return null!=e&&0!==parseInt(e,0)},z=function(e){var i,s,n,d,l,c,p,g,u,h,m=e.a,v=e.b,f=e.c,y=e.d,b=e.e,w={},_={},x=o[v]._L[m[0].id],S=m[0].className;if(x=void 0===x?{}:x,"object"==typeof S&&(S=""),void 0!==m&&void 0!==m[0]&&(S.indexOf("rs_splitted")>=0||"BR"==m[0].nodeName||"br"==m[0].tagName||m[0].tagName.indexOf("FCR")>0||m[0].tagName.indexOf("BCR")>0))return!1;b="individual"===b?x.slideIndex:b;e=function(e,i,r){if(void 0!==e){if("BR"==e[0].nodeName||"br"==e[0].tagName)return!1;var s,n=o[i].level,d=void 0!==e[0]&&void 0!==e[0].id&&void 0!==o[i]._L[e[0].id]?o[i]._L[e[0].id]:e.data();void 0===(d=void 0===d.basealign?r.data():d)._isnotext&&(d._isnotext=void 0!==r&&void 0!==r[0]&&r[0].length>0?o.gA(r[0],"_isnotext"):d._isnotext);var l={basealign:void 0===d.basealign?"grid":d.basealign,lineHeight:void 0===d.basealign?"inherit":parseInt(d.lineHeight[n]),color:void 0===d.color?void 0:d.color[n],width:void 0===d.width?void 0:"a"===d.width[n]?"auto":d.width[n],height:void 0===d.height?void 0:"a"===d.height[n]?"auto":d.height[n],minWidth:void 0===d.minWidth?void 0:"n"===d.minWidth[n]?"none":d.minWidth[n],minHeight:void 0===d.minHeight?void 0:"n"==d.minHeight[n]?"none":d.minHeight[n],maxWidth:void 0===d.maxWidth?void 0:"n"==d.maxWidth[n]?"none":d.maxWidth[n],maxHeight:void 0===d.maxHeight?void 0:"n"==d.maxHeight[n]?"none":d.maxHeight[n],float:d.float[n],clear:d.clear[n]};for(d.borderStyle&&(l.borderStyle=d.borderStyle[n]),s=0;s<4;s++)d["padding"+t[s]]&&(l["padding"+t[s]]=d["padding"+t[s]][n]),d["margin"+t[s]]&&(l["margin"+t[s]]=parseInt(d["margin"+t[s]][n])),d["border"+a[s]+"Radius"]&&(l["border"+a[s]+"Radius"]=d["border"+a[s]+"Radius"][n]),d["border"+t[s]+"Color"]&&(l["border"+t[s]+"Color"]=d["border"+t[s]+"Color"]),d["border"+t[s]+"Width"]&&(l["border"+t[s]+"Width"]=parseInt(d["border"+t[s]+"Width"]));return d._isnotext||(l.textDecoration=d.textDecoration,l.fontSize=parseInt(d.fontSize[n]),l.fontWeight=parseInt(d.fontWeight[n]),l.letterSpacing=parseInt(d.letterSpacing[n])||0,l.textAlign=d.textAlign[n],l.whiteSpace=d.whiteSpace[n],l.whiteSpace="normal"===l.whiteSpace&&"auto"===l.width&&!0!==d._incolumn?"nowrap":l.whiteSpace,l.display=d.display,void 0!==d.tshadow&&(l.textShadow=parseInt(d.tshadow.h[n],0)+"px "+parseInt(d.tshadow.v[n],0)+"px "+d.tshadow.b[n]+" "+d.tshadow.c),void 0!==d.tstroke&&(l.textStroke=parseInt(d.tstroke.w[n],0)+"px "+d.tstroke.c)),void 0!==d.bshadow&&(l.boxShadow=parseInt(d.bshadow.h[n],0)+"px "+parseInt(d.bshadow.v[n],0)+"px "+parseInt(d.bshadow.b[n],0)+"px "+parseInt(d.bshadow.s[n],0)+"px "+d.bshadow.c),l}}(m,v,e.RSL);var k,L="off"===y?1:o[v].CM.w;if(void 0===x._isnotext&&(x._isnotext=void 0!==e.RSL&&void 0!==e.RSL[0]&&e.RSL[0].length>0?o.gA(e.RSL[0],"_isnotext"):x._isnotext),x.OBJUPD=null==x.OBJUPD?{}:x.OBJUPD,x.caches=null==x.caches?{}:x.caches,"column"===x.type){for(s={},k={},i=0;i<4;i++)void 0!==e["margin"+t[i]]&&(s["padding"+t[i]]=Math.round(e["margin"+t[i]]*L)+"px",k["margin"+t[i]]=e["margin"+t[i]],delete e["margin"+t[i]]);jQuery.isEmptyObject(s)||tpGS.gsap.set(x._column,s)}var R=o.clone(x.OBJUPD.POBJ),I=o.clone(x.OBJUPD.LPOBJ);if(-1===S.indexOf("rs_splitted_")){for(s={overwrite:"auto"},i=0;i<4;i++)void 0!==e["border"+a[i]+"Radius"]&&(s["border"+a[i]+"Radius"]=e["border"+a[i]+"Radius"]),void 0!==e["padding"+t[i]]&&(s["padding"+t[i]]=Math.round(e["padding"+t[i]]*L)+"px"),void 0===e["margin"+t[i]]||x._incolumn||(s["margin"+t[i]]="row"===x.type?0:Math.round(e["margin"+t[i]]*L)+"px");if(void 0!==x.spike&&(s["clip-path"]=s["-webkit-clip-path"]=x.spike),e.boxShadow&&(s.boxShadow=e.boxShadow),"column"!==x.type&&(void 0!==e.borderStyle&&"none"!==e.borderStyle&&(0!==e.borderTopWidth||e.borderBottomWidth>0||e.borderLeftWidth>0||e.borderRightWidth>0)?(s.borderTopWidth=Math.round(e.borderTopWidth*L)+"px",s.borderBottomWidth=Math.round(e.borderBottomWidth*L)+"px",s.borderLeftWidth=Math.round(e.borderLeftWidth*L)+"px",s.borderRightWidth=Math.round(e.borderRightWidth*L)+"px",s.borderStyle=e.borderStyle,s.borderTopColor=e.borderTopColor,s.borderBottomColor=e.borderBottomColor,s.borderLeftColor=e.borderLeftColor,s.borderRightColor=e.borderRightColor):("none"===e.borderStyle&&(s.borderStyle="none"),s.borderTopColor=e.borderTopColor,s.borderBottomColor=e.borderBottomColor,s.borderLeftColor=e.borderLeftColor,s.borderRightColor=e.borderRightColor)),"shape"!==x.type&&"image"!==x.type||!(D(e.borderTopLeftRadius)||D(e.borderTopRightRadius)||D(e.borderBottomLeftRadius)||D(e.borderBottomRightRadius))||(s.overflow="hidden"),x._isnotext||("column"!==x.type&&(s.fontSize=Math.round(e.fontSize*L)+"px",s.fontWeight=e.fontWeight,s.letterSpacing=e.letterSpacing*L+"px",e.textShadow&&(s.textShadow=e.textShadow),e.textStroke&&(s["-webkit-text-stroke"]=e.textStroke)),s.lineHeight=Math.round(e.lineHeight*L)+"px",s.textAlign=e.textAlign),"column"===x.type&&(void 0===x.cbg_set&&(x.cbg_set=x.styleProps["background-color"],x.cbg_set=""==x.cbg_set||void 0===x.cbg_set||0==x.cbg_set.length?"transparent":x.cbg_set,x.cbg_img=m.css("backgroundImage"),""!==x.cbg_img&&void 0!==x.cbg_img&&"none"!==x.cbg_img&&(x.cbg_img_r=m.css("backgroundRepeat"),x.cbg_img_p=m.css("backgroundPosition"),x.cbg_img_s=m.css("backgroundSize")),x.cbg_o=x.bgopacity?1:x.bgopacity,w.backgroundColor="transparent",w.backgroundImage=""),s.backgroundColor="transparent",s.backgroundImage="none"),x._isstatic&&x.elementHovered&&(p=m.data("frames"))&&p.frame_hover&&p.frame_hover.transform)for(g in s)s.hasOwnProperty(g)&&p.frame_hover.transform.hasOwnProperty(g)&&delete s[g];if("IFRAME"==m[0].nodeName&&"html"===o.gA(m[0],"layertype")&&(u="slide"==e.basealign?o[v].module.width:o.iWA(v,b),h="slide"==e.basealign?o[v].module.height:o.iHE(v),s.width=!o.isNumeric(e.width)&&e.width.indexOf("%")>=0?!x._isstatic||x._incolumn||x._ingroup?e.width:u*parseInt(e.width,0)/100:B(e.width,L,"auto",u,"auto"),s.height=!o.isNumeric(e.height)&&e.height.indexOf("%")>=0?!x._isstatic||x._incolumn||x._ingroup?e.height:h*parseInt(e.height,0)/100:B(e.height,L,"auto",u,"auto")),w=jQuery.extend(!0,w,s),"rekursive"!=f){u="slide"==e.basealign?o[v].module.width:o.iWA(v,b),h="slide"==e.basealign?o[v].module.height:o.iHE(v);var O=!o.isNumeric(e.width)&&e.width.indexOf("%")>=0?!x._isstatic||x._incolumn||x._ingroup?e.width:u*parseInt(e.width,0)/100:B(e.width,L,"auto",u,"auto"),T=!o.isNumeric(e.height)&&e.height.indexOf("%")>=0?!x._isstatic||x._incolumn||x._ingroup?e.height:h*parseInt(e.height,0)/100:B(e.height,L,"auto",u,"auto"),C={maxWidth:B(e.maxWidth,L,"none",u,"none"),maxHeight:B(e.maxHeight,L,"none",h,"none"),minWidth:B(e.minWidth,L,"0px",u,0),minHeight:B(e.minHeight,L,"0px",h,0),height:T,width:O,overwrite:"auto"};1==x.heightSetByVideo&&(C.height=x.vidOBJ.height);var A=!1;if(x._incolumn){for(R=jQuery.extend(!0,R,{minWidth:O,maxWidth:O,float:e.float,clear:e.clear}),i=0;i<4;i++)void 0!==e["margin"+t[i]]&&(R["margin"+t[i]]=e["margin"+t[i]]*L+"px");I.width="100%",void 0!==e.display&&"inline-block"!==e.display||(_={width:"100%"}),C.width=!o.isNumeric(e.width)&&e.width.indexOf("%")>=0?"100%":O,"image"===x.type&&tpGS.gsap.set(x.img,{width:"100%"})}else!o.isNumeric(e.width)&&e.width.indexOf("%")>=0&&(R.minWidth="slide"===x.basealign||!0===x._ingroup?O:o.iWA(v,b)*o[v].CM.w*parseInt(O)/100+"px",I.width="100%",_.width="100%");if(!o.isNumeric(e.height)&&e.height.indexOf("%")>=0&&(R.minHeight="slide"===x.basealign||!0===x._ingroup?T:o.iHE(v)*(o[v].currentRowsHeight>o[v].gridheight[o[v].level]?1:o[v].CM.w)*parseInt(T)/100+"px",I.height="100%",_.height="100%",A=!0),x._isnotext||(C.whiteSpace=e.whiteSpace,C.textAlign=e.textAlign,C.textDecoration=e.textDecoration),"npc"!=e.color&&void 0!==e.color&&(C.color=e.color),x._ingroup&&(x._groupw=C.minWidth,x._grouph=C.minHeight),"row"===x.type&&(o.isNumeric(C.minHeight)||C.minHeight.indexOf("px")>=0)&&"0px"!==C.minHeight&&0!==C.minHeight&&"0"!==C.minHeight&&"none"!==C.minHeight?C.height=C.minHeight:"row"===x.type&&(C.height="auto"),x._isstatic&&x.elementHovered&&(p=m.data("frames"))&&p.frame_hover&&p.frame_hover.transform)for(g in C)C.hasOwnProperty(g)&&p.frame_hover.transform.hasOwnProperty(g)&&delete C[g];"group"!==x.type&&"row"!==x.type&&"column"!==x.type&&(!o.isNumeric(C.width)&&C.width.indexOf("%")>=0&&(C.width="100%"),!o.isNumeric(C.height)&&C.height.indexOf("%")>=0&&(C.height="100%")),x._isgroup&&(!o.isNumeric(C.width)&&C.width.indexOf("%")>=0&&(C.width="100%"),R.height=A?"100%":C.height),w=jQuery.extend(!0,w,C),null!=x.svg_src&&void 0!==x.svgI&&("string"==typeof x.svgI.fill&&(x.svgI.fill=[x.svgI.fill]),x.svgTemp=o.clone(x.svgI),void 0!==x.svgTemp.fill&&(x.svgTemp.fill=x.svgTemp.fill[o[v].level],tpGS.gsap.set(x.svgPath,{fill:x.svgI.fill[o[v].level]})),tpGS.gsap.set(x.svg,x.svgTemp))}if("row"===x.type)for(i=0;i<4;i++)void 0!==e["margin"+t[i]]&&(R["padding"+t[i]]=e["margin"+t[i]]*L+"px");if("column"===x.type&&x.cbg&&x.cbg.length>0){for(void 0!==x.cbg_img_s&&(x.cbg[0].style.backgroundSize=x.cbg_img_s),s={},""!==x.styleProps.cursor&&(s.cursor=x.styleProps.cursor),""!==x.cbg_set&&"transparent"!==x.cbg_set&&(s.backgroundColor=x.cbg_set),""!==x.cbg_img&&"none"!==x.cbg_img&&(s.backgroundImage=x.cbg_img,""!==x.cbg_img_r&&(s.backgroundRepeat=x.cbg_img_r),""!==x.cbg_img_p&&(s.backgroundPosition=x.cbg_img_p)),""!==x.cbg_o&&void 0!==x.cbg_o&&(s.opacity=x.cbg_o),i=0;i<4;i++)void 0!==e.borderStyle&&"none"!==e.borderStyle&&(void 0!==e["border"+t[i]+"Width"]&&(s["border"+t[i]+"Width"]=Math.round(parseInt(e["border"+t[i]+"Width"])*L)+"px"),void 0!==e["border"+t[i]+"Color"]&&(s["border"+t[i]+"Color"]=e["border"+t[i]+"Color"])),e["border"+a[i]+"Radius"]&&(s["border"+a[i]+"Radius"]=e["border"+a[i]+"Radius"]);for(void 0!==e.borderStyle&&"none"!==e.borderStyle&&(s.borderStyle=e.borderStyle),(n=JSON.stringify(s))!==o[v].emptyObject&&n!==x.caches.cbgS&&tpGS.gsap.set(x.cbg,s),x.caches.cbgS=n,s={},i=0;i<4;i++)k["margin"+t[i]]&&(s[r[i]]=k["margin"+t[i]]*L+"px");(n=JSON.stringify(s))!==o[v].emptyObject&&n!==x.caches.cbgmaskS&&(tpGS.gsap.set(x.cbgmask,s),x.caches.cbgmaskS=n)}"auto"===R.maxWidth&&(R.maxWidth="inherit"),"auto"===R.maxHeight&&(R.maxHeight="inherit"),"auto"===_.maxWidth&&(_.maxWidth="inherit"),"auto"===_.maxHeight&&(_.maxHeight="inherit"),"auto"===I.maxWidth&&(I.maxWidth="inherit"),"auto"===I.maxHeight&&(I.maxHeight="inherit"),void 0!==x.vidOBJ&&(w.width=x.vidOBJ.width,w.height=x.vidOBJ.height),void 0!==x.OBJUPD.lppmOBJ&&(void 0!==x.OBJUPD.lppmOBJ.minWidth&&(I.minWidth=x.OBJUPD.lppmOBJ.minWidth,_.minWidth=x.OBJUPD.lppmOBJ.minWidth,R.minWidth=x.OBJUPD.lppmOBJ.minWidth),void 0!==x.OBJUPD.lppmOBJ.minHeight&&(I.minHeight=x.OBJUPD.lppmOBJ.minHeight,_.minHeight=x.OBJUPD.lppmOBJ.minHeight,R.minHeight=x.OBJUPD.lppmOBJ.minHeight)),n=JSON.stringify(w),d=JSON.stringify(I),l=JSON.stringify(_),c=JSON.stringify(R),void 0===x.imgOBJ||void 0!==x.caches.imgOBJ&&x.caches.imgOBJ.width===x.imgOBJ.width&&x.caches.imgOBJ.height===x.imgOBJ.height&&x.caches.imgOBJ.left===x.imgOBJ.left&&x.caches.imgOBJ.right===x.imgOBJ.right&&x.caches.imgOBJ.top===x.imgOBJ.top&&x.caches.imgOBJ.bottom===x.imgOBJ.bottom||(x.caches.imgOBJ=o.clone(x.imgOBJ),x.imgOBJ.position="relative",tpGS.gsap.set(x.img,x.imgOBJ)),void 0===x.mediaOBJ||void 0!==x.caches.mediaOBJ&&x.caches.mediaOBJ.width===x.mediaOBJ.width&&x.caches.mediaOBJ.height===x.mediaOBJ.height&&x.caches.mediaOBJ.display===x.mediaOBJ.display||(x.caches.mediaOBJ=o.clone(x.mediaOBJ),x.media.css(x.mediaOBJ)),n!=o[v].emptyObject&&n!=x.caches.LOBJ&&(tpGS.gsap.set(m,w),x.caches.LOBJ=n),d!=o[v].emptyObject&&d!=x.caches.LPOBJ&&(tpGS.gsap.set(x.lp,I),x.caches.LPOBJ=d),l!=o[v].emptyObject&&l!=x.caches.MOBJ&&(tpGS.gsap.set(x.m,_),x.caches.MOBJ=l),c!=o[v].emptyObject&&c!=x.caches.POBJ&&(tpGS.gsap.set(x.p,R),x.caches.POBJ=c,x.caches.POBJ_LEFT=R.left,x.caches.POBJ_TOP=R.top)}},G=function(e){var i={l:"none",lw:10,r:"none",rw:10};for(var t in e=e.split(";"))if(e.hasOwnProperty(t)){var a=e[t].split(":");switch(a[0]){case"l":i.l=a[1];break;case"r":i.r=a[1];break;case"lw":i.lw=a[1];break;case"rw":i.rw=a[1]}}return"polygon("+H(i.l,0,parseFloat(i.lw))+","+H(i.r,100,100-parseFloat(i.rw),!0)+")"},H=function(e,i,t,a){var r;switch(e){case"none":r=i+"% 100%,"+i+"% 0%";break;case"top":r=t+"% 100%,"+i+"% 0%";break;case"middle":r=t+"% 100%,"+i+"% 50%,"+t+"% 0%";break;case"bottom":r=i+"% 100%,"+t+"% 0%";break;case"two":r=t+"% 100%,"+i+"% 75%,"+t+"% 50%,"+i+"% 25%,"+t+"% 0%";break;case"three":r=i+"% 100%,"+t+"% 75%,"+i+"% 50%,"+t+"% 25%,"+i+"% 0%";break;case"four":r=i+"% 100%,"+t+"% 87.5%,"+i+"% 75%,"+t+"% 62.5%,"+i+"% 50%,"+t+"% 37.5%,"+i+"% 25%,"+t+"% 12.5%,"+i+"% 0%";break;case"five":r=i+"% 100%,"+t+"% 90%,"+i+"% 80%,"+t+"% 70%,"+i+"% 60%,"+t+"% 50%,"+i+"% 40%,"+t+"% 30%,"+i+"% 20%,"+t+"% 10%,"+i+"% 0%"}if(a){var o=r.split(",");for(var t in r="",o)o.hasOwnProperty(t)&&(r+=o[o.length-1-t]+(t<o.length-1?",":""))}return r}}(jQuery),function(e){"use strict";var i=jQuery.fn.revolution,t=i.is_mobile();function a(e,t){var a=new Object({single:".tp-"+t,c:i[e].cpar.find(".tp-"+t+"s")});return a.mask=a.c.find(".tp-"+t+"-mask"),a.wrap=a.c.find(".tp-"+t+"s-inner-wrapper"),a}jQuery.extend(!0,i,{hideUnHideNav:function(e){window.requestAnimationFrame(function(){var t=!1;p(i[e].navigation.arrows)&&(t=S(i[e].navigation.arrows,e,t)),p(i[e].navigation.bullets)&&(t=S(i[e].navigation.bullets,e,t)),p(i[e].navigation.thumbnails)&&(t=S(i[e].navigation.thumbnails,e,t)),p(i[e].navigation.tabs)&&(t=S(i[e].navigation.tabs,e,t)),t&&i.manageNavigation(e)})},getOuterNavDimension:function(e){i[e].navigation.scaler=Math.max(0,Math.min(1,(i.winW-480)/500));var t={left:0,right:0,horizontal:0,vertical:0,top:0,bottom:0};return i[e].navigation.thumbnails&&i[e].navigation.thumbnails.enable&&(i[e].navigation.thumbnails.isVisible=i[e].navigation.thumbnails.hide_under<i[e].module.width&&i[e].navigation.thumbnails.hide_over>i[e].module.width,i[e].navigation.thumbnails.cw=Math.max(Math.round(i[e].navigation.thumbnails.width*i[e].navigation.scaler),i[e].navigation.thumbnails.min_width),i[e].navigation.thumbnails.ch=Math.round(i[e].navigation.thumbnails.cw/i[e].navigation.thumbnails.width*i[e].navigation.thumbnails.height),i[e].navigation.thumbnails.isVisible&&"outer-left"===i[e].navigation.thumbnails.position?t.left=i[e].navigation.thumbnails.cw+2*i[e].navigation.thumbnails.wrapper_padding:i[e].navigation.thumbnails.isVisible&&"outer-right"===i[e].navigation.thumbnails.position?t.right=i[e].navigation.thumbnails.cw+2*i[e].navigation.thumbnails.wrapper_padding:i[e].navigation.thumbnails.isVisible&&"outer-top"===i[e].navigation.thumbnails.position?t.top=i[e].navigation.thumbnails.ch+2*i[e].navigation.thumbnails.wrapper_padding:i[e].navigation.thumbnails.isVisible&&"outer-bottom"===i[e].navigation.thumbnails.position&&(t.bottom=i[e].navigation.thumbnails.ch+2*i[e].navigation.thumbnails.wrapper_padding)),i[e].navigation.tabs&&i[e].navigation.tabs.enable&&(i[e].navigation.tabs.isVisible=i[e].navigation.tabs.hide_under<i[e].module.width&&i[e].navigation.tabs.hide_over>i[e].module.width,i[e].navigation.tabs.cw=Math.max(Math.round(i[e].navigation.tabs.width*i[e].navigation.scaler),i[e].navigation.tabs.min_width),i[e].navigation.tabs.ch=Math.round(i[e].navigation.tabs.cw/i[e].navigation.tabs.width*i[e].navigation.tabs.height),i[e].navigation.tabs.isVisible&&"outer-left"===i[e].navigation.tabs.position?t.left+=i[e].navigation.tabs.cw+2*i[e].navigation.tabs.wrapper_padding:i[e].navigation.tabs.isVisible&&"outer-right"===i[e].navigation.tabs.position?t.right+=i[e].navigation.tabs.cw+2*i[e].navigation.tabs.wrapper_padding:i[e].navigation.tabs.isVisible&&"outer-top"===i[e].navigation.tabs.position?t.top+=i[e].navigation.tabs.ch+2*i[e].navigation.tabs.wrapper_padding:i[e].navigation.tabs.isVisible&&"outer-bottom"===i[e].navigation.tabs.position&&(t.bottom+=i[e].navigation.tabs.ch+2*i[e].navigation.tabs.wrapper_padding)),{left:t.left,right:t.right,horizontal:t.left+t.right,vertical:t.top+t.bottom,top:t.top,bottom:t.bottom}},resizeThumbsTabs:function(e,t){if(void 0!==i[e]&&i[e].navigation.use&&(i[e].navigation&&i[e].navigation.bullets.enable||i[e].navigation&&i[e].navigation.tabs.enable||i[e].navigation&&i[e].navigation.thumbnails.enable)){var a=tpGS.gsap.timeline(),r=i[e].navigation.tabs,s=i[e].navigation.thumbnails,n=i[e].navigation.bullets;if(a.pause(),p(r)&&(t||r.width>r.min_width)&&o(e,a,i[e].c,r,i[e].slideamount,"tab"),p(s)&&(t||s.width>s.min_width)&&o(e,a,i[e].c,s,i[e].slideamount,"thumb",e),p(n)&&t){var d=i[e].c.find(".tp-bullets");d.find(".tp-bullet").each(function(e){var i=jQuery(this),t=e+1,a=i.outerWidth()+parseInt(void 0===n.space?0:n.space,0),r=i.outerHeight()+parseInt(void 0===n.space?0:n.space,0);"vertical"===n.direction?(i.css({top:(t-1)*r+"px",left:"0px"}),d.css({height:(t-1)*r+i.outerHeight(),width:i.outerWidth()})):(i.css({left:(t-1)*a+"px",top:"0px"}),d.css({width:(t-1)*a+i.outerWidth(),height:i.outerHeight()}))})}a.play()}return!0},updateNavIndexes:function(e){var t=i[e].c;function a(e){t.find(e).lenght>0&&t.find(e).each(function(e){jQuery(this).data("liindex",e)})}a("rs-tab"),a("rs-bullet"),a("rs-thumb"),i.resizeThumbsTabs(e,!0),i.manageNavigation(e)},manageNavigation:function(e,t){i[e].navigation.use&&(p(i[e].navigation.bullets)&&("fullscreen"!=i[e].sliderLayout&&"fullwidth"!=i[e].sliderLayout&&(i[e].navigation.bullets.h_offset_old=void 0===i[e].navigation.bullets.h_offset_old?parseInt(i[e].navigation.bullets.h_offset,0):i[e].navigation.bullets.h_offset_old,i[e].navigation.bullets.h_offset="center"===i[e].navigation.bullets.h_align?i[e].navigation.bullets.h_offset_old+i[e].outNavDims.left/2-i[e].outNavDims.right/2:i[e].navigation.bullets.h_offset_old+i[e].outNavDims.left),w(i[e].navigation.bullets.c,i[e].navigation.bullets,e)),p(i[e].navigation.thumbnails)&&w(i[e].navigation.thumbnails,e),p(i[e].navigation.tabs)&&w(i[e].navigation.tabs,e),p(i[e].navigation.arrows)&&("fullscreen"!=i[e].sliderLayout&&"fullwidth"!=i[e].sliderLayout&&(i[e].navigation.arrows.left.h_offset_old=void 0===i[e].navigation.arrows.left.h_offset_old?parseInt(i[e].navigation.arrows.left.h_offset,0):i[e].navigation.arrows.left.h_offset_old,i[e].navigation.arrows.left.h_offset=(i[e].navigation.arrows.left.h_align,i[e].navigation.arrows.left.h_offset_old),i[e].navigation.arrows.right.h_offset_old=void 0===i[e].navigation.arrows.right.h_offset_old?parseInt(i[e].navigation.arrows.right.h_offset,0):i[e].navigation.arrows.right.h_offset_old,i[e].navigation.arrows.right.h_offset=(i[e].navigation.arrows.right.h_align,i[e].navigation.arrows.right.h_offset_old)),w(i[e].navigation.arrows.left,e),w(i[e].navigation.arrows.right,e)),!1!==t&&(p(i[e].navigation.thumbnails)&&r(i[e].navigation.thumbnails,e),p(i[e].navigation.tabs)&&r(i[e].navigation.tabs,e)))},showFirstTime:function(e){u(e),i.hideUnHideNav(e)},selectNavElement:function(e,t,a,r){for(var o=i[e].cpar[0].getElementsByClassName(a),s=0;s<o.length;s++)i.gA(o[s],"key")===t?(o[s].classList.add("selected"),void 0!==r&&r()):o[s].classList.remove("selected")},transferParams:function(e,i){if(void 0!==i)for(var t in i.params)e=e.replace(i.params[t].from,i.params[t].to);return e},updateNavElementContent:function(e,t,a,o,s){if(void 0!==i[e].pr_next_key||void 0!==i[e].pr_active_key){var n=void 0===i[e].pr_next_key?void 0===i[e].pr_cache_pr_next_key?i[e].pr_active_key:i[e].pr_cache_pr_next_key:i[e].pr_next_key,d=i.gA(i[e].slides[n],"key"),l=0,c=!1;for(var p in a.enable&&i.selectNavElement(e,d,"tp-bullet"),o.enable&&i.selectNavElement(e,d,"tp-thumb",function(){r(o,e)}),s.enable&&i.selectNavElement(e,d,"tp-tab",function(){r(s,e)}),i[e].thumbs)l=!0===c?l:p,c=i[e].thumbs[p].id===d||p==d||c;var g=(l=parseInt(l,0))>0?l-1:i[e].slideamount-1,u=l+1==i[e].slideamount?0:l+1;if(!0===t.enable&&t.pi!==g&&t.ni!==u){if(t.pi=g,t.ni=u,t.left.c[0].innerHTML=i.transferParams(t.tmp,i[e].thumbs[g]),u>i[e].slideamount)return;t.right.c[0].innerHTML=i.transferParams(t.tmp,i[e].thumbs[u]),t.right.iholder=t.right.c.find(".tp-arr-imgholder"),t.left.iholder=t.left.c.find(".tp-arr-imgholder"),t.rtl?(void 0!==t.left.iholder[0]&&tpGS.gsap.set(t.left.iholder,{backgroundImage:"url("+i[e].thumbs[u].src+")"}),void 0!==i[e].thumbs[g]&&void 0!==t.right.iholder[0]&&tpGS.gsap.set(t.right.iholder,{backgroundImage:"url("+i[e].thumbs[g].src+")"})):(void 0!==i[e].thumbs[g]&&void 0!==t.left.iholder[0]&&tpGS.gsap.set(t.left.iholder,{backgroundImage:"url("+i[e].thumbs[g].src+")"}),void 0!==t.right.iholder[0]&&tpGS.gsap.set(t.right.iholder,{backgroundImage:"url("+i[e].thumbs[u].src+")"}))}}},createNavigation:function(e){var r=i[e].navigation.arrows,o=i[e].navigation.bullets,d=i[e].navigation.thumbnails,h=i[e].navigation.tabs,v=p(r),y=p(o),b=p(d),S=p(h);for(var k in s(e),n(e),v&&(f(r,e),r.c=i[e].cpar.find(".tparrows")),i[e].slides)if(i[e].slides.hasOwnProperty(k)&&"true"!=i.gA(i[e].slides[k],"not_in_nav")){var L=jQuery(i[e].slides[i[e].slides.length-1-k]),R=jQuery(i[e].slides[k]);y&&(i[e].navigation.bullets.rtl?_(i[e].c,o,L,e):_(i[e].c,o,R,e)),b&&(i[e].navigation.thumbnails.rtl?x(i[e].c,d,L,"tp-thumb",e):x(i[e].c,d,R,"tp-thumb",e)),S&&(i[e].navigation.tabs.rtl?x(i[e].c,h,L,"tp-tab",e):x(i[e].c,h,R,"tp-tab",e))}y&&w(o,e),b&&w(d,e),S&&w(h,e),(b||S)&&i.updateDims(e),i[e].navigation.createNavigationDone=!0,b&&jQuery.extend(!0,d,a(e,"thumb")),S&&jQuery.extend(!0,h,a(e,"tab")),i[e].c.on("revolution.slide.onafterswap revolution.nextslide.waiting",function(){i.updateNavElementContent(e,r,o,d,h)}),c(r),c(o),c(d),c(h),i[e].cpar.on("mouseenter mousemove",function(a){void 0!==a.target&&void 0!==a.target.className&&"string"==typeof a.target.className&&a.target.className.indexOf("rs-waction")>=0||!0!==i[e].tpMouseOver&&i[e].firstSlideAvailable&&(i[e].tpMouseOver=!0,u(e),t&&!0!==i[e].someNavIsDragged&&(g(i[e].hideAllNavElementTimer),i[e].hideAllNavElementTimer=setTimeout(function(){i[e].tpMouseOver=!1,m(e)},150)))}),i[e].cpar.on("mouseleave ",function(){i[e].tpMouseOver=!1,m(e)}),(b||S||"carousel"===i[e].sliderType||i[e].navigation.touch.touchOnDesktop||i[e].navigation.touch.touchenabled&&t)&&l(e),i[e].navigation.initialised=!0,i.updateNavElementContent(e,r,o,d,h),i.showFirstTime(e)}});var r=function(e,t){if(void 0!==e&&null!=e.mask){var a="vertical"===e.direction?e.mask.find(e.single).first().outerHeight(!0)+e.space:e.mask.find(e.single).first().outerWidth(!0)+e.space,r="vertical"===e.direction?e.mask.height():e.mask.width(),o=e.mask.find(e.single+".selected").data("liindex");o=(o=void 0===(o=e.rtl?i[t].slideamount-o:o)?0:o)>0&&1===i[t].sdir&&e.visibleAmount>1?o-1:o;var s=r/a,n="vertical"===e.direction?e.mask.height():e.mask.width(),d=0-o*a,l="vertical"===e.direction?e.wrap.height():e.wrap.width(),c=d<0-(l-n)?0-(l-n):d,p=i.gA(e.wrap[0],"offset");p=void 0===p?0:p,s>2&&(c=d-(p+a)<=0?d-(p+a)<0-a?p:c+a:c,c=d-a+p+r<a&&d+(Math.round(s)-2)*a<p?d+(Math.round(s)-2)*a:c),c="vertical"!==e.direction&&e.mask.width()>=e.wrap.width()||"vertical"===e.direction&&e.mask.height()>=e.wrap.height()?0:c<0-(l-n)?0-(l-n):c>0?0:c,e.c.hasClass("dragged")||("vertical"===e.direction?e.wrap.data("tmmove",tpGS.gsap.to(e.wrap,.5,{top:c+"px",ease:"power3.inOut"})):e.wrap.data("tmmove",tpGS.gsap.to(e.wrap,.5,{left:c+"px",ease:"power3.inOut"})),e.wrap.data("offset",c))}},o=function(e,t,a,r,o,s){var n=a.parent().find(".tp-"+s+"s"),d=n.find(".tp-"+s+"s-inner-wrapper"),l=n.find(".tp-"+s+"-mask"),c="vertical"===r.direction?r.cw:r.cw*o+r.space*(o-1),p="vertical"===r.direction?r.ch*o+r.space*(o-1):r.ch,g="vertical"===r.direction?{width:r.cw+"px"}:{height:r.ch+"px"};t.add(tpGS.gsap.set(n,g)),t.add(tpGS.gsap.set(d,{width:c+"px",height:p+"px"})),t.add(tpGS.gsap.set(l,{width:c+"px",height:p+"px"})),null!==d.outerWidth()&&(i[e].thumbResized=!0);var u=d.find(".tp-"+s);return u&&jQuery.each(u,function(e,i){"vertical"===r.direction?t.add(tpGS.gsap.set(i,{top:e*(r.ch+parseInt(void 0===r.space?0:r.space,0)),width:r.cw+"px",height:r.ch+"px"})):"horizontal"===r.direction&&t.add(tpGS.gsap.set(i,{left:e*(r.cw+parseInt(void 0===r.space?0:r.space,0)),width:r.cw+"px",height:r.ch+"px"}))}),t},s=function(e){!0===i[e].navigation.keyboardNavigation&&i.document.keydown(function(t){if("horizontal"==i[e].navigation.keyboard_direction&&39==t.keyCode||"vertical"==i[e].navigation.keyboard_direction&&40==t.keyCode){if(void 0!==i[e].keydown_time_stamp&&(new Date).getTime()-i[e].keydown_time_stamp<1e3)return;i[e].sc_indicator="arrow",i[e].sc_indicator_dir=0,"carousel"===i[e].sliderType&&(i[e].ctNavElement=!0),i.callingNewSlide(e,1,"carousel"===i[e].sliderType)}if("horizontal"==i[e].navigation.keyboard_direction&&37==t.keyCode||"vertical"==i[e].navigation.keyboard_direction&&38==t.keyCode){if(void 0!==i[e].keydown_time_stamp&&(new Date).getTime()-i[e].keydown_time_stamp<1e3)return;i[e].sc_indicator="arrow",i[e].sc_indicator_dir=1,"carousel"===i[e].sliderType&&(i[e].ctNavElement=!0),i.callingNewSlide(e,-1,"carousel"===i[e].sliderType)}i[e].keydown_time_stamp=(new Date).getTime()})},n=function(e){!0!==i[e].navigation.mouseScrollNavigation&&"on"!==i[e].navigation.mouseScrollNavigation&&"carousel"!==i[e].navigation.mouseScrollNavigation||i[e].c.on("wheel mousewheel DOMMouseScroll",function(t){var a=function(e){var i=0;return"deltaY"in e||"deltaX"in e?i=0!=e.deltaY&&-0!=e.deltaY||!(e.deltaX<0||e.deltaX>0)?e.deltaY:e.deltaX:("detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120)),((i=navigator.userAgent.match(/mozilla/i)?10*i:i)>300||i<-300)&&(i/=10),i}(t.originalEvent),r=!1,o=0==i[e].pr_active_key||0==i[e].pr_processing_key,s=i[e].pr_active_key==i[e].slideamount-1||i[e].pr_processing_key==i[e].slideamount-1,n=void 0!==i[e].topc?i[e].topc[0].getBoundingClientRect():0===i[e].canv.height?i[e].cpar[0].getBoundingClientRect():i[e].c[0].getBoundingClientRect();if((n.top>0&&n.bottom<i.winH?1:n.top>=0&&n.bottom>=i.winH?(i.winH-n.top)/n.height:n.top<=0&&n.bottom<=i.winH?n.bottom/n.height:1)>=i[e].navigation.wheelViewPort){if("reverse"==i[e].navigation.mouseScrollReverse){let e=s;s=o,o=e}if("carousel"===i[e].sliderType&&!1===i[e].carousel.snap)i.swipeAnimate({id:e,to:i[e].carousel.slide_offset+5*a,direction:a<0?"left":"right",easing:"power2.out",phase:"move"});else{var d=a<0?-1:1;i[e].sc_indicator_dir="reverse"===i[e].navigation.mouseScrollReverse&&d<0||"reverse"!==i[e].navigation.mouseScrollReverse&&d>0?0:1,"carousel"==i[e].navigation.mouseScrollNavigation||0===i[e].sc_indicator_dir&&!s||1===i[e].sc_indicator_dir&&!o?void 0===i[e].pr_processing_key&&!0!==i[e].justmouseScrolled?(i[e].sc_indicator="arrow","carousel"===i[e].sliderType&&(i[e].ctNavElement=!0),i.callingNewSlide(e,0===i[e].sc_indicator_dir?1:-1,"carousel"===i[e].sliderType),i[e].justmouseScrolled=!0,setTimeout(function(){i[e].justmouseScrolled=!1},i[e].navigation.wheelCallDelay)):delete i[e].sc_indicator_dir:!0!==i[e].justmouseScrolled&&(r=!0)}return!!r||(t.preventDefault(t),!1)}})},d=function(e,i){var a=!1;for(var r in(void 0===i.path||t)&&(a=function(e,i){for(;e&&e!==document;e=e.parentNode)if(e.tagName===i)return e;return!1}(i.target,e)),i.path)i.path.hasOwnProperty(r)&&i.path[r].tagName===e&&(a=!0);return a},l=function(e){var a=i[e].carousel,r=i.is_android();jQuery(".bullet, .bullets, .tp-bullets, .tparrows").addClass("noSwipe"),i[e].navigation.touch=void 0===i[e].navigation.touch?{}:i[e].navigation.touch,i[e].navigation.touch.swipe_direction=void 0===i[e].navigation.touch.swipe_direction?"horizontal":i[e].navigation.touch.swipe_direction,jQuery(".rs-nav-element").rsswipe({allowPageScroll:"vertical",triggerOnTouchLeave:!0,treshold:i[e].navigation.touch.swipe_treshold,fingers:i[e].navigation.touch.swipe_min_touches>5?1:i[e].navigation.touch.swipe_min_touches,excludedElements:"button, input, select, textarea, .noSwipe, .rs-waction",tap:function(e,i){if(void 0!==i)var t=jQuery(i).closest("rs-thumb");void 0!==t&&t.length>0?t.trigger("click"):(t=jQuery(i).closest("rs-tab")).length>0?t.trigger("click"):(t=jQuery(i).closest("rs-bullet")).length>0&&t.trigger("click")},swipeStatus:function(t,o,s,n,l,c,p){if("start"!==o&&"move"!==o&&"end"!==o&&"cancel"!=o)return!0;var u=d("RS-THUMB",t),m=d("RS-TAB",t);!1===u&&!1===m&&!0!==(u="RS-THUMBS-WRAP"===t.target.tagName||"RS-THUMBS"===t.target.tagName||t.target.className.indexOf("tp-thumb-mask")>=0)&&(m="RS-TABS-WRAP"===t.target.tagName||"RS-TABS"===t.target.tagName||t.target.className.indexOf("tp-tab-mask")>=0);var v="start"===o?0:r?p[0].end.x-p[0].start.x:t.pageX-a.screenX,f="start"===o?0:r?p[0].end.y-p[0].start.y:t.pageY-a.screenY,y=u?".tp-thumbs":".tp-tabs",b=u?".tp-thumb-mask":".tp-tab-mask",w=u?".tp-thumbs-inner-wrapper":".tp-tabs-inner-wrapper",_=u?".tp-thumb":".tp-tab",x=u?i[e].navigation.thumbnails:i[e].navigation.tabs,S=i[e].cpar.find(b),k=S.find(w),L=x.direction,R="vertical"===L?k.height():k.width(),I="vertical"===L?S.height():S.width(),O="vertical"===L?S.find(_).first().outerHeight(!0)+x.space:S.find(_).first().outerWidth(!0)+x.space,T=void 0===k.data("offset")?0:parseInt(k.data("offset"),0),C=0;switch(o){case"start":"vertical"===L&&t.preventDefault(),a.screenX=r?p[0].end.x:t.pageX,a.screenY=r?p[0].end.y:t.pageY,i[e].cpar.find(y).addClass("dragged"),T="vertical"===L?k.position().top:k.position().left,k.data("offset",T),k.data("tmmove")&&k.data("tmmove").pause(),i[e].someNavIsDragged=!0,h(e);break;case"move":if(R<=I)return!1;C=(C=T+("vertical"===L?f:v))>0?"horizontal"===L?C-k.width()*(C/k.width()*C/k.width()):C-k.height()*(C/k.height()*C/k.height()):C;var A="vertical"===L?0-(k.height()-S.height()):0-(k.width()-S.width());C=C<A?"horizontal"===L?C+k.width()*(C-A)/k.width()*(C-A)/k.width():C+k.height()*(C-A)/k.height()*(C-A)/k.height():C,"vertical"===L?tpGS.gsap.set(k,{top:C+"px"}):tpGS.gsap.set(k,{left:C+"px"}),g(i[e].hideAllNavElementTimer);break;case"end":case"cancel":return C=T+("vertical"===L?f:v),C=(C="vertical"===L?C<0-(k.height()-S.height())?0-(k.height()-S.height()):C:C<0-(k.width()-S.width())?0-(k.width()-S.width()):C)>0?0:C,C=Math.abs(n)>O/10?n<=0?Math.floor(C/O)*O:Math.ceil(C/O)*O:n<0?Math.ceil(C/O)*O:Math.floor(C/O)*O,C=(C="vertical"===L?C<0-(k.height()-S.height())?0-(k.height()-S.height()):C:C<0-(k.width()-S.width())?0-(k.width()-S.width()):C)>0?0:C,"vertical"===L?tpGS.gsap.to(k,.5,{top:C+"px",ease:"power3.out"}):tpGS.gsap.to(k,.5,{left:C+"px",ease:"power3.out"}),C=C||("vertical"===L?k.position().top:k.position().left),k.data("offset",C),k.data("distance",n),i[e].cpar.find(y).removeClass("dragged"),i[e].someNavIsDragged=!1,!0}}}),("carousel"!==i[e].sliderType&&(t&&i[e].navigation.touch.touchenabled||!0!==t&&i[e].navigation.touch.touchOnDesktop)||"carousel"===i[e].sliderType&&(t&&i[e].navigation.touch.mobileCarousel||!0!==t&&i[e].navigation.touch.desktopCarousel))&&(i[e].preventClicks=!1,i[e].c.on("click",function(t){i[e].preventClicks&&t.preventDefault()}),i[e].c.rsswipe({allowPageScroll:"vertical",triggerOnTouchLeave:!0,treshold:i[e].navigation.touch.swipe_treshold,fingers:i[e].navigation.touch.swipe_min_touches>5?1:i[e].navigation.touch.swipe_min_touches,excludedElements:"label, button, input, select, textarea, .noSwipe, .rs-nav-element",swipeStatus:function(o,s,n,d,l,c,p){i[e].preventClicks=!0;var g="start"===s?0:r?p[0].end.x-p[0].start.x:o.pageX-a.screenX,u="start"===s?0:r?p[0].end.x-p[0].start.y:o.pageY-a.screenY;if(!("carousel"===i[e].sliderType&&i[e].carousel.wrapwidth>i[e].carousel.maxwidth&&"center"!==i[e].carousel.horizontal_align)){if("carousel"!==i[e].sliderType){if("end"==s){if(i[e].sc_indicator="arrow","horizontal"==i[e].navigation.touch.swipe_direction&&"left"==n||"vertical"==i[e].navigation.touch.swipe_direction&&"up"==n)return i[e].sc_indicator_dir=0,i.callingNewSlide(e,1),!1;if("horizontal"==i[e].navigation.touch.swipe_direction&&"right"==n||"vertical"==i[e].navigation.touch.swipe_direction&&"down"==n)return i[e].sc_indicator_dir=1,i.callingNewSlide(e,-1),!1}return!0}switch((a.preventSwipe||t&&("left"===n||"right"===n))&&o.preventDefault(),void 0!==a.positionanim&&a.positionanim.pause(),a.carouselAutomatic=!1,s){case"start":clearTimeout(a.swipeMainTimer),a.beforeSwipeOffet=a.slide_offset,a.focusedBeforeSwipe=a.focused,a.beforeDragStatus=i[e].sliderstatus,i[e].c.trigger("stoptimer"),a.swipeStartPos=r?p[0].start.x:o.pageX,a.swipeStartTime=(new Date).getTime(),a.screenX=r?p[0].end.x:o.pageX,a.screenY=r?p[0].end.y:o.pageY,void 0!==a.positionanim&&(a.positionanim.pause(),a.carouselAutomatic=!1),a.overpull="none",a.wrap.addClass("dragged");break;case"move":if("left"!==n&&"right"!==n||(a.preventSwipe=!0),a.justDragged=!0,Math.abs(g)>=10||i[e].carousel.isDragged){if(i[e].carousel.isDragged=!0,i[e].c.find(".rs-waction").addClass("tp-temporarydisabled"),a.CACHE_slide_offset=a.beforeSwipeOffet+g,!a.infinity){var h="center"===a.horizontal_align?(a.wrapwidth/2-a.slide_width/2-a.CACHE_slide_offset)/a.slide_width:(0-a.CACHE_slide_offset)/a.slide_width;"none"!==a.overpull&&0!==a.overpull||!(h<0||h>i[e].slideamount-1)?h>=0&&h<=i[e].slideamount-1&&(h>=0&&g>a.overpull||h<=i[e].slideamount-1&&g<a.overpull)&&(a.overpull=0):a.overpull=g,a.CACHE_slide_offset=h<0?a.CACHE_slide_offset+(a.overpull-g)/1.5+Math.sqrt(Math.abs((a.overpull-g)/1.5)):h>i[e].slideamount-1?a.CACHE_slide_offset+(a.overpull-g)/1.5-Math.sqrt(Math.abs((a.overpull-g)/1.5)):a.CACHE_slide_offset}i.swipeAnimate({id:e,to:a.CACHE_slide_offset,direction:n,easing:"power2.out",phase:"move"})}break;case"end":case"cancel":if(clearTimeout(a.swipeMainTimer),a.swipeMainTimer=setTimeout(function(){a.preventSwipe=!1},500),i[e].carousel.isDragged=!1,a.wrap.removeClass("dragged"),a.swipeEndPos=r?p[0].end.x:o.pageX,a.swipeEndTime=(new Date).getTime(),a.swipeDuration=a.swipeEndTime-a.swipeStartTime,a.swipeDistance=t?a.swipeEndPos-a.swipeStartPos:(a.swipeEndPos-a.swipeStartPos)/1.5,a.swipePower=a.swipeDistance/a.swipeDuration,a.CACHE_slide_offset=a.slide_offset+a.swipeDistance*Math.abs(a.swipePower),Math.abs(g)<5&&Math.abs(u)<5)break;i.swipeAnimate({id:e,to:a.CACHE_slide_offset,direction:n,fix:!0,newSlide:!0,easing:"power2.out",phase:"end"}),"playing"===a.beforeDragStatus&&i[e].c.trigger("restarttimer"),setTimeout(function(){i[e].c.find(".rs-waction").removeClass("tp-temporarydisabled")},19)}}},tap:function(){i[e].preventClicks=!1}})),"carousel"===i[e].sliderType&&(t&&0==i[e].navigation.touch.mobileCarousel||!0!==t&&!1===i[e].navigation.touch.desktopCarousel)&&a.wrap.addClass("noswipe"),i[e].navigation.touch.drag_block_vertical&&i[e].c.addClass("disableVerticalScroll")},c=function(e){e.hide_delay=i.isNumeric(parseInt(e.hide_delay,0))?e.hide_delay:.2,e.hide_delay_mobile=i.isNumeric(parseInt(e.hide_delay_mobile,0))?e.hide_delay_mobile:.2},p=function(e){return e&&e.enable},g=function(e){clearTimeout(e)},u=function(e){var t=i[e].navigation.maintypes;for(var a in t)t.hasOwnProperty(a)&&p(i[e].navigation[t[a]])&&void 0!==i[e].navigation[t[a]].c&&(g(i[e].navigation[t[a]].showCall),i[e].navigation[t[a]].showCall=setTimeout(function(t){g(t.hideCall),t.hide_onleave&&!0!==i[e].tpMouseOver||(void 0===t.tween?t.tween=v(t):t.tween.play())},i[e].navigation[t[a]].hide_onleave&&!0!==i[e].tpMouseOver?0:parseInt(i[e].navigation[t[a]].animDelay),i[e].navigation[t[a]]))},h=function(e){var t=i[e].navigation.maintypes;for(var a in t)t.hasOwnProperty(a)&&void 0!==i[e].navigation[t[a]]&&i[e].navigation[t[a]].hide_onleave&&p(i[e].navigation[t[a]])&&g(i[e].navigation[t[a]].hideCall)},m=function(e,a){var r=i[e].navigation.maintypes;for(var o in r)r.hasOwnProperty(o)&&void 0!==i[e].navigation[r[o]]&&i[e].navigation[r[o]].hide_onleave&&p(i[e].navigation[r[o]])&&(g(i[e].navigation[r[o]].hideCall),i[e].navigation[r[o]].hideCall=setTimeout(function(e){g(e.showCall),e.tween&&e.tween.reverse()},t?parseInt(i[e].navigation[r[o]].hide_delay_mobile,0):parseInt(i[e].navigation[r[o]].hide_delay,0),i[e].navigation[r[o]]))},v=function(e){e.speed=void 0===e.speed?.5:e.speed,e.anims=[],void 0!==e.anim&&void 0===e.left&&e.anims.push(e.anim),void 0!==e.left&&e.anims.push(e.left.anim),void 0!==e.right&&e.anims.push(e.right.anim);var i=tpGS.gsap.timeline();for(var t in i.add(tpGS.gsap.to(e.c,e.speed,{opacity:1,ease:"power3.inOut"}),0),e.anims)if(e.anims.hasOwnProperty(t))switch(e.anims[t]){case"left":i.add(tpGS.gsap.fromTo(e.c[t],e.speed,{marginLeft:-50},{marginLeft:0,ease:"power3.inOut"}),0);break;case"right":i.add(tpGS.gsap.fromTo(e.c[t],e.speed,{marginLeft:50},{marginLeft:0,ease:"power3.inOut"}),0);break;case"top":i.add(tpGS.gsap.fromTo(e.c[t],e.speed,{marginTop:-50},{marginTop:0,ease:"power3.inOut"}),0);break;case"bottom":i.add(tpGS.gsap.fromTo(e.c[t],e.speed,{marginTop:50},{marginTop:0,ease:"power3.inOut"}),0);break;case"zoomin":i.add(tpGS.gsap.fromTo(e.c[t],e.speed,{scale:.5},{scale:1,ease:"power3.inOut"}),0);break;case"zoomout":i.add(tpGS.gsap.fromTo(e.c[t],e.speed,{scale:1.2},{scale:1,ease:"power3.inOut"}),0)}return i.play(),i},f=function(e,t){e.style=void 0===e.style?"":e.style,e.left.style=void 0===e.left.style?"":e.left.style,e.right.style=void 0===e.right.style?"":e.right.style,void 0===e.left.c&&(e.left.c=jQuery('<rs-arrow style="opacity:0" class="tp-leftarrow tparrows '+e.style+" "+e.left.style+'">'+e.tmp+"</rs-arrow>"),i[t].c.append(e.left.c)),void 0===e.right.c&&(e.right.c=jQuery('<rs-arrow style="opacity:0"  class="tp-rightarrow tparrows '+e.style+" "+e.right.style+'">'+e.tmp+"</rs-arrow>"),i[t].c.append(e.right.c)),e[e.rtl?"left":"right"].c.on("click",function(){"carousel"===i[t].sliderType&&(i[t].ctNavElement=!0),i[t].sc_indicator="arrow",i[t].sc_indicator_dir=0,i[t].c.revnext()}),e[e.rtl?"right":"left"].c.on("click",function(){"carousel"===i[t].sliderType&&(i[t].ctNavElement=!0),i[t].sc_indicator="arrow",i[t].sc_indicator_dir=1,i[t].c.revprev()}),e.padding_top=parseInt(i[t].carousel.padding_top||0,0),e.padding_bottom=parseInt(i[t].carousel.padding_bottom||0,0),w(e.left,t),w(e.right,t),"outer-left"!=e.position&&"outer-right"!=e.position||(i[t].outernav=!0)},y=function(e,t,a,r){r=void 0===r?e.outerHeight(!0):r;var o=null==i[a]?0:0==i[a].canv.height?i[a].module.height:i[a].canv.height,s="layergrid"==t.container?"fullscreen"==i[a].sliderLayout?i[a].module.height/2-i[a].gridheight[i[a].level]*i[a].CM.h/2:i[a].autoHeight||null!=i[a].minHeight&&i[a].minHeight>0?o/2-i[a].gridheight[i[a].level]*i[a].CM.h/2:0:0,n="top"===t.v_align?{top:"0px",y:Math.round(t.v_offset+s)+"px"}:"center"===t.v_align?{top:"50%",y:Math.round(0-r/2+t.v_offset)+"px"}:{top:"100%",y:Math.round(0-(r+t.v_offset+s))+"px"};e.hasClass("outer-bottom")||tpGS.gsap.set(e,n)},b=function(e,t,a,r){r=void 0===r?e.outerWidth():r;var o="layergrid"===t.container?i[a].module.width/2-i[a].gridwidth[i[a].level]*i[a].CM.w/2:0,s="left"===t.h_align?{left:"0px",x:Math.round(t.h_offset+o)+"px"}:"center"===t.h_align?{left:"50%",x:Math.round(0-r/2+t.h_offset)+"px"}:{left:"100%",x:Math.round(0-(r+t.h_offset+o))+"px"};tpGS.gsap.set(e,s)},w=function(e,t){if(null!=e&&void 0!==e.c){var a="fullwidth"==i[t].sliderLayout||"fullscreen"==i[t].sliderLayout?i[t].module.width:i[t].canv.width,r=e.c.outerWidth(),o=e.c.outerHeight();if(!(r<=0||o<=0)&&(y(e.c,e,t,o),b(e.c,e,t,r),"outer-left"===e.position?tpGS.gsap.set(e.c,{left:0-r+"px",x:e.h_offset+"px"}):"outer-right"===e.position&&tpGS.gsap.set(e.c,{right:0-r+"px",x:e.h_offset+"px"}),"tp-thumb"===e.type||"tp-tab"===e.type)){var s=parseInt(e.padding_top||0,0),n=parseInt(e.padding_bottom||0,0),d={},l={};e.maxw>a&&"outer-left"!==e.position&&"outer-right"!==e.position?(d.left="0px",d.x=0,d.maxWidth=a-2*e.wpad+"px",l.maxWidth=a-2*e.wpad+"px"):(d.maxWidth=e.maxw,l.maxWidth=a+"px"),e.maxh+2*e.wpad>i[t].conh&&"outer-bottom"!==e.position&&"outer-top"!==e.position?(d.top="0px",d.y=0,d.maxHeight=s+n+(i[t].conh-2*e.wpad)+"px",l.maxHeight=s+n+(i[t].conh-2*e.wpad)+"px"):(d.maxHeight=e.maxh+"px",l.maxHeight=e.maxh+"px"),e.mask=void 0===e.mask?e.c.find("rs-navmask"):e.mask,(e.mhoff>0||e.mvoff>0)&&(l.padding=e.mvoff+"px "+e.mhoff+"px"),e.span?("layergrid"==e.container&&"outer-left"!==e.position&&"outer-right"!==e.position&&(s=n=0),"vertical"===e.direction?(d.maxHeight=s+n+(i[t].conh-2*e.wpad)+"px",d.height=s+n+(i[t].conh-2*e.wpad)+"px",d.top=0,d.y=0,l.maxHeight=s+n+Math.min(e.maxh,i[t].conh-2*e.wpad)+"px",tpGS.gsap.set(e.c,d),tpGS.gsap.set(e.mask,l),y(e.mask,e,t)):"horizontal"===e.direction&&(d.maxWidth="100%",d.width=a-2*e.wpad+"px",d.left=0,d.x=0,l.maxWidth=e.maxw>=a?"100%":Math.min(e.maxw,a)+"px",tpGS.gsap.set(e.c,d),tpGS.gsap.set(e.mask,l),b(e.mask,e,t))):(tpGS.gsap.set(e.c,d),tpGS.gsap.set(e.mask,l))}}},_=function(e,t,a,r){0===e.find(".tp-bullets").length&&(t.style=void 0===t.style?"":t.style,t.c=jQuery('<rs-bullets style="opacity:0"  class="tp-bullets '+t.style+" "+t.direction+" nav-pos-hor-"+t.h_align+" nav-pos-ver-"+t.v_align+" nav-dir-"+t.direction+'"></rs-bullets>'));var o=a.data("key"),s=t.tmp;void 0!==i[r].thumbs[a.index()]&&jQuery.each(i[r].thumbs[a.index()].params,function(e,i){s=s.replace(i.from,i.to)});var n=jQuery('<rs-bullet data-key="'+o+'" class="tp-bullet">'+s+"</rs-bullet>");void 0!==i[r].thumbs[a.index()]&&n.find(".tp-bullet-image").css({backgroundImage:"url("+i[r].thumbs[a.index()].src+")"}),t.c.append(n),e.append(t.c);var d=t.c.find(".tp-bullet").length,l=n.outerWidth(),c=n.outerHeight(),p=l+parseInt(void 0===t.space?0:t.space,0),g=c+parseInt(void 0===t.space?0:t.space,0);"vertical"===t.direction?(n.css({top:(d-1)*g+"px",left:"0px"}),t.c.css({height:(d-1)*g+c,width:l})):(n.css({left:(d-1)*p+"px",top:"0px"}),t.c.css({width:(d-1)*p+l,height:c})),n.on("click",function(){"carousel"===i[r].sliderType&&(i[r].ctNavElement=!0),i[r].sc_indicator="bullet",e.revcallslidewithid(o),e.find(".tp-bullet").removeClass("selected"),jQuery(this).addClass("selected")}),t.padding_top=parseInt(i[r].carousel.padding_top||0,0),t.padding_bottom=parseInt(i[r].carousel.padding_bottom||0,0),"outer-left"!=t.position&&"outer-right"!=t.position||(i[r].outernav=!0)},x=function(e,t,a,r,o){var s="tp-thumb"===r?".tp-thumbs":".tp-tabs",n="tp-thumb"===r?".tp-thumb-mask":".tp-tab-mask",d="tp-thumb"===r?".tp-thumbs-inner-wrapper":".tp-tabs-inner-wrapper",l="tp-thumb"===r?".tp-thumb":".tp-tab",c="tp-thumb"===r?".tp-thumb-image":".tp-tab-image",p="tp-thumb"===r?"rs-thumb":"rs-tab";t.type=r,t.visibleAmount=t.visibleAmount>i[o].slideamount?i[o].slideamount:t.visibleAmount,t.sliderLayout=i[o].sliderLayout,void 0===t.c&&(t.wpad=t.wrapper_padding,t.c=jQuery("<"+p+'s style="opacity:0" class="nav-dir-'+t.direction+" nav-pos-ver-"+t.v_align+" nav-pos-hor-"+t.h_align+" rs-nav-element "+r+"s "+(!0===t.span?"tp-span-wrapper":"")+" "+t.position+" "+(void 0===t.style?"":t.style)+'"><rs-navmask class="'+r+'-mask" style="overflow:hidden;position:relative"><'+p+'s-wrap class="'+r+'s-inner-wrapper" style="position:relative;"></'+p+"s-wrap></rs-navmask></"+p+"s>"),t.c.css({overflow:"visible",position:"outer-top"===t.position||"outer-bottom"===t.position?"relative":"absolute",background:t.wrapper_color,padding:t.wpad+"px",boxSizing:"contet-box"}),"outer-top"===t.position?e.parent().prepend(t.c):"outer-bottom"===t.position?e.after(t.c):e.append(t.c),"outer-left"!==t.position&&"outer-right"!==t.position||tpGS.gsap.set(i[o].c,{overflow:"visible"}),t.padding_top=parseInt(i[o].carousel.padding_top||0,0),t.padding_bottom=parseInt(i[o].carousel.padding_bottom||0,0),"outer-left"!=t.position&&"outer-right"!=t.position||(i[o].outernav=!0));var g=a.data("key"),u=t.c.find(n),h=u.find(d),m=t.tmp;t.maxw="horizontal"===t.direction?t.width*t.visibleAmount+t.space*(t.visibleAmount-1):t.width,t.maxh="horizontal"===t.direction?t.height:t.height*t.visibleAmount+t.space*(t.visibleAmount-1),t.maxw+=2*t.mhoff,t.maxh+=2*t.mvoff,void 0!==i[o].thumbs[a.index()]&&jQuery.each(i[o].thumbs[a.index()].params,function(e,i){m=m.replace(i.from,i.to)});var v=jQuery("<"+p+' data-liindex="'+a.index()+'" data-key="'+g+'" class="'+r+'" style="width:'+t.width+"px;height:"+t.height+'px;">'+m+"<"+p+">");void 0!==i[o].thumbs[a.index()]&&v.find(c).css({backgroundImage:"url("+i[o].thumbs[a.index()].src+")"}),h.append(v);var f=t.c.find(l).length,y=v.outerWidth(),b=v.outerHeight(),w=y+parseInt(void 0===t.space?0:t.space,0),_=b+parseInt(void 0===t.space?0:t.space,0);"vertical"===t.direction?(v.css({top:(f-1)*_+"px",left:"0px"}),h.css({height:(f-1)*_+b,width:y})):(v.css({left:(f-1)*w+"px",top:"0px"}),h.css({width:(f-1)*w+y,height:b})),u.css({maxWidth:t.maxw+"px",maxHeight:t.maxh+"px"}),t.c.css({maxWidth:t.maxw+"px",maxHeight:t.maxh+"px"}),v.on("click",function(){i[o].sc_indicator="bullet","carousel"===i[o].sliderType&&(i[o].ctNavElement=!0);var t=e.parent().find(d).data("distance");t=void 0===t?0:t,Math.abs(t)<10&&(e.revcallslidewithid(g),e.parent().find(s).removeClass("selected"),jQuery(this).addClass("selected"))})},S=function(e,t,a){return null==e||void 0===e.c?a:(e.hide_under>i[t].canv.width||i[t].canv.width>e.hide_over?(!0!==e.tpForceNotVisible&&(e.c.addClass("tp-forcenotvisible"),e.isVisible=!1,a=!0),e.tpForceNotVisible=!0):(!1!==e.tpForceNotVisible&&(e.c.removeClass("tp-forcenotvisible"),e.isVisible=!0,a=!0),e.tpForceNotVisible=!1),a)}}(jQuery),function(e){"use strict";window._R_is_Editor?RVS._R=void 0===RVS._R?{}:RVS._R:window._R_is_Editor=!1;var i=_R_is_Editor?RVS._R:jQuery.fn.revolution;jQuery.extend(!0,i,{bgW:function(e,t){return _R_is_Editor?RVS.RMD.width:"carousel"===i[e].sliderType?i[e].justifyCarousel?i[e].carousel.slide_widths[void 0!==t?t:i[e].carousel.focused]:i[e].carousel.slide_width:i[e].module.width},bgH:function(e,t){return _R_is_Editor?RVS.RMD.height:"carousel"===i[e].sliderType?i[e].carousel.slide_height:i[e].module.height},getPZSides:function(e,i,t,a,r,o,s){var n=e*t,d=i*t,l=Math.abs(a-n),c=Math.abs(r-d),p=new Object;return p.l=(0-o)*l,p.r=p.l+n,p.t=(0-s)*c,p.b=p.t+d,p.h=o,p.v=s,p},getPZCorners:function(e,t,a,r){var o=e.bgposition.split(" ")||"center center",s="center"==o[0]?"50%":"left"==o[0]||"left"==o[1]?"0%":"right"==o[0]||"right"==o[1]?"100%":o[0],n="center"==o[1]?"50%":"top"==o[0]||"top"==o[1]?"0%":"bottom"==o[0]||"bottom"==o[1]?"100%":o[1];s=parseInt(s,0)/100||0,n=parseInt(n,0)/100||0;var d=new Object;return d.start=i.getPZSides(r.start.width,r.start.height,r.start.scale,t,a,s,n),d.end=i.getPZSides(r.start.width,r.start.height,r.end.scale,t,a,s,n),d},getPZValues:function(e){var i=e.panzoom.split(";"),t={duration:10,ease:"none",scalestart:1,scaleend:1,rotatestart:.01,rotateend:0,blurstart:0,blurend:0,offsetstart:"0/0",offsetend:"0/0"};for(var a in i)if(i.hasOwnProperty(a)){var r=i[a].split(":"),o=r[0],s=r[1];switch(o){case"d":t.duration=parseInt(s,0)/1e3;break;case"e":t.ease=s;break;case"ss":t.scalestart=parseInt(s,0)/100;break;case"se":t.scaleend=parseInt(s,0)/100;break;case"rs":t.rotatestart=parseInt(s,0);break;case"re":t.rotateend=parseInt(s,0);break;case"bs":t.blurstart=parseInt(s,0);break;case"be":t.blurend=parseInt(s,0);break;case"os":t.offsetstart=s;break;case"oe":t.offsetend=s}}return t.offsetstart=t.offsetstart.split("/")||[0,0],t.offsetend=t.offsetend.split("/")||[0,0],t.rotatestart=0===t.rotatestart?.01:t.rotatestart,e.panvalues=t,e.bgposition="center center"==e.bgposition?"50% 50%":e.bgposition,t},pzCalcL:function(e,t,a){var r,o,s,n,d,l,c=void 0===a.panvalues?jQuery.extend(!0,{},i.getPZValues(a)):jQuery.extend(!0,{},a.panvalues),p=c.offsetstart,g=c.offsetend,u={start:{width:e,height:_R_is_Editor?e/a.loadobj.width*a.loadobj.height:e/a.owidth*a.oheight,rotation:c.rotatestart,scale:c.scalestart,transformOrigin:"0% 0%"},end:{rotation:c.rotateend,scale:c.scaleend}};c.scalestart,a.owidth,a.oheight,c.scaleend,a.owidth,a.oheight;return u.start.height<t&&(l=t/u.start.height,u.start.height=t,u.start.width=u.start.width*l),.01===c.rotatestart&&0===c.rotateend&&(delete u.start.rotation,delete u.end.rotation),r=i.getPZCorners(a,e,t,u),p[0]=parseFloat(p[0])+r.start.l,g[0]=parseFloat(g[0])+r.end.l,p[1]=parseFloat(p[1])+r.start.t,g[1]=parseFloat(g[1])+r.end.t,o=r.start.r-r.start.l,s=r.start.b-r.start.t,n=r.end.r-r.end.l,d=r.end.b-r.end.t,p[0]=p[0]>0?0:o+p[0]<e?e-o:p[0],g[0]=g[0]>0?0:n+g[0]<e?e-n:g[0],p[1]=p[1]>0?0:s+p[1]<t?t-s:p[1],g[1]=g[1]>0?0:d+g[1]<t?t-d:g[1],u.start.x=p[0],u.start.y=p[1],u.end.x=g[0],u.end.y=g[1],u.end.ease=c.ease,u},pzDrawShadow:function(e,t,a){var r=a.start.width*a.start.scale,o=a.start.height*a.start.scale;"animating"===t.currentState||t.shadowCanvas.width===t.pzDims.width&&t.shadowCanvas.height===t.pzDims.height||(t.shadowCanvas.width=t.pzDims.width,t.shadowCanvas.height=t.pzDims.height),t.shadowCTX.clearRect(0,0,t.pzDims.width,t.pzDims.height),t.shadowCTX.save(),t.shadowCTX.translate(a.start.x,a.start.y),void 0!==a.start.rotation&&t.shadowCTX.rotate(a.start.rotation*Math.PI/180),t.shadowCTX.drawImage(t.loadobj.img,0,0,r,o),t.shadowCTX.restore(),"animating"!==t.currentState?(i.updateSlideBGs(e,a.slidekey,t),void 0!==a.start.blur&&(t.canvas.style.filter=0===a.start.blur?"none":"blur("+a.start.blur+"px)")):void 0!==a.start.blur&&(t.canvasFilter?t.canvasFilterBlur=a.start.blur:t.canvas.style.filter=0===a.start.blur?"none":"blur("+a.start.blur+"px)")},startPanZoom:function(e,t,a,r,o,s){var n=_R_is_Editor?e:e.data();if(void 0!==n.panzoom&&null!==n.panzoom){_R_is_Editor||"carousel"!==i[t].sliderType||(i[t].carousel.justify&&void 0===i[t].carousel.slide_widths&&i.setCarouselDefaults(t,!0),i[t].carousel.justify||(void 0===i[t].carousel.slide_width&&(i[t].carousel.slide_width=!0!==i[t].carousel.stretch?i[t].gridwidth[i[t].level]*(0===i[t].CM.w?1:i[t].CM.w):i[t].canv.width),void 0===i[t].carousel.slide_height&&(i[t].carousel.slide_height=!0!==i[t].carousel.stretch?i[t].gridheight[i[t].level]*(0===i[t].CM.w?1:i[t].CM.w):i[t].canv.height)));var d,l=Math.min(window.devicePixelRatio,2),c=i.bgW(t,r)*l,p=i.bgH(t,r)*l,g=i.pzCalcL(c,p,n);_R_is_Editor||(i[t].panzoomTLs=void 0===i[t].panzoomTLs?{}:i[t].panzoomTLs,i[t].panzoomBGs=void 0===i[t].panzoomBGs?{}:i[t].panzoomBGs,void 0===i[t].panzoomBGs[r]&&(i[t].panzoomBGs[r]=e),d=i[t].panzoomTLs[r]),a=a||0,void 0!==d&&(d.pause(),d.kill(),d=void 0),d=tpGS.gsap.timeline({paused:!0}),n.panvalues.duration=NaN===n.panvalues.duration||void 0===n.panvalues.duration?10:n.panvalues.duration;var u=_R_is_Editor?n:i[t].sbgs[s];_R_is_Editor||void 0===n||void 0===u||(u.panvalues=n.panvalues),void 0!==u&&(void 0===u.shadowCanvas&&(u.shadowCanvas=document.createElement("canvas"),u.shadowCTX=u.shadowCanvas.getContext("2d"),u.shadowCanvas.style.background="transparent",u.shadowCanvas.style.opacity=1),u.pzDims={width:c,height:p},u.shadowCanvas.width=c*Math.max(g.end.scale,g.start.scale),u.shadowCanvas.height=p*Math.max(g.end.scale,g.start.scale),g.slideindex=r,g.slidekey=_R_is_Editor?void 0:s,i.pzDrawShadow(t,u,g),g.end.onUpdate=function(){i.pzDrawShadow(t,u,g)},u.panStart=jQuery.extend(!0,{},g.start),void 0===n.panvalues.blurstart||void 0===n.panvalues.blurend||0===n.panvalues.blurstart&&0===n.panvalues.blurend||(g.start.blur=n.panvalues.blurstart,g.end.blur=n.panvalues.blurend),d.add(tpGS.gsap.to(g.start,n.panvalues.duration,g.end),0),d.progress(a),"play"!==o&&"first"!==o||d.play(),_R_is_Editor?RVS.TL[RVS.S.slideId].panzoom=d:i[t].panzoomTLs[r]=d)}}})}(jQuery),function(e){"use strict";var i=jQuery.fn.revolution,t=i.is_mobile();jQuery.extend(!0,i,{checkForParallax:function(e){var o=i[e].parallax;if(!o.done){if(o.done=!0,t&&o.disable_onmobile)return!1;if("3D"==o.type||"3d"==o.type){if(i.addSafariFix(e),tpGS.gsap.set(i[e].c,{overflow:o.ddd_overflow}),tpGS.gsap.set(i[e].canvas,{overflow:o.ddd_overflow}),"carousel"!=i[e].sliderType&&o.ddd_shadow){var s=jQuery('<div class="dddwrappershadow"></div>');tpGS.gsap.set(s,{force3D:"auto",transformPerspective:1600,transformOrigin:"50% 50%",width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:0}),i[e].c.prepend(s)}for(var n in i[e].slides)i[e].slides.hasOwnProperty(n)&&a(jQuery(i[e].slides[n]),e);i[e].c.find("rs-static-layers").length>0&&(tpGS.gsap.set(i[e].c.find("rs-static-layers"),{top:0,left:0,width:"100%",height:"100%"}),a(i[e].c.find("rs-static-layers"),e))}o.pcontainers={},o.bgcontainers=[],o.bgcontainer_depths=[],o.speed=void 0===o.speed?0:parseInt(o.speed,0),o.speedbg=void 0===o.speedbg?0:parseInt(o.speedbg,0),o.speedls=void 0===o.speedls?0:parseInt(o.speedls,0),i[e].c.find("rs-slide rs-sbg-wrap, rs-slide rs-bgvideo").each(function(){var t=jQuery(this),a=t.data("parallax");window.isSafari11||(i[e].parZ=1),void 0!==(a="on"==a||!0===a?1:a)&&"off"!==a&&!1!==a&&(o.bgcontainers.push(t.closest("rs-sbg-px")),o.bgcontainer_depths.push(i[e].parallax.levels[parseInt(a,0)-1]/100))});for(n=1;n<=o.levels.length;n++){for(var d in i[e].slides)if(i[e].slides.hasOwnProperty(d)){var l=(p=i[e].slides[d]).dataset.key;void 0===o.pcontainers[l]&&(o.pcontainers[l]={}),r(n,o,p,o.pcontainers[l])}l="static";void 0===o.pcontainers[l]&&(o.pcontainers[l]={}),r(n,o,i[e].slayers[0],o.pcontainers[l]),JSON.stringify(o.pcontainers[l])==JSON.stringify({})&&delete o.pcontainers[l]}if("mouse"==o.type||"mousescroll"==o.type||"3D"==o.type||"3d"==o.type){var c="rs-slide .dddwrapper, .dddwrappershadow, rs-slide .dddwrapper-layer, rs-static-layers .dddwrapper-layer";for(var d in"carousel"===i[e].sliderType&&(c="rs-slide .dddwrapper, rs-slide .dddwrapper-layer, rs-static-layers .dddwrapper-layer"),o.sctors={},i[e].slides)if(i[e].slides.hasOwnProperty(d)){var p;l=(p=i[e].slides[d]).dataset.key;o.sctors[l]=p.querySelectorAll(c)}i[e].slayers[0]&&(o.sctors.static=i[e].slayers[0].querySelectorAll(c)),o.mouseEntered=!1,i[e].c.on("mouseenter",function(t){var a=i[e].c.offset().top,r=i[e].c.offset().left;o.mouseEnterX=t.pageX-r,o.mouseEnterY=t.pageY-a,o.mouseEntered=!0});var g=this.updateParallax.bind(this,e,o);i[e].c.on("mousemove.hoverdir, mouseleave.hoverdir, trigger3dpath",function(e){o.eventData=e,void 0!==o.frame&&"mouseleave"!==e.type||(o.frame=window.requestAnimationFrame(g))}),t&&window.addEventListener("deviceorientation",function(e){o.eventData=e,void 0===o.frame&&(o.frame=window.requestAnimationFrame(g))})}var u=i[e].scrolleffect;u.set&&(u.multiplicator_layers=parseFloat(u.multiplicator_layers),u.multiplicator=parseFloat(u.multiplicator)),void 0!==u._L&&0===u._L.length&&(u._L=!1),void 0!==u.bgs&&0===u.bgs.length&&(u.bgs=!1)}},getLayerParallaxOffset:function(e,t,a){return void 0!==i[e].parallax&&void 0!==i[e].parallax.pcontainers&&void 0!==i[e].parallax.pcontainers[i[e]._L[t].slidekey]&&void 0!==i[e].parallax.pcontainers[i[e]._L[t].slidekey][t]?Math.abs(i[e].parallax.pcontainers[i[e]._L[t].slidekey][t]["offs"+a]):0},updateParallax:function(e,t){t.frame&&(t.frame=window.cancelAnimationFrame(t.frame));var a,r,o=t.eventData,s=i[e].c.offset().left,n=i[e].c.offset().top,d=i[e].canv.width,l=i[e].canv.height,c=t.speed/1e3||3;if("enterpoint"==t.origo&&"deviceorientation"!==o.type?(!1===t.mouseEntered&&(t.mouseEnterX=o.pageX-s,t.mouseEnterY=o.pageY-n,t.mouseEntered=!0),a=t.mouseEnterX-(o.pageX-s),r=t.mouseEnterY-(o.pageY-n),c=t.speed/1e3||.4):"deviceorientation"!==o.type&&(a=d/2-(o.pageX-s),r=l/2-(o.pageY-n)),"deviceorientation"==o.type){var p,g,u;p=o.beta-60,g=o.gamma,u=p;var h=Math.abs(t.orientationX-g)>1||Math.abs(t.orientationY-u)>1;if(t.orientationX=g,t.orientationY=u,!h)return;if(i.winW>i.getWinH(e)){var m=g;g=u,u=m}a=360/d*(g*=1.5),r=180/l*(u*=1.5)}for(var v in o.type,"mouseout"===o.type&&(a=0,r=0,t.mouseEntered=!1),t.pcontainers)if(t.pcontainers.hasOwnProperty(v)&&(void 0===i[e].activeRSSlide||"static"===v||i[e].slides[i[e].activeRSSlide].dataset.key===v))for(var f in t.pcontainers[v])if(t.pcontainers[v].hasOwnProperty(f)){var y=t.pcontainers[v][f];y.pl="3D"==t.type||"3d"==t.type?y.depth/200:y.depth/100,y.offsh=a*y.pl,y.offsv=r*y.pl,"mousescroll"==t.type?tpGS.gsap.to(y.tpw,c,{force3D:"auto",x:y.offsh,ease:"power3.out",overwrite:"all"}):tpGS.gsap.to(y.tpw,c,{force3D:"auto",x:y.offsh,y:y.offsv,ease:"power3.out",overwrite:"all"})}if("3D"==t.type||"3d"==t.type)for(var v in t.sctors)if(t.sctors.hasOwnProperty(v)&&(void 0===i[e].activeRSSlide||"static"===v||i[e].slides[i[e].activeRSSlide].dataset.key===v))for(var f in t.sctors[v])if(t.sctors[v].hasOwnProperty(f)){n=jQuery(t.sctors[v][f]);var b=i.isFirefox()?Math.min(25,t.levels[t.levels.length-1])/200:t.levels[t.levels.length-1]/200,w=a*b,_=r*b,x=0==i[e].canv.width?0:Math.round(a/i[e].canv.width*b*100)||0,S=0==i[e].canv.height?0:Math.round(r/i[e].canv.height*b*100)||0,k=n.closest("rs-slide"),L=0,R=!1;"deviceorientation"===o.type&&(w=a*(b=t.levels[t.levels.length-1]/200),_=r*b*3,x=0==i[e].canv.width?0:Math.round(a/i[e].canv.width*b*500)||0,S=0==i[e].canv.height?0:Math.round(r/i[e].canv.height*b*700)||0),n.hasClass("dddwrapper-layer")&&(L=t.ddd_z_correction||65,R=!0),n.hasClass("dddwrapper-layer")&&(w=0,_=0),k.index()===i[e].pr_active_key||"carousel"!=i[e].sliderType?!t.ddd_bgfreeze||R?tpGS.gsap.to(n,c,{rotationX:S,rotationY:-x,x:w,z:L,y:_,ease:"power3.out",overwrite:"all"}):tpGS.gsap.to(n,.5,{force3D:"auto",rotationY:0,rotationX:0,z:0,ease:"power3.out",overwrite:"all"}):tpGS.gsap.to(n,.5,{force3D:"auto",rotationY:0,x:0,y:0,rotationX:0,z:0,ease:"power3.out",overwrite:"all"}),"mouseleave"!=o.type&&"mouseout"!==o.type||tpGS.gsap.to(this,3.8,{z:0,ease:"power3.out"})}},parallaxProcesses:function(e,a,r,o){var s=i[e].fixedOnTop?Math.min(1,Math.max(0,window.scrollY/i.lastwindowheight)):Math.min(1,Math.max(0,(0-(a.top-i.lastwindowheight))/(a.hheight+i.lastwindowheight))),n=(a.top>=0&&a.top<=i.lastwindowheight||a.top<=0&&a.bottom>=0||a.top<=0&&a.bottom,i[e].slides[void 0===i[e].pr_active_key?0:i[e].pr_active_key]);if(i[e].scrollProg=s,i[e].scrollProgBasics={top:a.top,height:a.hheight,bottom:a.bottom},i[e].sbtimeline.fixed?(!1===i[e].fixedScrollOnState||!i.stickySupported||0!=i[e].fullScreenOffsetResult&&null!=i[e].fullScreenOffsetResult?i.stickySupported=!1:(i[e].topc.addClass("rs-stickyscrollon"),i[e].fixedScrollOnState=!0),void 0===i[e].sbtimeline.rest&&i.updateFixedScrollTimes(e),a.top>=i[e].fullScreenOffsetResult&&a.top<=i.lastwindowheight?(s=i[e].sbtimeline.fixStart*(1-a.top/i.lastwindowheight)/1e3,!0!==i.stickySupported&&!1!==i[e].fixedScrollOnState&&(i[e].topc.removeClass("rs-fixedscrollon"),tpGS.gsap.set(i[e].cpar,{top:0,y:0}),i[e].fixedScrollOnState=!1)):a.top<=i[e].fullScreenOffsetResult&&a.bottom>=i[e].module.height?(!0!==i.stickySupported&&!0!==i[e].fixedScrollOnState&&(i[e].fixedScrollOnState=!0,i[e].topc.addClass("rs-fixedscrollon"),tpGS.gsap.set(i[e].cpar,{top:0,y:i[e].fullScreenOffsetResult})),s=(i[e].sbtimeline.fixStart+i[e].sbtimeline.time*(Math.abs(a.top)/(a.hheight-i[e].module.height)))/1e3):(!0!==i.stickySupported&&(tpGS.gsap.set(i[e].cpar,{top:i[e].scrollproc>=0?0:a.height-i[e].module.height}),!1!==i[e].fixedScrollOnState&&(i[e].topc.removeClass("rs-fixedscrollon"),i[e].fixedScrollOnState=!1)),s=a.top>i.lastwindowheight?0:(i[e].sbtimeline.fixEnd+i[e].sbtimeline.rest*(1-a.bottom/i[e].module.height))/1e3)):s=i[e].duration*s/1e3,void 0!==n&&void 0!==i.gA(n,"key")&&!0!==r){for(var d in i[e].sbas[i.gA(n,"key")])if(void 0!==i[e]._L[d]&&void 0!==i[e]._L[d].timeline&&(1==i[e]._L[d].animationonscroll||"true"==i[e]._L[d].animationonscroll)){var l=void 0!==i[e]._L[d].scrollBasedOffset?s+i[e]._L[d].scrollBasedOffset:s;l=l<=0?0:l<.1?.1:l,i[e]._L[d].animteToTime!==l&&(i[e]._L[d].animteToTime=l,tpGS.gsap.to(i[e]._L[d].timeline,i[e].sbtimeline.speed,{time:l,ease:i[e].sbtimeline.ease}))}i[e].c.trigger("timeline_scroll_processed",{id:e,mproc:s,speed:i[e].sbtimeline.speed})}if(t&&i[e].parallax.disable_onmobile)return!1;var c=i[e].parallax;if("3d"!=c.type&&"3D"!=c.type){if("scroll"==c.type||"mousescroll"==c.type)for(var p in c.pcontainers)if(c.pcontainers.hasOwnProperty(p)&&void 0===i[e].activeRSSlide||"static"===p||i[e].slides[i[e].activeRSSlide].dataset.key===p)for(var g in c.pcontainers[p])if(c.pcontainers[p].hasOwnProperty(g)){var u=c.pcontainers[p][g],h=void 0!==o?o:c.speedls/1e3||0;u.pl=u.depth/100,u.offsv=Math.round(i[e].scrollproc*(-u.pl*i[e].canv.height)*10)/10||0,tpGS.gsap.to(u.tpw,h,{overwrite:"auto",force3D:"auto",y:u.offsv})}if(c.bgcontainers)for(g=0;g<c.bgcontainers.length;g++){var m=c.bgcontainers[g],v=c.bgcontainer_depths[g],f=i[e].scrollproc*(-v*i[e].canv.height)||0;h=void 0!==o?o:c.speedbg/1e3||.015;h=void 0!==i[e].parallax.lastBGY&&0===h&&Math.abs(f-i[e].parallax.lastBGY)>50?.15:h,tpGS.gsap.to(m,h,{position:"absolute",top:"0px",left:"0px",backfaceVisibility:"hidden",force3D:"true",y:f+"px"}),i[e].parallax.lastBGY=f}}var y=i[e].scrolleffect;if(y.set&&(!t||!1===y.disable_onmobile)){var b=Math.abs(i[e].scrollproc)-y.tilt/100;if(b=b<0?0:b,!1!==y._L){var w=1-b*y.multiplicator_layers,_={force3D:"true"};if("top"==y.direction&&i[e].scrollproc>=0&&(w=1),"bottom"==y.direction&&i[e].scrollproc<=0&&(w=1),w=w>1?1:w<0?0:w,y.fade&&(_.opacity=w),y.scale){var x=w;_.scale=1-x+1}if(y.blur)L=(L=(1-w)*y.maxblur)<=.03?0:L,_["-webkit-filter"]="blur("+L+"px)",_.filter="blur("+L+"px)";if(y.grayscale){var S="grayscale("+100*(1-w)+"%)";_["-webkit-filter"]=void 0===_["-webkit-filter"]?S:_["-webkit-filter"]+" "+S,_.filter=void 0===_.filter?S:_.filter+" "+S}tpGS.gsap.set(y._L,_)}if(!1!==y.bgs){w=1-b*y.multiplicator,_={backfaceVisibility:"hidden",force3D:"true"};for(var k in"top"==y.direction&&i[e].scrollproc>=0&&(w=1),"bottom"==y.direction&&i[e].scrollproc<=0&&(w=1),w=w>1?1:w<0?0:w,y.bgs)if(y.bgs.hasOwnProperty(k)){if(y.bgs[k].fade&&(_.opacity=w),y.bgs[k].blur){var L=(1-w)*y.maxblur;_["-webkit-filter"]="blur("+L+"px)",_.filter="blur("+L+"px)"}if(y.bgs[k].grayscale){S="grayscale("+100*(1-w)+"%)";_["-webkit-filter"]=void 0===_["-webkit-filter"]?S:_["-webkit-filter"]+" "+S,_.filter=void 0===_.filter?S:_.filter+" "+S}tpGS.gsap.set(y.bgs[k].c,_)}}}}});var a=function(e,t){var a=i[t].parallax;e.find("rs-sbg-wrap").wrapAll('<div class="dddwrapper" style="width:100%;height:100%;position:absolute;top:0px;left:0px;overflow:hidden"></div>');var r=e[0].querySelectorAll(".rs-parallax-wrap"),o=document.createElement("div");o.className="dddwrapper-layer",o.style.width="100%",o.style.height="100%",o.style.position="absolute",o.style.top="0px",o.style.left="0px",o.style.zIndex=5,o.style.overflow=a.ddd_layer_overflow;for(var s=0;s<r.length;s++)r.hasOwnProperty(s)&&null===i.closestNode(r[s],"RS-GROUP")&&null===i.closestNode(r[s],"RS-ROW")&&o.appendChild(r[s]);e[0].appendChild(o),e.find(".rs-pxl-tobggroup").closest(".rs-parallax-wrap").wrapAll('<div class="dddwrapper-layertobggroup" style="position:absolute;top:0px;left:0px;z-index:50;width:100%;height:100%"></div>');var n=e.find(".dddwrapper"),d=e.find(".dddwrapper-layer");e.find(".dddwrapper-layertobggroup").appendTo(n),"carousel"==i[t].sliderType&&(a.ddd_shadow&&n.addClass("dddwrappershadow"),tpGS.gsap.set(n,{borderRadius:i[t].carousel.border_radius})),tpGS.gsap.set(e,{overflow:"visible",transformStyle:"preserve-3d",perspective:1600}),tpGS.gsap.set(n,{force3D:"auto",transformOrigin:"50% 50%",transformStyle:"preserve-3d",transformPerspective:1600}),tpGS.gsap.set(d,{force3D:"auto",transformOrigin:"50% 50%",zIndex:5,transformStyle:"flat",transformPerspective:1600}),tpGS.gsap.set(i[t].canvas,{transformStyle:"preserve-3d",transformPerspective:1600})};function r(t,a,r,o){e(r).find(".rs-pxl-"+t).each(function(){var e=this.className.indexOf("rs-pxmask")>=0,r=e?i.closestNode(this,"RS-PX-MASK"):i.closestClass(this,"rs-parallax-wrap");r&&(e&&!window.isSafari11&&(tpGS.gsap.set(r,{z:1}),tpGS.gsap.set(i.closestNode(r,"RS-BG-ELEM"),{z:1})),r.dataset.parallaxlevel=a.levels[t-1],r.classList.add("tp-parallax-container"),o[this.id]={tpw:r,depth:a.levels[t-1],offsv:0,offsh:0})})}}(jQuery),function(e){"use strict";window._R_is_Editor?RVS._R=void 0===RVS._R?{}:RVS._R:window._R_is_Editor=!1;var i=_R_is_Editor?RVS._R:jQuery.fn.revolution,t=!_R_is_Editor&&i.is_mobile();_R_is_Editor&&(RVS._R.isNumeric=RVS.F.isNumeric),jQuery.extend(!0,i,{getSlideAnimationObj:function(e,t,a){var r,o={};for(var s in void 0===t.anim&&null==t.in&&(t.in="o:0"),t)if(t.hasOwnProperty(s)&&void 0!==t[s]){var n=t[s].split(";");for(var d in n)n.hasOwnProperty(d)&&void 0!==(r=n[d].split(":"))[0]&&void 0!==r[1]&&(o[s]=void 0===o[s]?{}:o[s],o[s][r[0]]="d3"===s&&"c"===r[0]?r[1]:r[1].split(",")[0])}return o.in=void 0===o.in?{}:o.in,o.anim=void 0===o.anim?{e:"basic"}:o.anim,_R_is_Editor||void 0===o.in||void 0===o.in.prst||i.loadSlideAnimLibrary(e,{key:a,prst:o.in.prst}),i[e].sbgs[a].slideanimationRebuild=!1,o},loadSlideAnimLibrary:function(e,t){void 0===i.SLTR&&!0!==i.SLTR_loading?(i.SLTR_loading=!0,jQuery.ajax({type:"post",url:i[e].ajaxUrl,dataType:"json",data:{action:"revslider_ajax_call_front",client_action:"get_transitions",token:i[e].ajaxNonce},success:function(a,r,o){1==a.success&&(i.SLTR=a.transitions,void 0!==t&&i.setRandomDefaults(e,t.key,t.prst))},error:function(e){console.log("Transition Table can not be loaded"),console.log(e)}})):void 0!==t&&void 0!==i.SLTR&&i.setRandomDefaults(e,t.key,t.prst)},convertSlideAnimVals:function(e){return{anim:{ms:parseInt(e.speed,0),o:e.o,e:e.e,f:e.f,p:e.p,d:parseInt(e.d,0)},d3:{f:e.d3.f,d:e.d3.d,z:e.d3.z,t:e.d3.t,c:e.d3.c,e:e.d3.e,fdi:e.d3.fdi,fdo:e.d3.fdo,fz:e.d3.fz,su:e.d3.su,smi:e.d3.smi,sma:e.d3.sma,sc:e.d3.sc,sl:e.d3.sl},in:{o:_R_is_Editor&&void 0!==e.preset&&0===e.preset.indexOf("rnd")?0:g(e.in.o),x:g(e.in.x),y:g(e.in.y),r:g(e.in.r),sx:g(e.in.sx),sy:g(e.in.sy),m:e.in.m,e:e.in.e,row:e.in.row,col:e.in.col,mo:"false"!==e.in.mou&&!1!==e.in.mou?g(e.in.mo):0,moo:"false"!==e.in.mou&&!1!==e.in.mou?g(e.in.moo):"none",mou:e.in.mou},out:void 0===e.out.a||"true"==e.out.a||!0===e.out.a?void 0:{a:p(e.out.a),o:g(e.out.o),x:g(e.out.x),y:g(e.out.y),r:g(e.out.r),sx:g(e.out.sx),sy:g(e.out.sy),m:e.out.m,e:e.out.e,row:g(e.out.row),col:g(e.out.col)},filter:{u:e.filter.u,e:e.filter.e,b:e.filter.b,g:e.filter.g,h:e.filter.h,s:e.filter.s,c:e.filter.c,i:e.filter.i}}},setRandomDefaults:function(e,t,a){i[e].sbgs[t].random=i.getAnimObjectByKey(a,i.SLTR)},getSlideAnim_EmptyObject:function(){return{speed:1e3,o:"inout",e:"basic",f:"start",p:"none",d:15,d3:{f:"none",d:"horizontal",z:300,t:0,c:"#ccc",e:"power2.inOut",fdi:1.5,fdo:2,fz:0,su:!1,smi:0,sma:.5,sc:"#000",sl:1},filter:{u:!1,e:"default",b:0,g:0,h:100,s:0,c:100,i:0},in:{o:1,x:0,y:0,r:0,sx:1,sy:1,m:!1,e:"power2.inOut",row:1,col:1,mo:80,mou:!1},out:{a:"true",o:1,x:0,y:0,r:0,sx:1,sy:1,m:!1,e:"power2.inOut",row:1,col:1}}},getAnimObjectByKey:function(e,t){if(i.getAnimObjectCacheKey===e)return i.getAnimObjectCache;var a;for(var r in i.getAnimObjectCacheKey=e,t)if(t.hasOwnProperty(r)&&void 0===a)for(var o in t[r])if(t[r].hasOwnProperty(o)&&void 0===a)if(e===o&&0===e.indexOf("rnd"))(a=t[r][o]).main=r,a.group=o;else for(var s in t[r][o])t[r][o].hasOwnProperty(s)&&void 0===a&&s===e&&((a=t[r][o][s]).main=r,a.group=o);return i.getAnimObjectCache=jQuery.extend(!0,{},a),a},getRandomSlideTrans:function(e,t,a){if(void 0!==i.randomSlideAnimCache&&void 0!==i.randomSlideAnimCache[e]&&void 0!==i.randomSlideAnimCache[e][t])return i.randomSlideAnimCache[e][t][Math.floor(Math.random()*i.randomSlideAnimCache[e][t].length)];for(var r in i.randomSlideAnimCache=void 0===i.randomSlideAnimCache?{}:i.randomSlideAnimCache,i.randomSlideAnimCache[e]=void 0===i.randomSlideAnimCache[e]?{}:i.randomSlideAnimCache[e],i.randomSlideAnimCache[e][t]=void 0===i.randomSlideAnimCache[e][t]?[]:i.randomSlideAnimCache[e][t],a)if(a.hasOwnProperty(r)&&"random"!==r&&"custom"!==r&&("all"==e||r==e))for(var o in a[r])if(a[r].hasOwnProperty(o)&&"icon"!==o&&(""+t=="undefined"||t.indexOf(o)>=0))for(var s in a[r][o])a[r][o].hasOwnProperty(s)&&-1==jQuery.inArray(a[r][o][s].title,["*north*","*south*","*east*","*west*"])&&i.randomSlideAnimCache[e][t].push(s);return i.randomSlideAnimCache[e][t][Math.floor(Math.random()*i.randomSlideAnimCache[e][t].length)]},cbgW:function(e,t){return _R_is_Editor?RVS.RMD.width:"carousel"===i[e].sliderType?i[e].justifyCarousel?i[e].carousel.slide_widths[void 0!==t?t:i[e].carousel.focused]:i[e].carousel.slide_width:i[e].canv.width},cbgH:function(e,t){return _R_is_Editor?RVS.RMD.height:"carousel"===i[e].sliderType?i[e].carousel.slide_height:i[e].canv.height},animateSlide:function(e,i){return _R_is_Editor&&RVS.F.resetSlideTL(),void 0===tpGS.eases.late&&(tpGS.CustomEase.create("late","M0,0,C0,0,0.474,0.078,0.724,0.26,0.969,0.438,1,1,1,1"),tpGS.CustomEase.create("late2","M0,0 C0,0 0.738,-0.06 0.868,0.22 1,0.506 1,1 1,1 "),tpGS.CustomEase.create("late3","M0,0,C0,0,0.682,0.157,0.812,0.438,0.944,0.724,1,1,1,1")),s(e,i)},getBasic:function(e){return jQuery.extend(!0,{attr:null==e||void 0===e.attr?["o","r","sx","sy","x","y","m","e","row","col","mo","moo"]:e.attr,in:{f:"start",m:!1,o:1,r:0,sx:1,sy:1,x:0,y:0,row:1,col:1,e:"power2.inOut",ms:1e3,mo:0,moo:"none"},out:{f:"start",m:!1,o:1,r:0,sx:1,sy:1,x:0,y:0,row:1,col:1,e:"power2.inOut",ms:1e3}},e)},playBGVideo:function(e,t,a){if(_R_is_Editor)a=void 0===a?RVS.SBGS[RVS.S.slideId].n:a;else{if(void 0===a&&(void 0===i[e].pr_next_bg||0===i[e].pr_next_bg.length))return;a=void 0===a?i[e].sbgs[void 0===t?i[e].pr_next_bg[0].dataset.key:t]:a}void 0!==a.bgvid&&a.bgvid.length>0&&(u(e,{},a,"in"),i.resetVideo(a.bgvid,e),i.playVideo(a.bgvid,e,!0),tpGS.gsap.to(a.bgvid[0],.2,{zIndex:30,display:"block",autoAlpha:1,delay:.075,overwrite:"all"}))},stopBGVideo:function(e,t,a){if(_R_is_Editor)a=void 0===a?RVS.SBGS[RVS.S.slideId].n:a;else{if(void 0===a&&(void 0===i[e].pr_next_bg||0===i[e].pr_next_bg.length))return;a=void 0===a?i[e].sbgs[void 0===t?i[e].pr_next_bg[0].dataset.key:t]:a}void 0!==a.bgvid&&a.bgvid.length>0&&(a.drawVideoCanvasImagesRecall=!1,i.stopVideo(a.bgvid,e),tpGS.gsap.to(a.bgvid[0],.2,{autoAlpha:0,zIndex:0,display:"none"}))},getmDim:function(e,t,a){var r=i.cbgW(e,t),o=i.cbgH(e,t);return a.DPR=Math.min(window.devicePixelRatio,2),{width:Math.round(r*a.DPR),height:Math.round(o*a.DPR),w:r,h:o}},updateSlideBGs:function(e,t,a){if(_R_is_Editor)a=void 0===a?RVS.SBGS[RVS.S.slideId].n:a;else{if(void 0===a&&(void 0===i[e].pr_next_bg||0===i[e].pr_next_bg.length))return;a=void 0===a?i[e].sbgs[void 0===t?i[e].pr_next_bg[0].dataset.key:t]:a}a.mDIM=i.getmDim(e,a.skeyindex,a),void 0!==a.video?("IMG"!==a.video.tagName&&(a.isVidImg=""),a.cDIMS=i.getBGCanvasDetails(e,a),a.canvas.width=a.mDIM.width,a.canvas.height=a.mDIM.height,a.ctx.clearRect(0,0,a.mDIM.width,a.mDIM.height),a.ctx.drawImage(a.shadowCanvas,0,0)):(a.cDIMS=i.getBGCanvasDetails(e,a),a.canvas.width=a.mDIM.width,a.canvas.height=a.mDIM.height,"panzoom"===a.currentState||"animating"===a.currentState||void 0===a.currentState&&!_R_is_Editor&&"carousel"!=i[e].sliderType||(a.ctx.clearRect(0,0,a.mDIM.width,a.mDIM.height),a.ctx.drawImage(a.shadowCanvas,0,0))),"animating"===a.currentState&&"carousel"!==i[e].sliderType&&i.animatedCanvasUpdate(e,a)},addCanvas:function(){var e=document.createElement("canvas");return x=e.getContext("2d"),e.style.background="transparent",e.style.opacity=1,x},updateVideoFrames:function(e,a,r){if(a.now=Date.now(),a.then=void 0===a.then?a.now-500:a.then,a.elapsed=a.now-a.then,a.fps="animating"===a.currentState&&window._rs_firefox?50:33,a.elapsed>a.fps){a.then=a.now-a.elapsed%a.fps;var o="img"===a.video.tagName||null==a.video.videoWidth||0==a.video.videoWidth;void 0!==a.video&&!a.video.BGrendered&&void 0!==a.loadobj&&void 0!==a.loadobj.img||t&&i.isFirefox(e)?(a.mDIM=i.getmDim(e,a.skeyindex,a),a.pDIMS=l(a.mDIM,a,{width:a.mDIM.width,height:a.mDIM.height,x:0,y:0,contw:a.loadobj.width,conth:a.loadobj.height}),a.shadowCanvas.width=a.mDIM.width,a.shadowCanvas.height=a.mDIM.height,a.shadowCTX.drawImage(a.loadobj.img,a.pDIMS.x,a.pDIMS.y,a.pDIMS.width,a.pDIMS.height)):((r||void 0===a.sDIMS||o!==a.isVidImg||0===a.sDIMS.width||0===a.sDIMS.height)&&(a.isVidImg=o,a.mDIM=i.getmDim(e,a.skeyindex,a),a.sDIMS=l(a.mDIM,a,{width:a.mDIM.width,height:a.mDIM.height,x:0,y:0,contw:a.isVidImg?a.loadobj.width:a.video.videoWidth,conth:a.isVidImg?a.loadobj.height:a.video.videoHeight})),void 0!==a.sDIMS&&0!==a.sDIMS.width&&0!==a.sDIMS.height&&("animating"===a.currentState?(a.shadowCanvas.width=a.sDIMS.width,a.shadowCanvas.height=a.sDIMS.height,a.shadowCTX.drawImage(a.video,a.sDIMS.x,a.sDIMS.y,a.sDIMS.width,a.sDIMS.height)):void 0===a.animateDirection&&(a.canvas.width=a.mDIM.width,a.canvas.height=a.mDIM.height,a.ctx.drawImage(a.video,a.sDIMS.x,a.sDIMS.y,a.sDIMS.width,a.sDIMS.height)),a.shadowCanvas_Drawn=!0))}(r||a.drawVideoCanvasImagesRecall&&"animating"===a.currentState||"animating"===a.currentState&&void 0===a.shadowCanvas_Drawn)&&window.requestAnimationFrame(function(){i.updateVideoFrames(e,a)})},createOverlay:function(e,t,a,r){if("none"===t)return"none";a=void 0===a?1:a;r=void 0===r?{0:"rgba(0, 0, 0, 0)",1:"rgba(0, 0, 0, 1)"}:r;var o={none:[[0]],1:[[1,0],[0,0]],2:[[1,0,0],[0,0,0],[0,0,0]],3:[[1,0,0,0],[0,0,0,0],[0,0,0,0]],4:[[1],[0]],5:[[1],[0],[0]],6:[[1],[0],[0],[0]],7:[[1,0]],8:[[1,0,0]],9:[[1,0,0,0]],10:[[1,0,0,0,0],[0,1,0,1,0],[0,0,0,0,0],[0,1,0,1,0],[0,0,0,0,1]],11:[[0,0,1,0,0],[0,1,0,1,0],[1,0,0,0,1],[0,1,0,1,0],[0,0,1,0,0]],12:[[1,0,0],[0,1,0],[0,0,1]],13:[[0,0,1],[0,1,0],[1,0,0]],14:[[1,0,0,0,0],[0,1,0,0,0],[0,0,1,0,0],[0,0,0,1,0],[0,0,0,0,0]],15:[[0,0,0,0,1],[0,0,0,1,0],[0,0,1,0,0],[0,1,0,0,0],[1,0,0,0,0]],16:[[1,0,0,0,1],[0,1,0,1,0],[0,0,1,0,0],[0,1,0,1,0],[1,0,0,0,1]]},s=void 0===o[t=void 0===t?1:t]?o[2]:o[t];_R_is_Editor&&(i[e]=void 0===i[e]?{}:i[e]),i[e].patternCanvas=document.createElement("canvas"),i[e].patternCtx=i[e].patternCanvas.getContext("2d"),i[e].patternCanvas.width=s[0].length*a,i[e].patternCanvas.height=s.length*a;for(var n=0;n<s.length;n++)for(var d=0;d<s[n].length;d++)"transparent"!=r[s[n][d]]&&(i[e].patternCtx.fillStyle=r[s[n][d]],i[e].patternCtx.fillRect(d*a,n*a,a,a));return"url("+i[e].patternCanvas.toDataURL()+")"},getBGCanvasDetails:function(e,t,a,r){var o;return t.mDIM=i.getmDim(e,t.skeyindex,t),t.usepattern="auto"===t.bgfit||t.bgfit.indexOf("%")>=0,_R_is_Editor&&void 0===t.panzoom&&delete t.shadowCanvas,void 0===t.shadowCanvas&&(t.shadowCanvas=document.createElement("canvas"),t.shadowCTX=t.shadowCanvas.getContext("2d"),t.shadowCanvas.style.background="transparent",t.shadowCanvas.style.opacity=1),!0===t.replaceShadowCanvas||!0===t.loadobj.bgColor||!0===t.usebgColor||void 0!==t.panzoom||null!=t.isHTML5&&1!=t.poster||t.usepattern?(o={width:t.mDIM.width,height:t.mDIM.height,x:0,y:0},t.usepattern&&void 0!==t.loadobj&&void 0!==t.loadobj.img?i.getCanvasPattern(e,t,{ratio:t.loadobj.height/t.loadobj.width}):(t.loadobj.bgColor||t.usebgColor)&&(t.shadowCanvas.width=t.mDIM.width,t.shadowCanvas.height=t.mDIM.height,i.getCanvasGradients(e,t))):(o=l(t.mDIM,t,{width:t.mDIM.width,height:t.mDIM.height,x:0,y:0,contw:t.loadobj.width,conth:t.loadobj.height}),t.shadowCanvas.width=t.mDIM.width,t.shadowCanvas.height=t.mDIM.height,void 0!==t.loadobj&&void 0!==t.loadobj.img&&t.shadowCTX.drawImage(t.loadobj.img,o.x,o.y,o.width,o.height),o={width:t.mDIM.width,height:t.mDIM.height,x:0,y:0}),o},getCanvasPattern:function(e,t,a){void 0===t.patternImageCanvas&&(t.patternImageCanvas=document.createElement("canvas"),t.patternImageCTX=t.patternImageCanvas.getContext("2d"));var r=t.bgfit.split(" ");1===r.length&&(r[1]=r[0]),a.width="auto"===r[0]?t.loadobj.width:t.loadobj.width*(parseInt(r[0],0)/100),a.height="auto"===r[1]?t.loadobj.height:a.width*a.ratio,t.DPR=Math.min(window.devicePixelRatio,2),a.width=a.width*t.DPR,a.height=a.height*t.DPR,t.patternImageCanvas.width=a.width,t.patternImageCanvas.height=a.height,t.patternImageCTX.drawImage(t.loadobj.img,0,0,a.width,a.height),t.shadowCanvas.width=t.mDIM.width,t.shadowCanvas.height=t.mDIM.height,t.pattern=t.shadowCTX.createPattern(t.patternImageCanvas,t.bgrepeat),t.shadowCTX.fillStyle=t.pattern,t.shadowShifts={h:t.bgposition.split(" ")[0],v:t.bgposition.split(" ")[1]},t.shadowShifts.hperc=i.isNumeric(parseInt(t.shadowShifts.h))?parseInt(t.shadowShifts.h)/100*t.mDIM.width:0,t.shadowShifts.vperc=i.isNumeric(parseInt(t.shadowShifts.v))?parseInt(t.shadowShifts.v)/100*t.mDIM.height:0,t.shadowShifts.x="left"===t.shadowShifts.h?0:"center"===t.shadowShifts.h||"50%"==t.shadowShifts.h?"repeat"==t.bgrepeat||"repeat-x"==t.bgrepeat?t.mDIM.width/2-a.width/2-Math.ceil(t.mDIM.width/2/a.width)*a.width:t.mDIM.width/2-a.width/2:"right"===t.shadowShifts.h?"repeat"==t.bgrepeat||"repeat-x"==t.bgrepeat?-(a.width-t.mDIM.width%a.width):t.mDIM.width-a.width:"repeat"==t.bgrepeat||"repeat-x"==t.bgrepeat?-(a.width-t.shadowShifts.hperc%a.width):t.shadowShifts.hperc,t.shadowShifts.y="top"===t.shadowShifts.v?0:"center"===t.shadowShifts.v||"50%"==t.shadowShifts.v?"repeat"==t.bgrepeat||"repeat-y"==t.bgrepeat?t.mDIM.height/2-a.height/2-Math.ceil(t.mDIM.height/2/a.height)*a.height:t.mDIM.height/2-a.height/2:"bottom"===t.shadowShifts.v?"repeat"==t.bgrepeat||"repeat-y"==t.bgrepeat?-(a.height-t.mDIM.height%a.height):t.mDIM.height-a.height:"repeat"==t.bgrepeat||"repeat-y"==t.bgrepeat?-(a.height-t.shadowShifts.vperc%a.height):t.shadowShifts.vperc,t.shadowCTX.translate(t.shadowShifts.x,t.shadowShifts.y),t.shadowCTX.fillRect(0,0,t.mDIM.width-t.shadowShifts.x,t.mDIM.height-t.shadowShifts.y)},getCanvasGradients:function(e,t){var a;if(t.bgcolor.indexOf("gradient")>=0){if(t.bgcolor.indexOf("radial-gradient")>=0)(null==t.gradient||_R_is_Editor)&&(t.gradient=t.bgcolor.split("radial-gradient(ellipse at center, ")[1],t.gradient=i.getGradientColorStopPoints(t.gradient)),t.shadowGrd=t.shadowCTX.createRadialGradient(t.mDIM.width/2,t.mDIM.height/2,0,t.mDIM.width/2,t.mDIM.height/2,Math.max(t.mDIM.width/2,t.mDIM.height/2));else{if(null==t.gradient||_R_is_Editor)for(a in t.gradient=t.bgcolor.split("linear-gradient(")[1],_R_is_Editor&&(t.gradient=t.gradient.split(", ").join(","),t.gradient=t.gradient.split(",rgba").join(", rgba")),t.gradientDeg=t.gradient.split("deg, "),t.gradient=(t.gradientDeg.length>1?t.gradientDeg[1]:t.gradientDeg[0]).split(" "),t.gradientDeg=t.gradientDeg.length>1?t.gradientDeg[0]:180,t.gradient)t.gradient.hasOwnProperty(a)&&t.gradient[a].indexOf("%")>=0&&(t.gradient[a]=""+Math.round(100*parseFloat(t.gradient[a].split("%,")[0].split("%)")[0]))/1e4);t.shadowGrd=i.calcLinearGradient(t.shadowCTX,t.shadowCanvas.width,t.shadowCanvas.height,t.gradientDeg)}for(a=0;a<t.gradient.length;a+=2)t.shadowGrd.addColorStop(t.gradient[a+1],t.gradient[a]);t.shadowCTX.clearRect(0,0,t.mDIM.width,t.mDIM.height),t.shadowCTX.fillStyle=t.shadowGrd,t.shadowCTX.fillRect(0,0,t.mDIM.width,t.mDIM.height)}else t.shadowCTX.fillStyle=t.bgcolor,t.shadowCTX.fillRect(0,0,t.mDIM.width,t.mDIM.height)},getGradientColorStopPoints(e){var i=/rgb([\s\S]*?)%/g,t=[],a=[];do{(o=i.exec(e))&&t.push(o[0])}while(o);for(var r=0;r<t.length;r++){var o=t[r],s=(e=/rgb([\s\S]*?)\)/.exec(o),/\)([\s\S]*?)%/.exec(o));e[0]&&(e=e[0]),s[1]&&(s=s[1]),a.push(e),a.push(parseFloat(s)/100)}return a},calcLinearGradient:function(e,i,t,a){a=a*Math.PI/180+Math.PI/2;for(var r,o,s,n,d=i/2,l=t/2,c=Math.sqrt(d*d+l*l),p={x1:Math.cos(a)*c+d,y1:Math.sin(a)*c+l,x2:d,y2:l},g=[m({x:0,y:0},a),m({x:i,y:0},a),m({x:i,y:t},a),m({x:0,y:t},a)],u=[],f=0;f<g.length;f++)u.push(v(g[f],p));if(h(d,l,u[0].x,u[0].y)>h(d,l,u[1].x,u[1].y)?(r=u[0].x,o=u[0].y):(r=u[1].x,o=u[1].y),h(d,l,u[2].x,u[2].y)>h(d,l,u[3].x,u[3].y)?(s=u[2].x,n=u[2].y):(s=u[3].x,n=u[3].y),Math.round(100*Math.atan2(l-o,d-r))/100===Math.round(a%(2*Math.PI)*100)/100){var y=r,b=o;r=s,o=n,s=y,n=b}return e.createLinearGradient(Math.round(r),Math.round(o),Math.round(s),Math.round(n))},transitions:{filter:{update:function(e,i,t){if(void 0!==e&&void 0!==e.tl){var a=void 0!==t||void 0!==e.tl.blur?" blur("+(void 0!==t?t:0+e.tl.blur!==void 0?e.tl.blur:0)+"px)":"";i.canvas.style.filter=void 0===e.tl.filter?""+a:e.tl.filter+a}},extendTimeLine:function(e,i,t){if(null!=i){var a=void 0!==i.g&&"0%"!==i.g&&0!==i.g?(""===a?"":" ")+"grayscale(_g_%)":"";a+=void 0!==i.h&&"100%"!==i.h&&100!==i.h?(""===a?"":" ")+"brightness(_h_%)":"",a+=void 0!==i.s&&"0px"!==i.s&&0!==i.s?(""===a?"":" ")+"sepia(_s_%)":"",a+=void 0!==i.c&&100!==i.c?(""===a?"":" ")+"contrast(_c_%)":"",""!==(a+=void 0!==i.i&&0!==i.i?(""===a?"":" ")+"invert(_i_%)":"")&&(i.tl={filter:a.replace("_g_",parseFloat(i.g)).replace("_h_",parseFloat(i.h)).replace("_s_",parseFloat(i.s)).replace("_c_",parseFloat(i.c)).replace("_i_",parseFloat(i.i))}),void 0!==i.b&&"0px"!==i.b&&0!==i.b&&(void 0===i.tl?i.tl={blur:parseFloat(i.b)}:i.tl.blur=parseFloat(i.b)),void 0!==i.tl&&(e.add(tpGS.gsap.to(i.tl,i.ms/i.sec,void 0===i.tl.filter?{blur:0}:void 0===i.tl.blur?{filter:a.replace("_g_","0").replace("_h_","100").replace("_s_","0").replace("_c_",100).replace("_i_",0),ease:i.e}:{blur:0,filter:a.replace("_g_","0").replace("_h_","100").replace("_s_","0").replace("_c_",100).replace("_i_",0),ease:i.e}),0),t.canvasFilter=!0)}}},slidingoverlay:{getBasic:function(){return i.getBasic({attr:["x","y"],in:{m:!0,o:-1,_xy:20,_gxys:10,_gxye:-10,zIndex:20,e:"power1.inOut"},out:{m:!0,reversed:!1,_xy:-100,o:0,zIndex:10,e:"power1.inOut"}})},updateAnim:function(e,i,t){var a=void 0!==i.in.x&&0!==i.in.x&&"0%"!==i.in.x?"x":"y";i.in["g"+a+"s"]=n(i.in[a],i.in._gxys,t,1)+"%",i.in["g"+a+"e"]=n(i.in[a],i.in._gxye,t,1)+"%",i.out[a]=n(i.in[a],i.out._xy,t,1)+"%",i.in[a]=n(i.in[a],i.in._xy,t,1)+"%";var r=parseInt(i.in[a])>=0;return i.in.d="x"===a?r?"left":"right":r?"up":"down",i},beforeDraw:function(e,i,t,a){void 0!==t.d&&(t._dxs="right"===t.d?0+t.mw:"left"===t.d?0-t.mw:0,t._dys="down"===t.d?0+t.mh:"up"===t.d?0-t.mh:0,t._xs="left"===t.d?0-t.mw:0,t._ys="up"===t.d?0-t.mh:0,t._xe="right"===t.d?a.SLOT.OW+t.mw:"left"===t.d?a.SLOT.OW-t.mw:a.SLOT.OW,t._ye="down"===t.d?a.SLOT.OH+t.mh:"up"===t.d?a.SLOT.OH-t.mh:a.SLOT.OH,i.beginPath(),i.rect("left"===t.d?Math.max(0,t._xs):"right"===t.d?Math.min(0,t._xs):0,"up"===t.d?Math.max(0,t._ys):"down"===t.d?Math.min(0,t._ys):0,"left"===t.d?Math.max(a.SLOT.OW,t._xe):"right"===t.d?Math.min(a.SLOT.OW,t._xe):t._xe,"up"===t.d?Math.max(a.SLOT.OH,t._ye):"down"===t.d?Math.min(a.SLOT.OH,t._ye):t._ye),i.clip())},afterDraw:function(e,i,t,a,r){void 0!==t.d&&(i.save(),i.beginPath(),i.rect(Math.max(0,t._dxs),Math.max(0,t._dys),t._xe,t._ye),i.clip(),i.save(),i.transform(r.csx,r.ssx,r.ssy,r.csy,.5*a.SLOT.OW+t.x+t.sgx,.5*a.SLOT.OH+t.y+t.sgy),i.drawImage(void 0!==a.shadowCanvas?a.shadowCanvas:a.loadobj.img,0,0,a.SLOT.OW,a.SLOT.OH,t.sgx-a.SLOT.OW/2,t.sgy-a.SLOT.OH/2,a.SLOT.OW,a.SLOT.OH),i.restore(),i.fillStyle="rgba(0,0,0,0.6)",i.fillRect(t.gx,t.gy,a.SLOT.OW,a.SLOT.OH),i.restore())},extendTimeLine:function(e,i,t,a,r,o){"in"!==r.direction||void 0===a.gxe&&void 0===a.gye||(jQuery.extend(!0,t[0],{d:a.d,gx:void 0===a.gxs?0:2*n(a.gxs,o.width,r.sdir,0),gy:void 0===a.gys?0:2*n(a.gys,o.height,r.sdir,0),sgx:void 0===a.gxs?0:n(a.gxs,o.width,r.sdir,0),sgy:void 0===a.gys?0:n(a.gys,o.height,r.sdir,0),mw:0-o.width,mh:0-o.height}),i.add(tpGS.gsap.to(t,a.ms/a.sec,{gx:void 0===a.gxe?0:2*n(a.gxe,o.width,r.sdir,0),gy:void 0===a.gye?0:2*n(a.gye,o.height,r.sdir,0),sgx:void 0===a.gxe?0:2*n(a.gxe,o.width,r.sdir,0),sgy:void 0===a.gye?0:2*n(a.gye,o.height,r.sdir,0),mw:o.width,mh:o.height,ease:a.e}),0))}},motionFilter:{init:function(e,i){return void 0!==i&&parseFloat(i)>0?(i=parseFloat(i),e.fmExists=!0,e.fmShadow=void 0===e.fmShadow?document.createElement("canvas"):e.fmShadow,e.fmCtx=e.fmShadow.getContext("2d"),e.fmShadow.width=e.ctx.canvas.width,e.fmShadow.height=e.ctx.canvas.height,e.fmCtx.globalAlpha=tpGS.gsap.utils.mapRange(100,0,40,0,i)/100,e.fmCtx.clearRect(0,0,e.ctx.canvas.width,e.ctx.canvas.height)):e.fmExists=!1,i},render:function(e,i){"partial"===i&&(e.fmCtx.globalCompositeOperation="source-over"),e.fmCtx.drawImage(e.canvas,0,0,e.canvas.width,e.canvas.height),e.ctx.clearRect(0,0,e.canvas.width,e.canvas.height),e.ctx.drawImage(e.fmCtx.canvas,0,0,e.canvas.width,e.canvas.height),"partial"===i&&(e.fmCtx.globalCompositeOperation="source-atop"),"partial"!==i&&"full"!==i||(e.fmCtx.fillStyle="rgba(255, 255, 255, 0.1)",e.fmCtx.fillRect(0,0,e.canvas.width,e.canvas.height))},clearFull:function(e,i){e.fmExists&&void 0!==e.fmCtx&&(e.ctx.clearRect(0,0,e.canvas.width,e.canvas.height),e.fmCtx.clearRect(0,0,e.canvas.width,e.canvas.height),void 0!==i&&i.render(i.time(),!0,!0))},complete:function(e){e.fmShadow&&e.fmShadow.remove()}},d3:{ticker:function(e,i,t){if(void 0!==e.helper){var a=e.smi*("in"===t?e.helper.oo:e.helper.o),r=e.sma*("in"===t?e.helper.oo:e.helper.o);if(e.gradient="vertical"===e.d?"in"===t?i.ctx.createLinearGradient(0,0,0,i.canvas.height):i.ctx.createLinearGradient(0,i.canvas.height,0,0):"in"===t?i.ctx.createLinearGradient(0,0,i.canvas.width,0):i.ctx.createLinearGradient(i.canvas.width,0,0,0),e.gradient.addColorStop(0,"rgba("+e.sc+","+a+")"),e.gradient.addColorStop(e.sl,"rgba("+e.sc+","+r+")"),i.ctx.fillStyle=e.gradient,i.ctx.fillRect(0,0,i.canvas.width,i.canvas.height),void 0!==i.cube&&i.cube.ctx){var o=void 0!==e.roomhelper&&!1!==e.roomhelper&&(90-e.roomhelper.r)/90;a=!1!==o?o:e.smi*e.helper.o,r=!1!==o?o:e.sma*e.helper.o,i.cube.ctx.clearRect(0,0,i.cube.ctx.canvas.width,i.cube.ctx.canvas.height),e.gradientW=!1!==o?"vertical"===e.d?e.t<0&&1===e.sdir||e.t>0&&-1===e.sdir?i.ctx.createRadialGradient(0,i.cube.ctx.canvas.width/2,0,0,0,2*i.cube.ctx.canvas.width):i.ctx.createRadialGradient(i.cube.ctx.canvas.width,0,0,0,0,2*i.cube.ctx.canvas.width):e.t>0&&1===e.sdir||e.t<0&&-1===e.sdir?i.ctx.createRadialGradient(i.cube.ctx.canvas.width/2,i.cube.ctx.canvas.height,0,i.cube.ctx.canvas.width/2,i.cube.ctx.canvas.height,i.cube.ctx.canvas.width):i.ctx.createRadialGradient(i.cube.ctx.canvas.width/2,.2*i.cube.ctx.canvas.height,0,i.cube.ctx.canvas.width/2,.2*i.cube.ctx.canvas.height,i.cube.ctx.canvas.width):"vertical"===e.d?i.ctx.createLinearGradient(0,0,0,i.cube.ctx.canvas.height):i.ctx.createLinearGradient(0,0,i.cube.ctx.canvas.width,0),e.gradientW.addColorStop(0,"rgba("+e.sc+","+(!1!==o?"a"===e.DIR?r:0:"a"===e.DIR?0:r)+")"),e.gradientW.addColorStop(1,"rgba("+e.sc+","+(!1!==o?"a"===e.DIR?0:r:"a"===e.DIR?r:0)+")"),i.cube.ctx.fillStyle=e.gradientW,i.cube.ctx.fillRect(0,0,i.cube.ctx.canvas.width,i.cube.ctx.canvas.height)}}},setWall:function(e,i,t,a,r,o){return e.TL=tpGS.gsap.timeline(),e.TL.add(tpGS.gsap.to(e.c,.2,{display:"block"}),0),"rotationX"===t?(e.ctx.canvas.width=a.w,e.ctx.canvas.height=a.w,e.TL.add(tpGS.gsap.set(e.w,{backgroundColor:r,width:a.w,height:a.w,transformOrigin:"50% 50% -"+a.w/2+"px",x:0,y:i>0?-(a.w-a.h):0,rotationX:i>0?-90:90,rotationY:0}),0)):(e.ctx.canvas.width=o?a.w:a.h,e.ctx.canvas.height=a.h,e.TL.add(tpGS.gsap.set(e.w,{backgroundColor:r,width:o?a.w:a.h,height:a.h,transformOrigin:"50% 50% -"+(o?a.w:a.h)/2+"px",x:i<0?a.w-a.h:0,y:0,rotationX:0,rotationY:i>0?-90:90}),0)),e.TL},buildCube:function(e){e.cube={c:document.createElement("div"),w:document.createElement("canvas")},e.cube.ctx=e.cube.w.getContext("2d"),e.cube.c.className="rs_fake_cube",e.cube.w.className="rs_fake_cube_wall",tpGS.gsap.set(e.cube.c,{width:e.mDIM.w,height:e.mDIM.h}),tpGS.gsap.set(e.cube.w,{width:e.mDIM.w,height:e.mDIM.h,backgroundColor:"#ccc"}),e.cube.c.appendChild(e.cube.w),e.sbg.appendChild(e.cube.c)},cubeTL:function(e,t,a,r){if("none"!==t.f&&void 0!==t.f){a.sbg.style.transformStyle="preserve-3d";var o=tpGS.gsap.timeline(),s="incube"===t.f?1:-1,n="incube"===t.f||"cube"===t.f,d="fly"===t.f?-30:90,l="turn"!==t.f&&!1!==t.t&&(_R_is_Editor||!0===i[e].firstSlideAnimDone),c=-1*t.z,p={},g={z:l?0:c,ease:"power1.inOut"},u={ease:t.e},h=[a.canvas],m=n?"50% 50% ":"20% 20% ",v="rotationX",f="rotationY",y="y",b="height",w=t.fd;if("vertical"!==t.d?(v="rotationY",f="rotationX",y="x",b="width",t.DIR=1===t.sdir?"b":"a"):t.DIR=1===t.sdir?"a":"b",b="width"===b?"w":"height"===b?"h":b,"turn"===t.f?(d="vertical"===t.d?-120:120,m="vertical"===t.d?1===t.sdir?"in"===r?"0% 0% 0%":"0% 100% 0%":"in"===r?"0% 100% 0%":"0% 0% 0%":1===t.sdir?"in"===r?"0% 0% 0%":"100% 0% 0%":"in"===r?"100% 0% 0%":"0% 0% 0%",g.z=0,u.ease="out"===r?"power3.out":u.ease,w="out"===r?w/2:w):m+=s*a.mDIM[b]/2+"px",u[v]=0,u[y]=0,"in"===r?p[v]=d*t.sdir:u[v]=-d*t.sdir,"fly"===t.f){var _=void 0===t.fz?20*Math.random()-10:parseInt(t.fz);"in"===r?(p[y]=a.mDIM[b]*(void 0===t.fdi?1.5:parseFloat(t.fdi))*t.sdir,p.rotateZ=t.sdir*_,u.rotateZ=0):(u[y]=a.mDIM[b]*(void 0===t.fdo?2:parseFloat(t.fdo))*t.sdir*-1,u.rotateZ=t.sdir*_*-1)}if(a.sbg.style.perspective=l?"2500px":"1500px",l){var x={z:c*("fly"===t.f?1.5:3),ease:"power1.inOut"},S={z:0,ease:"power1.inOut"};x[f]=-1*t.t,S[f]=0,t.roomhelper={r:0},o.add(tpGS.gsap.set(_R_is_Editor?RVS.SBGS[RVS.S.slideId].wrap:a.wrap[0],{perspective:1200,transformStyle:"preserve-3d",transformOrigin:m}),0),o.add(tpGS.gsap.to(a.sbg,3*t.md,x),0),o.add(tpGS.gsap.to(a.sbg,3*t.md,S),w-t.md),o.add(tpGS.gsap.to(t.roomhelper,3*t.md,{r:Math.abs(t.t)}),0),o.add(tpGS.gsap.to(t.roomhelper,3*t.md,{r:0}),w-t.md),"in"===r&&1!==s&&n&&(void 0===a.cube&&i.transitions.d3.buildCube(a),o.add(i.transitions.d3.setWall(a.cube,x[f],f,a.mDIM,t.c),0),h.push(a.cube.c))}else t.roomhelper=!1,o.add(tpGS.gsap.set(_R_is_Editor?RVS.SBGS[RVS.S.slideId].wrap:a.wrap[0],{perspective:"none",transformStyle:"none",transformOrigin:"50% 50%"}),0),!_R_is_Editor&&!0!==i[e].firstSlideAnimDone&&n&&(void 0===a.cube&&i.transitions.d3.buildCube(a),o.add(i.transitions.d3.setWall(a.cube,p[v],v,a.mDIM,t.c,!0),0),o.add(tpGS.gsap.fromTo(a.cube.w,4*t.md,{opacity:0},{opacity:1}),0),h.push(a.cube.c));return t.helper={o:0,oo:1},o.add(tpGS.gsap.to(t.helper,w,{o:1,oo:0,ease:t.e}),t.md+0),o.add(tpGS.gsap.set(h,jQuery.extend(!0,{},p,{force3D:!0,transformOrigin:m})),0),"turn"!==t.f&&o.add(tpGS.gsap.to(h,3*t.md,g),0),o.add(tpGS.gsap.to(h,w,u),t.md+0),"turn"!==t.f&&o.add(tpGS.gsap.to(h,3*t.md,{z:0,ease:"power1.inOut"}),w-t.md),"out"===r&&1!==s&&o.add(tpGS.gsap.to(h,2*t.md,{opacity:0}),t.dur-2*t.md),o}}}},animatedCanvasUpdate:function(e,t){t.cDIMS=i.getBGCanvasDetails(e,t),t.canvas.style.backgroundColor="transparent",t.canvas.style.opacity=1,t.canvas.width!==t.mDIM.width&&(t.canvas.width=t.mDIM.width),t.canvas.height!==t.mDIM.height&&(t.canvas.height=t.mDIM.height),_R_is_Editor||!0!==i[e].clearModalBG||(t.ctx.clearRect(0,0,t.canvas.width,t.canvas.height),i[e].clearModalBG=!1,t.sbg.parentNode.style.opacity=1),t.SLOT=jQuery.extend(!0,{s:{},c:{}},r(e,t.col,t.row,t.mDIM,"OW","OH")),t.SLOT.DX=0-t.SLOT.OW/2,t.SLOT.DY=0-t.SLOT.OH/2,t.row=Math.ceil(t.mDIM.height/t.SLOT.OH)||1},animateCore:function(e,t,a,r){var o,s,l,c,p=t.canvas,g=t.ctx,u=0;t.col=a.col,t.row=a.row,i.animatedCanvasUpdate(e,t),a.row=t.row,t.animateDirection=r.direction,r.delay=void 0===r.delay?0:r.delay,l=a.col*a.row,c=Array(l),void 0===t.help_canvas&&"out"===r.direction&&void 0!==r.bgColor&&(t.help_canvas=document.createElement("canvas"),t.help_ctx=t.help_canvas.getContext("2d")),"out"===r.direction&&void 0!==r.bgColor&&(t.help_canvas.width=t.mDIM.width,t.help_canvas.height=t.mDIM.height,t.help_ctx.fillStyle=r.bgColor,t.help_ctx.fillRect(0,0,t.mDIM.width,t.mDIM.height)),a.mo=i.transitions.motionFilter.init(t,a.mo),a.dur=a.ms/a.sec,void 0!==r.d3&&(r.d3.dur=a.dur,r.d3.fd=.7*a.dur,r.d3.md=.15*a.dur,r.d3.sdir=r.sdir),t.SLOT.c={ws:0,hs:0,wd:0,hd:0},a.mo>0&&_R_is_Editor&&g.clearRect(0,0,p.width,p.height);var h=tpGS.gsap.timeline({onUpdate:function(){if(u=0,a.mo>0?i.transitions.motionFilter.render(t,a.moo):g.clearRect(0,0,p.width,p.height),t.help_canvas&&"out"===r.direction&&g.drawImage(t.help_canvas,0,0),(r.filter&&r.filter.u||!_R_is_Editor)&&i.transitions.filter.update(r.filter,g,t.canvasFilterBlur),_R_is_Editor&&0!==a.zIndex&&void 0!==a.zIndex&&tpGS.gsap.set(r.slide,{zIndex:a.zIndex}),void 0!==t.shadowCanvas)for(o=0;o<a.col;o++)for(t.SLOT.SX=t.SLOT.OW*o,t.SLOT.tw=t.SLOT.OW*(o+.5),t.SLOT.c.wd=t.mDIM.width-(t.SLOT.tw+t.SLOT.DX+t.SLOT.OW),t.SLOT.c.wd=t.SLOT.c.wd<0?t.SLOT.c.wd:0,t.SLOT.DW=t.SLOT.SW=t.SLOT.OW+t.SLOT.c.wd,s=0;s<a.row;s++){g.save();let n=-Math.PI/180*c[u].r,d=0!==a.r?Math.cos(n)*c[u].sx:c[u].sx,l=0!==a.r?Math.cos(n)*c[u].sy:c[u].sy,p=0!==a.r?Math.sin(n)*c[u].sx:0,h=0!==a.r?Math.sin(n)*-c[u].sy:0;t.SLOT.SY=t.SLOT.OH*s,t.SLOT.th=t.SLOT.OH*(s+.5),i.transitions[r.effect]&&i.transitions[r.effect].beforeDraw&&i.transitions[r.effect].beforeDraw(e,g,c[u],t),a.m&&(g.beginPath(),g.rect(t.SLOT.OW*o,t.SLOT.OH*s,t.SLOT.OW,t.SLOT.OH),g.clip()),g.transform(d,p,h,l,t.SLOT.tw+c[u].x,t.SLOT.th+c[u].y),g.globalAlpha=Math.max(0,c[u].o),t.SLOT.c.hd=t.mDIM.height-(t.SLOT.th+t.SLOT.DY+t.SLOT.OH),t.SLOT.c.hd=t.SLOT.c.hd<0?t.SLOT.c.hd:0,t.SLOT.DH=t.SLOT.SH=t.SLOT.OH+t.SLOT.c.hd,t.SLOT.SW>1&&t.SLOT.SH>1&&g.drawImage(t.shadowCanvas,t.SLOT.SX,t.SLOT.SY,t.SLOT.SW,t.SLOT.SH,t.SLOT.DX,t.SLOT.DY,t.SLOT.DW,t.SLOT.DH),g.restore(),i.transitions[r.effect]&&i.transitions[r.effect].afterDraw&&i.transitions[r.effect].afterDraw(e,g,c[u],t,{csx:d,csy:l,ssx:p,ssy:h}),u++}void 0!==r.d3&&r.d3.su&&i.transitions.d3.ticker(r.d3,t,r.direction),t.currentState="animating"},onComplete:function(){void 0!==t.bgvid&&t.bgvid.length>0&&"out"===r.direction&&(t.drawVideoCanvasImagesRecall=!1,i.stopVideo(t.bgvid,e),t.bgvid[0].style.display="none",t.bgvid[0].style.zIndex=0),"in"===r.direction&&(i.transitions.motionFilter.complete(t),g.canvas.style.filter="none",void 0!==r.BG&&r.BG.ctx.clearRect(0,0,p.width,p.height),tpGS.gsap.set(r.slide,{zIndex:20}),delete t.animateDirection,t.bgvid.length>0&&(t.isHTML5||(i.resetVideo(t.bgvid,e),i.playVideo(t.bgvid,e,!0)),tpGS.gsap.to(t.bgvid[0],.001,{zIndex:30,display:"block",opacity:1}))),"out"===r.direction?(tpGS.gsap.set(r.slide,{zIndex:10}),tpGS.gsap.set(t.canvas,{rotationX:0,rotationY:0,rotationZ:0,x:0,y:0,z:0,opacity:1}),t.currentState=void 0):t.currentState="idle",void 0!==t.cube&&(t.cube.c.style.display="none")}});if(a.col*a.row<2&&(a.f="start"),0!==a.zIndex&&void 0!==a.zIndex&&h.add(tpGS.gsap.set(r.slide,{zIndex:parseInt(a.zIndex,0)}),0),a.m="false"!=a.m&&!1!==a.m,"in"===r.direction){for(o=0;o<l;o++)c[o]={x:n(a.x,a.m?t.SLOT.OW:t.mDIM.width,r.sdir,o),y:n(a.y,a.m?t.SLOT.OH:t.mDIM.height,r.sdir,o),o:d(a.o,o,r.sdir),sx:d(a.sx,o,r.sdir),sy:d(a.sy,o,r.sdir),r:0!==a.r?d(a.r,o,r.sdir):0};h.add(tpGS.gsap.to(c,a.dur,{o:1,sx:1,sy:1,r:0,x:0,y:0,ease:a.e,stagger:{amount:"nodelay"===a.f?0:a.ms/a.stasec,grid:[a.col,a.row],from:"nodelay"===a.f?"start":a.f}}),r.delay),void 0!==r.d3&&h.add(i.transitions.d3.cubeTL(e,r.d3,t,"in"),0),i.transitions.filter.extendTimeLine(h,r.filter,t)}else{for(o=0;o<l;o++)c[o]={x:0,y:0,o:1,sx:1,sy:1,r:0};h.add(tpGS.gsap.to(c,a.dur,{o:function(e){return d(a.o,e,r.sdir)},sx:function(e){return d(a.sx,e,r.sdir)},sy:function(e){return d(a.sy,e,r.sdir)},r:0!==a.r&&void 0!==a.r?function(e){return d(a.r,e,r.sdir)}:0,x:function(e){return n(a.x,a.m?t.SLOT.OW:t.mDIM.width,r.sdir,e)*(a.reversed?-1:1)},y:function(e){return n(a.y,a.m?t.SLOT.OH:t.mDIM.height,r.sdir,e)*(a.reversed?-1:1)},ease:a.e,stagger:{amount:"nodelay"===a.f?0:a.ms/a.stasec,grid:[a.col,a.row],from:"nodelay"===a.f?"start":a.f}}),r.delay+(void 0!==a.outdelay?a.outdelay:0)),void 0!==r.d3&&h.add(i.transitions.d3.cubeTL(e,r.d3,t,"out"),0)}i.transitions[r.effect]&&i.transitions[r.effect].extendTimeLine&&i.transitions[r.effect].extendTimeLine(e,h,c,a,r,t.mDIM),_R_is_Editor?RVS.TL[RVS.S.slideId].slide.add(h,0):i[e].mtl.add(h,r.delay)}});var a=function(e,t){return void 0!==t&&i.isNumeric(t)?parseFloat(t,0):null==t||"default"===t||"d"===t?e:t},r=function(e,i,t,a,r,o){var s={};return s[r]=Math.ceil(a.width/i),s[o]=(_R_is_Editor,Math.ceil(a.height/t)),s},o=function(e){return null==e||0===e||NaN===e?1:e},s=function(e,r){_R_is_Editor||(i[e].duringslidechange=!0);var s,n=_R_is_Editor?-1:"arrow"==i[e].sc_indicator?void 0===i[e].sc_indicator_dir?i[e].sdir:i[e].sc_indicator_dir:i[e].sdir,d=!!_R_is_Editor||void 0!==i[e].pr_next_bg&&i[e].pr_next_bg.length>0&&void 0!==i[e].pr_next_bg[0],l=!!_R_is_Editor||void 0!==i[e].pr_active_bg&&i[e].pr_active_bg.length>0&&void 0!==i[e].pr_active_bg[0],p=_R_is_Editor?RVS.SBGS[RVS.S.slideId].n:d?i[e].sbgs[i[e].pr_next_bg[0].dataset.key]:void 0,g=_R_is_Editor?RVS.SBGS[RVS.S.slideId].c:l?i[e].sbgs[i[e].pr_active_bg[0].dataset.key]:void 0;n=1===n?-1:1,s=jQuery.extend(!0,{},function(e,t,r){var s=void 0!==i.transitions[t.anim.e]&&void 0!==i.transitions[t.anim.e].getBasic?i.transitions[t.anim.e].getBasic():i.getBasic(),n="";s.out=null==s.out?{}:s.out,s.out.reversed=void 0===t.out&&(void 0===s.out.reversed||s.out.reversed);void 0!==t.iw&&parseInt(t.iw,0),void 0!==t.ow&&parseInt(t.ow,0);for(var d in s.attr)n=s.attr[d],s.in[n]=a(s.in[n],t.in[n]),s.out[n]=s.out.reversed?s.in[n]:void 0===t.out?s.out[n]:a(s.out[n],t.out[n]);return s.filter=void 0!==t.filter?jQuery.extend(!0,t.filter,t.filter):s.filter,i.transitions[t.anim.e]&&i.transitions[t.anim.e].updateAnim&&(s=i.transitions[t.anim.e].updateAnim(e,s,r)),s.e=t.anim.e,void 0!==s.in&&(s.in.col="random"===s.in.col?tpGS.gsap.utils.random(1,10,1):o(s.in.col),s.in.row="random"===s.in.row?tpGS.gsap.utils.random(1,10,1):o(s.in.row)),void 0!==s.out&&(s.out.col="random"===s.out.col?tpGS.gsap.utils.random(1,10,1):o(s.out.col),s.out.row="random"===s.out.row?tpGS.gsap.utils.random(1,10,1):o(s.out.row)),s}(e,r,n)),void 0!==p.random&&void 0!==i.SLTR&&void 0!==g&&(delete g.help_canvas,delete g.help_ctx),s.ms=a(void 0,void 0===r.anim.ms?1e3:r.anim.ms),s.f=a(void 0,r.anim.f),s.p=a(void 0,r.anim.p),s.d=a(void 0,r.anim.d),s.o=r.anim.o,void 0!==r.d3&&(r.d3.t=void 0!==r.d3.t&&0!==r.d3.t&&r.d3.t,r.d3.su="true"==r.d3.su||1==r.d3.su,r.d3.su&&(r.d3.smi=void 0===r.d3.smi?0:parseFloat(r.d3.smi),r.d3.sl=void 0===r.d3.sl?1:parseFloat(r.d3.sl),r.d3.sma=void 0===r.d3.sma?.5:parseFloat(r.d3.sma),r.d3.sc=void 0===r.d3.sc?"0,0,0":tpGS.gsap.utils.splitColor(r.d3.sc).join(",")),s.p="none",void 0!==s.in.row&&void 0!==s.in.col&&s.in.row*s.in.col>200&&(s.filter=void 0)),s.in.sec=void 0===s.in.sec?1e3:s.in.sec,s.in.stasec=void 0===s.in.stasec?void 0===s.d?1500:100*s.d:s.in.stasec,s.in.ms="default"===s.ms||"d"===s.ms?s.in.ms:"random"===s.ms?Math.round(1e3*Math.random()+300):null!=s.ms?parseInt(s.ms,0):s.in.ms,s.out.ms=s.in.ms,void 0!==s.filter&&(s.filter.ms=s.in.ms,s.filter.sec=s.in.sec,s.filter.e=void 0===s.filter.e||"default"===s.filter.e?s.in.e:s.filter.e),s.in.f=void 0===s.f||"default"===s.f||"d"===s.f?s.in.f:s.f,s.in.f="slidebased"===s.in.f?1==n?"start":"end":"oppslidebased"===s.in.f?1===n?"end":"start":s.in.f,s.out.f=s.in.f,s.out=jQuery.extend(!0,{},s.in,s.out),void 0!==s.p&&"none"!==s.p&&(s.in.bg="dark"===s.p?"#000":"light"===s.p?"#fff":"transparent",s.out.delay="none"!==s.p?function(e,i){return e/2.5}:0,1===s.out.o&&0===s.out.x&&0===s.out.y&&(s.out.o=0)),"forceinout"===s.o?(s.in.zIndex=20,s.out.zIndex=10):"outin"!==s.o&&(1!==s.in.o||0!==s.in.x||0!==s.in.y||void 0===r.out||1===s.out.o&&0===s.out.x&&0===s.out.y)||(s.in.zIndex=10,s.out.zIndex=20),p.bgvid.length>0&&(s.in=u(e,s.in,p,"in")),l&&void 0!==g.bgvid&&g.bgvid.length>0&&(s.out=u(e,s.out,g,"out")),void 0!==s.out&&(s.out.simplify||s.in.simplify)&&(s.out=c(s.out)),s.in.simplify&&(s.in=c(s.in)),_R_is_Editor||requestAnimationFrame(function(){i.generalObserver(t,!0)}),s.in.animator=void 0===s.in.animator?"animateCore":s.in.animator,s.out.animator=void 0===s.out.animator?"animateCore":s.out.animator,l&&!0!==s.out.skip&&i[s.out.animator](e,g,s.out,{effect:s.e,slide:_R_is_Editor?RVS.SBGS[RVS.S.slideId].c.sbg:i[e].pr_active_slide,direction:"out",delay:0,bgColor:s.in.bg,sdir:n,filter:void 0,d3:r.d3}),!0!==s.in.skip&&i[s.in.animator](e,p,s.in,{effect:s.e,slide:_R_is_Editor?RVS.SBGS[RVS.S.slideId].n.sbg:i[e].pr_next_slide,direction:"in",delay:l?"function"==typeof s.out.delay?s.out.delay(s.in.ms/1e3,s.out.row*s.out.col):s.out.delay:s.in.delay,BG:g,sdir:n,filter:s.filter,d3:r.d3})},n=function(e,i,t,a){var r=(""+e).indexOf("%")>=0;return 0==(e=d(e,a,t))||void 0===e?0:r?i*(parseInt(e)/100):parseInt(e)},d=function(e,t,a,r){if(i.isNumeric(parseFloat(e,0)))return parseFloat(e,0);var o=(""+e).split("ran(").length>1?"random":(""+e).split("cyc(").length>1?"wrap":(""+e).split("(").length>1?"dir":"unknown",s=("random"===o?e.slice(4,-1):"wrap"===o?e.slice(4,-1):e.slice(1,-1)).split("|");if("random"===o)return tpGS.gsap.utils.random(parseFloat(s[0]),parseFloat(s.length>1?s[1]:0-s[0]));if("wrap"===o){var n=tpGS.gsap.utils.wrap(s,t);return(""+n).split("(").length>1?parseFloat(n.slice(1,-1))*a+(r?"%":""):n}return"dir"===o?parseFloat(s[0])*a+(r?"%":""):void 0},l=function(e,t,a){var r=e.height/e.width;if(a.ratio=a.conth/a.contw,a.ratio<r&&"contain"===t.bgfit||a.ratio>r&&"cover"===t.bgfit)a.height=e.width*a.ratio;else if(a.ratio>r&&"contain"===t.bgfit||a.ratio<r&&"cover"===t.bgfit)a.width=e.width*r/a.ratio;else if(a.ratio!==r||"contain"!==t.bgfit&&"cover"!==t.bgfit){var o=t.bgfit.split(" ");1===o.length&&(o[1]=o[0]),a.width="auto"===o[0]?a.contw:e.width*(parseInt(o[0],0)/100),a.height="auto"===o[1]?a.conth:a.width*a.ratio,t.usepattern=!0}else a.width=e.width;var s=function(e,t,a){return 1===(a=a.split(" ")).length&&(a[1]=a[0]),{x:"center"===a[0]||"50%"===a[0]?(e.width-t.width)/2:"left"===a[0]?0:"right"===a[0]?e.width-t.width:i.isNumeric(a[0])?0:a[0].indexOf("%")>=0?parseInt(a[0],0)/100*e.width-parseInt(a[0],0)/100*t.width:parseInt(a[0],0),y:"center"===a[1]||"50%"===a[1]?(e.height-t.height)/2:"top"===a[1]?0:"bottom"===a[1]?e.height-t.height:i.isNumeric(a[1])?0:a[1].indexOf("%")>=0?parseInt(a[1],0)/100*e.height-parseInt(a[0],0)/100*t.height:parseInt(a[1],0)}}(e,a,t.bgposition);return a.x=s.x,a.y=s.y,a},c=function(e){return e.o=0,e.r=0,e.row=1,e.col=1,e.x=0,e.y=0,e.sx=1,e.sy=1,e},p=function(e){return e="false"!==e&&!1!==e&&"off"!==e&&void 0!==e&&0!==e&&-1!==e},g=function(e){return e=(""+(e=(""+(e=(""+(e=(""+(e=(""+e).split(",").join("|"))).replace("{","ran("))).replace("}",")"))).replace("[","cyc("))).replace("]",")")},u=function(e,t,a,r){return t.skip=!1,"in"===r?a.isHTML5?(a.bgvid[0].style.display="none",i.resetVideo(a.bgvid,e),a.animateDirection="in",a.currentState="animating",a.drawVideoCanvasImagesRecall=!0,i.updateVideoFrames(e,a,!0),i.playVideo(a.bgvid,e)):(i[e].videos[a.bgvid[0].id].pauseCalled=!1,t.waitToSlideTrans=i[e].videos[a.bgvid[0].id].waitToSlideTrans,!0!==a.poster?(i.resetVideo(a.bgvid,e),i[e].videos[a.bgvid[0].id].prePlayForaWhile=!1,!0!==t.waitToSlideTrans&&i.playVideo(a.bgvid,e,!0),tpGS.gsap.fromTo(a.bgvid,t.ms/t.sec,{zIndex:30,display:"block",opacity:0},{opacity:1,zIndex:30,display:"block"}),a.loadobj.bgColor=!0,a.bgcolor="#000",t.simplify=!0):(i[e].videos[a.bgvid[0].id].prePlayForaWhile=!1,i.resetVideo(a.bgvid,e),i.playVideo(a.bgvid,e),a.bgvid[0].style.display="none",a.bgvid[0].style.zIndex=0,a.bgvid[0].style.opacity=0)):"out"===r&&(a.isHTML5?(a.currentState="animating",a.drawVideoCanvasImagesRecall=!0,i.updateVideoFrames(e,a,!0),window.requestAnimationFrame(function(){tpGS.gsap.to(a.bgvid,.1,{zIndex:0,display:"none"})})):(i.stopVideo(a.bgvid,e,!0),!0!==a.poster&&(a.loadobj.bgColor=!0,a.bgcolor="#000"))),t},h=function(e,i,t,a){return Math.sqrt(Math.pow(e-t,2)+Math.pow(i-a,2))},m=function(e,i){var t=i+Math.PI/2;return{x1:e.x,y1:e.y,x2:e.x+100*Math.cos(t),y2:e.y+100*Math.sin(t)}},v=function(e,i){var t=e.y2-e.y1,a=e.x1-e.x2,r=t*e.x1+a*e.y1,o=i.y2-i.y1,s=i.x1-i.x2,n=o*i.x1+s*i.y1,d=t*s-o*a;return 0!==d&&{x:Math.round((s*r-a*n)/d*100)/100,y:Math.round((t*n-o*r)/d*100)/100}}}(jQuery),function(e){"use strict";var i=jQuery.fn.revolution,t=i.is_mobile(),a=i.is_android();function r(e){return null==e?-1:i.isNumeric(e)?e:e.split(":").length>1?60*parseInt(e.split(":")[0],0)+parseInt(e.split(":")[1],0):e}jQuery.extend(!0,i,{preLoadAudio:function(e,t){i[t].videos=void 0===i[t].videos?{}:i[t].videos,e.find(".rs-layer-audio").each(function(){var a=jQuery(this),r=i[t].videos[a[0].id]=void 0===i[t].videos[a[0].id]?b(a.data(),"audio",i.gA(e[0],"key")):i[t].videos[a[0].id],o={};0===a.find("audio").length&&(o.src=null!=r.mp4?r.mp4:"",o.pre=r.pload||"",this.id=void 0===this.id||""===this.id?a.attr("audio-layer-"+Math.round(199999*Math.random())):this.id,o.id=this.id,o.status="prepared",o.start=jQuery.now(),o.waittime=void 0!==r.ploadwait?1e3*r.ploadwait:5e3,"auto"!=o.pre&&"canplaythrough"!=o.pre&&"canplay"!=o.pre&&"progress"!=o.pre||(void 0===i[t].audioqueue&&(i[t].audioqueue=[]),i[t].audioqueue.push(o),i.manageVideoLayer(a,t,i.gA(e[0],"key"),!0)))})},preLoadAudioDone:function(e,t,a){var r=i[t].videos[e[0].id];i[t].audioqueue&&i[t].audioqueue.length>0&&jQuery.each(i[t].audioqueue,function(e,i){r.mp4!==i.src||i.pre!==a&&"auto"!==i.pre||(i.status="loaded")})},checkfullscreenEnabled:function(e){if(void 0!==window.fullScreen)return window.fullScreen;if(void 0!==document.fullscreen)return document.fullscreen;if(void 0!==document.mozFullScreen)return document.mozFullScreen;if(void 0!==document.webkitIsFullScreen)return document.webkitIsFullScreen;var t=i.isWebkit()&&/Apple Computer/.test(navigator.vendor)?42:5;return screen.width==i.winW&&Math.abs(screen.height-i.getWinH(e))<t},showVideo:function(e){tpGS.gsap.to(e,.3,{opacity:1,display:"block",ease:"power3.inOut"})},resetVideo:function(e,a,r){if("updateAndResize"!==r){var o=i[a].videos[e[0].id];if("resetVideo"!==o.cRS)switch(o.cRS="resetVideo",o.type){case"youtube":o.rwd&&null!=o.player&&void 0!==o.player.seekTo&&(o.player.seekTo(-1==o.ssec?0:o.ssec),o.player.pauseVideo()),o.bgvideo||"preset"===r||0!=o.jsposter.length||i.showVideo(e.find("iframe"));break;case"vimeo":void 0!==o.vimeoplayer&&o.rwd&&(0!==o.ssec&&-1!==o.ssec||o.bgvideo||o.jsposter.length>0)&&(o.vimeoplayer.setCurrentTime(-1==o.ssec?0:o.ssec),o.vimeoplayer.pause()),0!=o.jsposter.length||o.bgvideo||"preset"===r||i.showVideo(e.find("iframe"));break;case"html5":if(t&&o.notonmobile)return!1;o.bgvideo||i.showVideo(o.jvideo),o.rwd&&"playing"!==o.cSS&&!isNaN(o.video.duration)&&(o.justReseted=!0,o.video.currentTime=-1==o.ssec?0:o.ssec),("mute"==o.volume||i.lastToggleState(e.videomutetoggledby)||!0===i[a].globalmute)&&(o.video.muted=!0)}}},Mute:function(e,t,a){var r=!1,o=i[t].videos[e[0].id];switch(o.type){case"youtube":o.player&&(!0===a&&o.player.mute(),!1===a&&l(o,parseInt(o.volcache,0)),r=o.player.isMuted());break;case"vimeo":o.volcachecheck||(o.volcache=o.volcache>1?o.volcache/100:o.volcache,o.volcachecheck=!0),o.volume=!0===a?"mute":!1===a?o.volcache:o.volume,void 0!==a&&null!=o.vimeoplayer&&d(o,!0===a?0:o.volcache),r="mute"==o.volume||0===o.volume;break;case"html5":o.volcachecheck||(o.volcache=o.volcache>1?o.volcache/100:o.volcache,o.volcachecheck=!0),o.video.volume=o.volcache,void 0!==a&&o.video&&(o.video.muted=a),r=void 0!==o.video?o.video.muted:r}if(void 0===a)return r},stopVideo:function(e,t,a){if(void 0!==i[t]&&void 0!==i[t]){var r=i[t].videos[e[0].id];if(void 0!==r&&("stopVideo"!==r.cRS||"paused"!==r.cSS))switch(r.cRS="stopVideo",i[t].leaveViewPortBasedStop||(i[t].lastplayedvideos=[]),i[t].leaveViewPortBasedStop=!1,r.type){case"youtube":void 0!==r.player&&2!==r.player.getPlayerState()&&5!==r.player.getPlayerState()&&(r.player.pauseVideo(),void 0!==a&&u(t,r,"hide"));break;case"vimeo":void 0!==r.vimeoplayer&&(r.vimeoplayer.pause(),void 0!==a&&u(t,r,"hide"));break;case"html5":r.video&&r.video.pause()}}},playVideo:function(e,r){var s=i[r].videos[e[0].id];if(clearTimeout(s.videoplaywait),"playVideo"!==s.cRS||"playing"!==s.cSS)switch(s.cRS="playVideo",s.type){case"youtube":if(0==e.find("iframe").length)e.append(s.videomarkup),m(e,r,!0);else if(void 0!==s.player&&null!=s.player.playVideo){var n=s.player.getCurrentTime();s.nseTriggered&&(n=-1,s.nseTriggered=!1),-1!=s.ssec&&s.ssec>n&&s.player.seekTo(s.ssec),g(s)}else s.videoplaywait=setTimeout(function(){i.playVideo(e,r)},50);break;case"vimeo":if(0==e.find("iframe").length)delete s.vimeoplayer,e.append(s.videomarkup),m(e,r,!0);else if(e.hasClass("rs-apiready"))if(s.vimeoplayer=null==s.vimeoplayer?new Vimeo.Player(e.find("iframe").attr("id")):s.vimeoplayer,s.vimeoplayer.getPaused()){n=void 0===s.currenttime?0:s.currenttime;s.nseTriggered&&(n=-1,s.nseTriggered=!1),-1!=s.ssec&&s.ssec>n&&s.vimeoplayer.setCurrentTime(s.ssec),("mute"==s.volume||0===s.volume||i.lastToggleState(e.data("videomutetoggledby"))||!0===i[r].globalmute)&&(s.volumetoken=!0,s.vimeoplayer.setVolume(0)),p(s)}else s.videoplaywait=setTimeout(function(){i.playVideo(e,r)},50);else s.videoplaywait=setTimeout(function(){i.playVideo(e,r)},50);break;case"html5":if(s.metaloaded){var d=""+s.video.duration=="NaN"||s.video.readyState<3,l=t&&!a&&e.length&&"audio"===e[0].dataset.type;if(d&&!l)return void setTimeout(function(){i.playVideo(e,r)},50);n=s.video.currentTime;s.nseTriggered&&(n=-1,s.nseTriggered=!1),-1!=s.ssec&&s.ssec>n&&s.ssec<s.video.duration&&(s.video.currentTime=s.ssec),c(s)}else o(s.video,"loadedmetadata",function(e){i.playVideo(e,r)}(e))}},isVideoPlaying:function(e,t){var a=!1;return null!=i[t].playingvideos&&jQuery.each(i[t].playingvideos,function(i,t){e.attr("id")==t.attr("id")&&(a=!0)}),a},removeMediaFromList:function(e,i){_(e,i)},prepareCoveredVideo:function(e){clearTimeout(i[e].resizePrepareCoverVideolistener);var t="carousel"===i[e].sliderType?i[e].carousel.justify?void 0===i[e].carousel.slide_widths?void 0:i[e].carousel.slide_widths[i[e].carousel.focused]:i[e].carousel.slide_width:i[e].canv.width,a="carousel"===i[e].sliderType?i[e].carousel.slide_height:i[e].canv.height;if(0!==t&&0!==a&&void 0!==t&&void 0!==a)for(var r in i[e].videos){var o=i[e].videos[r];if((o.bgvideo||o.fcover)&&("html5"===o.type&&void 0!==o.jvideo&&tpGS.gsap.set(o.jvideo,{width:t}),void 0===i[e].activeRSSlide||o.slideid===i.gA(i[e].slides[i[e].activeRSSlide],"key")||void 0===i[e].pr_next_slide||o.slideid===i.gA(i[e].pr_next_slide[0],"key"))){o.vd=o.ratio.split(":").length>1?o.ratio.split(":")[0]/o.ratio.split(":")[1]:1;var s=t/a,n=s/o.vd*100,d=o.vd/s*100;"Edge"===i.get_browser()||"IE"===i.get_browser()?s>o.vd?tpGS.gsap.set(o.jvideo,{minWidth:"100%",height:n+"%",x:"-50%",y:"-50%",top:"50%",left:"50%",position:"absolute"}):tpGS.gsap.set(o.jvideo,{minHeight:"100%",width:d+"%",x:"-50%",y:"-50%",top:"50%",left:"50%",position:"absolute"}):s>o.vd?tpGS.gsap.set(o.jvideo,{height:n+"%",width:"100%",top:-(n-100)/2+"%",left:"0px",position:"absolute"}):tpGS.gsap.set(o.jvideo,{width:d+"%",height:"100%",left:-(d-100)/2+"%",top:"0px",position:"absolute"})}}else i[e].resizePrepareCoverVideolistener=setTimeout(function(){i.prepareCoveredVideo(e)},100)},checkVideoApis:function(e,t){location.protocol;if(!i[t].youtubeapineeded&&((null!=e.data("ytid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("youtube")>0)&&(i[t].youtubeapineeded=!0),i[t].youtubeapineeded&&!window.rs_addedyt)){i[t].youtubestarttime=jQuery.now(),window.rs_addedyt=!0;var a=document.createElement("script"),r=i.getByTag(document,"script")[0],o=!0;a.src="https://www.youtube.com/iframe_api",jQuery("head").find("*").each(function(){"https://www.youtube.com/iframe_api"==jQuery(this).attr("src")&&(o=!1)}),o&&r.parentNode.insertBefore(a,r)}if(!i[t].vimeoapineeded&&((null!=e.data("vimeoid")||e.find("iframe").length>0&&e.find("iframe").attr("src").toLowerCase().indexOf("vimeo")>0)&&(i[t].vimeoapineeded=!0),i[t].vimeoapineeded&&!window.rs_addedvim)){i[t].vimeostarttime=jQuery.now(),window.rs_addedvim=!0;var s=document.createElement("script");r=i.getByTag(document,"script")[0],o=!0;s.src="https://player.vimeo.com/api/player.js",jQuery("head").find("*").each(function(){"https://player.vimeo.com/api/player.js"==jQuery(this).attr("src")&&(o=!1)}),o&&r.parentNode.insertBefore(s,r)}},manageVideoLayer:function(e,a,r,s){if(i[a].videos=void 0===i[a].videos?{}:i[a].videos,void 0===i[a].videos[e[0].id]||!0===s){var n=i[a].videos[e[0].id]=void 0===i[a].videos[e[0].id]?b(e.data(),void 0,r):i[a].videos[e[0].id];if(n.audio=void 0!==n.audio&&n.audio,t&&n.opom)0==e.find("rs-poster").length&&e.append('<rs-poster class="noSwipe" style="background-image:url('+n.poster+');"></rs-poster>');else{n.jsposter=e.find("rs-poster"),n.id=e[0].id,n.pload="auto"===n.pload||"canplay"===n.pload||"canplaythrough"===n.pload||"progress"===n.pload?"auto":n.pload,n.type=null!=n.mp4||null!=n.webm?"html5":null!=n.ytid&&String(n.ytid).length>1?"youtube":null!=n.vimeoid&&String(n.vimeoid).length>1?"vimeo":"none",n.newtype="html5"==n.type&&0==e.find(n.audio?"audio":"video").length?"html5":"youtube"==n.type&&0==e.find("iframe").length?"youtube":"vimeo"==n.type&&0==e.find("iframe").length?"vimeo":"none",n.extras="",n.posterMarkup=void 0===n.posterMarkup?"":n.posterMarkup,!n.audio&&"1sttime"==n.aplay&&n.pausetimer&&n.bgvideo&&i.sA(e.closest("rs-slide")[0],"rspausetimeronce",1),n.audio||!n.bgvideo||!n.pausetimer||1!=n.aplay&&"true"!=n.aplay&&"no1sttime"!=n.aplay||i.sA(e.closest("rs-slide")[0],"rspausetimeralways",1),n.noInt&&e.addClass("rs-nointeraction"),!(null!=n.poster&&n.poster.length>2)||t&&n.npom||0==n.jsposter.length&&(n.posterMarkup+='<rs-poster class="noSwipe" style="background-image:url('+n.poster+');"></rs-poster>');var d=!0;switch(n.cSS="created",n.cRS="created",n.newtype){case"html5":1==window.isSafari11&&(i[a].slideHasIframe=!0),n.audio&&e.addClass("rs-audio"),n.tag=n.audio?"audio":"video";var l="video"===n.tag&&(i.is_mobile()||i.isSafari11())?n.aplay||"true"===n.aplay?"muted playsinline autoplay":n.inline?" playsinline":"":"",c='<div class="html5vid rs_html5vidbasicstyles '+(!1===n.afs?"hidefullscreen":"")+'">';c+="<"+n.tag+" "+l+" "+(n.controls&&"none"!==n.controls?" controls":"")+(n.bgvideo&&-1==l.indexOf("autoplay")?" autoplay":"")+(n.bgvideo&&-1==l.indexOf("muted")?" muted":"")+' style="'+("Edge"!==i.get_browser()?(n.bgvideo&&"carousel"!=i[a].sliderType?"":"object-fit:cover;background-size:cover;")+"opacity:0;width:100%; height:100%":"")+'" class="" '+(n.loop?"loop":"")+' preload="'+n.pload+'">',"video"===n.tag&&null!=n.webm&&"firefox"==i.get_browser().toLowerCase()&&(c=c+'<source src="'+n.webm+'" type="video/webm" />'),null!=n.mp4&&(c=c+'<source src="'+n.mp4+'" type="'+("video"===n.tag?"video/mp4":n.mp4.toLowerCase().indexOf("m4a")>0?"audio/x-m4a":"audio/mpeg")+'" />'),null!=n.ogv&&(c=c+'<source src="'+n.mp4+'" type="'+n.tag+'/ogg" />'),c+="</"+n.tag+"></div>",c+=n.posterMarkup,n.controls&&!n.audio||t||(c+='<div class="tp-video-play-button"><i class="revicon-right-dir"></i><span class="tp-revstop">&nbsp;</span></div>'),n.videomarkup=c,d=!1,t&&n.notonmobile||i.isIE(8)||e.append(c),n.jvideo=e.find(n.tag),n.video=n.jvideo[0],n.html5vid=n.jvideo.parent(),o(n.video,"canplay",function(e){f(e,a),i.resetVideo(e,a)}(e));break;case"youtube":i[a].slideHasIframe=!0,n.controls&&"none"!==n.controls||(n.vatr=n.vatr.replace("controls=1","controls=0"),-1==n.vatr.toLowerCase().indexOf("controls")&&(n.vatr=n.vatr+"&controls=0")),(n.inline||"RS-BGVIDEO"===e[0].tagName)&&(n.vatr=n.vatr+"&playsinline=1"),-1!=n.ssec&&(n.vatr+="&start="+n.ssec),-1!=n.esec&&(n.vatr+="&end="+n.esec);var p=n.vatr.split("origin=https://");n.vatrnew=p.length>1?p[0]+"origin=https://"+(self.location.href.match(/www/gi)&&!p[1].match(/www/gi)?"www."+p[1]:p[1]):n.vatr,n.videomarkup='<iframe allow="autoplay; '+(!0===n.afs?"fullscreen":"")+'" type="text/html" src="https://www.youtube-nocookie.com/embed/'+n.ytid+"?"+n.vatrnew+'" '+(!0===n.afs?"allowfullscreen":"")+' width="100%" height="100%" class="intrinsic-ignore" style="opacity:0;visibility:visible;width:100%;height:100%"></iframe>';break;case"vimeo":i[a].slideHasIframe=!0,n.controls&&"none"!==n.controls?(n.vatr=n.vatr.replace("background=0","background=1"),-1==n.vatr.toLowerCase().indexOf("background")&&(n.vatr=n.vatr+"&background=1")):(n.vatr=n.vatr.replace("background=1","background=0"),-1==n.vatr.toLowerCase().indexOf("background")&&(n.vatr=n.vatr+"&background=0")),n.vatr="autoplay="+(!0===n.aplay?1:0)+"&"+n.vatr,n.bgvideo&&(n.prePlayForaWhile=!0),t&&!0===n.aplay&&(n.vatr="muted=1&"+n.vatr),n.loop&&(n.vatr="loop=1&"+n.vatr),n.videomarkup='<iframe  allow="autoplay; '+(!0===n.afs?"fullscreen":"")+'" src="https://player.vimeo.com/video/'+n.vimeoid+"?"+n.vatr+'" '+(!0===n.afs?"webkitallowfullscreen mozallowfullscreen allowfullscreen":"")+' width="100%" height="100%" class="intrinsic-ignore" style="opacity:0;visibility:visible;width:100%;height:100%"></iframe>'}if(!(null!=n.poster&&n.poster.length>2)||t&&n.npom){if(t&&n.notonmobile)return!1;0!=e.find("iframe").length||"youtube"!=n.type&&"vimeo"!=n.type||(delete n.vimeoplayer,e.append(n.videomarkup),m(e,a,!("vimeo"!==n.newtype||!n.bgvideo),!0))}else d&&0==e.find("rs-poster").length&&e.append(n.posterMarkup),0==e.find("iframe").length&&(n.jsposter=e.find("rs-poster"),n.jsposter.on("click",function(){if(i.playVideo(e,a),t){if(n.notonmobile)return!1;tpGS.gsap.to(n.jsposter,.3,{opacity:0,visibility:"hidden",force3D:"auto",ease:"power3.inOut"}),i.showVideo(e.find("iframe"))}}));if("none"!==n.doverlay&&void 0!==n.doverlay){var g=i.createOverlay(a,n.doverlay,n.doverlaysize,{0:n.doverlaycolora,1:n.doverlaycolorb});n.bgvideo&&1!=e.closest("rs-sbg-wrap").find("rs-dotted").length?e.closest("rs-sbg-wrap").append('<rs-dotted style="background-image:'+g+'"></rs-dotted>'):n.bgvideo||1==e.find("rs-dotted").length||e.append('<rs-dotted style="background-image:url('+g+')"></rs-dotted>')}n.bgvideo&&(e[0].style.display="none",e[0].style.zIndex=0,tpGS.gsap.set(e.find("video, iframe"),{opacity:0}))}}}});var o=function(e,i,t){e.addEventListener?e.addEventListener(i,t,{capture:!1,passive:!0}):e.attachEvent(i,t,{capture:!1,passive:!0})},s=function(e,i,t){var a={};return a.video=e,a.type=i,a.settings=t,a},n=function(e,t){var a=i[e].videos[t[0].id];(a.bgvideo||a.fcover)&&(a.fcover&&t.removeClass("rs-fsv").addClass("coverscreenvideo"),(void 0===a.ratio||a.ratio.split(":").length<=1)&&(a.ratio="16:9"),i.prepareCoveredVideo(e))},d=function(e,i){var t=e.vimeoplayer;t.getPaused().then(function(a){e.volumetoken=!0;var r=!a,o=t.setVolume(i);void 0!==o&&o.then(function(i){t.getPaused().then(function(i){r===i&&(e.volume="mute",e.volumetoken=!0,t.setVolume(0),t.play())}).catch(function(e){console.log("Get Paused Function Failed for Vimeo Volume Changes Inside the Promise")})}).catch(function(i){r&&(e.volume="mute",e.volumetoken=!0,t.setVolume(0),t.play())})}).catch(function(){console.log("Get Paused Function Failed for Vimeo Volume Changes")})},l=function(e,i){var t=e.player.getPlayerState();"mute"===i?e.player.mute():(e.player.unMute(),e.player.setVolume(i)),setTimeout(function(){1===t&&1!==e.player.getPlayerState()&&(e.player.mute(),e.player.playVideo())},39)},c=function(e,i){if("playVideo"===e.cRS){var t=e.video.play();void 0!==t&&t.then(function(e){}).catch(function(t){e.video.pause(),!0!==i&&c(e,!0)})}},p=function(e){if("playVideo"===e.cRS){var i=e.vimeoplayer.play();void 0!==i&&i.then(function(e){}).catch(function(i){e.vimeoplayer.volumetoken=!0,e.vimeoplayer.setVolume(0),e.vimeoplayer.play()})}},g=function(e){"playVideo"===e.cRS&&e.player.playVideo()},u=function(e,t,a){clearTimeout(t.repeatedPosterCalls),t.repeatedPosterCalls=setTimeout(function(){"show"===a||"playing"===t.cSS&&!0!==t.VideoIsVisible?(void 0!==t.showhideposter&&t.showhideposter.pause(),t.showhideposter=tpGS.gsap.timeline(),t.jsposter.length>0&&t.showhideposter.add(tpGS.gsap.to(t.jsposter,.3,{zIndex:5,autoAlpha:0,force3D:"auto",ease:"power3.inOut"}),0),t.jvideo.length>0&&t.showhideposter.add(tpGS.gsap.to(t.jvideo,.001,{opacity:1,display:"block",ease:t.jsposter.length>0?"power3.inOut":"power3.out"}),0),t.VideoIsVisible=!0):("hide"===a||"paused"===t.cSS&&1!=i.checkfullscreenEnabled(e)&&t.jsposter.length>0&&!1!==t.VideoIsVisible&&!0!==t.seeking)&&(void 0!==t.showhideposter&&t.showhideposter.pause(),t.showhideposter=tpGS.gsap.timeline(),t.jsposter.length>0&&t.showhideposter.add(tpGS.gsap.to(t.jsposter,.3,{zIndex:5,autoAlpha:1,force3D:"auto",ease:"power3.inOut"}),0),t.jvideo.length>0&&t.showhideposter.add(tpGS.gsap.to(t.jvideo,.001,{opacity:0,ease:t.jsposter.length>0?"power3.inOut":"power3.out"}),.3),t.bgvideo&&void 0!==t.nBG&&void 0!==t.nBG.loadobj&&(t.nBG.video=t.nBG.loadobj.img),t.VideoIsVisible=!1)},void 0!==a?0:100)},h=function(e,t,a){e.cSS="playing",e.vimeostarted=!0,e.nextslidecalled=!1,e.jsposter=void 0===e.jsposter||0===e.jsposter.length?t.find("rs-poster"):e.jsposter,e.jvideo=t.find("iframe"),i[a].c.trigger("revolution.slide.onvideoplay",s(e.vimeoplayer,"vimeo",e)),i[a].stopByVideo=e.pausetimer,w(t,a),"mute"==e.volume||0===e.volume||i.lastToggleState(t.data("videomutetoggledby"))||!0===i[a].globalmute?(e.volumetoken=!0,e.vimeoplayer.setVolume(0)):d(e,parseInt(e.volcache,0)/100||.75),i.toggleState(e.videotoggledby)},m=function(e,a,r,o){var d=i[a].videos[e[0].id],c="iframe"+Math.round(1e5*Math.random()+1);if(d.jvideo=e.find("iframe"),n(a,e),d.jvideo.attr("id",c),d.startvideonow=r,d.videolistenerexist){if(r)switch(d.type){case"youtube":i.playVideo(e,a),-1!=d.ssec&&d.player.seekTo(d.ssec);break;case"vimeo":i.playVideo(e,a),-1!=d.ssec&&d.vimeoplayer.seekTo(d.ssec)}}else switch(d.type){case"youtube":if("undefined"==typeof YT||void 0===YT.Player)return i.checkVideoApis(e,a),void setTimeout(function(){m(e,a,r,o)},50);d.player=new YT.Player(c,{events:{onStateChange:function(t){t.data==YT.PlayerState.PLAYING?(d.cSS="playing",i[a].onceVideoPlayed=!0,"mute"==d.volume||0===d.volume||i.lastToggleState(e.data("videomutetoggledby"))||!0===i[a].globalmute?d.player.mute():l(d,parseInt(d.volcache,0)||75),i[a].stopByVideo=!0,w(e,a),d.pausetimer?i[a].c.trigger("stoptimer"):i[a].stopByVideo=!1,i[a].c.trigger("revolution.slide.onvideoplay",s(d.player,"youtube",d)),i.toggleState(d.videotoggledby)):(d.cSS="paused",0==t.data&&d.loop&&(-1!=d.ssec&&d.player.seekTo(d.ssec),i.playVideo(e,a),i.toggleState(d.videotoggledby)),-1!=t.data&&3!=t.data&&(i[a].stopByVideo=!1,i[a].tonpause=!1,_(e,a),i[a].c.trigger("starttimer"),i[a].c.trigger("revolution.slide.onvideostop",s(d.player,"youtube",d)),null!=i[a].videoIsPlaying&&i[a].videoIsPlaying.attr("id")!=e.attr("id")||i.unToggleState(d.videotoggledby)),0==t.data&&d.nse?(v(),d.nseTriggered=!0,i[a].c.revnext(),_(e,a)):(_(e,a),i[a].stopByVideo=!1,3!==t.data&&(-1!=d.lasteventdata&&3!=d.lasteventdata&&void 0!==d.lasteventdata||-1!=t.data&&3!=t.data)&&i[a].c.trigger("starttimer"),i[a].c.trigger("revolution.slide.onvideostop",s(d.player,"youtube",d)),null!=i[a].videoIsPlaying&&i[a].videoIsPlaying.attr("id")!=e.attr("id")||i.unToggleState(d.videotoggledby))),clearTimeout(d.postOrVideoTimer),1===d.lasteventdata&&2===t.data||2===d.lasteventdata&&3===t.data?d.postOrVideoTimer=setTimeout(function(){u(a,d)},500):u(a,d),d.lasteventdata=t.data},onReady:function(r){var o,s=i.is_mobile(),n=e.hasClass("rs-layer-video");d.ready=!0,!s&&(!i.isSafari11()||s&&n)||"RS-BGVIDEO"!==e[0].tagName&&(!n||!0!==d.aplay&&"true"!==d.aplay)||(o=!0,d.player.setVolume(0),d.volume="mute",d.player.mute(),clearTimeout(e.data("mobilevideotimr")),2!==d.player.getPlayerState()&&-1!==d.player.getPlayerState()||e.data("mobilevideotimr",setTimeout(function(){i.playVideo(e,a)},500))),o||"mute"!=d.volume||(d.player.setVolume(0),d.player.mute()),e.addClass("rs-apiready"),null==d.speed&&1===d.speed||r.target.setPlaybackRate(parseFloat(d.speed)),d.jsposter.unbind("click"),d.jsposter.on("click",function(){t||i.playVideo(e,a)}),d.startvideonow&&(i.playVideo(e,a),-1!=d.ssec&&d.player.seekTo(d.ssec)),d.videolistenerexist=!0}}});break;case"vimeo":if("undefined"==typeof Vimeo||void 0===Vimeo.Player)return i.checkVideoApis(e,a),void setTimeout(function(){m(e,a,r,o)},50);for(var p,g=d.jvideo.attr("src"),f={},y=g,b=/([^&=]+)=([^&]*)/g;p=b.exec(y);)f[decodeURIComponent(p[1])]=decodeURIComponent(p[2]);g=(g=null!=f.player_id?g.replace(f.player_id,c):g+"&player_id="+c).replace(/&api=0|&api=1/g,"");var x,S=i.is_mobile()||i.isSafari11(),k="RS-BGVIDEO"===e[0].tagName;if(S&&k&&(g+="&background=1"),d.jvideo.attr("src",g),d.vimeoplayer=void 0===d.vimeoplayer||!1===d.vimeoplayer?new Vimeo.Player(c):d.vimeoplayer,S)k?x=!0:(d.aplay||"true"===d.aplay)&&(x=!0),x&&(d.volumetoken=!0,d.vimeoplayer.setVolume(0),d.volume="mute");d.vimeoplayer.on("play",function(t){i[a].onceVideoPlayed=!0,d.cSS="playing",d.vimeostarted||h(d,e,a)}),d.vimeoplayer.on("loaded",function(t){var r={};d.vimeoplayer.getVideoWidth().then(function(i){r.width=i,void 0!==r.width&&void 0!==r.height&&(d.ratio=r.width+":"+r.height,d.vimeoplayerloaded=!0,n(a,e))}),d.vimeoplayer.getVideoHeight().then(function(i){r.height=i,void 0!==r.width&&void 0!==r.height&&(d.ratio=r.width+":"+r.height,d.vimeoplayerloaded=!0,n(a,e))}),d.startvideonow&&("mute"===d.volume&&(d.volumetoken=!0,d.vimeoplayer.setVolume(0)),i.playVideo(e,a),-1!=d.ssec&&d.vimeoplayer.setCurrentTime(d.ssec))}),e.addClass("rs-apiready"),d.vimeoplayer.on("volumechange",function(e){d.volumetoken&&(d.volume=e.volume),d.volumetoken=!1}),d.vimeoplayer.on("timeupdate",function(t){u(a,d),d.vimeostarted||0===t.percent||void 0!==i[a].activeRSSlide&&d.slideid!==i.gA(i[a].slides[i[a].activeRSSlide],"key")||h(d,e,a),d.pausetimer&&"playing"==i[a].sliderstatus&&(i[a].stopByVideo=!0,i[a].c.trigger("stoptimer")),d.currenttime=t.seconds,0!=d.esec&&-1!==d.esec&&d.esec<t.seconds&&!0!==d.nextslidecalled&&(d.loop?(i.playVideo(e,a),d.vimeoplayer.setCurrentTime(-1!==d.ssec?d.ssec:0)):(d.nse&&(d.nseTriggered=!0,d.nextslidecalled=!0,i[a].c.revnext()),d.vimeoplayer.pause())),d.prePlayForaWhile&&d.vimeoplayer.pause()}),d.vimeoplayer.on("ended",function(t){d.cSS="paused",u(a,d),d.vimeostarted=!1,_(e,a),i[a].stopByVideo=!1,i[a].c.trigger("starttimer"),i[a].c.trigger("revolution.slide.onvideostop",s(d.vimeoplayer,"vimeo",d)),d.nse&&(d.nseTriggered=!0,i[a].c.revnext()),null!=i[a].videoIsPlaying&&i[a].videoIsPlaying.attr("id")!=e.attr("id")||i.unToggleState(d.videotoggledby)}),d.vimeoplayer.on("pause",function(t){d.vimeostarted=!1,d.cSS="paused",u(a,d),i[a].stopByVideo=!1,i[a].tonpause=!1,_(e,a),i[a].c.trigger("starttimer"),i[a].c.trigger("revolution.slide.onvideostop",s(d.vimeoplayer,"vimeo",d)),null!=i[a].videoIsPlaying&&i[a].videoIsPlaying.attr("id")!=e.attr("id")||i.unToggleState(d.videotoggledby)}),d.jsposter.unbind("click"),d.jsposter.on("click",function(){if(!t)return i.playVideo(e,a),!1}),d.videolistenerexist=!0}},v=function(){document.exitFullscreen&&document.fullscreen?document.exitFullscreen():document.mozCancelFullScreen&&document.mozFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitIsFullScreen&&document.webkitExitFullscreen()},f=function(e,a,r){var n=i[a].videos[e[0].id];if(t&&n.notonmobile)return!1;n.metaloaded=!0,"html5"===n.newtype&&n.bgvideo&&(n.nBG=i[a].sbgs[e[0].dataset.key],void 0===n.nBG.shadowCanvas&&(n.nBG.shadowCanvas=document.createElement("canvas"),n.nBG.shadowCTX=n.nBG.shadowCanvas.getContext("2d"),n.nBG.shadowCanvas.style.background="transparent",n.nBG.shadowCanvas.style.opacity=1),n.nBG.isHTML5=!0,n.nBG.video=void 0!==n.nBG.loadobj&&void 0!==n.nBG.loadobj.img?n.nBG.loadobj.img:n.video,n.nBG.drawVideoCanvasImagesRecall=!1),n.controls&&!n.audio||(0!=e.find(".tp-video-play-button").length||t||e.append('<div class="tp-video-play-button"><i class="revicon-right-dir"></i><span class="tp-revstop">&nbsp;</span></div>'),e.find("video, rs-poster, .tp-video-play-button").on("click",function(){!1===n.loop&&n.esec>0&&n.esec<=n.video.currentTime||(e.hasClass("videoisplaying")?i.stopVideo(e,a):i.playVideo(e,a))})),(n.fcover||e.hasClass("rs-fsv")||n.bgvideo)&&(n.fcover||n.bgvideo?(n.html5vid.addClass("fullcoveredvideo"),void 0!==n.ratio&&1!=n.ratio.split(":").length||(n.ratio="16:9"),i.prepareCoveredVideo(a)):n.html5vid.addClass("rs-fsv")),o(n.video,"canplaythrough",function(){i.preLoadAudioDone(e,a,"canplaythrough")}),o(n.video,"canplay",function(){i.preLoadAudioDone(e,a,"canplay")}),o(n.video,"progress",function(){i.preLoadAudioDone(e,a,"progress")}),o(n.video,"timeupdate",function(e){this.BGrendered=!0,u(a,n),-1===n.esec&&n.loop&&1==window.isSafari11&&(n.esec=n.video.duration-.075),void 0!==n.lastCurrentTime?n.fps=n.video.currentTime-n.lastCurrentTime:n.fps=.1,n.lastCurrentTime=n.video.currentTime,0!=n.esec&&-1!=n.esec&&n.esec<n.video.currentTime&&!n.nextslidecalled&&(n.loop?(c(n),n.video.currentTime=-1===n.ssec?.5:n.ssec):(n.nse&&(n.nseTriggered=!0,n.nextslidecalled=!0,i[a].jcnah=!0,i[a].c.revnext(),setTimeout(function(){i[a].jcnah=!1},1e3)),n.video.pause()))}),o(n.video,"play",function(){n.cSS="playing",u(a,n),n.bgvideo&&(n.nBG.drawVideoCanvasImagesRecall=!0,n.nBG.videoisplaying=!0,n.nBG.video=n.video,i.updateVideoFrames(a,n.nBG)),i[a].onceVideoPlayed=!0,n.nextslidecalled=!1,n.volume=null!=n.volume&&"mute"!=n.volume?parseFloat(n.volcache):n.volume,n.volcache=null!=n.volcache&&"mute"!=n.volcache?parseFloat(n.volcache):n.volcache,i.is_mobile()||i.isSafari11()||(!0===i[a].globalmute?n.video.muted=!0:n.video.muted="mute"==n.volume,n.volcache=i.isNumeric(n.volcache)&&n.volcache>1?n.volcache/100:n.volcache,"mute"==n.volume?n.video.muted=!0:null!=n.volcache&&(n.video.volume=n.volcache)),e.addClass("videoisplaying"),w(e,a),clearTimeout(n.showCoverSoon),!0!==n.pausetimer||"audio"==n.tag?(i[a].stopByVideo=!1,i[a].c.trigger("revolution.slide.onvideostop",s(n.video,"html5",n))):(i[a].stopByVideo=!0,i[a].c.trigger("revolution.slide.onvideoplay",s(n.video,"html5",n))),n.pausetimer&&"playing"==i[a].sliderstatus&&(i[a].stopByVideo=!0,i[a].c.trigger("stoptimer")),i.toggleState(n.videotoggledby)}),o(n.video,"seeked",function(){n.seeking=!1}),o(n.video,"seeking",function(){n.seeking=!0}),o(n.video,"pause",function(t){n.cSS="paused",u(a,n),e.removeClass("videoisplaying"),n.bgvideo&&(n.nBG.drawVideoCanvasImagesRecall=!1,n.nBG.videoisplaying=!1),i[a].stopByVideo=!1,_(e,a),"audio"!=n.tag&&i[a].c.trigger("starttimer"),i[a].c.trigger("revolution.slide.onvideostop",s(n.video,"html5",n)),null!=i[a].videoIsPlaying&&i[a].videoIsPlaying.attr("id")!=e.attr("id")||i.unToggleState(n.videotoggledby)}),o(n.video,"ended",function(){n.cSS="paused",v(),u(a,n),_(e,a),i[a].stopByVideo=!1,_(e,a),"audio"!=n.tag&&i[a].c.trigger("starttimer"),i[a].c.trigger("revolution.slide.onvideostop",s(n.video,"html5",e.data())),n.nse&&n.video.currentTime>0&&(1==!i[a].jcnah&&(n.nseTriggered=!0,i[a].c.revnext(),i[a].jcnah=!0),setTimeout(function(){i[a].jcnah=!1},1500)),e.removeClass("videoisplaying"),n.bgvideo&&(n.nBG.drawVideoCanvasImagesRecall=!1,n.nBG.videoisplaying=!1),!0!==i[a].inviewport&&void 0!==i[a].inviewport||(i[a].lastplayedvideos=[])})},y=function(e){return"t"===e||!0===e||"true"===e||"f"!==e&&!1!==e&&"false"!==e&&e},b=function(e,i,t){e.audio="audio"===i;var a=void 0===e.video?[]:e.video.split(";"),o={volume:e.audio?1:"mute",pload:"auto",ratio:"16:9",loop:!0,aplay:"true",fcover:1===e.bgvideo,afs:!0,controls:!1,nse:!0,npom:!1,opom:!1,inline:!0,notonmobile:!1,start:-1,end:-1,doverlay:"none",doverlaysize:1,doverlaycolora:"transparent",doverlaycolorb:"#000000",scop:!1,rwd:!0,speed:1,ploadwait:5,stopAV:1!==e.bgvideo,noInt:!1,volcache:75};for(var s in a)if(a.hasOwnProperty(s)){var n=a[s].split(":");switch(n[0]){case"v":o.volume=n[1];break;case"vd":o.volcache=n[1];break;case"p":o.pload=n[1];break;case"ar":o.ratio=n[1]+(void 0!==n[2]?":"+n[2]:"");break;case"ap":o.aplay=y(n[1]);break;case"fc":o.fcover=y(n[1]);break;case"afs":o.afs=y(n[1]);break;case"vc":o.controls=n[1];break;case"nse":o.nse=y(n[1]);break;case"npom":o.npom=y(n[1]);break;case"opom":o.opom=y(n[1]);break;case"t":o.vtype=n[1];break;case"inl":o.inline=y(n[1]);break;case"nomo":o.notonmobile=y(n[1]);break;case"sta":o.start=n[1]+(void 0!==n[2]?":"+n[2]:"");break;case"end":o.end=n[1]+(void 0!==n[2]?":"+n[2]:"");break;case"do":o.doverlay=n[1];break;case"dos":o.doverlaysize=n[1];break;case"doca":o.doverlaycolora=n[1];break;case"docb":o.doverlaycolorb=n[1];break;case"scop":o.scop=y(n[1]);break;case"rwd":o.rwd=y(n[1]);break;case"sp":o.speed=n[1];break;case"vw":o.ploadwait=parseInt(n[1],0)||5;break;case"sav":o.stopAV=y(n[1]);break;case"noint":o.noInt=y(n[1]);break;case"l":o.loopcache=n[1],o.loop="loop"===n[1]||"loopandnoslidestop"===n[1]||"none"!==n[1]&&y(n[1]);break;case"ptimer":o.pausetimer=y(n[1]);break;case"sat":o.waitToSlideTrans=y(n[1])}}return void 0!==e.bgvideo&&(o.bgvideo=e.bgvideo),void 0===e.bgvideo||!1!==o.fcover&&"false"!==o.fcover||(o.doverlay="none"),o.noInt&&(o.controls=!1),void 0!==e.mp4&&(o.mp4=e.mp4),void 0!==e.videomp4&&(o.mp4=e.videomp4),void 0!==e.ytid&&(o.ytid=e.ytid),void 0!==e.ogv&&(o.ogv=e.ogv),void 0!==e.webm&&(o.webm=e.webm),void 0!==e.vimeoid&&(o.vimeoid=e.vimeoid),void 0!==e.vatr&&(o.vatr=e.vatr),void 0!==e.videoattributes&&(o.vatr=e.videoattributes),void 0!==e.poster&&(o.poster=e.poster),o.slideid=t,o.aplay="true"===o.aplay||o.aplay,1===o.bgvideo&&(o.volume="mute"),o.ssec=r(o.start),o.esec=r(o.end),o.pausetimer=void 0===o.pausetimer?"loopandnoslidestop"!==o.loopcache:o.pausetimer,o.inColumn=e._incolumn,o.audio=e.audio,!0!==o.loop&&"true"!==o.loop||!0!==o.nse&&"true"!==o.nse||(o.loop=!1),o},w=function(e,t){if(i[t].playingvideos=void 0===i[t].playingvideos?new Array:i[t].playingvideos,i[t].videos[e[0].id].stopAV&&void 0!==i[t].playingvideos&&i[t].playingvideos.length>0)for(var a in i[t].lastplayedvideos=jQuery.extend(!0,[],i[t].playingvideos),i[t].playingvideos)i[t].playingvideos.hasOwnProperty(a)&&i.stopVideo(i[t].playingvideos[a],t);i[t].playingvideos.push(e),i[t].videoIsPlaying=e},_=function(e,t){void 0!==i[t]&&void 0!==i[t]&&null!=i[t].playingvideos&&jQuery.inArray(e,i[t].playingvideos)>=0&&i[t].playingvideos.splice(jQuery.inArray(e,i[t].playingvideos),1)}}(jQuery);
// source --> https://microwinlabs.com/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.js?ver=2.7.0-wc.9.4.2 
/*!
 * jQuery blockUI plugin
 * Version 2.70.0-2014.11.23
 * Requires jQuery v1.7 or later
 *
 * Examples at: http://malsup.com/jquery/block/
 * Copyright (c) 2007-2013 M. Alsup
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Thanks to Amir-Hossein Sobhi for some excellent contributions!
 */
;(function() {
/*jshint eqeqeq:false curly:false latedef:false */
"use strict";

	function setup($) {
		$.fn._fadeIn = $.fn.fadeIn;

		var noOp = $.noop || function() {};

		// this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle
		// confusing userAgent strings on Vista)
		var msie = /MSIE/.test(navigator.userAgent);
		var ie6  = /MSIE 6.0/.test(navigator.userAgent) && ! /MSIE 8.0/.test(navigator.userAgent);
		var mode = document.documentMode || 0;
		var setExpr = 'function' === typeof document.createElement('div').style.setExpression ? document.createElement('div').style.setExpression : false;

		// global $ methods for blocking/unblocking the entire page
		$.blockUI   = function(opts) { install(window, opts); };
		$.unblockUI = function(opts) { remove(window, opts); };

		// convenience method for quick growl-like notifications  (http://www.google.com/search?q=growl)
		$.growlUI = function(title, message, timeout, onClose) {
			var $m = $('<div class="growlUI"></div>');
			if (title) $m.append('<h1>'+title+'</h1>');
			if (message) $m.append('<h2>'+message+'</h2>');
			if (timeout === undefined) timeout = 3000;

			// Added by konapun: Set timeout to 30 seconds if this growl is moused over, like normal toast notifications
			var callBlock = function(opts) {
				opts = opts || {};

				$.blockUI({
					message: $m,
					fadeIn : typeof opts.fadeIn  !== 'undefined' ? opts.fadeIn  : 700,
					fadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000,
					timeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout,
					centerY: false,
					showOverlay: false,
					onUnblock: onClose,
					css: $.blockUI.defaults.growlCSS
				});
			};

			callBlock();
			var nonmousedOpacity = $m.css('opacity');
			$m.on( 'mouseover', function() {
				callBlock({
					fadeIn: 0,
					timeout: 30000
				});

				var displayBlock = $('.blockMsg');
				displayBlock.stop(); // cancel fadeout if it has started
				displayBlock.fadeTo(300, 1); // make it easier to read the message by removing transparency
			}).on( 'mouseout', function() {
				$('.blockMsg').fadeOut(1000);
			});
			// End konapun additions
		};

		// plugin method for blocking element content
		$.fn.block = function(opts) {
			if ( this[0] === window ) {
				$.blockUI( opts );
				return this;
			}
			var fullOpts = $.extend({}, $.blockUI.defaults, opts || {});
			this.each(function() {
				var $el = $(this);
				if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked'))
					return;
				$el.unblock({ fadeOut: 0 });
			});

			return this.each(function() {
				if ($.css(this,'position') == 'static') {
					this.style.position = 'relative';
					$(this).data('blockUI.static', true);
				}
				this.style.zoom = 1; // force 'hasLayout' in ie
				install(this, opts);
			});
		};

		// plugin method for unblocking element content
		$.fn.unblock = function(opts) {
			if ( this[0] === window ) {
				$.unblockUI( opts );
				return this;
			}
			return this.each(function() {
				remove(this, opts);
			});
		};

		$.blockUI.version = 2.70; // 2nd generation blocking at no extra cost!

		// override these in your code to change the default behavior and style
		$.blockUI.defaults = {
			// message displayed when blocking (use null for no message)
			message:  '<h1>Please wait...</h1>',

			title: null,		// title string; only used when theme == true
			draggable: true,	// only used when theme == true (requires jquery-ui.js to be loaded)

			theme: false, // set to true to use with jQuery UI themes

			// styles for the message when blocking; if you wish to disable
			// these and use an external stylesheet then do this in your code:
			// $.blockUI.defaults.css = {};
			css: {
				padding:	0,
				margin:		0,
				width:		'30%',
				top:		'40%',
				left:		'35%',
				textAlign:	'center',
				color:		'#000',
				border:		'3px solid #aaa',
				backgroundColor:'#fff',
				cursor:		'wait'
			},

			// minimal style set used when themes are used
			themedCSS: {
				width:	'30%',
				top:	'40%',
				left:	'35%'
			},

			// styles for the overlay
			overlayCSS:  {
				backgroundColor:	'#000',
				opacity:			0.6,
				cursor:				'wait'
			},

			// style to replace wait cursor before unblocking to correct issue
			// of lingering wait cursor
			cursorReset: 'default',

			// styles applied when using $.growlUI
			growlCSS: {
				width:		'350px',
				top:		'10px',
				left:		'',
				right:		'10px',
				border:		'none',
				padding:	'5px',
				opacity:	0.6,
				cursor:		'default',
				color:		'#fff',
				backgroundColor: '#000',
				'-webkit-border-radius':'10px',
				'-moz-border-radius':	'10px',
				'border-radius':		'10px'
			},

			// IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
			// (hat tip to Jorge H. N. de Vasconcelos)
			/*jshint scripturl:true */
			iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',

			// force usage of iframe in non-IE browsers (handy for blocking applets)
			forceIframe: false,

			// z-index for the blocking overlay
			baseZ: 1000,

			// set these to true to have the message automatically centered
			centerX: true, // <-- only effects element blocking (page block controlled via css above)
			centerY: true,

			// allow body element to be stetched in ie6; this makes blocking look better
			// on "short" pages.  disable if you wish to prevent changes to the body height
			allowBodyStretch: true,

			// enable if you want key and mouse events to be disabled for content that is blocked
			bindEvents: true,

			// by default blockUI will suppress tab navigation from leaving blocking content
			// (if bindEvents is true)
			constrainTabKey: true,

			// fadeIn time in millis; set to 0 to disable fadeIn on block
			fadeIn:  200,

			// fadeOut time in millis; set to 0 to disable fadeOut on unblock
			fadeOut:  400,

			// time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
			timeout: 0,

			// disable if you don't want to show the overlay
			showOverlay: true,

			// if true, focus will be placed in the first available input field when
			// page blocking
			focusInput: true,

            // elements that can receive focus
            focusableElements: ':input:enabled:visible',

			// suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)
			// no longer needed in 2012
			// applyPlatformOpacityRules: true,

			// callback method invoked when fadeIn has completed and blocking message is visible
			onBlock: null,

			// callback method invoked when unblocking has completed; the callback is
			// passed the element that has been unblocked (which is the window object for page
			// blocks) and the options that were passed to the unblock call:
			//	onUnblock(element, options)
			onUnblock: null,

			// callback method invoked when the overlay area is clicked.
			// setting this will turn the cursor to a pointer, otherwise cursor defined in overlayCss will be used.
			onOverlayClick: null,

			// don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
			quirksmodeOffsetHack: 4,

			// class name of the message block
			blockMsgClass: 'blockMsg',

			// if it is already blocked, then ignore it (don't unblock and reblock)
			ignoreIfBlocked: false
		};

		// private data and functions follow...

		var pageBlock = null;
		var pageBlockEls = [];

		function install(el, opts) {
			var css, themedCSS;
			var full = (el == window);
			var msg = (opts && opts.message !== undefined ? opts.message : undefined);
			opts = $.extend({}, $.blockUI.defaults, opts || {});

			if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked'))
				return;

			opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
			css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
			if (opts.onOverlayClick)
				opts.overlayCSS.cursor = 'pointer';

			themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
			msg = msg === undefined ? opts.message : msg;

			// remove the current block (if there is one)
			if (full && pageBlock)
				remove(window, {fadeOut:0});

			// if an existing element is being used as the blocking content then we capture
			// its current place in the DOM (and current display style) so we can restore
			// it when we unblock
			if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
				var node = msg.jquery ? msg[0] : msg;
				var data = {};
				$(el).data('blockUI.history', data);
				data.el = node;
				data.parent = node.parentNode;
				data.display = node.style.display;
				data.position = node.style.position;
				if (data.parent)
					data.parent.removeChild(node);
			}

			$(el).data('blockUI.onUnblock', opts.onUnblock);
			var z = opts.baseZ;

			// blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;
			// layer1 is the iframe layer which is used to suppress bleed through of underlying content
			// layer2 is the overlay layer which has opacity and a wait cursor (by default)
			// layer3 is the message content that is displayed while blocking
			var lyr1, lyr2, lyr3, s;
			if (msie || opts.forceIframe)
				lyr1 = $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>');
			else
				lyr1 = $('<div class="blockUI" style="display:none"></div>');

			if (opts.theme)
				lyr2 = $('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+ (z++) +';display:none"></div>');
			else
				lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');

			if (opts.theme && full) {
				s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:fixed">';
				if ( opts.title ) {
					s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>';
				}
				s += '<div class="ui-widget-content ui-dialog-content"></div>';
				s += '</div>';
			}
			else if (opts.theme) {
				s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:absolute">';
				if ( opts.title ) {
					s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>';
				}
				s += '<div class="ui-widget-content ui-dialog-content"></div>';
				s += '</div>';
			}
			else if (full) {
				s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>';
			}
			else {
				s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement" style="z-index:'+(z+10)+';display:none;position:absolute"></div>';
			}
			lyr3 = $(s);

			// if we have a message, style it
			if (msg) {
				if (opts.theme) {
					lyr3.css(themedCSS);
					lyr3.addClass('ui-widget-content');
				}
				else
					lyr3.css(css);
			}

			// style the overlay
			if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/)
				lyr2.css(opts.overlayCSS);
			lyr2.css('position', full ? 'fixed' : 'absolute');

			// make iframe layer transparent in IE
			if (msie || opts.forceIframe)
				lyr1.css('opacity',0.0);

			//$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);
			var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);
			$.each(layers, function() {
				this.appendTo($par);
			});

			if (opts.theme && opts.draggable && $.fn.draggable) {
				lyr3.draggable({
					handle: '.ui-dialog-titlebar',
					cancel: 'li'
				});
			}

			// ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
			var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0);
			if (ie6 || expr) {
				// give body 100% height
				if (full && opts.allowBodyStretch && $.support.boxModel)
					$('html,body').css('height','100%');

				// fix ie6 issue when blocked element has a border width
				if ((ie6 || !$.support.boxModel) && !full) {
					var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');
					var fixT = t ? '(0 - '+t+')' : 0;
					var fixL = l ? '(0 - '+l+')' : 0;
				}

				// simulate fixed position
				$.each(layers, function(i,o) {
					var s = o[0].style;
					s.position = 'absolute';
					if (i < 2) {
						if (full)
							s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"');
						else
							s.setExpression('height','this.parentNode.offsetHeight + "px"');
						if (full)
							s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"');
						else
							s.setExpression('width','this.parentNode.offsetWidth + "px"');
						if (fixL) s.setExpression('left', fixL);
						if (fixT) s.setExpression('top', fixT);
					}
					else if (opts.centerY) {
						if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
						s.marginTop = 0;
					}
					else if (!opts.centerY && full) {
						var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0;
						var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"';
						s.setExpression('top',expression);
					}
				});
			}

			// show the message
			if (msg) {
				if (opts.theme)
					lyr3.find('.ui-widget-content').append(msg);
				else
					lyr3.append(msg);
				if (msg.jquery || msg.nodeType)
					$(msg).show();
			}

			if ((msie || opts.forceIframe) && opts.showOverlay)
				lyr1.show(); // opacity is zero
			if (opts.fadeIn) {
				var cb = opts.onBlock ? opts.onBlock : noOp;
				var cb1 = (opts.showOverlay && !msg) ? cb : noOp;
				var cb2 = msg ? cb : noOp;
				if (opts.showOverlay)
					lyr2._fadeIn(opts.fadeIn, cb1);
				if (msg)
					lyr3._fadeIn(opts.fadeIn, cb2);
			}
			else {
				if (opts.showOverlay)
					lyr2.show();
				if (msg)
					lyr3.show();
				if (opts.onBlock)
					opts.onBlock.bind(lyr3)();
			}

			// bind key and mouse events
			bind(1, el, opts);

			if (full) {
				pageBlock = lyr3[0];
				pageBlockEls = $(opts.focusableElements,pageBlock);
				if (opts.focusInput)
					setTimeout(focus, 20);
			}
			else
				center(lyr3[0], opts.centerX, opts.centerY);

			if (opts.timeout) {
				// auto-unblock
				var to = setTimeout(function() {
					if (full)
						$.unblockUI(opts);
					else
						$(el).unblock(opts);
				}, opts.timeout);
				$(el).data('blockUI.timeout', to);
			}
		}

		// remove the block
		function remove(el, opts) {
			var count;
			var full = (el == window);
			var $el = $(el);
			var data = $el.data('blockUI.history');
			var to = $el.data('blockUI.timeout');
			if (to) {
				clearTimeout(to);
				$el.removeData('blockUI.timeout');
			}
			opts = $.extend({}, $.blockUI.defaults, opts || {});
			bind(0, el, opts); // unbind events

			if (opts.onUnblock === null) {
				opts.onUnblock = $el.data('blockUI.onUnblock');
				$el.removeData('blockUI.onUnblock');
			}

			var els;
			if (full) // crazy selector to handle odd field errors in ie6/7
				els = $(document.body).children().filter('.blockUI').add('body > .blockUI');
			else
				els = $el.find('>.blockUI');

			// fix cursor issue
			if ( opts.cursorReset ) {
				if ( els.length > 1 )
					els[1].style.cursor = opts.cursorReset;
				if ( els.length > 2 )
					els[2].style.cursor = opts.cursorReset;
			}

			if (full)
				pageBlock = pageBlockEls = null;

			if (opts.fadeOut) {
				count = els.length;
				els.stop().fadeOut(opts.fadeOut, function() {
					if ( --count === 0)
						reset(els,data,opts,el);
				});
			}
			else
				reset(els, data, opts, el);
		}

		// move blocking element back into the DOM where it started
		function reset(els,data,opts,el) {
			var $el = $(el);
			if ( $el.data('blockUI.isBlocked') )
				return;

			els.each(function(i,o) {
				// remove via DOM calls so we don't lose event handlers
				if (this.parentNode)
					this.parentNode.removeChild(this);
			});

			if (data && data.el) {
				data.el.style.display = data.display;
				data.el.style.position = data.position;
				data.el.style.cursor = 'default'; // #59
				if (data.parent)
					data.parent.appendChild(data.el);
				$el.removeData('blockUI.history');
			}

			if ($el.data('blockUI.static')) {
				$el.css('position', 'static'); // #22
			}

			if (typeof opts.onUnblock == 'function')
				opts.onUnblock(el,opts);

			// fix issue in Safari 6 where block artifacts remain until reflow
			var body = $(document.body), w = body.width(), cssW = body[0].style.width;
			body.width(w-1).width(w);
			body[0].style.width = cssW;
		}

		// bind/unbind the handler
		function bind(b, el, opts) {
			var full = el == window, $el = $(el);

			// don't bother unbinding if there is nothing to unbind
			if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))
				return;

			$el.data('blockUI.isBlocked', b);

			// don't bind events when overlay is not in use or if bindEvents is false
			if (!full || !opts.bindEvents || (b && !opts.showOverlay))
				return;

			// bind anchors and inputs for mouse and key events
			var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';
			if (b)
				$(document).on(events, opts, handler);
			else
				$(document).off(events, handler);

		// former impl...
		//		var $e = $('a,:input');
		//		b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
		}

		// event handler to suppress keyboard/mouse events when blocking
		function handler(e) {
			// allow tab navigation (conditionally)
			if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {
				if (pageBlock && e.data.constrainTabKey) {
					var els = pageBlockEls;
					var fwd = !e.shiftKey && e.target === els[els.length-1];
					var back = e.shiftKey && e.target === els[0];
					if (fwd || back) {
						setTimeout(function(){focus(back);},10);
						return false;
					}
				}
			}
			var opts = e.data;
			var target = $(e.target);
			if (target.hasClass('blockOverlay') && opts.onOverlayClick)
				opts.onOverlayClick(e);

			// allow events within the message content
			if (target.parents('div.' + opts.blockMsgClass).length > 0)
				return true;

			// allow events for content that is not being blocked
			return target.parents().children().filter('div.blockUI').length === 0;
		}

		function focus(back) {
			if (!pageBlockEls)
				return;
			var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];
			if (e)
				e.trigger( 'focus' );
		}

		function center(el, x, y) {
			var p = el.parentNode, s = el.style;
			var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');
			var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');
			if (x) s.left = l > 0 ? (l+'px') : '0';
			if (y) s.top  = t > 0 ? (t+'px') : '0';
		}

		function sz(el, p) {
			return parseInt($.css(el,p),10)||0;
		}

	}


	/*global define:true */
	if (typeof define === 'function' && define.amd && define.amd.jQuery) {
		define(['jquery'], setup);
	} else {
		setup(jQuery);
	}

})();
// source --> https://microwinlabs.com/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.js?ver=2.1.4-wc.9.4.2 
/*! js-cookie v3.0.5 | MIT */
;
(function (global, factory) {
	typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
		typeof define === 'function' && define.amd ? define(factory) :
			(global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {
				var current = global.Cookies;
				var exports = global.Cookies = factory();
				exports.noConflict = function () { global.Cookies = current; return exports; };
			})());
})(this, (function () { 'use strict';

	/* eslint-disable no-var */
	function assign (target) {
		for (var i = 1; i < arguments.length; i++) {
			var source = arguments[i];
			for (var key in source) {
				target[key] = source[key];
			}
		}
		return target
	}
	/* eslint-enable no-var */

	/* eslint-disable no-var */
	var defaultConverter = {
		read: function (value) {
			if (value[0] === '"') {
				value = value.slice(1, -1);
			}
			return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
		},
		write: function (value) {
			return encodeURIComponent(value).replace(
				/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
				decodeURIComponent
			)
		}
	};
	/* eslint-enable no-var */

	/* eslint-disable no-var */

	function init (converter, defaultAttributes) {
		function set (name, value, attributes) {
			if (typeof document === 'undefined') {
				return
			}

			attributes = assign({}, defaultAttributes, attributes);

			if (typeof attributes.expires === 'number') {
				attributes.expires = new Date(Date.now() + attributes.expires * 864e5);
			}
			if (attributes.expires) {
				attributes.expires = attributes.expires.toUTCString();
			}

			name = encodeURIComponent(name)
				.replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
				.replace(/[()]/g, escape);

			var stringifiedAttributes = '';
			for (var attributeName in attributes) {
				if (!attributes[attributeName]) {
					continue
				}

				stringifiedAttributes += '; ' + attributeName;

				if (attributes[attributeName] === true) {
					continue
				}

				// Considers RFC 6265 section 5.2:
				// ...
				// 3.  If the remaining unparsed-attributes contains a %x3B (";")
				//     character:
				// Consume the characters of the unparsed-attributes up to,
				// not including, the first %x3B (";") character.
				// ...
				stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
			}

			return (document.cookie =
				name + '=' + converter.write(value, name) + stringifiedAttributes)
		}

		function get (name) {
			if (typeof document === 'undefined' || (arguments.length && !name)) {
				return
			}

			// To prevent the for loop in the first place assign an empty array
			// in case there are no cookies at all.
			var cookies = document.cookie ? document.cookie.split('; ') : [];
			var jar = {};
			for (var i = 0; i < cookies.length; i++) {
				var parts = cookies[i].split('=');
				var value = parts.slice(1).join('=');

				try {
					var found = decodeURIComponent(parts[0]);
					jar[found] = converter.read(value, found);

					if (name === found) {
						break
					}
				} catch (e) {}
			}

			return name ? jar[name] : jar
		}

		return Object.create(
			{
				set,
				get,
				remove: function (name, attributes) {
					set(
						name,
						'',
						assign({}, attributes, {
							expires: -1
						})
					);
				},
				withAttributes: function (attributes) {
					return init(this.converter, assign({}, this.attributes, attributes))
				},
				withConverter: function (converter) {
					return init(assign({}, this.converter, converter), this.attributes)
				}
			},
			{
				attributes: { value: Object.freeze(defaultAttributes) },
				converter: { value: Object.freeze(converter) }
			}
		)
	}

	var api = init(defaultConverter, { path: '/' });
	/* eslint-enable no-var */

	return api;

}));