
( function( global, factory ) {
"use strict";
if ( typeof module === "object" && typeof module.exports === "object" ) {

 
 
 
 
 
 
 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 );
}

} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {




"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 ) {

 
 
 
 
 
 
 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 ) {

 
 
 
 
 
 
 
 
 
 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 + "";
}

	return typeof obj === "object" || typeof obj === "function" ?
class2type[ toString.call( obj ) ] || "object" :
typeof obj;
}




var
version = "3.6.4",

	jQuery = function( selector, context ) {

 
 return new jQuery.fn.init( selector, context );
};
jQuery.fn = jQuery.prototype = {

	jquery: version,
constructor: jQuery,

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

	
	get: function( num ) {

 if ( num == null ) {
return slice.call( this );
}

 return num < 0 ? this[ num + this.length ] : this[ num ];
},

	
	pushStack: function( elems ) {

 var ret = jQuery.merge( this.constructor(), elems );

 ret.prevObject = this;

 return ret;
},

	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();
},

	
	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;

	if ( typeof target === "boolean" ) {
deep = target;

 target = arguments[ i ] || {};
i++;
}

	if ( typeof target !== "object" && !isFunction( target ) ) {
target = {};
}

	if ( i === length ) {
target = this;
i--;
}
for ( ; i < length; i++ ) {

 if ( ( options = arguments[ i ] ) != null ) {

 for ( name in options ) {
copy = options[ name ];

 
 if ( name === "__proto__" || target === copy ) {
continue;
}

 if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
( copyIsArray = Array.isArray( copy ) ) ) ) {
src = target[ name ];

 if ( copyIsArray && !Array.isArray( src ) ) {
clone = [];
} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
clone = {};
} else {
clone = src;
}
copyIsArray = false;

 target[ name ] = jQuery.extend( deep, clone, copy );

 } else if ( copy !== undefined ) {
target[ name ] = copy;
}
}
}
}

	return target;
};
jQuery.extend( {

	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),

	isReady: true,
error: function( msg ) {
throw new Error( msg );
},
noop: function() {},
isPlainObject: function( obj ) {
var proto, Ctor;

 
 if ( !obj || toString.call( obj ) !== "[object Object]" ) {
return false;
}
proto = getProto( obj );

 if ( !proto ) {
return true;
}

 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;
},

	
	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;
},

	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 );
},

	
	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;

 
 for ( ; i < length; i++ ) {
callbackInverse = !callback( elems[ i ], i );
if ( callbackInverse !== callbackExpect ) {
matches.push( elems[ i ] );
}
}
return matches;
},

	map: function( elems, callback, arg ) {
var length, value,
i = 0,
ret = [];

 if ( isArrayLike( elems ) ) {
length = elems.length;
for ( ; i < length; i++ ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}

 } else {
for ( i in elems ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}
}

 return flat( ret );
},

	guid: 1,

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

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

	
	
	
	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;
}
var Sizzle =

( function( window ) {
var i,
support,
Expr,
getText,
isXML,
tokenize,
compile,
select,
outermostContext,
sortInput,
hasDuplicate,

	setDocument,
document,
docElem,
documentIsHTML,
rbuggyQSA,
rbuggyMatches,
matches,
contains,

	expando = "sizzle" + 1 * new Date(),
preferredDoc = window.document,
dirruns = 0,
done = 0,
classCache = createCache(),
tokenCache = createCache(),
compilerCache = createCache(),
nonnativeSelectorCache = createCache(),
sortOrder = function( a, b ) {
if ( a === b ) {
hasDuplicate = true;
}
return 0;
},

	hasOwn = ( {} ).hasOwnProperty,
arr = [],
pop = arr.pop,
pushNative = arr.push,
push = arr.push,
slice = arr.slice,

	
	indexOf = function( list, elem ) {
var i = 0,
len = list.length;
for ( ; i < len; i++ ) {
if ( list[ i ] === elem ) {
return i;
}
}
return -1;
},
booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
"ismap|loop|multiple|open|readonly|required|scoped",



	whitespace = "[\\x20\\t\\r\\n\\f]",

	identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",

	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +

 "*([*^$|!~]?=)" + whitespace +

 
 "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
whitespace + "*\\]",
pseudos = ":(" + identifier + ")(?:\\((" +

 
 "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +

 "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +

 ".*" +
")\\)|)",

	rwhitespace = new RegExp( whitespace + "+", "g" ),
rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
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" ),

 
 "needsContext": new RegExp( "^" + whitespace +
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
},
rhtml = /HTML$/i,
rinputs = /^(?:input|select|textarea|button)$/i,
rheader = /^h\d$/i,
rnative = /^[^{]+\{\s*\[native \w/,

	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
rsibling = /[+~]/,

	
	runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
funescape = function( escape, nonHex ) {
var high = "0x" + escape.slice( 1 ) - 0x10000;
return nonHex ?

 nonHex :

 
 
 
 high < 0 ?
String.fromCharCode( high + 0x10000 ) :
String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
},

	
	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
fcssescape = function( ch, asCodePoint ) {
if ( asCodePoint ) {

 if ( ch === "\0" ) {
return "\uFFFD";
}

 return ch.slice( 0, -1 ) + "\\" +
ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
}

 return "\\" + ch;
},

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

try {
push.apply(
( arr = slice.call( preferredDoc.childNodes ) ),
preferredDoc.childNodes
);

	
	
	arr[ preferredDoc.childNodes.length ].nodeType;
} catch ( e ) {
push = { apply: arr.length ?

 function( target, els ) {
pushNative.apply( target, slice.call( els ) );
} :

 
 function( target, els ) {
var j = target.length,
i = 0;

 while ( ( target[ j++ ] = els[ i++ ] ) ) {}
target.length = j - 1;
}
};
}
function Sizzle( selector, context, results, seed ) {
var m, i, elem, nid, match, groups, newSelector,
newContext = context && context.ownerDocument,

 nodeType = context ? context.nodeType : 9;
results = results || [];

	if ( typeof selector !== "string" || !selector ||
nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
return results;
}

	if ( !seed ) {
setDocument( context );
context = context || document;
if ( documentIsHTML ) {

 
 if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {

 if ( ( m = match[ 1 ] ) ) {

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

 
 
 if ( elem.id === m ) {
results.push( elem );
return results;
}
} else {
return results;
}

 } else {

 
 
 if ( newContext && ( elem = newContext.getElementById( m ) ) &&
contains( context, elem ) &&
elem.id === m ) {
results.push( elem );
return results;
}
}

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

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

 if ( support.qsa &&
!nonnativeSelectorCache[ selector + " " ] &&
( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&

 
 ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
newSelector = selector;
newContext = context;

 
 
 
 
 
 
 if ( nodeType === 1 &&
( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {

 newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
context;

 
 if ( newContext !== context || !support.scope ) {

 if ( ( nid = context.getAttribute( "id" ) ) ) {
nid = nid.replace( rcssescape, fcssescape );
} else {
context.setAttribute( "id", ( nid = expando ) );
}
}

 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" );
}
}
}
}
}

	return select( selector.replace( rtrim, "$1" ), context, results, seed );
}

function createCache() {
var keys = [];
function cache( key, value ) {

 if ( keys.push( key + " " ) > Expr.cacheLength ) {

 delete cache[ keys.shift() ];
}
return ( cache[ key + " " ] = value );
}
return cache;
}

function markFunction( fn ) {
fn[ expando ] = true;
return fn;
}

function assert( fn ) {
var el = document.createElement( "fieldset" );
try {
return !!fn( el );
} catch ( e ) {
return false;
} finally {

 if ( el.parentNode ) {
el.parentNode.removeChild( el );
}

 el = null;
}
}

function addHandle( attrs, handler ) {
var arr = attrs.split( "|" ),
i = arr.length;
while ( i-- ) {
Expr.attrHandle[ arr[ i ] ] = handler;
}
}

function siblingCheck( a, b ) {
var cur = b && a,
diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
a.sourceIndex - b.sourceIndex;

	if ( diff ) {
return diff;
}

	if ( cur ) {
while ( ( cur = cur.nextSibling ) ) {
if ( cur === b ) {
return -1;
}
}
}
return a ? 1 : -1;
}

function createInputPseudo( type ) {
return function( elem ) {
var name = elem.nodeName.toLowerCase();
return name === "input" && elem.type === type;
};
}

function createButtonPseudo( type ) {
return function( elem ) {
var name = elem.nodeName.toLowerCase();
return ( name === "input" || name === "button" ) && elem.type === type;
};
}

function createDisabledPseudo( disabled ) {

	return function( elem ) {

 
 
 if ( "form" in elem ) {

 
 
 
 
 
 
 if ( elem.parentNode && elem.disabled === false ) {

 if ( "label" in elem ) {
if ( "label" in elem.parentNode ) {
return elem.parentNode.disabled === disabled;
} else {
return elem.disabled === disabled;
}
}

 
 return elem.isDisabled === disabled ||

 
elem.isDisabled !== !disabled &&
inDisabledFieldset( elem ) === disabled;
}
return elem.disabled === disabled;

 
 
 } else if ( "label" in elem ) {
return elem.disabled === disabled;
}

 return false;
};
}

function createPositionalPseudo( fn ) {
return markFunction( function( argument ) {
argument = +argument;
return markFunction( function( seed, matches ) {
var j,
matchIndexes = fn( [], seed.length, argument ),
i = matchIndexes.length;

 while ( i-- ) {
if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
seed[ j ] = !( matches[ j ] = seed[ j ] );
}
}
} );
} );
}

function testContext( context ) {
return context && typeof context.getElementsByTagName !== "undefined" && context;
}

support = Sizzle.support = {};

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

	
	
	return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
};

setDocument = Sizzle.setDocument = function( node ) {
var hasCompare, subWindow,
doc = node ? node.ownerDocument || node : preferredDoc;

	
	
	
	
	if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
return document;
}

	document = doc;
docElem = document.documentElement;
documentIsHTML = !isXML( document );

	
	
	
	
	
	if ( preferredDoc != document &&
( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {

 if ( subWindow.addEventListener ) {
subWindow.addEventListener( "unload", unloadHandler, false );

 } else if ( subWindow.attachEvent ) {
subWindow.attachEvent( "onunload", unloadHandler );
}
}

	
	
	
	
	support.scope = assert( function( el ) {
docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
return typeof el.querySelectorAll !== "undefined" &&
!el.querySelectorAll( ":scope fieldset div" ).length;
} );

	
	
	
	
	
	
	
	
	support.cssHas = assert( function() {
try {
document.querySelector( ":has(*,:jqfake)" );
return false;
} catch ( e ) {
return true;
}
} );


	
	
	support.attributes = assert( function( el ) {
el.className = "i";
return !el.getAttribute( "className" );
} );


	support.getElementsByTagName = assert( function( el ) {
el.appendChild( document.createComment( "" ) );
return !el.getElementsByTagName( "*" ).length;
} );

	support.getElementsByClassName = rnative.test( document.getElementsByClassName );

	
	
	
	support.getById = assert( function( el ) {
docElem.appendChild( el ).id = expando;
return !document.getElementsByName || !document.getElementsByName( expando ).length;
} );

	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;
};
};

 
 Expr.find[ "ID" ] = function( id, context ) {
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
var node, i, elems,
elem = context.getElementById( id );
if ( elem ) {

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

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

	Expr.find[ "TAG" ] = support.getElementsByTagName ?
function( tag, context ) {
if ( typeof context.getElementsByTagName !== "undefined" ) {
return context.getElementsByTagName( tag );

 } else if ( support.qsa ) {
return context.querySelectorAll( tag );
}
} :
function( tag, context ) {
var elem,
tmp = [],
i = 0,

 results = context.getElementsByTagName( tag );

 if ( tag === "*" ) {
while ( ( elem = results[ i++ ] ) ) {
if ( elem.nodeType === 1 ) {
tmp.push( elem );
}
}
return tmp;
}
return results;
};

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




	rbuggyMatches = [];

	
	
	
	
	rbuggyQSA = [];
if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {

 
 assert( function( el ) {
var input;

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

 
 
 
 if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
}

 
 if ( !el.querySelectorAll( "[selected]" ).length ) {
rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
}

 if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
rbuggyQSA.push( "~=" );
}

 
 
 
 
 input = document.createElement( "input" );
input.setAttribute( "name", "" );
el.appendChild( input );
if ( !el.querySelectorAll( "[name='']" ).length ) {
rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
whitespace + "*(?:''|\"\")" );
}

 
 
 if ( !el.querySelectorAll( ":checked" ).length ) {
rbuggyQSA.push( ":checked" );
}

 
 
 if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
rbuggyQSA.push( ".#.+[+~]" );
}

 
 el.querySelectorAll( "\\\f" );
rbuggyQSA.push( "[\\r\\n\\f]" );
} );
assert( function( el ) {
el.innerHTML = "<a href='' disabled='disabled'></a>" +
"<select disabled='disabled'><option/></select>";

 
 var input = document.createElement( "input" );
input.setAttribute( "type", "hidden" );
el.appendChild( input ).setAttribute( "name", "D" );

 
 if ( el.querySelectorAll( "[name=d]" ).length ) {
rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
}

 
 if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
rbuggyQSA.push( ":enabled", ":disabled" );
}

 
 docElem.appendChild( el ).disabled = true;
if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
rbuggyQSA.push( ":enabled", ":disabled" );
}

 
 el.querySelectorAll( "*,:x" );
rbuggyQSA.push( ",.*:" );
} );
}
if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
docElem.webkitMatchesSelector ||
docElem.mozMatchesSelector ||
docElem.oMatchesSelector ||
docElem.msMatchesSelector ) ) ) ) {
assert( function( el ) {

 
 support.disconnectedMatch = matches.call( el, "*" );

 
 matches.call( el, "[s!='']:x" );
rbuggyMatches.push( "!=", pseudos );
} );
}
if ( !support.cssHas ) {

 
 
 
 
 
 rbuggyQSA.push( ":has" );
}
rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );

hasCompare = rnative.test( docElem.compareDocumentPosition );

	
	
	contains = hasCompare || rnative.test( docElem.contains ) ?
function( a, b ) {

 
 
 
 
 
 var adown = a.nodeType === 9 && a.documentElement || a,
bup = b && b.parentNode;
return a === bup || !!( bup && bup.nodeType === 1 && (
adown.contains ?
adown.contains( bup ) :
a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
) );
} :
function( a, b ) {
if ( b ) {
while ( ( b = b.parentNode ) ) {
if ( b === a ) {
return true;
}
}
}
return false;
};


	sortOrder = hasCompare ?
function( a, b ) {

 if ( a === b ) {
hasDuplicate = true;
return 0;
}

 var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
if ( compare ) {
return compare;
}

 
 
 
 
 compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
a.compareDocumentPosition( b ) :

 1;

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

 
 
 
 
 if ( a == document || a.ownerDocument == preferredDoc &&
contains( preferredDoc, a ) ) {
return -1;
}

 
 
 
 if ( b == document || b.ownerDocument == preferredDoc &&
contains( preferredDoc, b ) ) {
return 1;
}

 return sortInput ?
( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
0;
}
return compare & 4 ? -1 : 1;
} :
function( a, b ) {

 if ( a === b ) {
hasDuplicate = true;
return 0;
}
var cur,
i = 0,
aup = a.parentNode,
bup = b.parentNode,
ap = [ a ],
bp = [ b ];

 if ( !aup || !bup ) {

 
 
 
return a == document ? -1 :
b == document ? 1 :

aup ? -1 :
bup ? 1 :
sortInput ?
( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
0;

 } else if ( aup === bup ) {
return siblingCheck( a, b );
}

 cur = a;
while ( ( cur = cur.parentNode ) ) {
ap.unshift( cur );
}
cur = b;
while ( ( cur = cur.parentNode ) ) {
bp.unshift( cur );
}

 while ( ap[ i ] === bp[ i ] ) {
i++;
}
return i ?

 siblingCheck( ap[ i ], bp[ i ] ) :

 
 
 
 
ap[ i ] == preferredDoc ? -1 :
bp[ i ] == preferredDoc ? 1 :

0;
};
return document;
};
Sizzle.matches = function( expr, elements ) {
return Sizzle( expr, null, null, elements );
};
Sizzle.matchesSelector = function( elem, expr ) {
setDocument( elem );
if ( support.matchesSelector && documentIsHTML &&
!nonnativeSelectorCache[ expr + " " ] &&
( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
try {
var ret = matches.call( elem, expr );

 if ( ret || support.disconnectedMatch ||

 
 elem.document && elem.document.nodeType !== 11 ) {
return ret;
}
} catch ( e ) {
nonnativeSelectorCache( expr, true );
}
}
return Sizzle( expr, document, null, [ elem ] ).length > 0;
};
Sizzle.contains = function( context, elem ) {

	
	
	
	
	if ( ( context.ownerDocument || context ) != document ) {
setDocument( context );
}
return contains( context, elem );
};
Sizzle.attr = function( elem, name ) {

	
	
	
	
	if ( ( elem.ownerDocument || elem ) != document ) {
setDocument( elem );
}
var fn = Expr.attrHandle[ name.toLowerCase() ],

 val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
fn( elem, name, !documentIsHTML ) :
undefined;
return val !== undefined ?
val :
support.attributes || !documentIsHTML ?
elem.getAttribute( name ) :
( val = elem.getAttributeNode( name ) ) && val.specified ?
val.value :
null;
};
Sizzle.escape = function( sel ) {
return ( sel + "" ).replace( rcssescape, fcssescape );
};
Sizzle.error = function( msg ) {
throw new Error( "Syntax error, unrecognized expression: " + msg );
};

Sizzle.uniqueSort = function( results ) {
var elem,
duplicates = [],
j = 0,
i = 0;

	hasDuplicate = !support.detectDuplicates;
sortInput = !support.sortStable && results.slice( 0 );
results.sort( sortOrder );
if ( hasDuplicate ) {
while ( ( elem = results[ i++ ] ) ) {
if ( elem === results[ i ] ) {
j = duplicates.push( i );
}
}
while ( j-- ) {
results.splice( duplicates[ j ], 1 );
}
}

	
	sortInput = null;
return results;
};

getText = Sizzle.getText = function( elem ) {
var node,
ret = "",
i = 0,
nodeType = elem.nodeType;
if ( !nodeType ) {

 while ( ( node = elem[ i++ ] ) ) {

 ret += getText( node );
}
} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {

 
 if ( typeof elem.textContent === "string" ) {
return elem.textContent;
} else {

 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
ret += getText( elem );
}
}
} else if ( nodeType === 3 || nodeType === 4 ) {
return elem.nodeValue;
}


return ret;
};
Expr = Sizzle.selectors = {

	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 );

 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 ) {

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

 if ( !match[ 3 ] ) {
Sizzle.error( match[ 0 ] );
}

 
 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" );

 } else if ( match[ 3 ] ) {
Sizzle.error( match[ 0 ] );
}
return match;
},
"PSEUDO": function( match ) {
var excess,
unquoted = !match[ 6 ] && match[ 2 ];
if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
return null;
}

 if ( match[ 3 ] ) {
match[ 2 ] = match[ 4 ] || match[ 5 ] || "";

 } else if ( unquoted && rpseudo.test( unquoted ) &&

 ( excess = tokenize( unquoted, true ) ) &&

 ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {

 match[ 0 ] = match[ 0 ].slice( 0, excess );
match[ 2 ] = unquoted.slice( 0, excess );
}

 return match.slice( 0, 3 );
}
},
filter: {
"TAG": function( nodeNameSelector ) {
var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
return nodeNameSelector === "*" ?
function() {
return true;
} :
function( elem ) {
return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
};
},
"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 = Sizzle.attr( elem, name );
if ( result == null ) {
return operator === "!=";
}
if ( !operator ) {
return true;
}
result += "";

return operator === "=" ? result === check :
operator === "!=" ? result !== check :
operator === "^=" ? check && result.indexOf( check ) === 0 :
operator === "*=" ? check && result.indexOf( check ) > -1 :
operator === "$=" ? check && result.slice( -check.length ) === check :
operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
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 ?

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

 if ( simple ) {
while ( dir ) {
node = elem;
while ( ( node = node[ dir ] ) ) {
if ( ofType ?
node.nodeName.toLowerCase() === name :
node.nodeType === 1 ) {
return false;
}
}

 start = dir = type === "only" && !start && "nextSibling";
}
return true;
}
start = [ forward ? parent.firstChild : parent.lastChild ];

 if ( forward && useCache ) {



 node = parent;
outerCache = node[ expando ] || ( node[ expando ] = {} );

 
 uniqueCache = outerCache[ node.uniqueID ] ||
( outerCache[ node.uniqueID ] = {} );
cache = uniqueCache[ type ] || [];
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
diff = nodeIndex && cache[ 2 ];
node = nodeIndex && parent.childNodes[ nodeIndex ];
while ( ( node = ++nodeIndex && node && node[ dir ] ||

 ( diff = nodeIndex = 0 ) || start.pop() ) ) {

 if ( node.nodeType === 1 && ++diff && node === elem ) {
uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
break;
}
}
} else {

 if ( useCache ) {

 node = elem;
outerCache = node[ expando ] || ( node[ expando ] = {} );

 
 uniqueCache = outerCache[ node.uniqueID ] ||
( outerCache[ node.uniqueID ] = {} );
cache = uniqueCache[ type ] || [];
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
diff = nodeIndex;
}

 
 if ( diff === false ) {

 while ( ( node = ++nodeIndex && node && node[ dir ] ||
( diff = nodeIndex = 0 ) || start.pop() ) ) {
if ( ( ofType ?
node.nodeName.toLowerCase() === name :
node.nodeType === 1 ) &&
++diff ) {

 if ( useCache ) {
outerCache = node[ expando ] ||
( node[ expando ] = {} );

 
 uniqueCache = outerCache[ node.uniqueID ] ||
( outerCache[ node.uniqueID ] = {} );
uniqueCache[ type ] = [ dirruns, diff ];
}
if ( node === elem ) {
break;
}
}
}
}
}

 diff -= last;
return diff === first || ( diff % first === 0 && diff / first >= 0 );
}
};
},
"PSEUDO": function( pseudo, argument ) {

 
 
 
 var args,
fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
Sizzle.error( "unsupported pseudo: " + pseudo );

 
 
 if ( fn[ expando ] ) {
return fn( argument );
}

 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( seed, matched[ i ] );
seed[ idx ] = !( matches[ idx ] = matched[ i ] );
}
} ) :
function( elem ) {
return fn( elem, 0, args );
};
}
return fn;
}
},
pseudos: {

 "not": markFunction( function( selector ) {

 
 
 var input = [],
results = [],
matcher = compile( selector.replace( rtrim, "$1" ) );
return matcher[ expando ] ?
markFunction( function( seed, matches, _context, xml ) {
var elem,
unmatched = matcher( seed, null, xml, [] ),
i = seed.length;

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

 input[ 0 ] = null;
return !results.pop();
};
} ),
"has": markFunction( function( selector ) {
return function( elem ) {
return Sizzle( selector, elem ).length > 0;
};
} ),
"contains": markFunction( function( text ) {
text = text.replace( runescape, funescape );
return function( elem ) {
return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
};
} ),

 
 
 
 
 
 
 "lang": markFunction( function( lang ) {

 if ( !ridentifier.test( lang || "" ) ) {
Sizzle.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;
};
} ),

 "target": function( elem ) {
var hash = window.location && window.location.hash;
return hash && hash.slice( 1 ) === elem.id;
},
"root": function( elem ) {
return elem === docElem;
},
"focus": function( elem ) {
return elem === document.activeElement &&
( !document.hasFocus || document.hasFocus() ) &&
!!( elem.type || elem.href || ~elem.tabIndex );
},

 "enabled": createDisabledPseudo( false ),
"disabled": createDisabledPseudo( true ),
"checked": function( elem ) {

 
 var nodeName = elem.nodeName.toLowerCase();
return ( nodeName === "input" && !!elem.checked ) ||
( nodeName === "option" && !!elem.selected );
},
"selected": function( elem ) {

 
 if ( elem.parentNode ) {

 elem.parentNode.selectedIndex;
}
return elem.selected === true;
},

 "empty": function( elem ) {

 
 
 
 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
if ( elem.nodeType < 6 ) {
return false;
}
}
return true;
},
"parent": function( elem ) {
return !Expr.pseudos[ "empty" ]( elem );
},

 "header": function( elem ) {
return rheader.test( elem.nodeName );
},
"input": function( elem ) {
return rinputs.test( elem.nodeName );
},
"button": function( elem ) {
var name = elem.nodeName.toLowerCase();
return name === "input" && elem.type === "button" || name === "button";
},
"text": function( elem ) {
var attr;
return elem.nodeName.toLowerCase() === "input" &&
elem.type === "text" &&

 
 ( ( attr = elem.getAttribute( "type" ) ) == null ||
attr.toLowerCase() === "text" );
},

 "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 = argument < 0 ?
argument + length :
argument > length ?
length :
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" ];

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 );
}

function setFilters() {}
setFilters.prototype = Expr.filters = Expr.pseudos;
Expr.setFilters = new setFilters();
tokenize = Sizzle.tokenize = function( 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 ) {

 if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
if ( match ) {

 soFar = soFar.slice( match[ 0 ].length ) || soFar;
}
groups.push( ( tokens = [] ) );
}
matched = false;

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

 type: match[ 0 ].replace( rtrim, " " )
} );
soFar = soFar.slice( matched.length );
}

 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 parseOnly ?
soFar.length :
soFar ?
Sizzle.error( selector ) :

 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 ?

 function( elem, context, xml ) {
while ( ( elem = elem[ dir ] ) ) {
if ( elem.nodeType === 1 || checkNonElements ) {
return matcher( elem, context, xml );
}
}
return false;
} :

 function( elem, context, xml ) {
var oldCache, uniqueCache, outerCache,
newCache = [ dirruns, doneName ];

 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 ] = {} );

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

 return ( newCache[ 2 ] = oldCache[ 2 ] );
} else {

 uniqueCache[ key ] = newCache;

 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++ ) {
Sizzle( 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,
preMap = [],
postMap = [],
preexisting = results.length,

 elems = seed || multipleContexts(
selector || "*",
context.nodeType ? [ context ] : context,
[]
),

 matcherIn = preFilter && ( seed || !selector ) ?
condense( elems, preMap, preFilter, context, xml ) :
elems,
matcherOut = matcher ?

 postFinder || ( seed ? preFilter : preexisting || postFilter ) ?

 [] :

 results :
matcherIn;

 if ( matcher ) {
matcher( matcherIn, matcherOut, context, xml );
}

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

 i = temp.length;
while ( i-- ) {
if ( ( elem = temp[ i ] ) ) {
matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
}
}
}
if ( seed ) {
if ( postFinder || preFilter ) {
if ( postFinder ) {

 temp = [];
i = matcherOut.length;
while ( i-- ) {
if ( ( elem = matcherOut[ i ] ) ) {

 temp.push( ( matcherIn[ i ] = elem ) );
}
}
postFinder( null, ( matcherOut = [] ), temp, xml );
}

 i = matcherOut.length;
while ( i-- ) {
if ( ( elem = matcherOut[ i ] ) &&
( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
seed[ temp ] = !( results[ temp ] = elem );
}
}
}

 } 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,

 matchContext = addCombinator( function( elem ) {
return elem === checkContext;
}, implicitRelative, true ),
matchAnyContext = addCombinator( function( elem ) {
return indexOf( checkContext, elem ) > -1;
}, implicitRelative, true ),
matchers = [ function( elem, context, xml ) {
var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
( checkContext = context ).nodeType ?
matchContext( elem, context, xml ) :
matchAnyContext( elem, context, xml ) );

 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 );

 if ( matcher[ expando ] ) {

 j = ++i;
for ( ; j < len; j++ ) {
if ( Expr.relative[ tokens[ j ].type ] ) {
break;
}
}
return setMatcher(
i > 1 && elementMatcher( matchers ),
i > 1 && toSelector(

 tokens
.slice( 0, i - 1 )
.concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
).replace( rtrim, "$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,

 elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),

 dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
len = elems.length;
if ( outermost ) {

 
 
 
 outermostContext = context == document || context || outermost;
}

 
 
 for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
if ( byElement && elem ) {
j = 0;

 
 
 
 if ( !context && elem.ownerDocument != document ) {
setDocument( elem );
xml = !documentIsHTML;
}
while ( ( matcher = elementMatchers[ j++ ] ) ) {
if ( matcher( elem, context || document, xml ) ) {
results.push( elem );
break;
}
}
if ( outermost ) {
dirruns = dirrunsUnique;
}
}

 if ( bySet ) {

 if ( ( elem = !matcher && elem ) ) {
matchedCount--;
}

 if ( seed ) {
unmatched.push( elem );
}
}
}

 
 matchedCount += i;

 
 
 
 
 
 
 if ( bySet && i !== matchedCount ) {
j = 0;
while ( ( matcher = setMatchers[ j++ ] ) ) {
matcher( unmatched, setMatched, context, xml );
}
if ( seed ) {

 if ( matchedCount > 0 ) {
while ( i-- ) {
if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
setMatched[ i ] = pop.call( results );
}
}
}

 setMatched = condense( setMatched );
}

 push.apply( results, setMatched );

 if ( outermost && !seed && setMatched.length > 0 &&
( matchedCount + setMatchers.length ) > 1 ) {
Sizzle.uniqueSort( results );
}
}

 if ( outermost ) {
dirruns = dirrunsUnique;
outermostContext = contextBackup;
}
return unmatched;
};
return bySet ?
markFunction( superMatcher ) :
superMatcher;
}
compile = Sizzle.compile = function( selector, match  ) {
var i,
setMatchers = [],
elementMatchers = [],
cached = compilerCache[ selector + " " ];
if ( !cached ) {

 if ( !match ) {
match = tokenize( selector );
}
i = match.length;
while ( i-- ) {
cached = matcherFromTokens( match[ i ] );
if ( cached[ expando ] ) {
setMatchers.push( cached );
} else {
elementMatchers.push( cached );
}
}

 cached = compilerCache(
selector,
matcherFromGroupMatchers( elementMatchers, setMatchers )
);

 cached.selector = selector;
}
return cached;
};

select = Sizzle.select = function( selector, context, results, seed ) {
var i, tokens, token, type, find,
compiled = typeof selector === "function" && selector,
match = !seed && tokenize( ( selector = compiled.selector || selector ) );
results = results || [];

	
	if ( match.length === 1 ) {

 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;

 } else if ( compiled ) {
context = context.parentNode;
}
selector = selector.slice( tokens.shift().value.length );
}

 i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
while ( i-- ) {
token = tokens[ i ];

 if ( Expr.relative[ ( type = token.type ) ] ) {
break;
}
if ( ( find = Expr.find[ type ] ) ) {

 if ( ( seed = find(
token.matches[ 0 ].replace( runescape, funescape ),
rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
context
) ) ) {

 tokens.splice( i, 1 );
selector = seed.length && toSelector( tokens );
if ( !selector ) {
push.apply( results, seed );
return results;
}
break;
}
}
}
}

	
	( compiled || compile( selector, match ) )(
seed,
context,
!documentIsHTML,
results,
!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
);
return results;
};



support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;


support.detectDuplicates = !!hasDuplicate;

setDocument();


support.sortDetached = assert( function( el ) {

	return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
} );



if ( !assert( function( el ) {
el.innerHTML = "<a href='#'></a>";
return el.firstChild.getAttribute( "href" ) === "#";
} ) ) {
addHandle( "type|href|height|width", function( elem, name, isXML ) {
if ( !isXML ) {
return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
}
} );
}


if ( !support.attributes || !assert( function( el ) {
el.innerHTML = "<input/>";
el.firstChild.setAttribute( "value", "" );
return el.firstChild.getAttribute( "value" ) === "";
} ) ) {
addHandle( "value", function( elem, _name, isXML ) {
if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
return elem.defaultValue;
}
} );
}


if ( !assert( function( el ) {
return el.getAttribute( "disabled" ) == null;
} ) ) {
addHandle( booleans, function( elem, name, isXML ) {
var val;
if ( !isXML ) {
return elem[ name ] === true ? name.toLowerCase() :
( val = elem.getAttributeNode( name ) ) && val.specified ?
val.value :
null;
}
} );
}
return Sizzle;
} )( window );
jQuery.find = Sizzle;
jQuery.expr = Sizzle.selectors;

jQuery.expr[ ":" ] = jQuery.expr.pseudos;
jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
jQuery.text = Sizzle.getText;
jQuery.isXMLDoc = Sizzle.isXML;
jQuery.contains = Sizzle.contains;
jQuery.escapeSelector = Sizzle.escape;
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;
function nodeName( elem, name ) {
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
}
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );

function winnow( elements, qualifier, not ) {
if ( isFunction( qualifier ) ) {
return jQuery.grep( elements, function( elem, i ) {
return !!qualifier.call( elem, i, elem ) !== not;
} );
}

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

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

	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,

 
 typeof selector === "string" && rneedsContext.test( selector ) ?
jQuery( selector ) :
selector || [],
false
).length;
}
} );



var rootjQuery,

	
	
	
	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
init = jQuery.fn.init = function( selector, context, root ) {
var match, elem;

 if ( !selector ) {
return this;
}

 
 root = root || rootjQuery;

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

 match = [ null, selector, null ];
} else {
match = rquickExpr.exec( selector );
}

 if ( match && ( match[ 1 ] || !context ) ) {

 if ( match[ 1 ] ) {
context = context instanceof jQuery ? context[ 0 ] : context;

 
 jQuery.merge( this, jQuery.parseHTML(
match[ 1 ],
context && context.nodeType ? context.ownerDocument || context : document,
true
) );

 if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
for ( match in context ) {

 if ( isFunction( this[ match ] ) ) {
this[ match ]( context[ match ] );

 } else {
this.attr( match, context[ match ] );
}
}
}
return this;

 } else {
elem = document.getElementById( match[ 2 ] );
if ( elem ) {

 this[ 0 ] = elem;
this.length = 1;
}
return this;
}

 } else if ( !context || context.jquery ) {
return ( context || root ).find( selector );

 
 } else {
return this.constructor( context ).find( selector );
}

 } else if ( selector.nodeType ) {
this[ 0 ] = selector;
this.length = 1;
return this;

 
 } else if ( isFunction( selector ) ) {
return root.ready !== undefined ?
root.ready( selector ) :

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

init.prototype = jQuery.fn;

rootjQuery = jQuery( document );
var rparentsprev = /^(?:parents|prev(?:Until|All))/,

	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 );

 if ( !rneedsContext.test( selectors ) ) {
for ( ; i < l; i++ ) {
for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {

 if ( cur.nodeType < 11 && ( targets ?
targets.index( cur ) > -1 :

 cur.nodeType === 1 &&
jQuery.find.matchesSelector( cur, selectors ) ) ) {
matched.push( cur );
break;
}
}
}
}
return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
},

	index: function( elem ) {

 if ( !elem ) {
return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
}

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

 return indexOf.call( this,

 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 &&

 
 
 getProto( elem.contentDocument ) ) {
return elem.contentDocument;
}

 
 
 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 ) {

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

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

function createOptions( options ) {
var object = {};
jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
object[ flag ] = true;
} );
return object;
}

jQuery.Callbacks = function( options ) {

	
	options = typeof options === "string" ?
createOptions( options ) :
jQuery.extend( {}, options );
var 
 firing,

 memory,

 fired,

 locked,

 list = [],

 queue = [],

 firingIndex = -1,

 fire = function() {

 locked = locked || options.once;

 
 fired = firing = true;
for ( ; queue.length; firingIndex = -1 ) {
memory = queue.shift();
while ( ++firingIndex < list.length ) {

 if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
options.stopOnFalse ) {

 firingIndex = list.length;
memory = false;
}
}
}

 if ( !options.memory ) {
memory = false;
}
firing = false;

 if ( locked ) {

 if ( memory ) {
list = [];

 } else {
list = "";
}
}
},

 self = {

 add: function() {
if ( list ) {

 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" ) {

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

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

 if ( index <= firingIndex ) {
firingIndex--;
}
}
} );
return this;
},

 
 has: function( fn ) {
return fn ?
jQuery.inArray( fn, list ) > -1 :
list.length > 0;
},

 empty: function() {
if ( list ) {
list = [];
}
return this;
},

 
 
 disable: function() {
locked = queue = [];
list = memory = "";
return this;
},
disabled: function() {
return !list;
},

 
 
 lock: function() {
locked = queue = [];
if ( !memory && !firing ) {
list = memory = "";
}
return this;
},
locked: function() {
return !!locked;
},

 fireWith: function( context, args ) {
if ( !locked ) {
args = args || [];
args = [ context, args.slice ? args.slice() : args ];
queue.push( args );
if ( !firing ) {
fire();
}
}
return this;
},

 fire: function() {
self.fireWith( this, arguments );
return this;
},

 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 {

 if ( value && isFunction( ( method = value.promise ) ) ) {
method.call( value ).done( resolve ).fail( reject );

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

 } else {

 
 
 resolve.apply( undefined, [ value ].slice( noValue ) );
}

	
	
	} catch ( value ) {

 
 reject.apply( undefined, [ value ] );
}
}
jQuery.extend( {
Deferred: function( func ) {
var tuples = [

 
 [ "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 );
},

 pipe: function(  ) {
var fns = arguments;
return jQuery.Deferred( function( newDefer ) {
jQuery.each( tuples, function( _i, tuple ) {

 var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];

 
 
 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;

 
 
 if ( depth < maxDepth ) {
return;
}
returned = handler.apply( that, args );

 
 if ( returned === deferred.promise() ) {
throw new TypeError( "Thenable self-resolution" );
}

 
 
 
 then = returned &&

 
 
 ( typeof returned === "object" ||
typeof returned === "function" ) &&
returned.then;

 if ( isFunction( then ) ) {

 if ( special ) {
then.call(
returned,
resolve( maxDepth, deferred, Identity, special ),
resolve( maxDepth, deferred, Thrower, special )
);

 } else {

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

 } else {

 
 if ( handler !== Identity ) {
that = undefined;
args = [ returned ];
}

 
 ( special || deferred.resolveWith )( that, args );
}
},

 process = special ?
mightThrow :
function() {
try {
mightThrow();
} catch ( e ) {
if ( jQuery.Deferred.exceptionHook ) {
jQuery.Deferred.exceptionHook( e,
process.stackTrace );
}

 
 
 if ( depth + 1 >= maxDepth ) {

 
 if ( handler !== Thrower ) {
that = undefined;
args = [ e ];
}
deferred.rejectWith( that, args );
}
}
};

 
 
 
 if ( depth ) {
process();
} else {

 
 if ( jQuery.Deferred.getStackHook ) {
process.stackTrace = jQuery.Deferred.getStackHook();
}
window.setTimeout( process );
}
};
}
return jQuery.Deferred( function( newDefer ) {

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

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

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

 
 promise: function( obj ) {
return obj != null ? jQuery.extend( obj, promise ) : promise;
}
},
deferred = {};

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

 
 
 promise[ tuple[ 1 ] ] = list.add;

 if ( stateString ) {
list.add(
function() {

 
 state = stateString;
},

 
 tuples[ 3 - i ][ 2 ].disable,

 
 tuples[ 3 - i ][ 3 ].disable,

 tuples[ 0 ][ 2 ].lock,

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

 
 
 list.add( tuple[ 3 ].fire );

 
 
 deferred[ tuple[ 0 ] ] = function() {
deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
return this;
};

 
 
 deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
} );

 promise.promise( deferred );

 if ( func ) {
func.call( deferred, deferred );
}

 return deferred;
},

	when: function( singleValue ) {
var

 remaining = arguments.length,

 i = remaining,

 resolveContexts = Array( i ),
resolveValues = slice.call( arguments ),

 primary = jQuery.Deferred(),

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

 if ( remaining <= 1 ) {
adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
!remaining );

 if ( primary.state() === "pending" ||
isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
return primary.then();
}
}

 while ( i-- ) {
adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
}
return primary.promise();
}
} );


var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
jQuery.Deferred.exceptionHook = function( error, stack ) {

	
	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
}
};
jQuery.readyException = function( error ) {
window.setTimeout( function() {
throw error;
} );
};

var readyList = jQuery.Deferred();
jQuery.fn.ready = function( fn ) {
readyList
.then( fn )

 
 
 .catch( function( error ) {
jQuery.readyException( error );
} );
return this;
};
jQuery.extend( {

	isReady: false,

	
	readyWait: 1,

	ready: function( wait ) {

 if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
return;
}

 jQuery.isReady = true;

 if ( wait !== true && --jQuery.readyWait > 0 ) {
return;
}

 readyList.resolveWith( document, [ jQuery ] );
}
} );
jQuery.ready.then = readyList.then;

function completed() {
document.removeEventListener( "DOMContentLoaded", completed );
window.removeEventListener( "load", completed );
jQuery.ready();
}




if ( document.readyState === "complete" ||
( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {

	window.setTimeout( jQuery.ready );
} else {

	document.addEventListener( "DOMContentLoaded", completed );

	window.addEventListener( "load", completed );
}


var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
var i = 0,
len = elems.length,
bulk = key == null;

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

	} else if ( value !== undefined ) {
chainable = true;
if ( !isFunction( value ) ) {
raw = true;
}
if ( bulk ) {

 if ( raw ) {
fn.call( elems, value );
fn = null;

 } 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;
}

	if ( bulk ) {
return fn.call( elems );
}
return len ? fn( elems[ 0 ], key ) : emptyGet;
};

var rmsPrefix = /^-ms-/,
rdashAlpha = /-([a-z])/g;

function fcamelCase( _all, letter ) {
return letter.toUpperCase();
}



function camelCase( string ) {
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
}
var acceptData = function( owner ) {

	
	
	
	
	
	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 ) {

 var value = owner[ this.expando ];

 if ( !value ) {
value = {};

 
 
 if ( acceptData( owner ) ) {

 
 if ( owner.nodeType ) {
owner[ this.expando ] = value;

 
 
 } else {
Object.defineProperty( owner, this.expando, {
value: value,
configurable: true
} );
}
}
}
return value;
},
set: function( owner, data, value ) {
var prop,
cache = this.cache( owner );

 
 if ( typeof data === "string" ) {
cache[ camelCase( data ) ] = value;

 } else {

 for ( prop in data ) {
cache[ camelCase( prop ) ] = data[ prop ];
}
}
return cache;
},
get: function( owner, key ) {
return key === undefined ?
this.cache( owner ) :

 owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
},
access: function( owner, key, value ) {

 
 
 
 
 
 
 
 
 
 
 if ( key === undefined ||
( ( key && typeof key === "string" ) && value === undefined ) ) {
return this.get( owner, key );
}

 
 
 
 
 
 this.set( owner, key, value );

 
 return value !== undefined ? value : key;
},
remove: function( owner, key ) {
var i,
cache = owner[ this.expando ];
if ( cache === undefined ) {
return;
}
if ( key !== undefined ) {

 if ( Array.isArray( key ) ) {

 
 key = key.map( camelCase );
} else {
key = camelCase( key );

 
 key = key in cache ?
[ key ] :
( key.match( rnothtmlwhite ) || [] );
}
i = key.length;
while ( i-- ) {
delete cache[ key[ i ] ];
}
}

 if ( key === undefined || jQuery.isEmptyObject( cache ) ) {

 
 
 
 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();










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;
}

	if ( data === +data + "" ) {
return +data;
}
if ( rbrace.test( data ) ) {
return JSON.parse( data );
}
return data;
}
function dataAttr( elem, key, data ) {
var name;

	
	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 ) {}

 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 );
},

	
	_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;

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

 
 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;
}

 if ( typeof key === "object" ) {
return this.each( function() {
dataUser.set( this, key );
} );
}
return access( this, function( value ) {
var data;

 
 
 
 
 if ( elem && value === undefined ) {

 
 data = dataUser.get( elem, key );
if ( data !== undefined ) {
return data;
}

 
 data = dataAttr( elem, key );
if ( data !== undefined ) {
return data;
}

 return;
}

 this.each( function() {

 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 );

 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 ( fn === "inprogress" ) {
fn = queue.shift();
startLength--;
}
if ( fn ) {

 
 if ( type === "fx" ) {
queue.unshift( "inprogress" );
}

 delete hooks.stop;
fn.call( elem, next, hooks );
}
if ( !startLength && hooks ) {
hooks.empty.fire();
}
},

	_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 );

 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", [] );
},

	
	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 };

	
	
	
	
	if ( documentElement.getRootNode ) {
isAttached = function( elem ) {
return jQuery.contains( elem.ownerDocument, elem ) ||
elem.getRootNode( composed ) === elem.ownerDocument;
};
}
var isHiddenWithinTree = function( elem, el ) {

 
 elem = el || elem;

 return elem.style.display === "none" ||
elem.style.display === "" &&

 
 
 
 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" ),

 initialInUnit = elem.nodeType &&
( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
rcssNum.exec( jQuery.css( elem, prop ) );
if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {

 
 initial = initial / 2;

 unit = unit || initialInUnit[ 3 ];

 initialInUnit = +initial || 1;
while ( maxIterations-- ) {

 
 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 );

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

 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;

	for ( ; index < length; index++ ) {
elem = elements[ index ];
if ( !elem.style ) {
continue;
}
display = elem.style.display;
if ( show ) {

 
 
 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";

 dataPriv.set( elem, "display", display );
}
}
}

	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" );

	
	
	
	input.setAttribute( "type", "radio" );
input.setAttribute( "checked", "checked" );
input.setAttribute( "name", "t" );
div.appendChild( input );

	
	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;

	
	div.innerHTML = "<textarea>x</textarea>";
support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;

	
	
	div.innerHTML = "<option></option>";
support.option = !!div.lastChild;
} )();

var wrapMap = {

	
	
	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;

if ( !support.option ) {
wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
}
function getAll( context, tag ) {

	
	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;
}

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 ) {

 if ( toType( elem ) === "object" ) {

 
 jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );

 } else if ( !rhtml.test( elem ) ) {
nodes.push( context.createTextNode( elem ) );

 } else {
tmp = tmp || fragment.appendChild( context.createElement( "div" ) );

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

 j = wrap[ 0 ];
while ( j-- ) {
tmp = tmp.lastChild;
}

 
 jQuery.merge( nodes, tmp.childNodes );

 tmp = fragment.firstChild;

 tmp.textContent = "";
}
}
}

	fragment.textContent = "";
i = 0;
while ( ( elem = nodes[ i++ ] ) ) {

 if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
if ( ignored ) {
ignored.push( elem );
}
continue;
}
attached = isAttached( elem );

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

 if ( attached ) {
setGlobalEval( tmp );
}

 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 expectSync( elem, type ) {
return ( elem === safeActiveElement() ) === ( type === "focus" );
}



function safeActiveElement() {
try {
return document.activeElement;
} catch ( err ) { }
}
function on( elem, types, selector, data, fn, one ) {
var origFn, type;

	if ( typeof types === "object" ) {

 if ( typeof selector !== "string" ) {

 data = data || selector;
selector = undefined;
}
for ( type in types ) {
on( elem, type, selector, data, types[ type ], one );
}
return elem;
}
if ( data == null && fn == null ) {

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

 fn = data;
data = undefined;
} else {

 fn = data;
data = selector;
selector = undefined;
}
}
if ( fn === false ) {
fn = returnFalse;
} else if ( !fn ) {
return elem;
}
if ( one === 1 ) {
origFn = fn;
fn = function( event ) {

 jQuery().off( event );
return origFn.apply( this, arguments );
};

 fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
}
return elem.each( function() {
jQuery.event.add( this, types, fn, data, selector );
} );
}

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 );

 if ( !acceptData( elem ) ) {
return;
}

 if ( handler.handler ) {
handleObjIn = handler;
handler = handleObjIn.handler;
selector = handleObjIn.selector;
}

 
 if ( selector ) {
jQuery.find.matchesSelector( documentElement, selector );
}

 if ( !handler.guid ) {
handler.guid = jQuery.guid++;
}

 if ( !( events = elemData.events ) ) {
events = elemData.events = Object.create( null );
}
if ( !( eventHandle = elemData.handle ) ) {
eventHandle = elemData.handle = function( e ) {

 
 return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
jQuery.event.dispatch.apply( elem, arguments ) : undefined;
};
}

 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
t = types.length;
while ( t-- ) {
tmp = rtypenamespace.exec( types[ t ] ) || [];
type = origType = tmp[ 1 ];
namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();

 if ( !type ) {
continue;
}

 special = jQuery.event.special[ type ] || {};

 type = ( selector ? special.delegateType : special.bindType ) || type;

 special = jQuery.event.special[ type ] || {};

 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 );

 if ( !( handlers = events[ type ] ) ) {
handlers = events[ type ] = [];
handlers.delegateCount = 0;

 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;
}
}

 if ( selector ) {
handlers.splice( handlers.delegateCount++, 0, handleObj );
} else {
handlers.push( handleObj );
}

 jQuery.event.global[ type ] = true;
}
},

	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;
}

 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
t = types.length;
while ( t-- ) {
tmp = rtypenamespace.exec( types[ t ] ) || [];
type = origType = tmp[ 1 ];
namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();

 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( "\\.(?:.*\\.|)" ) + "(\\.|$)" );

 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 );
}
}
}

 
 if ( origCount && !handlers.length ) {
if ( !special.teardown ||
special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
jQuery.removeEvent( elem, type, elemData.handle );
}
delete events[ type ];
}
}

 if ( jQuery.isEmptyObject( events ) ) {
dataPriv.remove( elem, "handle events" );
}
},
dispatch: function( nativeEvent ) {
var i, j, ret, matched, handleObj, handlerQueue,
args = new Array( arguments.length ),

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

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

 if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
return;
}

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

 i = 0;
while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
event.currentTarget = matched.elem;
j = 0;
while ( ( handleObj = matched.handlers[ j++ ] ) &&
!event.isImmediatePropagationStopped() ) {

 
 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();
}
}
}
}
}

 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;

 if ( delegateCount &&

 
 cur.nodeType &&

 
 
 
 
 !( event.type === "click" && event.button >= 1 ) ) {
for ( ; cur !== this; cur = cur.parentNode || this ) {

 
 if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
matchedHandlers = [];
matchedSelectors = {};
for ( i = 0; i < delegateCount; i++ ) {
handleObj = handlers[ i ];

 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 } );
}
}
}
}

 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: {

 noBubble: true
},
click: {

 setup: function( data ) {

 
 var el = this || data;

 if ( rcheckableType.test( el.type ) &&
el.click && nodeName( el, "input" ) ) {

 leverageNative( el, "click", returnTrue );
}

 return false;
},
trigger: function( data ) {

 
 var el = this || data;

 if ( rcheckableType.test( el.type ) &&
el.click && nodeName( el, "input" ) ) {
leverageNative( el, "click" );
}

 return true;
},

 
 _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 ) {

 
 if ( event.result !== undefined && event.originalEvent ) {
event.originalEvent.returnValue = event.result;
}
}
}
}
};




function leverageNative( el, type, expectSync ) {

	if ( !expectSync ) {
if ( dataPriv.get( el, type ) === undefined ) {
jQuery.event.add( el, type, returnTrue );
}
return;
}

	dataPriv.set( el, type, false );
jQuery.event.add( el, type, {
namespace: false,
handler: function( event ) {
var notAsync, result,
saved = dataPriv.get( this, type );
if ( ( event.isTrigger & 1 ) && this[ type ] ) {

 
 
 if ( !saved.length ) {

 
 
 saved = slice.call( arguments );
dataPriv.set( this, type, saved );

 
 
 notAsync = expectSync( this, type );
this[ type ]();
result = dataPriv.get( this, type );
if ( saved !== result || notAsync ) {
dataPriv.set( this, type, false );
} else {
result = {};
}
if ( saved !== result ) {

 event.stopImmediatePropagation();
event.preventDefault();

 
 
 
 
 return result && result.value;
}

 
 
 
 
 
 } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
event.stopPropagation();
}

 
 } else if ( saved.length ) {

 dataPriv.set( this, type, {
value: jQuery.event.trigger(

 
 jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
saved.slice( 1 ),
this
)
} );

 event.stopImmediatePropagation();
}
}
} );
}
jQuery.removeEvent = function( elem, type, handle ) {

	if ( elem.removeEventListener ) {
elem.removeEventListener( type, handle );
}
};
jQuery.Event = function( src, props ) {

	if ( !( this instanceof jQuery.Event ) ) {
return new jQuery.Event( src, props );
}

	if ( src && src.type ) {
this.originalEvent = src;
this.type = src.type;

 
 this.isDefaultPrevented = src.defaultPrevented ||
src.defaultPrevented === undefined &&

 src.returnValue === false ?
returnTrue :
returnFalse;

 
 
 this.target = ( src.target && src.target.nodeType === 3 ) ?
src.target.parentNode :
src.target;
this.currentTarget = src.currentTarget;
this.relatedTarget = src.relatedTarget;

	} else {
this.type = src;
}

	if ( props ) {
jQuery.extend( this, props );
}

	this.timeStamp = src && src.timeStamp || Date.now();

	this[ jQuery.expando ] = true;
};


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();
}
};

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 ) {
jQuery.event.special[ type ] = {

 setup: function() {

 
 
 leverageNative( this, type, expectSync );

 return false;
},
trigger: function() {

 leverageNative( this, type );

 return true;
},

 
 _default: function( event ) {
return dataPriv.get( event.target, type );
},
delegateType: delegateType
};
} );








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;

 
 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 ) {

 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" ) {

 for ( type in types ) {
this.off( type, selector, types[ type ] );
}
return this;
}
if ( selector === false || typeof selector === "function" ) {

 fn = selector;
selector = undefined;
}
if ( fn === false ) {
fn = returnFalse;
}
return this.each( function() {
jQuery.event.remove( this, types, fn, selector );
} );
}
} );
var

	
	
	rnoInnerhtml = /<script|<style|<link/i,

	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;

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;
}

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;
}

	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 ] );
}
}
}
}

	if ( dataUser.hasData( src ) ) {
udataOld = dataUser.access( src );
udataCur = jQuery.extend( {}, udataOld );
dataUser.set( dest, udataCur );
}
}

function fixInput( src, dest ) {
var nodeName = dest.nodeName.toLowerCase();

	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
dest.checked = src.checked;

	} else if ( nodeName === "input" || nodeName === "textarea" ) {
dest.defaultValue = src.defaultValue;
}
}
function domManip( collection, args, callback, ignored ) {

	args = flat( args );
var fragment, first, scripts, hasScripts, node, doc,
i = 0,
l = collection.length,
iNoClone = l - 1,
value = args[ 0 ],
valueIsFunction = isFunction( value );

	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;
}

 if ( first || ignored ) {
scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
hasScripts = scripts.length;

 
 
 for ( ; i < l; i++ ) {
node = fragment;
if ( i !== iNoClone ) {
node = jQuery.clone( node, true, true );

 if ( hasScripts ) {

 
 jQuery.merge( scripts, getAll( node, "script" ) );
}
}
callback.call( collection[ i ], node, i );
}
if ( hasScripts ) {
doc = scripts[ scripts.length - 1 ].ownerDocument;

 jQuery.map( scripts, restoreScript );

 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" ) {

 if ( jQuery._evalUrl && !node.noModule ) {
jQuery._evalUrl( node.src, {
nonce: node.nonce || node.getAttribute( "nonce" )
}, doc );
}
} else {

 
 
 
 
 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 );

 if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
!jQuery.isXMLDoc( elem ) ) {

 destElements = getAll( clone );
srcElements = getAll( elem );
for ( i = 0, l = srcElements.length; i < l; i++ ) {
fixInput( srcElements[ i ], destElements[ i ] );
}
}

 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 );
}
}

 destElements = getAll( clone, "script" );
if ( destElements.length > 0 ) {
setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
}

 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 );

 } else {
jQuery.removeEvent( elem, type, data.handle );
}
}
}

 
 elem[ dataPriv.expando ] = undefined;
}
if ( elem[ dataUser.expando ] ) {

 
 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 ) {

 jQuery.cleanData( getAll( elem, false ) );

 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;
}

 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 ] || {};

 if ( elem.nodeType === 1 ) {
jQuery.cleanData( getAll( elem, false ) );
elem.innerHTML = value;
}
}
elem = 0;

 } catch ( e ) {}
}
if ( elem ) {
this.empty().append( value );
}
}, null, value, arguments.length );
},
replaceWith: function() {
var ignored = [];

 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 );
}
}

 }, 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 );

 
 push.apply( ret, elems.get() );
}
return this.pushStack( ret );
};
} );
var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
var rcustomProp = /^--/;
var getStyles = function( elem ) {

 
 
 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 = {};

	for ( name in options ) {
old[ name ] = elem.style[ name ];
elem.style[ name ] = options[ name ];
}
ret = callback.call( elem );

	for ( name in options ) {
elem.style[ name ] = old[ name ];
}
return ret;
};
var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
var whitespace = "[\\x20\\t\\r\\n\\f]";
var rtrimCSS = new RegExp(
"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
"g"
);
( function() {

	
	function computeStyleTests() {

 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%";

 reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;

 
 div.style.right = "60%";
pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;

 
 boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;

 
 
 
 div.style.position = "absolute";
scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
documentElement.removeChild( container );

 
 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" );

	if ( !div.style ) {
return;
}

	
	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;
},

 
 
 
 
 
 
 
 
 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 = "border:1px solid";

 
 
 tr.style.height = "1px";
trChild.style.height = "9px";

 
 
 
 
 
 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 ),

 
 
 
 style = elem.style;
computed = computed || getStyles( elem );

	
	
	if ( computed ) {

 
 
 
 
 
 
 
 
 ret = computed.getPropertyValue( name ) || computed[ name ];
if ( isCustomProp && ret ) {

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 ret = ret.replace( rtrimCSS, "$1" ) || undefined;
}
if ( ret === "" && !isAttached( elem ) ) {
ret = jQuery.style( elem, name );
}

 
 
 
 
 if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {

 width = style.width;
minWidth = style.minWidth;
maxWidth = style.maxWidth;

 style.minWidth = style.maxWidth = style.width = ret;
ret = computed.width;

 style.width = width;
style.minWidth = minWidth;
style.maxWidth = maxWidth;
}
}
return ret !== undefined ?

 
 ret + "" :
ret;
}
function addGetHookIf( conditionFn, hookFn ) {

	return {
get: function() {
if ( conditionFn() ) {

 
 delete this.get;
return;
}

 return ( this.get = hookFn ).apply( this, arguments );
}
};
}
var cssPrefixes = [ "Webkit", "Moz", "ms" ],
emptyStyle = document.createElement( "div" ).style,
vendorProps = {};

function vendorPropName( name ) {

	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
i = cssPrefixes.length;
while ( i-- ) {
name = cssPrefixes[ i ] + capName;
if ( name in emptyStyle ) {
return name;
}
}
}

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

	
	
	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = {
letterSpacing: "0",
fontWeight: "400"
};
function setPositiveNumber( _elem, value, subtract ) {

	
	var matches = rcssNum.exec( value );
return matches ?

 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;

	if ( box === ( isBorderBox ? "border" : "content" ) ) {
return 0;
}
for ( ; i < 4; i += 2 ) {

 if ( box === "margin" ) {
delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
}

 if ( !isBorderBox ) {

 delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );

 if ( box !== "padding" ) {
delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );

 } else {
extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
}

 
 } else {

 if ( box === "content" ) {
delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
}

 if ( box !== "margin" ) {
delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
}
}
}

	if ( !isBorderBox && computedVal >= 0 ) {

 
 delta += Math.max( 0, Math.ceil(
elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
computedVal -
delta -
extra -
0.5

 
 ) ) || 0;
}
return delta;
}
function getWidthOrHeight( elem, dimension, extra ) {

	var styles = getStyles( elem ),

 
 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 );

	
	if ( rnumnonpx.test( val ) ) {
if ( !extra ) {
return val;
}
val = "auto";
}

	
	
	if ( ( !support.boxSizingReliable() && isBorderBox ||

 
 
 
 !support.reliableTrDimensions() && nodeName( elem, "tr" ) ||

 
 val === "auto" ||

 
 !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&

 elem.getClientRects().length ) {
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";

 
 
 valueIsBorderBox = offsetProp in elem;
if ( valueIsBorderBox ) {
val = elem[ offsetProp ];
}
}

	val = parseFloat( val ) || 0;

	return ( val +
boxModelAdjustment(
elem,
dimension,
extra || ( isBorderBox ? "border" : "content" ),
valueIsBorderBox,
styles,

 val
)
) + "px";
}
jQuery.extend( {

	
	cssHooks: {
opacity: {
get: function( elem, computed ) {
if ( computed ) {

 var ret = curCSS( elem, "opacity" );
return ret === "" ? "1" : ret;
}
}
}
},

	cssNumber: {
"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
},

	
	cssProps: {},

	style: function( elem, name, value, extra ) {

 if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
return;
}

 var ret, type, hooks,
origName = camelCase( name ),
isCustomProp = rcustomProp.test( name ),
style = elem.style;

 
 
 if ( !isCustomProp ) {
name = finalPropName( origName );
}

 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];

 if ( value !== undefined ) {
type = typeof value;

 if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
value = adjustCSS( elem, name, ret );

 type = "number";
}

 if ( value == null || value !== value ) {
return;
}

 
 
 if ( type === "number" && !isCustomProp ) {
value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
}

 if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
style[ name ] = "inherit";
}

 if ( !hooks || !( "set" in hooks ) ||
( value = hooks.set( elem, value, extra ) ) !== undefined ) {
if ( isCustomProp ) {
style.setProperty( name, value );
} else {
style[ name ] = value;
}
}
} else {

 if ( hooks && "get" in hooks &&
( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
return ret;
}

 return style[ name ];
}
},
css: function( elem, name, extra, styles ) {
var val, num, hooks,
origName = camelCase( name ),
isCustomProp = rcustomProp.test( name );

 
 
 if ( !isCustomProp ) {
name = finalPropName( origName );
}

 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];

 if ( hooks && "get" in hooks ) {
val = hooks.get( elem, true, extra );
}

 if ( val === undefined ) {
val = curCSS( elem, name, styles );
}

 if ( val === "normal" && name in cssNormalTransform ) {
val = cssNormalTransform[ name ];
}

 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 ) {

 
 return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&

 
 
 
 
 
 ( !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 ),

 
 scrollboxSizeBuggy = !support.scrollboxSize() &&
styles.position === "absolute",

 boxSizingNeeded = scrollboxSizeBuggy || extra,
isBorderBox = boxSizingNeeded &&
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
subtract = extra ?
boxModelAdjustment(
elem,
dimension,
extra,
isBorderBox,
styles
) :
0;

 
 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
);
}

 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";
}
}
);

jQuery.each( {
margin: "",
padding: "",
border: "Width"
}, function( prefix, suffix ) {
jQuery.cssHooks[ prefix + suffix ] = {
expand: function( value ) {
var i = 0,
expanded = {},

 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;

 
 if ( tween.elem.nodeType !== 1 ||
tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
return tween.elem[ tween.prop ];
}

 
 
 
 result = jQuery.css( tween.elem, tween.prop, "" );

 return !result || result === "auto" ? 0 : result;
},
set: function( tween ) {

 
 
 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;
}
}
}
};


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;

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();
}
}

function createFxNow() {
window.setTimeout( function() {
fxNow = undefined;
} );
return ( fxNow = Date.now() );
}

function genFx( type, includeWidth ) {
var which,
i = 0,
attrs = { height: type };

	
	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 ) ) ) {

 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" );

	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() {

 anim.always( function() {
hooks.unqueued--;
if ( !jQuery.queue( elem, "fx" ).length ) {
hooks.empty.fire();
}
} );
} );
}

	for ( prop in props ) {
value = props[ prop ];
if ( rfxtypes.test( value ) ) {
delete props[ prop ];
toggle = toggle || value === "toggle";
if ( value === ( hidden ? "hide" : "show" ) ) {

 
 if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
hidden = true;

 } else {
continue;
}
}
orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
}
}

	propTween = !jQuery.isEmptyObject( props );
if ( !propTween && jQuery.isEmptyObject( orig ) ) {
return;
}

	if ( isBox && elem.nodeType === 1 ) {

 
 
 
 opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];

 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 {

 showHide( [ elem ], true );
restoreDisplay = elem.style.display || restoreDisplay;
display = jQuery.css( elem, "display" );
showHide( [ elem ] );
}
}

 if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
if ( jQuery.css( elem, "float" ) === "none" ) {

 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 ];
} );
}

	propTween = false;
for ( prop in orig ) {

 if ( !propTween ) {
if ( dataShow ) {
if ( "hidden" in dataShow ) {
hidden = dataShow.hidden;
}
} else {
dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
}

 if ( toggle ) {
dataShow.hidden = !hidden;
}

 if ( hidden ) {
showHide( [ elem ], true );
}

anim.done( function() {


 if ( !hidden ) {
showHide( [ elem ] );
}
dataPriv.remove( elem, "fxshow" );
for ( prop in orig ) {
jQuery.style( elem, prop, orig[ prop ] );
}
} );
}

 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;

	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 ];

 
 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() {

 delete tick.elem;
} ),
tick = function() {
if ( stopped ) {
return false;
}
var currentTime = fxNow || createFxNow(),
remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),

 
 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 ( percent < 1 && length ) {
return remaining;
}

 if ( !length ) {
deferred.notifyWith( elem, [ animation, 1, 0 ] );
}

 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,

 
 length = gotoEnd ? animation.tweens.length : 0;
if ( stopped ) {
return this;
}
stopped = true;
for ( ; index < length; index++ ) {
animation.tweens[ index ].run( 1 );
}

 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 );
}

	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
};

	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;
}
}
}

	if ( opt.queue == null || opt.queue === true ) {
opt.queue = "fx";
}

	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 ) {

 return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()

 .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() {

 var anim = Animation( this, jQuery.extend( {}, prop ), optall );

 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 );
}
}

 
 
 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;

 data.finish = true;

 jQuery.queue( this, type, [] );
if ( hooks && hooks.stop ) {
hooks.stop.call( this, true );
}

 for ( index = timers.length; index--; ) {
if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
timers[ index ].anim.stop( true );
timers.splice( index, 1 );
}
}

 for ( index = 0; index < length; index++ ) {
if ( queue[ index ] && queue[ index ].finish ) {
queue[ index ].finish.call( this );
}
}

 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 );
};
} );

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 ];

 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: 400
};

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.checkOn = input.value !== "";

	
	support.optSelected = opt.selected;

	
	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;

 if ( nType === 3 || nType === 8 || nType === 2 ) {
return;
}

 if ( typeof elem.getAttribute === "undefined" ) {
return jQuery.prop( elem, name, value );
}

 
 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 );

 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,

 
 attrNames = value && value.match( rnothtmlwhite );
if ( attrNames && elem.nodeType === 1 ) {
while ( ( name = attrNames[ i++ ] ) ) {
elem.removeAttribute( name );
}
}
}
} );

boolHook = {
set: function( elem, value, name ) {
if ( value === 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 ) {

 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;

 if ( nType === 3 || nType === 8 || nType === 2 ) {
return;
}
if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {

 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 ) {

 
 
 
 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"
}
} );








if ( !support.optSelected ) {
jQuery.propHooks.selected = {
get: function( elem ) {

var parent = elem.parentNode;
if ( parent && parent.parentNode ) {
parent.parentNode.selectedIndex;
}
return null;
},
set: function( elem ) {

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;
} );

	
	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 + " ";
}
}

 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 );

 cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
if ( cur ) {
for ( i = 0; i < classNames.length; i++ ) {
className = classNames[ i ];

 while ( cur.indexOf( " " + className + " " ) > -1 ) {
cur = cur.replace( " " + className + " ", " " );
}
}

 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 ) {

 self = jQuery( this );
for ( i = 0; i < classNames.length; i++ ) {
className = classNames[ i ];

 if ( self.hasClass( className ) ) {
self.removeClass( className );
} else {
self.addClass( className );
}
}

 } else if ( value === undefined || type === "boolean" ) {
className = getClass( this );
if ( className ) {

 dataPriv.set( this, "__className__", className );
}

 
 
 
 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;

 if ( typeof ret === "string" ) {
return ret.replace( rreturn, "" );
}

 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;
}

 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 ( !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 :

 
 
 
 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;
}

 for ( ; i < max; i++ ) {
option = options[ i ];

 
 if ( ( option.selected || i === index ) &&

 !option.disabled &&
( !option.parentNode.disabled ||
!nodeName( option.parentNode, "optgroup" ) ) ) {

 value = jQuery( option ).val();

 if ( one ) {
return value;
}

 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 ];

if ( option.selected =
jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
) {
optionSet = true;
}

}

 if ( !optionSet ) {
elem.selectedIndex = -1;
}
return values;
}
}
}
} );

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;
};
}
} );


support.focusin = "onfocusin" in window;
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;

 if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
return;
}

 if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
return;
}
if ( type.indexOf( "." ) > -1 ) {

 namespaces = type.split( "." );
type = namespaces.shift();
namespaces.sort();
}
ontype = type.indexOf( ":" ) < 0 && "on" + type;

 event = event[ jQuery.expando ] ?
event :
new jQuery.Event( type, typeof event === "object" && event );

 event.isTrigger = onlyHandlers ? 2 : 3;
event.namespace = namespaces.join( "." );
event.rnamespace = event.namespace ?
new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
null;

 event.result = undefined;
if ( !event.target ) {
event.target = elem;
}

 data = data == null ?
[ event ] :
jQuery.makeArray( data, [ event ] );

 special = jQuery.event.special[ type ] || {};
if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
return;
}

 
 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;
}

 if ( tmp === ( elem.ownerDocument || document ) ) {
eventPath.push( tmp.defaultView || tmp.parentWindow || window );
}
}

 i = 0;
while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
lastElement = cur;
event.type = i > 1 ?
bubbleType :
special.bindType || type;

 handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
dataPriv.get( cur, "handle" );
if ( handle ) {
handle.apply( cur, data );
}

 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 ( !onlyHandlers && !event.isDefaultPrevented() ) {
if ( ( !special._default ||
special._default.apply( eventPath.pop(), data ) === false ) &&
acceptData( elem ) ) {

 
 if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {

 tmp = elem[ ontype ];
if ( tmp ) {
elem[ ontype ] = null;
}

 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;
},

	
	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 );
}
}
} );








if ( !support.focusin ) {
jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {

 var handler = function( event ) {
jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
};
jQuery.event.special[ fix ] = {
setup: function() {

 
 var doc = this.ownerDocument || this.document || this,
attaches = dataPriv.access( doc, fix );
if ( !attaches ) {
doc.addEventListener( orig, handler, true );
}
dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
},
teardown: function() {
var doc = this.ownerDocument || this.document || this,
attaches = dataPriv.access( doc, fix ) - 1;
if ( !attaches ) {
doc.removeEventListener( orig, handler, true );
dataPriv.remove( doc, fix );
} else {
dataPriv.access( doc, fix, attaches );
}
}
};
} );
}
var location = window.location;
var nonce = { guid: Date.now() };
var rquery = ( /\?/ );

jQuery.parseXML = function( data ) {
var xml, parserErrorElem;
if ( !data || typeof data !== "string" ) {
return null;
}

	
	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
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 ) ) {

 jQuery.each( obj, function( i, v ) {
if ( traditional || rbracket.test( prefix ) ) {

 add( prefix, v );
} else {

 buildParams(
prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
v,
traditional,
add
);
}
} );
} else if ( !traditional && toType( obj ) === "object" ) {

 for ( name in obj ) {
buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
}
} else {

 add( prefix, obj );
}
}


jQuery.param = function( a, traditional ) {
var prefix,
s = [],
add = function( key, valueOrFunction ) {

 var value = isFunction( valueOrFunction ) ?
valueOrFunction() :
valueOrFunction;
s[ s.length ] = encodeURIComponent( key ) + "=" +
encodeURIComponent( value == null ? "" : value );
};
if ( a == null ) {
return "";
}

	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {

 jQuery.each( a, function() {
add( this.name, this.value );
} );
} else {

 
 for ( prefix in a ) {
buildParams( prefix, a[ prefix ], traditional, add );
}
}

	return s.join( "&" );
};
jQuery.fn.extend( {
serialize: function() {
return jQuery.param( this.serializeArray() );
},
serializeArray: function() {
return this.map( function() {

 var elements = jQuery.prop( this, "elements" );
return elements ? jQuery.makeArray( elements ) : this;
} ).filter( function() {
var type = this.type;

 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,

	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
rnoContent = /^(?:GET|HEAD)$/,
rprotocol = /^\/\//,

prefilters = {},

transports = {},

	allTypes = "*/".concat( "*" ),

	originAnchor = document.createElement( "a" );
originAnchor.href = location.href;

function addToPrefiltersOrTransports( structure ) {

	return function( dataTypeExpression, func ) {
if ( typeof dataTypeExpression !== "string" ) {
func = dataTypeExpression;
dataTypeExpression = "*";
}
var dataType,
i = 0,
dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
if ( isFunction( func ) ) {

 while ( ( dataType = dataTypes[ i++ ] ) ) {

 if ( dataType[ 0 ] === "+" ) {
dataType = dataType.slice( 1 ) || "*";
( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );

 } else {
( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
}
}
}
};
}

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( "*" );
}



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;
}

function ajaxHandleResponses( s, jqXHR, responses ) {
var ct, type, finalDataType, firstDataType,
contents = s.contents,
dataTypes = s.dataTypes;

	while ( dataTypes[ 0 ] === "*" ) {
dataTypes.shift();
if ( ct === undefined ) {
ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
}
}

	if ( ct ) {
for ( type in contents ) {
if ( contents[ type ] && contents[ type ].test( ct ) ) {
dataTypes.unshift( type );
break;
}
}
}

	if ( dataTypes[ 0 ] in responses ) {
finalDataType = dataTypes[ 0 ];
} else {

 for ( type in responses ) {
if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
finalDataType = type;
break;
}
if ( !firstDataType ) {
firstDataType = type;
}
}

 finalDataType = finalDataType || firstDataType;
}

	
	
	if ( finalDataType ) {
if ( finalDataType !== dataTypes[ 0 ] ) {
dataTypes.unshift( finalDataType );
}
return responses[ finalDataType ];
}
}

function ajaxConvert( s, response, jqXHR, isSuccess ) {
var conv2, current, conv, tmp, prev,
converters = {},

 dataTypes = s.dataTypes.slice();

	if ( dataTypes[ 1 ] ) {
for ( conv in s.converters ) {
converters[ conv.toLowerCase() ] = s.converters[ conv ];
}
}
current = dataTypes.shift();

	while ( current ) {
if ( s.responseFields[ current ] ) {
jqXHR[ s.responseFields[ current ] ] = response;
}

 if ( !prev && isSuccess && s.dataFilter ) {
response = s.dataFilter( response, s.dataType );
}
prev = current;
current = dataTypes.shift();
if ( current ) {

 if ( current === "*" ) {
current = prev;

 } else if ( prev !== "*" && prev !== current ) {

 conv = converters[ prev + " " + current ] || converters[ "* " + current ];

 if ( !conv ) {
for ( conv2 in converters ) {

 tmp = conv2.split( " " );
if ( tmp[ 1 ] === current ) {

 conv = converters[ prev + " " + tmp[ 0 ] ] ||
converters[ "* " + tmp[ 0 ] ];
if ( conv ) {

 if ( conv === true ) {
conv = converters[ conv2 ];

 } else if ( converters[ conv2 ] !== true ) {
current = tmp[ 0 ];
dataTypes.unshift( tmp[ 1 ] );
}
break;
}
}
}
}

 if ( conv !== true ) {

 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( {

	active: 0,

	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",

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"
},

 
 converters: {

 "* text": String,

 "text html": true,

 "text json": JSON.parse,

 "text xml": jQuery.parseXML
},

 
 
 
 flatOptions: {
url: true,
context: true
}
},

	
	
	ajaxSetup: function( target, settings ) {
return settings ?

 ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :

 ajaxExtend( jQuery.ajaxSettings, target );
},
ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
ajaxTransport: addToPrefiltersOrTransports( transports ),

	ajax: function( url, options ) {

 if ( typeof url === "object" ) {
options = url;
url = undefined;
}

 options = options || {};
var transport,

 cacheURL,

 responseHeadersString,
responseHeaders,

 timeoutTimer,

 urlAnchor,

 completed,

 fireGlobals,

 i,

 uncached,

 s = jQuery.ajaxSetup( {}, options ),

 callbackContext = s.context || s,

 globalEventContext = s.context &&
( callbackContext.nodeType || callbackContext.jquery ) ?
jQuery( callbackContext ) :
jQuery.event,

 deferred = jQuery.Deferred(),
completeDeferred = jQuery.Callbacks( "once memory" ),

 statusCode = s.statusCode || {},

 requestHeaders = {},
requestHeadersNames = {},

 strAbort = "canceled",

 jqXHR = {
readyState: 0,

 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( ", " );
},

 getAllResponseHeaders: function() {
return completed ? responseHeadersString : null;
},

 setRequestHeader: function( name, value ) {
if ( completed == null ) {
name = requestHeadersNames[ name.toLowerCase() ] =
requestHeadersNames[ name.toLowerCase() ] || name;
requestHeaders[ name ] = value;
}
return this;
},

 overrideMimeType: function( type ) {
if ( completed == null ) {
s.mimeType = type;
}
return this;
},

 statusCode: function( map ) {
var code;
if ( map ) {
if ( completed ) {

 jqXHR.always( map[ jqXHR.status ] );
} else {

 for ( code in map ) {
statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
}
}
}
return this;
},

 abort: function( statusText ) {
var finalText = statusText || strAbort;
if ( transport ) {
transport.abort( finalText );
}
done( 0, finalText );
return this;
}
};

 deferred.promise( jqXHR );

 
 
 s.url = ( ( url || s.url || location.href ) + "" )
.replace( rprotocol, location.protocol + "//" );

 s.type = options.method || options.type || s.method || s.type;

 s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];

 if ( s.crossDomain == null ) {
urlAnchor = document.createElement( "a" );

 
 
 try {
urlAnchor.href = s.url;

 
 urlAnchor.href = urlAnchor.href;
s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
urlAnchor.protocol + "//" + urlAnchor.host;
} catch ( e ) {

 
 s.crossDomain = true;
}
}

 if ( s.data && s.processData && typeof s.data !== "string" ) {
s.data = jQuery.param( s.data, s.traditional );
}

 inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );

 if ( completed ) {
return jqXHR;
}

 
 fireGlobals = jQuery.event && s.global;

 if ( fireGlobals && jQuery.active++ === 0 ) {
jQuery.event.trigger( "ajaxStart" );
}

 s.type = s.type.toUpperCase();

 s.hasContent = !rnoContent.test( s.type );

 
 
 cacheURL = s.url.replace( rhash, "" );

 if ( !s.hasContent ) {

 uncached = s.url.slice( cacheURL.length );

 if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;

 delete s.data;
}

 if ( s.cache === false ) {
cacheURL = cacheURL.replace( rantiCache, "$1" );
uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
uncached;
}

 s.url = cacheURL + uncached;

 } else if ( s.data && s.processData &&
( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
s.data = s.data.replace( r20, "+" );
}

 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 ] );
}
}

 if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
jqXHR.setRequestHeader( "Content-Type", s.contentType );
}

 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[ "*" ]
);

 for ( i in s.headers ) {
jqXHR.setRequestHeader( i, s.headers[ i ] );
}

 if ( s.beforeSend &&
( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {

 return jqXHR.abort();
}

 strAbort = "abort";

 completeDeferred.add( s.complete );
jqXHR.done( s.success );
jqXHR.fail( s.error );

 transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );

 if ( !transport ) {
done( -1, "No Transport" );
} else {
jqXHR.readyState = 1;

 if ( fireGlobals ) {
globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
}

 if ( completed ) {
return jqXHR;
}

 if ( s.async && s.timeout > 0 ) {
timeoutTimer = window.setTimeout( function() {
jqXHR.abort( "timeout" );
}, s.timeout );
}
try {
completed = false;
transport.send( requestHeaders, done );
} catch ( e ) {

 if ( completed ) {
throw e;
}

 done( -1, e );
}
}

 function done( status, nativeStatusText, responses, headers ) {
var isSuccess, success, error, response, modified,
statusText = nativeStatusText;

 if ( completed ) {
return;
}
completed = true;

 if ( timeoutTimer ) {
window.clearTimeout( timeoutTimer );
}

 
 transport = undefined;

 responseHeadersString = headers || "";

 jqXHR.readyState = status > 0 ? 4 : 0;

 isSuccess = status >= 200 && status < 300 || status === 304;

 if ( responses ) {
response = ajaxHandleResponses( s, jqXHR, responses );
}

 if ( !isSuccess &&
jQuery.inArray( "script", s.dataTypes ) > -1 &&
jQuery.inArray( "json", s.dataTypes ) < 0 ) {
s.converters[ "text script" ] = function() {};
}

 response = ajaxConvert( s, response, jqXHR, isSuccess );

 if ( isSuccess ) {

 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 ( status === 204 || s.type === "HEAD" ) {
statusText = "nocontent";

 } else if ( status === 304 ) {
statusText = "notmodified";

 } else {
statusText = response.state;
success = response.data;
error = response.error;
isSuccess = !error;
}
} else {

 error = statusText;
if ( status || !statusText ) {
statusText = "error";
if ( status < 0 ) {
status = 0;
}
}
}

 jqXHR.status = status;
jqXHR.statusText = ( nativeStatusText || statusText ) + "";

 if ( isSuccess ) {
deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
} else {
deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
}

 jqXHR.statusCode( statusCode );
statusCode = undefined;
if ( fireGlobals ) {
globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
[ jqXHR, s, isSuccess ? success : error ] );
}

 completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
if ( fireGlobals ) {
globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );

 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 ) {

 if ( isFunction( data ) ) {
type = type || callback;
callback = data;
data = undefined;
}

 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,

 type: "GET",
dataType: "script",
cache: true,
async: false,
global: false,

 
 
 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 ] );
}

 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 = {

 0: 200,

 
 1223: 204
},
xhrSupported = jQuery.ajaxSettings.xhr();
support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
support.ajax = xhrSupported = !!xhrSupported;
jQuery.ajaxTransport( function( options ) {
var callback, errorCallback;

	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
);

 if ( options.xhrFields ) {
for ( i in options.xhrFields ) {
xhr[ i ] = options.xhrFields[ i ];
}
}

 if ( options.mimeType && xhr.overrideMimeType ) {
xhr.overrideMimeType( options.mimeType );
}

 
 
 
 
 if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
headers[ "X-Requested-With" ] = "XMLHttpRequest";
}

 for ( i in headers ) {
xhr.setRequestHeader( i, headers[ i ] );
}

 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" ) {

 
 
 if ( typeof xhr.status !== "number" ) {
complete( 0, "error" );
} else {
complete(

 xhr.status,
xhr.statusText
);
}
} else {
complete(
xhrSuccessStatus[ xhr.status ] || xhr.status,
xhr.statusText,

 
 
 ( xhr.responseType || "text" ) !== "text" ||
typeof xhr.responseText !== "string" ?
{ binary: xhr.response } :
{ text: xhr.responseText },
xhr.getAllResponseHeaders()
);
}
}
};
};

 xhr.onload = callback();
errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );

 
 
 if ( xhr.onabort !== undefined ) {
xhr.onabort = errorCallback;
} else {
xhr.onreadystatechange = function() {

 if ( xhr.readyState === 4 ) {

 
 
 
 window.setTimeout( function() {
if ( callback ) {
errorCallback();
}
} );
}
};
}

 callback = callback( "abort" );
try {

 xhr.send( options.hasContent && options.data || null );
} catch ( e ) {

 if ( callback ) {
throw e;
}
}
},
abort: function() {
if ( callback ) {
callback();
}
}
};
}
} );

jQuery.ajaxPrefilter( function( s ) {
if ( s.crossDomain ) {
s.contents.script = false;
}
} );

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;
}
}
} );

jQuery.ajaxPrefilter( "script", function( s ) {
if ( s.cache === undefined ) {
s.cache = false;
}
if ( s.crossDomain ) {
s.type = "GET";
}
} );

jQuery.ajaxTransport( "script", function( s ) {

	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 );
}
} );

 document.head.appendChild( script[ 0 ] );
},
abort: function() {
if ( callback ) {
callback();
}
}
};
}
} );
var oldCallbacks = [],
rjsonp = /(=)\?(?=&|$)|\?\?/;

jQuery.ajaxSetup( {
jsonp: "callback",
jsonpCallback: function() {
var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
this[ callback ] = true;
return callback;
}
} );

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"
);

	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {

 callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
s.jsonpCallback() :
s.jsonpCallback;

 if ( jsonProp ) {
s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
} else if ( s.jsonp !== false ) {
s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
}

 s.converters[ "script json" ] = function() {
if ( !responseContainer ) {
jQuery.error( callbackName + " was not called" );
}
return responseContainer[ 0 ];
};

 s.dataTypes[ 0 ] = "json";

 overwritten = window[ callbackName ];
window[ callbackName ] = function() {
responseContainer = arguments;
};

 jqXHR.always( function() {

 if ( overwritten === undefined ) {
jQuery( window ).removeProp( callbackName );

 } else {
window[ callbackName ] = overwritten;
}

 if ( s[ callbackName ] ) {

 s.jsonpCallback = originalSettings.jsonpCallback;

 oldCallbacks.push( callbackName );
}

 if ( responseContainer && isFunction( overwritten ) ) {
overwritten( responseContainer[ 0 ] );
}
responseContainer = overwritten = undefined;
} );

 return "script";
}
} );





support.createHTMLDocument = ( function() {
var body = document.implementation.createHTMLDocument( "" ).body;
body.innerHTML = "<form></form><form></form>";
return body.childNodes.length === 2;
} )();




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 ) {

 
 if ( support.createHTMLDocument ) {
context = document.implementation.createHTMLDocument( "" );

 
 
 base = context.createElement( "base" );
base.href = document.location.href;
context.head.appendChild( base );
} else {
context = document;
}
}
parsed = rsingleTag.exec( data );
scripts = !keepScripts && [];

	if ( parsed ) {
return [ context.createElement( parsed[ 1 ] ) ];
}
parsed = buildFragment( [ data ], context, scripts );
if ( scripts && scripts.length ) {
jQuery( scripts ).remove();
}
return jQuery.merge( [], parsed.childNodes );
};

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 ( isFunction( params ) ) {

 callback = params;
params = undefined;

	} else if ( params && typeof params === "object" ) {
type = "POST";
}

	if ( self.length > 0 ) {
jQuery.ajax( {
url: url,

 
 
 type: type || "GET",
dataType: "html",
data: params
} ).done( function( responseText ) {

 response = arguments;
self.html( selector ?

 
 jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :

 responseText );

 
 
 } ).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 = {};

 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;

 
 if ( calculatePosition ) {
curPosition = curElem.position();
curTop = curPosition.top;
curLeft = curPosition.left;
} else {
curTop = parseFloat( curCSSTop ) || 0;
curLeft = parseFloat( curCSSLeft ) || 0;
}
if ( isFunction( options ) ) {

 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: function( options ) {

 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;
}

 
 
 
 if ( !elem.getClientRects().length ) {
return { top: 0, left: 0 };
}

 rect = elem.getBoundingClientRect();
win = elem.ownerDocument.defaultView;
return {
top: rect.top + win.pageYOffset,
left: rect.left + win.pageXOffset
};
},

	
	position: function() {
if ( !this[ 0 ] ) {
return;
}
var offsetParent, offset, doc,
elem = this[ 0 ],
parentOffset = { top: 0, left: 0 };

 if ( jQuery.css( elem, "position" ) === "fixed" ) {

 offset = elem.getBoundingClientRect();
} else {
offset = this.offset();

 
 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 ) {

 parentOffset = jQuery( offsetParent ).offset();
parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
}
}

 return {
top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
};
},

	
	
	
	
	
	
	
	
	
	offsetParent: function() {
return this.map( function() {
var offsetParent = this.offsetParent;
while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
offsetParent = offsetParent.offsetParent;
}
return offsetParent || documentElement;
} );
}
} );

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 ) {

 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 );
};
} );






jQuery.each( [ "top", "left" ], function( _i, prop ) {
jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
function( elem, computed ) {
if ( computed ) {
computed = curCSS( elem, prop );

 return rnumnonpx.test( computed ) ?
jQuery( elem ).position()[ prop ] + "px" :
computed;
}
}
);
} );

jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
jQuery.each( {
padding: "inner" + name,
content: type,
"": "outer" + name
}, function( defaultExtra, funcName ) {

 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 ) ) {

 return funcName.indexOf( "outer" ) === 0 ?
elem[ "inner" + name ] :
elem.document.documentElement[ "client" + name ];
}

 if ( elem.nodeType === 9 ) {
doc = elem.documentElement;

 
 return Math.max(
elem.body[ "scroll" + name ], doc[ "scroll" + name ],
elem.body[ "offset" + name ], doc[ "offset" + name ],
doc[ "client" + name ]
);
}
return value === undefined ?

 jQuery.css( elem, type, extra ) :

 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 ) {

 return arguments.length === 1 ?
this.off( selector, "**" ) :
this.off( types, selector || "**", fn );
},
hover: function( fnOver, fnOut ) {
return this.mouseenter( fnOver ).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 ) {

 jQuery.fn[ name ] = function( data, fn ) {
return arguments.length > 0 ?
this.on( name, null, data, fn ) :
this.trigger( name );
};
}
);




var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;




jQuery.proxy = function( fn, context ) {
var tmp, args, proxy;
if ( typeof context === "string" ) {
tmp = fn[ context ];
context = fn;
fn = tmp;
}

	
	if ( !isFunction( fn ) ) {
return undefined;
}

	args = slice.call( arguments, 2 );
proxy = function() {
return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
};

	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 ) {

	
	
	var type = jQuery.type( obj );
return ( type === "number" || type === "string" ) &&

 
 
 !isNaN( obj - parseFloat( obj ) );
};
jQuery.trim = function( text ) {
return text == null ?
"" :
( text + "" ).replace( rtrim, "$1" );
};













if ( typeof define === "function" && define.amd ) {
define( "jquery", [], function() {
return jQuery;
} );
}
var

	_jQuery = window.jQuery,

	_$ = window.$;
jQuery.noConflict = function( deep ) {
if ( window.$ === jQuery ) {
window.$ = _$;
}
if ( deep && window.jQuery === jQuery ) {
window.jQuery = _jQuery;
}
return jQuery;
};



if ( typeof noGlobal === "undefined" ) {
window.jQuery = window.$ = jQuery;
}
return jQuery;
} );
/*! jQuery Migrate v3.0.1 | (c) jQuery Foundation and other contributors | jquery.org/license */

void 0 === jQuery.migrateMute && (jQuery.migrateMute = !0), function(e) {
    "function" == typeof define && define.amd ? define([ "jquery" ], window, e) : "object" == typeof module && module.exports ? module.exports = e(require("jquery"), window) : e(jQuery, window);
}(function(e, t) {
    "use strict";
    function r(r) {
        var n = t.console;
        o[r] || (o[r] = !0, e.migrateWarnings.push(r), n && n.warn && !e.migrateMute && (n.warn("JQMIGRATE: " + r),
        e.migrateTrace && n.trace && n.trace()));
    }
    function n(e, t, n, a) {
        Object.defineProperty(e, t, {
            configurable: !0,
            enumerable: !0,
            get: function() {
                return r(a), n;
            },
            set: function(e) {
                r(a), n = e;
            }
        });
    }
    function a(e, t, n, a) {
        e[t] = function() {
            return r(a), n.apply(this, arguments);
        };
    }
    e.migrateVersion = "3.0.1", function() {
        var r = /^[12]\./;
        t.console && t.console.log && (e && !r.test(e.fn.jquery) || t.console.log("JQMIGRATE: jQuery 3.0.0+ REQUIRED"),
        e.migrateWarnings && t.console.log("JQMIGRATE: Migrate plugin loaded multiple times"),
            t.console.log("JQMIGRATE: Migrate is installed" + (e.migrateMute ? "" : " with logging active") + ", version " + e.migrateVersion));
    }();
    var o = {};
    e.migrateWarnings = [], void 0 === e.migrateTrace && (e.migrateTrace = !0), e.migrateReset = function() {
        o = {}, e.migrateWarnings.length = 0;
    }, "BackCompat" === t.document.compatMode && r("jQuery is not compatible with Quirks Mode");
    var i = e.fn.init, s = e.isNumeric, u = e.find, c = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/, l = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;
    e.fn.init = function(e) {
        var t = Array.prototype.slice.call(arguments);
        return "string" == typeof e && "#" === e && (r("jQuery( '#' ) is not a valid selector"),
            t[0] = []), i.apply(this, t);
    }, e.fn.init.prototype = e.fn, e.find = function(e) {
        var n = Array.prototype.slice.call(arguments);
        if ("string" == typeof e && c.test(e)) try {
            t.document.querySelector(e);
        } catch (a) {
            e = e.replace(l, function(e, t, r, n) {
                return "[" + t + r + '"' + n + '"]';
            });
            try {
                t.document.querySelector(e), r("Attribute selector with '#' must be quoted: " + n[0]),
                    n[0] = e;
            } catch (e) {
                r("Attribute selector with '#' was not fixed: " + n[0]);
            }
        }
        return u.apply(this, n);
    };
    var d;
    for (d in u) Object.prototype.hasOwnProperty.call(u, d) && (e.find[d] = u[d]);
    e.fn.size = function() {
        return r("jQuery.fn.size() is deprecated and removed; use the .length property"),
            this.length;
    }, e.parseJSON = function() {
        return r("jQuery.parseJSON is deprecated; use JSON.parse"), JSON.parse.apply(null, arguments);
    }, e.isNumeric = function(t) {
        var n = s(t), a = function(t) {
            var r = t && t.toString();
            return !e.isArray(t) && r - parseFloat(r) + 1 >= 0;
        }(t);
        return n !== a && r("jQuery.isNumeric() should not be called on constructed objects"),
            a;
    }, a(e, "holdReady", e.holdReady, "jQuery.holdReady is deprecated"), a(e, "unique", e.uniqueSort, "jQuery.unique is deprecated; use jQuery.uniqueSort"),
        n(e.expr, "filters", e.expr.pseudos, "jQuery.expr.filters is deprecated; use jQuery.expr.pseudos"),
        n(e.expr, ":", e.expr.pseudos, "jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos");
    var p = e.ajax;
    e.ajax = function() {
        var e = p.apply(this, arguments);
        return e.promise && (a(e, "success", e.done, "jQXHR.success is deprecated and removed"),
            a(e, "error", e.fail, "jQXHR.error is deprecated and removed"), a(e, "complete", e.always, "jQXHR.complete is deprecated and removed")),
            e;
    };
    var f = e.fn.removeAttr, y = e.fn.toggleClass, m = /\S+/g;
    e.fn.removeAttr = function(t) {
        var n = this;
        return e.each(t.match(m), function(t, a) {
            e.expr.match.bool.test(a) && (r("jQuery.fn.removeAttr no longer sets boolean properties: " + a),
                n.prop(a, !1));
        }), f.apply(this, arguments);
    }, e.fn.toggleClass = function(t) {
        return void 0 !== t && "boolean" != typeof t ? y.apply(this, arguments) : (r("jQuery.fn.toggleClass( boolean ) is deprecated"),
            this.each(function() {
                var r = this.getAttribute && this.getAttribute("class") || "";
                r && e.data(this, "__className__", r), this.setAttribute && this.setAttribute("class", r || !1 === t ? "" : e.data(this, "__className__") || "");
            }));
    };
    var h = !1;
    e.swap && e.each([ "height", "width", "reliableMarginRight" ], function(t, r) {
        var n = e.cssHooks[r] && e.cssHooks[r].get;
        n && (e.cssHooks[r].get = function() {
            var e;
            return h = !0, e = n.apply(this, arguments), h = !1, e;
        });
    }), e.swap = function(e, t, n, a) {
        var o, i, s = {};
        h || r("jQuery.swap() is undocumented and deprecated");
        for (i in t) s[i] = e.style[i], e.style[i] = t[i];
        o = n.apply(e, a || []);
        for (i in t) e.style[i] = s[i];
        return o;
    };
    var g = e.data;
    e.data = function(t, n, a) {
        var o;
        if (n && "object" == typeof n && 2 === arguments.length) {
            o = e.hasData(t) && g.call(this, t);
            var i = {};
            for (var s in n) s !== e.camelCase(s) ? (r("jQuery.data() always sets/gets camelCased names: " + s),
                o[s] = n[s]) : i[s] = n[s];
            return g.call(this, t, i), n;
        }
        return n && "string" == typeof n && n !== e.camelCase(n) && (o = e.hasData(t) && g.call(this, t)) && n in o ? (r("jQuery.data() always sets/gets camelCased names: " + n),
        arguments.length > 2 && (o[n] = a), o[n]) : g.apply(this, arguments);
    };
    var v = e.Tween.prototype.run, j = function(e) {
        return e;
    };
    e.Tween.prototype.run = function() {
        e.easing[this.easing].length > 1 && (r("'jQuery.easing." + this.easing.toString() + "' should use only one argument"),
            e.easing[this.easing] = j), v.apply(this, arguments);
    }, e.fx.interval = e.fx.interval || 13, t.requestAnimationFrame && n(e.fx, "interval", e.fx.interval, "jQuery.fx.interval is deprecated");
    var Q = e.fn.load, b = e.event.add, w = e.event.fix;
    e.event.props = [], e.event.fixHooks = {}, n(e.event.props, "concat", e.event.props.concat, "jQuery.event.props.concat() is deprecated and removed"),
        e.event.fix = function(t) {
            var n, a = t.type, o = this.fixHooks[a], i = e.event.props;
            if (i.length) for (r("jQuery.event.props are deprecated and removed: " + i.join()); i.length; ) e.event.addProp(i.pop());
            if (o && !o._migrated_ && (o._migrated_ = !0, r("jQuery.event.fixHooks are deprecated and removed: " + a),
            (i = o.props) && i.length)) for (;i.length; ) e.event.addProp(i.pop());
            return n = w.call(this, t), o && o.filter ? o.filter(n, t) : n;
        }, e.event.add = function(e, n) {
        return e === t && "load" === n && "complete" === t.document.readyState && r("jQuery(window).on('load'...) called after load event occurred"),
            b.apply(this, arguments);
    }, e.each([ "load", "unload", "error" ], function(t, n) {
        e.fn[n] = function() {
            var e = Array.prototype.slice.call(arguments, 0);
            return "load" === n && "string" == typeof e[0] ? Q.apply(this, e) : (r("jQuery.fn." + n + "() is deprecated"),
                e.splice(0, 0, n), arguments.length ? this.on.apply(this, e) : (this.triggerHandler.apply(this, e),
                this));
        };
    }), e.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(t, n) {
        e.fn[n] = function(e, t) {
            return r("jQuery.fn." + n + "() event shorthand is deprecated"), arguments.length > 0 ? this.on(n, null, e, t) : this.trigger(n);
        };
    }), e(function() {
        e(t.document).triggerHandler("ready");
    }), e.event.special.ready = {
        setup: function() {
            this === t.document && r("'ready' event is deprecated");
        }
    }, e.fn.extend({
        bind: function(e, t, n) {
            return r("jQuery.fn.bind() is deprecated"), this.on(e, null, t, n);
        },
        unbind: function(e, t) {
            return r("jQuery.fn.unbind() is deprecated"), this.off(e, null, t);
        },
        delegate: function(e, t, n, a) {
            return r("jQuery.fn.delegate() is deprecated"), this.on(t, e, n, a);
        },
        undelegate: function(e, t, n) {
            return r("jQuery.fn.undelegate() is deprecated"), 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n);
        },
        hover: function(e, t) {
            return r("jQuery.fn.hover() is deprecated"), this.on("mouseenter", e).on("mouseleave", t || e);
        }
    });
    var x = e.fn.offset;
    e.fn.offset = function() {
        var n, a = this[0], o = {
            top: 0,
            left: 0
        };
        return a && a.nodeType ? (n = (a.ownerDocument || t.document).documentElement, e.contains(n, a) ? x.apply(this, arguments) : (r("jQuery.fn.offset() requires an element connected to a document"),
            o)) : (r("jQuery.fn.offset() requires a valid DOM element"), o);
    };
    var k = e.param;
    e.param = function(t, n) {
        var a = e.ajaxSettings && e.ajaxSettings.traditional;
        return void 0 === n && a && (r("jQuery.param() no longer uses jQuery.ajaxSettings.traditional"),
            n = a), k.call(this, t, n);
    };
    var A = e.fn.andSelf || e.fn.addBack;
    e.fn.andSelf = function() {
        return r("jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()"),
            A.apply(this, arguments);
    };
    var S = e.Deferred, q = [ [ "resolve", "done", e.Callbacks("once memory"), e.Callbacks("once memory"), "resolved" ], [ "reject", "fail", e.Callbacks("once memory"), e.Callbacks("once memory"), "rejected" ], [ "notify", "progress", e.Callbacks("memory"), e.Callbacks("memory") ] ];
    return e.Deferred = function(t) {
        var n = S(), a = n.promise();
        return n.pipe = a.pipe = function() {
            var t = arguments;
            return r("deferred.pipe() is deprecated"), e.Deferred(function(r) {
                e.each(q, function(o, i) {
                    var s = e.isFunction(t[o]) && t[o];
                    n[i[1]](function() {
                        var t = s && s.apply(this, arguments);
                        t && e.isFunction(t.promise) ? t.promise().done(r.resolve).fail(r.reject).progress(r.notify) : r[i[0] + "With"](this === a ? r.promise() : this, s ? [ t ] : arguments);
                    });
                }), t = null;
            }).promise();
        }, t && t.call(n, n), n;
    }, e.Deferred.exceptionHook = S.exceptionHook, e;
});
(function(e,f){if(typeof(Wicket)==="undefined"){window.Wicket={}}if(typeof(Wicket.Head)==="object"){return}var d=function(g){return(typeof(g)==="undefined"||g===null)};var c=function(){var g=Wicket.Ajax.baseUrl||".";return g};var a=function(h){var g=[],i;if(h&&h.length){for(i=0;i<h.length;i++){g.push(h.item(i))}}return g};var b=function(g){this.functions=g;this.current=0;this.depth=0;this.processNext=function(){if(this.current<this.functions.length){var h,i;h=this.functions[this.current];i=function(){try{var l=e.proxy(this.notify,this);return h(l)}catch(k){Wicket.Log.error("FunctionsExecuter.processNext:",k);return b.FAIL}};i=e.proxy(i,this);this.current++;if(this.depth>b.DEPTH_LIMIT){this.depth=0;window.setTimeout(i,1)}else{var j=i();if(d(j)||j===b.ASYNC){this.depth++}return j}}};this.start=function(){var h=b.DONE;while(h===b.DONE){h=this.processNext()}};this.notify=function(){this.start()}};b.DONE=1;b.FAIL=2;b.ASYNC=3;b.DEPTH_LIMIT=1000;Wicket.Class={create:function(){return function(){this.initialize.apply(this,arguments)}}};Wicket.Log={enabled:false,log:function(){if(Wicket.Log.enabled&&typeof(console)!=="undefined"&&typeof(console.log)==="function"){console.log.apply(console,arguments)}},debug:function(){if(Wicket.Log.enabled&&typeof(console)!=="undefined"&&typeof(console.debug)==="function"){console.debug.apply(console,arguments)}},info:function(){if(Wicket.Log.enabled&&typeof(console)!=="undefined"&&typeof(console.info)==="function"){console.info.apply(console,arguments)}},warn:function(){if(Wicket.Log.enabled&&typeof(console)!=="undefined"&&typeof(console.warn)==="function"){console.warn.apply(console,arguments)}},error:function(){if(Wicket.Log.enabled&&typeof(console)!=="undefined"&&typeof(console.error)==="function"){console.error.apply(console,arguments)}}};Wicket.Channel=Wicket.Class.create();Wicket.Channel.prototype={initialize:function(g){g=g||"0|s";var h=g.match(/^([^|]+)\|(d|s|a)$/);if(d(h)){this.name="0";this.type="s"}else{this.name=h[1];this.type=h[2]}this.callbacks=[];this.busy=false},schedule:function(i){if(this.busy===false){this.busy=true;try{return i()}catch(h){this.busy=false;Wicket.Log.error("An error occurred while executing Ajax request:",h)}}else{var g="Channel '"+this.name+"' is busy";if(this.type==="s"){Wicket.Log.info("%s - scheduling the callback to be executed when the previous request finish.",g);this.callbacks.push(i)}else{if(this.type==="d"){Wicket.Log.info("%s - dropping all previous scheduled callbacks and scheduling a new one to be executed when the current request finish.",g);this.callbacks=[];this.callbacks.push(i)}else{if(this.type==="a"){Wicket.Log.info("%s - ignoring the Ajax call because there is a running request.",g)}}}return null}},done:function(){var g=null;if(this.callbacks.length>0){g=this.callbacks.shift()}if(g!==null&&typeof(g)!=="undefined"){Wicket.Log.info("Calling postponed function...");window.setTimeout(g,1)}else{this.busy=false}}};Wicket.ChannelManager=Wicket.Class.create();Wicket.ChannelManager.prototype={initialize:function(){this.channels={}},schedule:function(h,j){var g=new Wicket.Channel(h);var i=this.channels[g.name];if(d(i)){i=g;this.channels[i.name]=i}else{i.type=g.type}return i.schedule(j)},done:function(h){var g=new Wicket.Channel(h);var i=this.channels[g.name];if(!d(i)){i.done();if(!i.busy){delete this.channels[g.name]}}}};Wicket.ChannelManager.FunctionsExecuter=b;Wicket.Ajax={};Wicket.Ajax.Call=Wicket.Class.create();Wicket.Ajax._currentSuspension=f;Wicket.Ajax.suspendCall=function(){var g=Wicket.Ajax._currentSuspension;if(g===f){Wicket.Log.error("Can't suspend: no Ajax call in process");return}g.suspend();return function(){if(g!==null){g.release();g=null}}};Wicket.Ajax.Call.prototype={initialize:e.noop,_initializeDefaults:function(g){if(typeof(g.ch)!=="string"){g.ch="0|s"}if(typeof(g.wr)!=="boolean"){g.wr=true}if(typeof(g.dt)!=="string"){g.dt="xml"}if(typeof(g.m)!=="string"){g.m="GET"}if(g.async!==false){g.async=true}if(!e.isNumeric(g.rt)){g.rt=0}if(g.pd!==true){g.pd=false}if(!g.sp){g.sp="bubble"}if(!g.sr){g.sr=false}},_getTarget:function(g){var h;if(g.event){h=g.event.target}else{if(!e.isWindow(g.c)){h=Wicket.$(g.c)}else{h=window}}return h},_executeHandlers:function(g){if(e.isArray(g)){var j=Array.prototype.slice.call(arguments).slice(1);var h=j[0];var m=this._getTarget(h);for(var k=0;k<g.length;k++){var l=g[k];if(e.isFunction(l)){l.apply(m,j)}else{new Function(l).apply(m,j)}}}},_asParamArray:function(k){var g=[],l,h;if(e.isArray(k)){g=k}else{if(e.isPlainObject(k)){for(h in k){if(h&&k.hasOwnProperty(h)){l=k[h];g.push({name:h,value:l})}}}}for(var j=0;j<g.length;j++){if(g[j]===null){g.splice(j,1);j--}}return g},_calculateDynamicParameters:function(h){var m=h.dep,l=[];for(var j=0;j<m.length;j++){var k=m[j],g;if(e.isFunction(k)){g=k(h)}else{g=new Function("attrs",k)(h)}g=this._asParamArray(g);l=l.concat(g)}return l},ajax:function(g){this._initializeDefaults(g);var h=Wicket.channelManager.schedule(g.ch,Wicket.bind(function(){this.doAjax(g)},this));return h!==null?h:true},_isPresent:function(h){if(d(h)){return true}var g=Wicket.$(h);if(d(g)){return false}return(!g.hasAttribute||!g.hasAttribute("data-wicket-placeholder"))},doAjax:function(y){var j={"Wicket-Ajax":"true","Wicket-Ajax-BaseURL":c()},m=y.u,F=this._asParamArray(y.ep),v=this,o=[function(i){return v._isPresent(i.c)&&v._isPresent(i.f)}],k={attrs:y,steps:[]},q=Wicket.Event,A=q.Topic;if(Wicket.Focus.lastFocusId){j["Wicket-FocusedElementId"]=Wicket.Form.encode(Wicket.Focus.lastFocusId)}v._executeHandlers(y.bh,y);q.publish(A.AJAX_CALL_BEFORE,y);var C=y.pre||[];C=o.concat(C);if(e.isArray(C)){var n=this._getTarget(y);for(var w=0;w<C.length;w++){var x=C[w];var u;if(e.isFunction(x)){u=x.call(n,y)}else{u=new Function(x).call(n,y)}if(u===false){Wicket.Log.info("Ajax request stopped because of precondition check, url: %s",y.u);v.done(y);return false}}}q.publish(A.AJAX_CALL_PRECONDITION,y);if(y.f){var h=Wicket.$(y.f);F=F.concat(Wicket.Form.serializeForm(h));if(y.sc){var t=y.sc;F=F.concat({name:t,value:1})}}else{if(y.c&&!e.isWindow(y.c)){var g=Wicket.$(y.c);F=F.concat(Wicket.Form.serializeElement(g,y.sr))}}if(e.isArray(y.dep)){var E=this._calculateDynamicParameters(y);if(y.m.toLowerCase()==="post"){F=F.concat(E)}else{var l=m.indexOf("?")>-1?"&":"?";m=m+l+e.param(E)}}var s;if(y.mp){try{var B=new FormData();for(var D=0;D<F.length;D++){B.append(F[D].name,F[D].value||"")}F=B;s=false}catch(r){Wicket.Log.error("Ajax multipart not supported:",r)}}Wicket.Log.info("Executing Ajax request");Wicket.Log.debug(y);var z=e.ajax({url:m,type:y.m,context:v,processData:s,contentType:s,beforeSend:function(p,i){v._executeHandlers(y.bsh,y,p,i);q.publish(A.AJAX_CALL_BEFORE_SEND,y,p,i);if(y.i){Wicket.DOM.showIncrementally(y.i)}},data:F,dataType:y.dt,async:y.async,timeout:y.rt,cache:false,headers:j,success:function(p,G,i){if(y.wr){v.processAjaxResponse(p,G,i,k)}else{v._executeHandlers(y.sh,y,i,p,G);q.publish(A.AJAX_CALL_SUCCESS,y,i,p,G)}},error:function(p,G,i){if(p.status===301&&p.getResponseHeader("Ajax-Location")){v.processAjaxResponse(F,G,p,k)}else{v.failure(k,p,i,G)}},complete:function(p,G){k.steps.push(e.proxy(function(H){if(y.i&&k.isRedirecting!==true){Wicket.DOM.hideIncrementally(y.i)}v._executeHandlers(y.coh,y,p,G);q.publish(A.AJAX_CALL_COMPLETE,y,p,G);v.done(y);return b.DONE},v));var i=new b(k.steps);i.start()}});v._executeHandlers(y.ah,y);q.publish(A.AJAX_CALL_AFTER,y);return z},process:function(i){var h={attrs:{},steps:[]};var j=Wicket.Xml.parse(i);this.loadedCallback(j,h);var g=new b(h.steps);g.start()},processAjaxResponse:function(o,k,q,h){if(q.readyState===4){var g;try{g=q.getResponseHeader("Ajax-Location")}catch(p){}if(typeof(g)!=="undefined"&&g!==null&&g!==""){this.success(h);var m=/^[a-z][a-z0-9+.-]*:\/\//;if(g.charAt(0)==="/"||m.test(g)){h.isRedirecting=true;Wicket.Ajax.redirect(g)}else{var j=0;while(g.substring(0,3)==="../"){j++;g=g.substring(3)}var l=window.location.pathname;while(j>-1){j--;var n=l.lastIndexOf("/");if(n>-1){l=l.substring(0,n)}}l+="/"+g;h.isRedirecting=true;Wicket.Ajax.redirect(l)}}else{Wicket.Log.info("Received ajax response (%s characters)",q.responseText.length);Wicket.Log.debug(q.responseXML);return this.loadedCallback(o,h)}}},loadedCallback:function(o,j){try{var q=o.getElementsByTagName("ajax-response")[0];if(d(q)||q.tagName!=="ajax-response"){this.failure(j,null,"Could not find root <ajax-response> element",null);return}var p=j.steps;for(var m=0;m<q.childNodes.length;++m){var g=q.childNodes[m];if(g.tagName==="header-contribution"){this.processHeaderContribution(j,g)}else{if(g.tagName==="priority-evaluate"){this.processHeaderContribution(j,g)}}}var h=-1;for(var n=0;n<q.childNodes.length;++n){var l=q.childNodes[n];if(l.tagName==="component"){if(h===-1){this.processFocusedComponentMark(j)}h=p.length;this.processComponent(j,l)}else{if(l.tagName==="evaluate"){this.processHeaderContribution(j,l)}else{if(l.tagName==="redirect"){this.processRedirect(j,l)}}}}if(h!==-1){this.processFocusedComponentReplaceCheck(p,h)}this.success(j)}catch(k){this.failure(j,null,k,null)}},success:function(g){g.steps.push(e.proxy(function(i){Wicket.Log.info("Response processed successfully.");var h=g.attrs;this._executeHandlers(h.sh,h,null,null,"success");Wicket.Event.publish(Wicket.Event.Topic.AJAX_CALL_SUCCESS,h,null,null,"success");Wicket.Focus.requestFocus();return b.DONE},this))},failure:function(h,i,g,j){h.steps.push(e.proxy(function(l){if(g){Wicket.Log.error("Wicket.Ajax.Call.failure: Error while parsing response: %s",g)}var k=h.attrs;this._executeHandlers(k.fh,k,i,g,j);Wicket.Event.publish(Wicket.Event.Topic.AJAX_CALL_FAILURE,k,i,g,j);return b.DONE},this))},done:function(g){this._executeHandlers(g.dh,g);Wicket.Event.publish(Wicket.Event.Topic.AJAX_CALL_DONE,g);Wicket.channelManager.done(g.ch)},processComponent:function(g,h){g.steps.push(function(k){var j=h.getAttribute("id");var i=Wicket.$(j);if(d(i)){Wicket.Log.error("Wicket.Ajax.Call.processComponent: Component with id '%s' was not found while trying to perform markup update. Make sure you called component.setOutputMarkupId(true) on the component whose markup you are trying to update.",j)}else{var l=Wicket.DOM.text(h);Wicket.DOM.replace(i,l)}return b.DONE})},processHeaderContribution:function(g,h){var i=Wicket.Head.Contributor;i.processContribution(g,h)},processRedirect:function(g,h){var i=Wicket.DOM.text(h);Wicket.Log.info("Redirecting to: %s",i);g.isRedirecting=true;Wicket.Ajax.redirect(i)},processFocusedComponentMark:function(g){g.steps.push(function(h){Wicket.Focus.markFocusedComponent();return b.DONE})},processFocusedComponentReplaceCheck:function(g,h){g.splice(h+1,0,function(i){Wicket.Focus.checkFocusedComponentReplaced();return b.DONE})}};Wicket.ThrottlerEntry=Wicket.Class.create();Wicket.ThrottlerEntry.prototype={initialize:function(g){this.func=g;this.timestamp=new Date().getTime();this.timeoutVar=f},getTimestamp:function(){return this.timestamp},getFunc:function(){return this.func},setFunc:function(g){this.func=g},getTimeoutVar:function(){return this.timeoutVar},setTimeoutVar:function(g){this.timeoutVar=g}};Wicket.Throttler=Wicket.Class.create();Wicket.Throttler.entries=[];Wicket.Throttler.prototype={initialize:function(g){this.postponeTimerOnUpdate=g},throttle:function(l,h,k){var g=Wicket.Throttler.entries;var j=g[l];var i=this;if(typeof(j)==="undefined"){j=new Wicket.ThrottlerEntry(k);j.setTimeoutVar(window.setTimeout(function(){i.execute(l)},h));g[l]=j}else{j.setFunc(k);if(this.postponeTimerOnUpdate){window.clearTimeout(j.getTimeoutVar());j.setTimeoutVar(window.setTimeout(function(){i.execute(l)},h))}}},execute:function(j){var g=Wicket.Throttler.entries;var i=g[j];if(typeof(i)!=="undefined"){var h=i.getFunc();g[j]=f;return h()}}};e.extend(true,Wicket,{channelManager:new Wicket.ChannelManager(),throttler:new Wicket.Throttler(),$:function(g){return Wicket.DOM.get(g)},$$:function(g){return Wicket.DOM.inDoc(g)},merge:function(h,g){return e.extend({},h,g)},bind:function(h,g){return e.proxy(h,g)},Xml:{parse:function(h){var i=new DOMParser();var g=i.parseFromString(h,"text/xml");return g}},Form:{encode:function(g){if(window.encodeURIComponent){return window.encodeURIComponent(g)}else{return window.escape(g)}},serializeSelect:function(h){var g=[];if(h){var l=e(h);if(l.length>0&&l.prop("disabled")===false){var k=l.prop("name");var j=l.val();if(e.isArray(j)){for(var i=0;i<j.length;i++){var m=j[i];g.push({name:k,value:m})}}else{g.push({name:k,value:j})}}}return g},serializeInput:function(h){var g=[];if(h&&h.type){var j=e(h);if(h.type==="file"){for(var i=0;i<h.files.length;i++){g.push({name:h.name,value:h.files[i]})}}else{if(!(h.type==="image"||h.type==="submit")){g=j.serializeArray()}}}return g},excludeFromAjaxSerialization:{},serializeElement:function(l,k){if(!l){return[]}else{if(typeof(l)==="string"){l=Wicket.$(l)}}if(Wicket.Form.excludeFromAjaxSerialization&&l.id&&Wicket.Form.excludeFromAjaxSerialization[l.id]==="true"){return[]}var h=l.tagName.toLowerCase();if(h==="select"){return Wicket.Form.serializeSelect(l)}else{if(h==="input"||h==="textarea"){return Wicket.Form.serializeInput(l)}else{var g=[];if(k){var n=a(l.getElementsByTagName("input"));n=n.concat(a(l.getElementsByTagName("select")));n=n.concat(a(l.getElementsByTagName("textarea")));for(var j=0;j<n.length;++j){var m=n[j];if(m.name&&m.name!==""){g=g.concat(Wicket.Form.serializeElement(m,k))}}}return g}}},serializeForm:function(k){var g=[],l;if(k){if(k.tagName.toLowerCase()==="form"){l=k.elements}else{do{k=k.parentNode}while(k.tagName.toLowerCase()!=="form"&&k.tagName.toLowerCase()!=="body");l=a(k.getElementsByTagName("input"));l=l.concat(a(k.getElementsByTagName("select")));l=l.concat(a(k.getElementsByTagName("textarea")))}}for(var h=0;h<l.length;++h){var j=l[h];if(j.name&&j.name!==""){g=g.concat(Wicket.Form.serializeElement(j,false))}}return g},serialize:function(i,h){if(typeof(i)==="string"){i=Wicket.$(i)}if(i.tagName.toLowerCase()==="form"){return Wicket.Form.serializeForm(i)}else{var l=i;if(h!==true){do{i=i.parentNode}while(i.tagName.toLowerCase()!=="form"&&i.tagName.toLowerCase()!=="body")}if(i.tagName.toLowerCase()==="form"){return Wicket.Form.serializeForm(i)}else{var k=document.createElement("form");var j=l.parentNode;j.replaceChild(k,l);k.appendChild(l);var g=Wicket.Form.serializeForm(k);j.replaceChild(l,k);return g}}}},DOM:{show:function(h,g){h=Wicket.$(h);if(h!==null){if(d(g)){e(h).show()}else{h.style.display=g}}},hide:function(g){g=Wicket.$(g);if(g!==null){e(g).hide()}},toggleClass:function(i,g,h){e("#"+i).toggleClass(g,h)},showIncrementally:function(h){h=Wicket.$(h);if(h===null){return}var g=h.getAttribute("showIncrementallyCount");g=parseInt(d(g)?0:g,10);if(g>=0){Wicket.DOM.show(h)}h.setAttribute("showIncrementallyCount",g+1)},hideIncrementally:function(h){h=Wicket.$(h);if(h===null){return}var g=h.getAttribute("showIncrementallyCount");g=parseInt(d(g)?0:g-1,10);if(g<=0){Wicket.DOM.hide(h)}h.setAttribute("showIncrementallyCount",g)},get:function(g){if(d(g)){return null}if(arguments.length>1){var j=[];for(var h=0;h<arguments.length;h++){j.push(Wicket.DOM.get(arguments[h]))}return j}else{if(typeof g==="string"){return document.getElementById(g)}else{return g}}},inDoc:function(g){if(g===window){return true}if(typeof(g)==="string"){g=Wicket.$(g)}if(d(g)||d(g.tagName)){return false}var h=g.getAttribute("id");if(d(h)||h===""){return g.ownerDocument===document}else{return document.getElementById(h)===g}},replace:function(j,m){var i=Wicket.Event;var h=i.Topic;i.publish(h.DOM_NODE_REMOVING,j);if(j.tagName.toLowerCase()==="title"){var g=/>(.*?)</.exec(m)[1];document.title=g;return}else{var k=e.trim(m);var l=e(k);e(j).replaceWith(l)}var n=Wicket.$(j.id);if(n){i.publish(h.DOM_NODE_ADDED,n)}},add:function(i,l){var h=Wicket.Event;var g=h.Topic;var j=e.trim(l);var k=e(j);e(i).append(k);var m=Wicket.$(i.id);if(m){h.publish(g.DOM_NODE_ADDED,m)}},remove:function(i){var h=Wicket.Event;var g=h.Topic;h.publish(g.DOM_NODE_REMOVING,i);e(i).remove()},serializeNodeChildren:function(k){if(d(k)){return""}var g=[];if(k.childNodes.length>0){for(var j=0;j<k.childNodes.length;j++){var h=k.childNodes[j];switch(h.nodeType){case 1:case 5:g.push(this.serializeNode(h));break;case 8:g.push("<!--");g.push(h.nodeValue);g.push("-->");break;case 4:g.push("<![CDATA[");g.push(h.nodeValue);g.push("]]>");break;case 3:case 2:g.push(h.nodeValue);break;default:break}}}else{g.push(k.textContent||k.text)}return g.join("")},serializeNode:function(j){if(d(j)){return""}var g=[];g.push("<");g.push(j.nodeName);if(j.attributes&&j.attributes.length>0){for(var h=0;h<j.attributes.length;h++){if(j.attributes[h].nodeValue&&j.attributes[h].specified){g.push(" ");g.push(j.attributes[h].name);g.push('="');g.push(j.attributes[h].value);g.push('"')}}}g.push(">");g.push(Wicket.DOM.serializeNodeChildren(j));g.push("</");g.push(j.nodeName);g.push(">");return g.join("")},containsElement:function(g){var h=g.getAttribute("id");if(h){return Wicket.$(h)!==null}else{return false}},text:function(k){if(d(k)){return""}var g=[];if(k.childNodes.length>0){for(var j=0;j<k.childNodes.length;j++){var h=k.childNodes[j];switch(h.nodeType){case 1:case 5:g.push(this.text(h));break;case 3:case 4:g.push(h.nodeValue);break;default:break}}}else{g.push(k.textContent||k.text)}return g.join("")}},Ajax:{Call:Wicket.Ajax.Call,_handleEventCancelation:function(h){var g=h.event;if(g){if(h.pd){try{g.preventDefault()}catch(i){}}if(h.sp==="stop"){Wicket.Event.stop(g)}else{if(h.sp==="stopImmediate"){Wicket.Event.stop(g,true)}}}},get:function(g){g.m="GET";return Wicket.Ajax.ajax(g)},post:function(g){g.m="POST";return Wicket.Ajax.ajax(g)},ajax:function(g){g.c=g.c||window;g.e=g.e||["domready"];if(!e.isArray(g.e)){g.e=[g.e]}e.each(g.e,function(h,i){Wicket.Event.add(g.c,i,function(l,n){var m=new Wicket.Ajax.Call();var k=e.extend({},g);if(i!=="domready"){k.event=Wicket.Event.fix(l);if(n){k.event.extraData=n}}m._executeHandlers(k.ih,k);Wicket.Event.publish(Wicket.Event.Topic.AJAX_CALL_INIT,k);var o=k.tr;if(o){var j=o.p||false;var p=new Wicket.Throttler(j);p.throttle(o.id,o.d,Wicket.bind(function(){m.ajax(k)},this))}else{m.ajax(k)}if(i!=="domready"){Wicket.Ajax._handleEventCancelation(k)}},null,g.sel)})},process:function(h){var g=new Wicket.Ajax.Call();g.process(h)},redirect:function(g){window.location=g}},Head:{Contributor:{parse:function(h){var i=Wicket.DOM.text(h);var g=Wicket.Xml.parse(i);return g},_checkParserError:function(h){var g=false;if(!d(h.tagName)&&h.tagName.toLowerCase()==="parsererror"){Wicket.Log.error("Error in parsing: %s",h.textContent);g=true}return g},processContribution:function(k,p){var q=this.parse(p);var l=q.documentElement;if(this._checkParserError(l)){return}for(var o=0;o<l.childNodes.length;o++){var m=l.childNodes[o];if(this._checkParserError(m)){return}if(!d(m.tagName)){var h=m.tagName.toLowerCase();if(h==="wicket:link"){for(var n=0;n<m.childNodes.length;++n){var g=m.childNodes[n];if(g.nodeType===1){m=g;h=m.tagName.toLowerCase();break}}}if(h==="link"){this.processLink(k,m)}else{if(h==="script"){this.processScript(k,m)}else{if(h==="style"){this.processStyle(k,m)}else{if(h==="meta"){this.processMeta(k,m)}}}}}else{if(m.nodeType===8){this.processComment(k,m)}}}},processLink:function(g,h){g.steps.push(function(m){var l=Wicket.Head.containsElement(h,"href");var o=l.oldNode;if(l.contains){return b.DONE}else{if(o){o.parentNode.removeChild(o)}}var k=Wicket.Head.createElement("link");var i=e(h).prop("attributes");var n=e(k);e.each(i,function(){n.attr(this.name,this.value)});var p=false;function j(){if(!p){p=true;m()}}k.onerror=j;k.onload=j;Wicket.Head.addElement(k);return b.ASYNC})},processStyle:function(g,h){g.steps.push(function(i){if(Wicket.DOM.containsElement(h)){return b.DONE}var k=Wicket.DOM.serializeNodeChildren(h);var j=Wicket.Head.createElement("style");j.id=h.getAttribute("id");j.nonce=h.getAttribute("nonce");var l=document.createTextNode(k);j.appendChild(l);Wicket.Head.addElement(j);return b.DONE})},processScript:function(g,h){g.steps.push(function(s){if(!h.getAttribute("src")&&Wicket.DOM.containsElement(h)){return b.DONE}else{var o=Wicket.Head.containsElement(h,"src");var l=o.oldNode;if(o.contains){return b.DONE}else{if(l){l.parentNode.removeChild(l)}}}var m=document.createElement("script");var q=h.attributes;for(var p=0;p<q.length;p++){var n=q[p];m[n.name]=n.value}var i=h.getAttribute("src");if(i!==null&&i!==""){var u=function(){s()};if(typeof(m.onload)!=="undefined"){m.onload=u}else{if(typeof(m.onreadystatechange)!=="undefined"){m.onreadystatechange=function(){if(m.readyState==="loaded"||m.readyState==="complete"){u()}}}else{window.setTimeout(u,10)}}Wicket.Head.addElement(m);return b.ASYNC}else{var t={suspended:0,suspend:function(){t.suspended++},release:function(){t.suspended--;if(t.suspended===0){s()}}};var r=Wicket.DOM.serializeNodeChildren(h);r=r.replace(/^\n\/\*<!\[CDATA\[\*\/\n/,"");r=r.replace(/\n\/\*\]\]>\*\/\n$/,"");try{Wicket.Ajax._currentSuspension=t;m.innerHTML=r;var j=h.getAttribute("id");Wicket.Head.addElement(m,typeof(j)!=="string"||j.length===0)}catch(k){Wicket.Log.error("Ajax.Call.processEvaluation: Exception evaluating javascript: %s",r,k)}finally{Wicket.Ajax.currentSuspension=f}if(t.suspended===0){return b.DONE}else{return b.ASYNC}}})},processMeta:function(g,h){g.steps.push(function(m){var n=Wicket.Head.createElement("meta"),l=e(n),k=e(h).prop("attributes"),j=h.getAttribute("name"),i=h.getAttribute("http-equiv");if(j){e('meta[name="'+j+'"]').remove()}else{if(i){e('meta[http-equiv="'+i+'"]').remove()}}e.each(k,function(){l.attr(this.name,this.value)});Wicket.Head.addElement(n);return b.DONE})},processComment:function(g,h){g.steps.push(function(i){var j=document.createComment(h.nodeValue);Wicket.Head.addElement(j);return b.DONE})}},createElement:function(g){if(d(g)||g===""){Wicket.Log.error("Cannot create an element without a name");return}return document.createElement(g)},addElement:function(i,g){var j=document.querySelector('head meta[name="wicket.header.items"]');if(j){j.parentNode.insertBefore(i,j)}else{var h=document.querySelector("head");if(h){h.appendChild(i)}}if(g){i.parentNode.removeChild(i)}},containsElement:function(l,k){var q=l.getAttribute(k);if(d(q)||q===""){return{contains:false}}var p=l.tagName.toLowerCase();var n=l.getAttribute("id");var r=document.getElementsByTagName("head")[0];if(p==="script"){r=document}var g=r.getElementsByTagName(p);for(var m=0;m<g.length;++m){var h=g[m];if(h.tagName.toLowerCase()===p){var j=h.getAttribute(k);var o=h.getAttribute(k+"_");if(j===q||o===q){return{contains:true}}else{if(n&&n===h.getAttribute("id")){return{contains:false,oldNode:h}}}}}return{contains:false}}},Focus:{lastFocusId:"",refocusLastFocusedComponentAfterResponse:false,focusSetFromServer:false,focusin:function(h){h=Wicket.Event.fix(h);var i=h.target;if(i){var g=Wicket.Focus;g.refocusLastFocusedComponentAfterResponse=false;var j=i.id;g.lastFocusId=j;Wicket.Log.info("focus set on '%s'",j)}},focusout:function(h){h=Wicket.Event.fix(h);var i=h.target;var g=Wicket.Focus;if(i&&g.lastFocusId===i.id){var j=i.id;if(g.refocusLastFocusedComponentAfterResponse){Wicket.Log.info("focus removed from '%s' but ignored because of component replacement",j)}else{g.lastFocusId=null;Wicket.Log.info("focus removed from '%s'",j)}}},getFocusedElement:function(){var g=Wicket.Focus.lastFocusId;if(g){var h=Wicket.$(g);Wicket.Log.info("returned focused element:",h);return h}},setFocusOnId:function(h){var g=Wicket.Focus;if(h){g.refocusLastFocusedComponentAfterResponse=true;g.focusSetFromServer=true;g.lastFocusId=h;Wicket.Log.info("focus set on '%s' from server side",h)}else{g.refocusLastFocusedComponentAfterResponse=false;Wicket.Log.info("refocus focused component after request stopped from server side")}},markFocusedComponent:function(){var g=Wicket.Focus;var h=g.getFocusedElement();if(h){h.wasFocusedBeforeComponentReplacements=true;g.refocusLastFocusedComponentAfterResponse=true;g.focusSetFromServer=false}else{g.refocusLastFocusedComponentAfterResponse=false}},checkFocusedComponentReplaced:function(){var g=Wicket.Focus;if(g.refocusLastFocusedComponentAfterResponse){var h=g.getFocusedElement();if(h){if(typeof(h.wasFocusedBeforeComponentReplacements)!=="undefined"){g.refocusLastFocusedComponentAfterResponse=false}}else{g.refocusLastFocusedComponentAfterResponse=false;g.lastFocusId=""}}},requestFocus:function(){var i=Wicket.Focus;if(i.refocusLastFocusedComponentAfterResponse&&i.lastFocusId){var j=Wicket.$(i.lastFocusId);if(j){Wicket.Log.info("Calling focus on '%s'",i.lastFocusId);var h=function(){try{j.focus()}catch(k){}};if(i.focusSetFromServer){window.setTimeout(h,0)}else{var g=j.onfocus;j.onfocus=null;window.setTimeout(function(){h();j.onfocus=g},0)}}else{i.lastFocusId="";Wicket.Log.info("Couldn't set focus on element with id '%s' because it is not in the page anymore",i.lastFocusId)}}else{if(i.refocusLastFocusedComponentAfterResponse){Wicket.Log.info("last focus id was not set")}else{Wicket.Log.info("refocus last focused component not needed/allowed")}}Wicket.Focus.refocusLastFocusedComponentAfterResponse=false}},Timer:{set:function(g,i,h){if(typeof(Wicket.TimerHandles)==="undefined"){Wicket.TimerHandles={}}Wicket.Timer.clear(g);Wicket.TimerHandles[g]=setTimeout(function(){Wicket.Timer.clear(g);i()},h)},clear:function(g){if(Wicket.TimerHandles&&Wicket.TimerHandles[g]){clearTimeout(Wicket.TimerHandles[g]);delete Wicket.TimerHandles[g]}},clearAll:function(){var g=Wicket.TimerHandles;if(g){for(var h in g){if(g.hasOwnProperty(h)){Wicket.Timer.clear(h)}}}}},Event:{idCounter:0,getId:function(h){var g=e(h),i=g.prop("id");if(typeof(i)==="string"&&i.length>0){return i}else{i="wicket-generated-id-"+Wicket.Event.idCounter++;g.prop("id",i);return i}},keyCode:function(g){return Wicket.Event.fix(g).keyCode},stop:function(g,h){g=Wicket.Event.fix(g);if(h){g.stopImmediatePropagation()}else{g.stopPropagation()}return g},fix:function(g){return e.event.fix(g||window.event)},fire:function(g,h){e(g).trigger(h)},add:function(h,k,j,l,g){if(k==="domready"){e(j)}else{if(k==="load"&&h===window){e(window).on("load",function(){e(j)})}else{var i=h;if(typeof(h)==="string"){i=document.getElementById(h)}if(!i&&Wicket.Log){Wicket.Log.error("Cannot bind a listener for event '%s' because the element is not in the DOM",k,h)}e(i).on(k,g,l,j)}}return h},remove:function(g,i,h){e(g).off(i,h)},subscribe:function(g,h){if(g){e(document).on(g,h)}},unsubscribe:function(g,h){if(g){if(h){e(document).off(g,h)}else{e(document).off(g)}}else{e(document).off()}},publish:function(h){if(h){var g=Array.prototype.slice.call(arguments).slice(1);e(document).triggerHandler(h,g);e(document).triggerHandler("*",g)}},Topic:{DOM_NODE_REMOVING:"/dom/node/removing",DOM_NODE_ADDED:"/dom/node/added",AJAX_CALL_INIT:"/ajax/call/init",AJAX_CALL_BEFORE:"/ajax/call/before",AJAX_CALL_PRECONDITION:"/ajax/call/precondition",AJAX_CALL_BEFORE_SEND:"/ajax/call/beforeSend",AJAX_CALL_SUCCESS:"/ajax/call/success",AJAX_CALL_COMPLETE:"/ajax/call/complete",AJAX_CALL_AFTER:"/ajax/call/after",AJAX_CALL_FAILURE:"/ajax/call/failure",AJAX_CALL_DONE:"/ajax/call/done",AJAX_HANDLERS_BOUND:"/ajax/handlers/bound"}}});Wicket.Event.add(window,"focusin",Wicket.Focus.focusin);Wicket.Event.add(window,"focusout",Wicket.Focus.focusout);Wicket.Event.add(window,"unload",function(){Wicket.Timer.clearAll()})})(jQuery);/**
* Bootstrap.js by @fat & @mdo
* plugins: bootstrap-transition.js, bootstrap-modal.js, bootstrap-dropdown.js, bootstrap-scrollspy.js, bootstrap-tab.js, bootstrap-tooltip.js, bootstrap-popover.js, bootstrap-affix.js, bootstrap-alert.js, bootstrap-button.js, bootstrap-collapse.js, bootstrap-carousel.js, bootstrap-typeahead.js
* Copyright 2012 Twitter, Inc.
* http://www.apache.org/licenses/LICENSE-2.0.txt
*/
!function(a){a(function(){a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery),!function(a){var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in").attr("aria-hidden",!1),b.enforceFocus(),c?b.$element.one(a.support.transition.end,function(){b.$element.focus().trigger("shown")}):b.$element.focus().trigger("shown")})},hide:function(b){b&&b.preventDefault();var c=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,this.escape(),a(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),a.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var b=this;a(document).on("focusin.modal",function(a){b.$element[0]!==a.target&&!b.$element.has(a.target).length&&b.$element.focus()})},escape:function(){var a=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(b){b.which==27&&a.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),b.hideModal()},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),b.hideModal()})},hideModal:function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?a.proxy(this.$element[0].focus,this.$element[0]):a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!b)return;e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b):b()):b&&b()}};var c=a.fn.modal;a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=a.extend({},a.fn.modal.defaults,d.data(),typeof c=="object"&&c);e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():f.show&&e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f).one("hide",function(){c.focus()})})}(window.jQuery),!function(a){function d(){a(".dropdown-backdrop").remove(),a(b).each(function(){e(a(this)).removeClass("open")})}function e(b){var c=b.attr("data-target"),d;c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,"")),d=c&&a(c);if(!d||!d.length)d=b.parent();return d}var b="[data-toggle=dropdown]",c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),f,g;if(c.is(".disabled, :disabled"))return;return f=e(c),g=f.hasClass("open"),d(),g||("ontouchstart"in document.documentElement&&a('<div class="dropdown-backdrop"/>').insertBefore(a(this)).on("click",d),f.toggleClass("open")),c.focus(),!1},keydown:function(c){var d,f,g,h,i,j;if(!/(38|40|27)/.test(c.keyCode))return;d=a(this),c.preventDefault(),c.stopPropagation();if(d.is(".disabled, :disabled"))return;h=e(d),i=h.hasClass("open");if(!i||i&&c.keyCode==27)return c.which==27&&h.find(b).focus(),d.click();f=a("[role=menu] li:not(.divider):visible a",h);if(!f.length)return;j=f.index(f.filter(":focus")),c.keyCode==38&&j>0&&j--,c.keyCode==40&&j<f.length-1&&j++,~j||(j=0),f.eq(j).focus()}};var f=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=f,this},a(document).on("click.dropdown.data-api",d).on("click.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.dropdown.data-api",b,c.prototype.toggle).on("keydown.dropdown.data-api",b+", [role=menu]",c.prototype.keydown)}(window.jQuery),!function(a){function b(b,c){var d=a.proxy(this.process,this),e=a(b).is("body")?a(window):a(b),f;this.options=a.extend({},a.fn.scrollspy.defaults,c),this.$scrollElement=e.on("scroll.scroll-spy.data-api",d),this.selector=(this.options.target||(f=a(b).attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=a("body"),this.refresh(),this.process()}b.prototype={constructor:b,refresh:function(){var b=this,c;this.offsets=a([]),this.targets=a([]),c=this.$body.find(this.selector).map(function(){var c=a(this),d=c.data("target")||c.attr("href"),e=/^#\w/.test(d)&&a(d);return e&&e.length&&[[e.position().top+(!a.isWindow(b.$scrollElement.get(0))&&b.$scrollElement.scrollTop()),d]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a>=c)return f!=(g=e.last()[0])&&this.activate(g);for(g=d.length;g--;)f!=e[g]&&a>=d[g]&&(!d[g+1]||a<=d[g+1])&&this.activate(e[g])},activate:function(b){var c,d;this.activeTarget=b,a(this.selector).parent(".active").removeClass("active"),d=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',c=a(d).parent("li").addClass("active"),c.parent(".dropdown-menu").length&&(c=c.closest("li.dropdown").addClass("active")),c.trigger("activate")}};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&&c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f,g;d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active:last a")[0],g=a.Event("show",{relatedTarget:e}),b.trigger(g);if(g.isDefaultPrevented())return;f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f,g,h,i;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,g=this.options.trigger.split(" ");for(i=g.length;i--;)h=g[i],h=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):h!="manual"&&(e=h=="hover"?"mouseenter":"focus",f=h=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this)));this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,this.$element.data(),b),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a.fn[this.type].defaults,d={},e;this._options&&a.each(this._options,function(a,b){c[a]!=b&&(d[a]=b)},this),e=a(b.currentTarget)[this.type](d).data(this.type);if(!e.options.delay||!e.options.delay.show)return e.show();clearTimeout(this.timeout),e.hoverState="in",this.timeout=setTimeout(function(){e.hoverState=="in"&&e.show()},e.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var b,c,d,e,f,g,h=a.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(h);if(h.isDefaultPrevented())return;b=this.tip(),this.setContent(),this.options.animation&&b.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,b[0],this.$element[0]):this.options.placement,b.detach().css({top:0,left:0,display:"block"}),this.options.container?b.appendTo(this.options.container):b.insertAfter(this.$element),c=this.getPosition(),d=b[0].offsetWidth,e=b[0].offsetHeight;switch(f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}this.applyPlacement(g,f),this.$element.trigger("shown")}},applyPlacement:function(a,b){var c=this.tip(),d=c[0].offsetWidth,e=c[0].offsetHeight,f,g,h,i;c.offset(a).addClass(b).addClass("in"),f=c[0].offsetWidth,g=c[0].offsetHeight,b=="top"&&g!=e&&(a.top=a.top+e-g,i=!0),b=="bottom"||b=="top"?(h=0,a.left<0&&(h=a.left*-2,a.left=0,c.offset(a),f=c[0].offsetWidth,g=c[0].offsetHeight),this.replaceArrow(h-d+f,f,"left")):this.replaceArrow(g-e,g,"top"),i&&c.offset(a)},replaceArrow:function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function e(){var b=setTimeout(function(){c.off(a.support.transition.end).detach()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.detach()})}var b=this,c=this.tip(),d=a.Event("hide");this.$element.trigger(d);if(d.isDefaultPrevented())return;return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?e():c.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var b=this.$element[0];return a.extend({},typeof b.getBoundingClientRect=="function"?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(b){var c=b?a(b.currentTarget)[this.type](this._options).data(this.type):this;c.tip().hasClass("in")?c.hide():c.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=(typeof c.content=="function"?c.content.call(b[0]):c.content)||b.attr("data-content"),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),!function(a){var b=function(b,c){this.options=a.extend({},a.fn.affix.defaults,c),this.$window=a(window).on("scroll.affix.data-api",a.proxy(this.checkPosition,this)).on("click.affix.data-api",a.proxy(function(){setTimeout(a.proxy(this.checkPosition,this),1)},this)),this.$element=a(b),this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var b=a(document).height(),c=this.$window.scrollTop(),d=this.$element.offset(),e=this.options.offset,f=e.bottom,g=e.top,h="affix affix-top affix-bottom",i;typeof e!="object"&&(f=g=e),typeof g=="function"&&(g=e.top()),typeof f=="function"&&(f=e.bottom()),i=this.unpin!=null&&c+this.unpin<=d.top?!1:f!=null&&d.top+this.$element.height()>=b-f?"bottom":g!=null&&c<=g?"top":!1;if(this.affixed===i)return;this.affixed=i,this.unpin=i=="bottom"?d.top-c:null,this.$element.removeClass(h).addClass("affix"+(i?"-"+i:""))};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("affix"),f=typeof c=="object"&&c;e||d.data("affix",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.defaults={offset:0},a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery),!function(a){var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.alert.data-api",b,c.prototype.close)}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(this.transitioning||this.$element.hasClass("in"))return;b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in");if(d&&d.length){e=d.data("collapse");if(e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),a.support.transition&&this.$element[b](this.$element[0][c])},hide:function(){var b;if(this.transitioning||!this.$element.hasClass("in"))return;b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0)},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[a!==null?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){c.type=="show"&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c);if(c.isDefaultPrevented())return;this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=a.extend({},a.fn.collapse.defaults,d.data(),typeof c=="object"&&c);e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();c[a(e).hasClass("in")?"addClass":"removeClass"]("collapsed"),a(e).collapse(f)})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(b){var c=this.getActiveIndex(),d=this;if(b>this.$items.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){d.to(b)}):c==b?this.pause().cycle():this.slide(b>c?"next":"prev",a(this.$items[b]))},pause:function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this,j;this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h](),j=a.Event("slide",{relatedTarget:e[0],direction:g});if(e.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")}));if(a.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,typeof c=="object"&&c),g=typeof c=="string"?c:f.slide;e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),c.data()),g;e.carousel(f),(g=c.attr("data-slide-to"))&&e.data("carousel").pause().to(g).cycle(),b.preventDefault()})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=a(this.options.menu),this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(a)).change(),this.hide()},updater:function(a){return a},show:function(){var b=a.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:b.top+b.height,left:b.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(c=a.isFunction(this.source)?this.source(this.query,a.proxy(this.process,this)):this.source,c?this.process(c):this)},process:function(b){var c=this;return b=a.grep(b,function(a){return c.matcher(a)}),b=this.sorter(b),b.length?this.render(b.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(a){return~a.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){var b=[],c=[],d=[],e;while(e=a.shift())e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?c.push(e):d.push(e):b.push(e);return b.concat(c,d)},highlighter:function(a){var b=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return a.replace(new RegExp("("+b+")","ig"),function(a,b){return"<strong>"+b+"</strong>"})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("focus",a.proxy(this.focus,this)).on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",a.proxy(this.keydown,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this)).on("mouseleave","li",a.proxy(this.mouseleave,this))},eventSupported:function(a){var b=a in this.$element;return b||(this.$element.setAttribute(a,"return;"),b=typeof this.$element[a]=="function"),b},move:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:a.preventDefault(),this.prev();break;case 40:a.preventDefault(),this.next()}a.stopPropagation()},keydown:function(b){this.suppressKeyPressRepeat=~a.inArray(b.keyCode,[40,38,9,13,27]),this.move(b)},keypress:function(a){if(this.suppressKeyPressRepeat)return;this.move(a)},keyup:function(a){switch(a.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}a.stopPropagation(),a.preventDefault()},focus:function(a){this.focused=!0},blur:function(a){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(a){a.stopPropagation(),a.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(b){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")},mouseleave:function(a){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var c=a.fn.typeahead;a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},a.fn.typeahead.Constructor=b,a.fn.typeahead.noConflict=function(){return a.fn.typeahead=c,this},a(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;c.typeahead(c.data())})}(window.jQuery)/*! http://mths.be/placeholder v2.0.7 by @mathias */
;(function(f,h,$){var a='placeholder' in h.createElement('input'),d='placeholder' in h.createElement('textarea'),i=$.fn,c=$.valHooks,k,j;if(a&&d){j=i.placeholder=function(){return this};j.input=j.textarea=true}else{j=i.placeholder=function(){var l=this;l.filter((a?'textarea':':input')+'[placeholder]').not('.placeholder').bind({'focus.placeholder':b,'blur.placeholder':e}).data('placeholder-enabled',true).trigger('blur.placeholder');return l};j.input=a;j.textarea=d;k={get:function(m){var l=$(m);return l.data('placeholder-enabled')&&l.hasClass('placeholder')?'':m.value},set:function(m,n){var l=$(m);if(!l.data('placeholder-enabled')){return m.value=n}if(n==''){m.value=n;if(m!=h.activeElement){e.call(m)}}else{if(l.hasClass('placeholder')){b.call(m,true,n)||(m.value=n)}else{m.value=n}}return l}};a||(c.input=k);d||(c.textarea=k);$(function(){$(h).delegate('form','submit.placeholder',function(){var l=$('.placeholder',this).each(b);setTimeout(function(){l.each(e)},10)})});$(f).bind('beforeunload.placeholder',function(){$('.placeholder').each(function(){this.value=''})})}function g(m){var l={},n=/^jQuery\d+$/;$.each(m.attributes,function(p,o){if(o.specified&&!n.test(o.name)){l[o.name]=o.value}});return l}function b(m,n){var l=this,o=$(l);if(l.value==o.attr('placeholder')&&o.hasClass('placeholder')){if(o.data('placeholder-password')){o=o.hide().next().show().attr('id',o.removeAttr('id').data('placeholder-id'));if(m===true){return o[0].value=n}o.focus()}else{l.value='';o.removeClass('placeholder');l==h.activeElement&&l.select()}}}function e(){var q,l=this,p=$(l),m=p,o=this.id;if(l.value==''){if(l.type=='password'){if(!p.data('placeholder-textinput')){try{q=p.clone().attr({type:'text'})}catch(n){q=$('<input>').attr($.extend(g(this),{type:'text'}))}q.removeAttr('name').data({'placeholder-password':true,'placeholder-id':o}).bind('focus.placeholder',b);p.data({'placeholder-textinput':q,'placeholder-id':o}).before(q)}p=p.removeAttr('id').hide().prev().attr('id',o).show()}p.addClass('placeholder');p[0].value=p.attr('placeholder')}else{p.removeClass('placeholder')}}}(this,document,jQuery));
function ClusterIcon(e,t){e.getMarkerClusterer().extend(ClusterIcon,google.maps.OverlayView),this.cluster_=e,this.className_=e.getMarkerClusterer().getClusterClass(),this.styles_=t,this.center_=null,this.div_=null,this.sums_=null,this.visible_=!1,this.setMap(e.getMap())}function Cluster(e){this.markerClusterer_=e,this.map_=e.getMap(),this.gridSize_=e.getGridSize(),this.minClusterSize_=e.getMinimumClusterSize(),this.averageCenter_=e.getAverageCenter(),this.hideLabel_=e.getHideLabel(),this.markers_=[],this.center_=null,this.bounds_=null,this.clusterIcon_=new ClusterIcon(this,e.getStyles())}function MarkerClusterer(e,t,r){this.extend(MarkerClusterer,google.maps.OverlayView),t=t||[],r=r||{},this.markers_=[],this.clusters_=[],this.listeners_=[],this.activeMap_=null,this.ready_=!1,this.gridSize_=r.gridSize||60,this.minClusterSize_=r.minimumClusterSize||2,this.maxZoom_=r.maxZoom||null,this.styles_=r.styles||[],this.title_=r.title||"",this.zoomOnClick_=!0,void 0!==r.zoomOnClick&&(this.zoomOnClick_=r.zoomOnClick),this.averageCenter_=!1,void 0!==r.averageCenter&&(this.averageCenter_=r.averageCenter),this.ignoreHidden_=!1,void 0!==r.ignoreHidden&&(this.ignoreHidden_=r.ignoreHidden),this.enableRetinaIcons_=!1,void 0!==r.enableRetinaIcons&&(this.enableRetinaIcons_=r.enableRetinaIcons),this.hideLabel_=!1,void 0!==r.hideLabel&&(this.hideLabel_=r.hideLabel),this.imagePath_=r.imagePath||MarkerClusterer.IMAGE_PATH,this.imageExtension_=r.imageExtension||MarkerClusterer.IMAGE_EXTENSION,this.imageSizes_=r.imageSizes||MarkerClusterer.IMAGE_SIZES,this.calculator_=r.calculator||MarkerClusterer.CALCULATOR,this.batchSize_=r.batchSize||MarkerClusterer.BATCH_SIZE,this.batchSizeIE_=r.batchSizeIE||MarkerClusterer.BATCH_SIZE_IE,this.clusterClass_=r.clusterClass||"cluster",-1!==navigator.userAgent.toLowerCase().indexOf("msie")&&(this.batchSize_=this.batchSizeIE_),this.setupStyles_(),this.addMarkers(t,!0),this.setMap(e)}!function(t){"use strict";if(!t.jQuery){for(var u=function(e,t){return new u.fn.init(e,t)},i=(u.isWindow=function(e){return e&&e===e.window},u.type=function(e){return e?"object"==typeof e||"function"==typeof e?r[o.call(e)]||"object":typeof e:e+""},u.isArray=Array.isArray||function(e){return"array"===u.type(e)},u.isPlainObject=function(e){if(!e||"object"!==u.type(e)||e.nodeType||u.isWindow(e))return!1;try{if(e.constructor&&!n.call(e,"constructor")&&!n.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}for(var t in e);return void 0===t||n.call(e,t)},u.each=function(e,t,r){var n=0,i=e.length,o=s(e);if(r){if(o)for(;n<i&&!1!==t.apply(e[n],r);n++);else for(n in e)if(e.hasOwnProperty(n)&&!1===t.apply(e[n],r))break}else if(o)for(;n<i&&!1!==t.call(e[n],n,e[n]);n++);else for(n in e)if(e.hasOwnProperty(n)&&!1===t.call(e[n],n,e[n]))break;return e},u.data=function(e,t,r){var n;return void 0===r?(n=(n=e[u.expando])&&i[n],void 0===t?n:n&&t in n?n[t]:void 0):void 0!==t?(n=e[u.expando]||(e[u.expando]=++u.uuid),i[n]=i[n]||{},i[n][t]=r):void 0},u.removeData=function(e,t){var e=e[u.expando],r=e&&i[e];r&&(t?u.each(t,function(e,t){delete r[t]}):delete i[e])},u.extend=function(){var e,t,r,n,i,o=arguments[0]||{},a=1,s=arguments.length,l=!1;for("boolean"==typeof o&&(l=o,o=arguments[a]||{},a++),"object"!=typeof o&&"function"!==u.type(o)&&(o={}),a===s&&(o=this,a--);a<s;a++)if(n=arguments[a])for(r in n)n.hasOwnProperty(r)&&(i=o[r],o!==(t=n[r]))&&(l&&t&&(u.isPlainObject(t)||(e=u.isArray(t)))?(i=e?(e=!1,i&&u.isArray(i)?i:[]):i&&u.isPlainObject(i)?i:{},o[r]=u.extend(l,i,t)):void 0!==t&&(o[r]=t));return o},u.queue=function(e,t,r){var n;if(e)return n=u.data(e,t=(t||"fx")+"queue"),r?(!n||u.isArray(r)?n=u.data(e,t,function(e,t){if(t=t||[],e)if(s(Object(e))){for(var r=t,n="string"==typeof e?[e]:e,i=+n.length,o=0,a=r.length;o<i;)r[a++]=n[o++];if(i!=i)for(;void 0!==n[o];)r[a++]=n[o++];r.length=a}else[].push.call(t,e);return t}(r)):n.push(r),n):n||[]},u.dequeue=function(e,i){u.each(e.nodeType?[e]:e,function(e,t){i=i||"fx";var r=u.queue(t,i),n=r.shift();(n="inprogress"===n?r.shift():n)&&("fx"===i&&r.unshift("inprogress"),n.call(t,function(){u.dequeue(t,i)}))})},u.fn=u.prototype={init:function(e){if(e.nodeType)return this[0]=e,this;throw new Error("Not a DOM node.")},offset:function(){var e=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:e.top+(t.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:e.left+(t.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){var e=this[0],t=function(e){for(var t=e.offsetParent;t&&"html"!==t.nodeName.toLowerCase()&&t.style&&"static"===t.style.position.toLowerCase();)t=t.offsetParent;return t||document}(e),r=this.offset(),n=/^(?:body|html)$/i.test(t.nodeName)?{top:0,left:0}:u(t).offset();return r.top-=parseFloat(e.style.marginTop)||0,r.left-=parseFloat(e.style.marginLeft)||0,t.style&&(n.top+=parseFloat(t.style.borderTopWidth)||0,n.left+=parseFloat(t.style.borderLeftWidth)||0),{top:r.top-n.top,left:r.left-n.left}}},{}),r=(u.expando="velocity"+(new Date).getTime(),u.uuid=0,{}),n=r.hasOwnProperty,o=r.toString,e="Boolean Number String Function Array Date RegExp Object Error".split(" "),a=0;a<e.length;a++)r["[object "+e[a]+"]"]=e[a].toLowerCase();u.fn.init.prototype=u.fn,t.Velocity={Utilities:u}}function s(e){var t=e.length,r=u.type(e);return"function"!==r&&!u.isWindow(e)&&(!(1!==e.nodeType||!t)||"array"===r||0===t||"number"==typeof t&&0<t&&t-1 in e)}}(window),function(e){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e():"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";var n,e,t=window.jQuery||window.Zepto||window,G=window,R=window?window.document:void 0,B=void 0,C=function(){if(R.documentMode)return R.documentMode;for(var e=7;4<e;e--){var t=R.createElement("div");if(t.innerHTML="\x3c!--[if IE "+e+"]><span></span><![endif]--\x3e",t.getElementsByTagName("span").length)return t=null,e}return B}(),r=(n=0,G.webkitRequestAnimationFrame||G.mozRequestAnimationFrame||function(e){var t=(new Date).getTime(),r=Math.max(0,16-(t-n));return n=t+r,setTimeout(function(){e(t+r)},r)}),S=("function"!=typeof(s=G.performance||{}).now&&(e=s.timing&&s.timing.navigationStart?s.timing.navigationStart:(new Date).getTime(),s.now=function(){return(new Date).getTime()-e}),s);function A(){return Array.prototype.includes?function(e,t){return e.includes(t)}:Array.prototype.indexOf?function(e,t){return 0<=e.indexOf(t)}:function(e,t){for(var r=0;r<e.length;r++)if(e[r]===t)return!0;return!1}}var i=function(){var s=Array.prototype.slice;try{return s.call(R.documentElement),s}catch(e){return function(e,t){var r=this.length;if("number"!=typeof e&&(e=0),"number"!=typeof t&&(t=r),this.slice)return s.call(this,e,t);var n,i=[],o=0<=e?e:Math.max(0,r+e),a=(t<0?r+t:Math.min(t,r))-o;if(0<a)if(i=new Array(a),this.charAt)for(n=0;n<a;n++)i[n]=this.charAt(o+n);else for(n=0;n<a;n++)i[n]=this[o+n];return i}}}();function m(e){return D.isWrapped(e)?e=i.call(e):D.isNode(e)&&(e=[e]),e}var H,o,a,$,y,q,M,D={isNumber:function(e){return"number"==typeof e},isString:function(e){return"string"==typeof e},isArray:Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},isFunction:function(e){return"[object Function]"===Object.prototype.toString.call(e)},isNode:function(e){return e&&e.nodeType},isWrapped:function(e){return e&&e!==G&&D.isNumber(e.length)&&!D.isString(e)&&!D.isFunction(e)&&!D.isNode(e)&&(0===e.length||D.isNode(e[0]))},isSVG:function(e){return G.SVGElement&&e instanceof G.SVGElement},isEmptyObject:function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}},s=!1;if(t.fn&&t.fn.jquery?(H=t,s=!0):H=G.Velocity.Utilities,C<=8&&!s)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(!(C<=7))return o="swing",q={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(G.navigator.userAgent),isAndroid:/Android/i.test(G.navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(G.navigator.userAgent),isChrome:G.chrome,isFirefox:/Firefox/i.test(G.navigator.userAgent),prefixElement:R.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[],delayedElements:{count:0}},CSS:{},Utilities:H,Redirects:{},Easings:{},Promise:G.Promise,defaults:{queue:"",duration:400,easing:o,begin:B,complete:B,progress:B,display:B,visibility:B,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0,promiseRejectEmpty:!0},init:function(e){H.data(e,"velocity",{isSVG:D.isSVG(e),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:5,patch:2},debug:!1,timestamp:!0,pauseAll:function(r){var n=(new Date).getTime();H.each(q.State.calls,function(e,t){if(t){if(r!==B&&(t[2].queue!==r||!1===t[2].queue))return!0;t[5]={resume:!1}}}),H.each(q.State.delayedElements,function(e,t){t&&v(t,n)})},resumeAll:function(r){var e=(new Date).getTime();H.each(q.State.calls,function(e,t){if(t){if(r!==B&&(t[2].queue!==r||!1===t[2].queue))return!0;t[5]&&(t[5].resume=!0)}}),H.each(q.State.delayedElements,function(e,t){t&&b(t)})}},G.pageYOffset!==B?(q.State.scrollAnchor=G,q.State.scrollPropertyLeft="pageXOffset",q.State.scrollPropertyTop="pageYOffset"):(q.State.scrollAnchor=R.documentElement||R.body.parentNode||R.body,q.State.scrollPropertyLeft="scrollLeft",q.State.scrollPropertyTop="scrollTop"),a=function e(t,r,n){var i,o,a,s,l,u,c,h,d,p,f={x:-1,v:0,tension:null,friction:null},g=[0],m=0;for(t=parseFloat(t)||500,r=parseFloat(r)||20,n=n||null,f.tension=t,f.friction=r,o=(i=null!==n)?(m=e(t,r))/n*.016:.016;;)if(l=o,u=p=d=h=c=u=void 0,u={dx:(s=a||f).v,dv:k(s)},c=w(s,.5*l,u),h=w(s,.5*l,c),d=w(s,l,h),p=1/6*(u.dx+2*(c.dx+h.dx)+d.dx),u=1/6*(u.dv+2*(c.dv+h.dv)+d.dv),s.x=s.x+p*l,s.v=s.v+u*l,a=s,g.push(1+a.x),m+=16,!(1e-4<Math.abs(a.x)&&1e-4<Math.abs(a.v)))break;return i?function(e){return g[e*(g.length-1)|0]}:m},q.Easings={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},spring:function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)}},H.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(e,t){q.Easings[t[0]]=l.apply(null,t[1])}),($=q.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"],units:["%","em","ex","ch","rem","vw","vh","vmin","vmax","cm","mm","Q","in","pc","pt","px","deg","grad","rad","turn","s","ms"],colorNames:{aliceblue:"240,248,255",antiquewhite:"250,235,215",aquamarine:"127,255,212",aqua:"0,255,255",azure:"240,255,255",beige:"245,245,220",bisque:"255,228,196",black:"0,0,0",blanchedalmond:"255,235,205",blueviolet:"138,43,226",blue:"0,0,255",brown:"165,42,42",burlywood:"222,184,135",cadetblue:"95,158,160",chartreuse:"127,255,0",chocolate:"210,105,30",coral:"255,127,80",cornflowerblue:"100,149,237",cornsilk:"255,248,220",crimson:"220,20,60",cyan:"0,255,255",darkblue:"0,0,139",darkcyan:"0,139,139",darkgoldenrod:"184,134,11",darkgray:"169,169,169",darkgrey:"169,169,169",darkgreen:"0,100,0",darkkhaki:"189,183,107",darkmagenta:"139,0,139",darkolivegreen:"85,107,47",darkorange:"255,140,0",darkorchid:"153,50,204",darkred:"139,0,0",darksalmon:"233,150,122",darkseagreen:"143,188,143",darkslateblue:"72,61,139",darkslategray:"47,79,79",darkturquoise:"0,206,209",darkviolet:"148,0,211",deeppink:"255,20,147",deepskyblue:"0,191,255",dimgray:"105,105,105",dimgrey:"105,105,105",dodgerblue:"30,144,255",firebrick:"178,34,34",floralwhite:"255,250,240",forestgreen:"34,139,34",fuchsia:"255,0,255",gainsboro:"220,220,220",ghostwhite:"248,248,255",gold:"255,215,0",goldenrod:"218,165,32",gray:"128,128,128",grey:"128,128,128",greenyellow:"173,255,47",green:"0,128,0",honeydew:"240,255,240",hotpink:"255,105,180",indianred:"205,92,92",indigo:"75,0,130",ivory:"255,255,240",khaki:"240,230,140",lavenderblush:"255,240,245",lavender:"230,230,250",lawngreen:"124,252,0",lemonchiffon:"255,250,205",lightblue:"173,216,230",lightcoral:"240,128,128",lightcyan:"224,255,255",lightgoldenrodyellow:"250,250,210",lightgray:"211,211,211",lightgrey:"211,211,211",lightgreen:"144,238,144",lightpink:"255,182,193",lightsalmon:"255,160,122",lightseagreen:"32,178,170",lightskyblue:"135,206,250",lightslategray:"119,136,153",lightsteelblue:"176,196,222",lightyellow:"255,255,224",limegreen:"50,205,50",lime:"0,255,0",linen:"250,240,230",magenta:"255,0,255",maroon:"128,0,0",mediumaquamarine:"102,205,170",mediumblue:"0,0,205",mediumorchid:"186,85,211",mediumpurple:"147,112,219",mediumseagreen:"60,179,113",mediumslateblue:"123,104,238",mediumspringgreen:"0,250,154",mediumturquoise:"72,209,204",mediumvioletred:"199,21,133",midnightblue:"25,25,112",mintcream:"245,255,250",mistyrose:"255,228,225",moccasin:"255,228,181",navajowhite:"255,222,173",navy:"0,0,128",oldlace:"253,245,230",olivedrab:"107,142,35",olive:"128,128,0",orangered:"255,69,0",orange:"255,165,0",orchid:"218,112,214",palegoldenrod:"238,232,170",palegreen:"152,251,152",paleturquoise:"175,238,238",palevioletred:"219,112,147",papayawhip:"255,239,213",peachpuff:"255,218,185",peru:"205,133,63",pink:"255,192,203",plum:"221,160,221",powderblue:"176,224,230",purple:"128,0,128",red:"255,0,0",rosybrown:"188,143,143",royalblue:"65,105,225",saddlebrown:"139,69,19",salmon:"250,128,114",sandybrown:"244,164,96",seagreen:"46,139,87",seashell:"255,245,238",sienna:"160,82,45",silver:"192,192,192",skyblue:"135,206,235",slateblue:"106,90,205",slategray:"112,128,144",snow:"255,250,250",springgreen:"0,255,127",steelblue:"70,130,180",tan:"210,180,140",teal:"0,128,128",thistle:"216,191,216",tomato:"255,99,71",turquoise:"64,224,208",violet:"238,130,238",wheat:"245,222,179",whitesmoke:"245,245,245",white:"255,255,255",yellowgreen:"154,205,50",yellow:"255,255,0"}},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var e,t,r,n,i,o=0;o<$.Lists.colors.length;o++){var a="color"===$.Lists.colors[o]?"0 0 0 1":"255 255 255 1";$.Hooks.templates[$.Lists.colors[o]]=["Red Green Blue Alpha",a]}if(C)for(e in $.Hooks.templates)$.Hooks.templates.hasOwnProperty(e)&&(r=(t=$.Hooks.templates[e])[0].split(" "),n=t[1].match($.RegEx.valueSplit),"Color"===r[0])&&(r.push(r.shift()),n.push(n.shift()),$.Hooks.templates[e]=[r.join(" "),n.join(" ")]);for(e in $.Hooks.templates)if($.Hooks.templates.hasOwnProperty(e))for(var s in r=(t=$.Hooks.templates[e])[0].split(" "))r.hasOwnProperty(s)&&(i=e+r[s],s=s,$.Hooks.registered[i]=[e,s])},getRoot:function(e){var t=$.Hooks.registered[e];return t?t[0]:e},getUnit:function(e,t){e=(e.substr(t||0,5).match(/^[a-z%]+/)||[])[0]||"";return e&&A($.Lists.units)?e:""},fixColors:function(e){return e.replace(/(rgba?\(\s*)?(\b[a-z]+\b)/g,function(e,t,r){return $.Lists.colorNames.hasOwnProperty(r)?(t||"rgba(")+$.Lists.colorNames[r]+(t?"":",1)"):t+r})},cleanRootPropertyValue:function(e,t){return $.RegEx.valueUnwrap.test(t)&&(t=t.match($.RegEx.valueUnwrap)[1]),t=$.Values.isCSSNullValue(t)?$.Hooks.templates[e][1]:t},extractValue:function(e,t){var r,e=$.Hooks.registered[e];return e?(r=e[0],e=e[1],(t=$.Hooks.cleanRootPropertyValue(r,t)).toString().match($.RegEx.valueSplit)[e]):t},injectValue:function(e,t,r){var n,e=$.Hooks.registered[e];return e?(n=e[0],e=e[1],(n=(r=$.Hooks.cleanRootPropertyValue(n,r)).toString().match($.RegEx.valueSplit))[e]=t,n.join(" ")):r}},Normalizations:{registered:{clip:function(e,t,r){switch(e){case"name":return"clip";case"extract":var n=!$.RegEx.wrappedValueAlreadyExtracted.test(r)&&(n=r.toString().match($.RegEx.valueUnwrap))?n[1].replace(/,(\s+)?/g," "):r;return n;case"inject":return"rect("+r+")"}},blur:function(e,t,r){switch(e){case"name":return q.State.isFirefox?"filter":"-webkit-filter";case"extract":var n,i=parseFloat(r);return i=i||0===i?i:(n=r.toString().match(/blur\(([0-9]+[A-z]+)\)/i))?n[1]:0;case"inject":return parseFloat(r)?"blur("+r+")":"none"}},opacity:function(e,t,r){if(C<=8)switch(e){case"name":return"filter";case"extract":var n=r.toString().match(/alpha\(opacity=(.*)\)/i);return r=n?n[1]/100:1;case"inject":return(t.style.zoom=1)<=parseFloat(r)?"":"alpha(opacity="+parseInt(100*parseFloat(r),10)+")"}else switch(e){case"name":return"opacity";case"extract":case"inject":return r}}},register:function(){C&&!(9<C)||q.State.isGingerbread||($.Lists.transformsBase=$.Lists.transformsBase.concat($.Lists.transforms3D));for(var e=0;e<$.Lists.transformsBase.length;e++)!function(){var i=$.Lists.transformsBase[e];$.Normalizations.registered[i]=function(e,t,r){switch(e){case"name":return"transform";case"extract":return E(t)===B||E(t).transformCache[i]===B?/^scale/i.test(i)?1:0:E(t).transformCache[i].replace(/[()]/g,"");case"inject":var n=!1;switch(i.substr(0,i.length-1)){case"translate":n=!/(%|px|em|rem|vw|vh|\d)$/i.test(r);break;case"scal":case"scale":q.State.isAndroid&&E(t).transformCache[i]===B&&r<1&&(r=1),n=!/(\d)$/i.test(r);break;case"skew":case"rotate":n=!/(deg|\d)$/i.test(r)}return n||(E(t).transformCache[i]="("+r+")"),E(t).transformCache[i]}}}();for(var t=0;t<$.Lists.colors.length;t++)!function(){var o=$.Lists.colors[t];$.Normalizations.registered[o]=function(e,t,r){switch(e){case"name":return o;case"extract":var n,i=$.RegEx.wrappedValueAlreadyExtracted.test(r)?r:(i={black:"rgb(0, 0, 0)",blue:"rgb(0, 0, 255)",gray:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",red:"rgb(255, 0, 0)",white:"rgb(255, 255, 255)"},/^[A-z]+$/i.test(r)?n=i[r]!==B?i[r]:i.black:$.RegEx.isHex.test(r)?n="rgb("+$.Values.hexToRgb(r).join(" ")+")":/^rgba?\(/i.test(r)||(n=i.black),(n||r).toString().match($.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g," "));return(!C||8<C)&&3===i.split(" ").length&&(i+=" 1"),i;case"inject":return/^rgb/.test(r)?r:(C<=8?4===r.split(" ").length&&(r=r.split(/\s+/).slice(0,3).join(" ")):3===r.split(" ").length&&(r+=" 1"),(C<=8?"rgb":"rgba")+"("+r.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")")}}}();function o(e,t,r){if("border-box"===$.getPropertyValue(t,"boxSizing").toString().toLowerCase()!==(r||!1))return 0;for(var n,i=0,e="width"===e?["Left","Right"]:["Top","Bottom"],o=["padding"+e[0],"padding"+e[1],"border"+e[0]+"Width","border"+e[1]+"Width"],a=0;a<o.length;a++)n=parseFloat($.getPropertyValue(t,o[a])),isNaN(n)||(i+=n);return r?-i:i}function r(n,i){return function(e,t,r){switch(e){case"name":return n;case"extract":return parseFloat(r)+o(n,t,i);case"inject":return parseFloat(r)-o(n,t,i)+"px"}}}$.Normalizations.registered.innerWidth=r("width",!0),$.Normalizations.registered.innerHeight=r("height",!0),$.Normalizations.registered.outerWidth=r("width"),$.Normalizations.registered.outerHeight=r("height")}},Names:{camelCase:function(e){return e.replace(/-(\w)/g,function(e,t){return t.toUpperCase()})},SVGAttribute:function(e){var t="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(C||q.State.isAndroid&&!q.State.isChrome)&&(t+="|transform"),new RegExp("^("+t+")$","i").test(e)},prefixCheck:function(e){if(q.State.prefixMatches[e])return[q.State.prefixMatches[e],!0];for(var t=["","Webkit","Moz","ms","O"],r=0,n=t.length;r<n;r++){var i=0===r?e:t[r]+e.replace(/^\w/,function(e){return e.toUpperCase()});if(D.isString(q.State.prefixElement.style[i]))return[q.State.prefixMatches[e]=i,!0]}return[e,!1]}},Values:{hexToRgb:function(e){return e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(e,t,r,n){return t+t+r+r+n+n}),(e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e))?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:[0,0,0]},isCSSNullValue:function(e){return!e||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(e)},getUnitType:function(e){return/^(rotate|skew)/i.test(e)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(e)?"":"px"},getDisplayType:function(e){e=e&&e.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(e)?"inline":/^(li)$/i.test(e)?"list-item":/^(tr)$/i.test(e)?"table-row":/^(table)$/i.test(e)?"table":/^(tbody)$/i.test(e)?"table-row-group":"block"},addClass:function(e,t){var r;e&&(e.classList?e.classList.add(t):D.isString(e.className)?e.className+=(e.className.length?" ":"")+t:(r=e.getAttribute(C<=7?"className":"class")||"",e.setAttribute("class",r+(r?" ":"")+t)))},removeClass:function(e,t){var r;e&&(e.classList?e.classList.remove(t):D.isString(e.className)?e.className=e.className.toString().replace(new RegExp("(^|\\s)"+t.split(" ").join("|")+"(\\s|$)","gi")," "):(r=e.getAttribute(C<=7?"className":"class")||"",e.setAttribute("class",r.replace(new RegExp("(^|s)"+t.split(" ").join("|")+"(s|$)","gi")," "))))}},getPropertyValue:function(e,t,r,a){function s(e,t){var r=0;if(C<=8)r=H.css(e,t);else{var n,i=!1,o=(/^(width|height)$/.test(t)&&0===$.getPropertyValue(e,"display")&&(i=!0,$.setPropertyValue(e,"display",$.Values.getDisplayType(e))),function(){i&&$.setPropertyValue(e,"display","none")});if(!a){if("height"===t&&"border-box"!==$.getPropertyValue(e,"boxSizing").toString().toLowerCase())return n=e.offsetHeight-(parseFloat($.getPropertyValue(e,"borderTopWidth"))||0)-(parseFloat($.getPropertyValue(e,"borderBottomWidth"))||0)-(parseFloat($.getPropertyValue(e,"paddingTop"))||0)-(parseFloat($.getPropertyValue(e,"paddingBottom"))||0),o(),n;if("width"===t&&"border-box"!==$.getPropertyValue(e,"boxSizing").toString().toLowerCase())return n=e.offsetWidth-(parseFloat($.getPropertyValue(e,"borderLeftWidth"))||0)-(parseFloat($.getPropertyValue(e,"borderRightWidth"))||0)-(parseFloat($.getPropertyValue(e,"paddingLeft"))||0)-(parseFloat($.getPropertyValue(e,"paddingRight"))||0),o(),n}n=E(e)===B?G.getComputedStyle(e,null):E(e).computedStyle?E(e).computedStyle:E(e).computedStyle=G.getComputedStyle(e,null),"borderColor"===t&&(t="borderTopColor"),""!==(r=9===C&&"filter"===t?n.getPropertyValue(t):n[t])&&null!==r||(r=e.style[t]),o()}return r="auto"===r&&/^(top|right|bottom|left)$/i.test(t)&&("fixed"===(n=s(e,"position"))||"absolute"===n&&/top|left/i.test(t))?H(e).position()[t]+"px":r}var n,i,o;if($.Hooks.registered[t]?(n=$.Hooks.getRoot(o=t),r===B&&(r=$.getPropertyValue(e,$.Names.prefixCheck(n)[0])),$.Normalizations.registered[n]&&(r=$.Normalizations.registered[n]("extract",e,r)),n=$.Hooks.extractValue(o,r)):$.Normalizations.registered[t]&&("transform"!==(o=$.Normalizations.registered[t]("name",e))&&(i=s(e,$.Names.prefixCheck(o)[0]),$.Values.isCSSNullValue(i))&&$.Hooks.templates[t]&&(i=$.Hooks.templates[t][1]),n=$.Normalizations.registered[t]("extract",e,i)),!/^[\d-]/.test(n)){r=E(e);if(r&&r.isSVG&&$.Names.SVGAttribute(t))if(/^(height|width)$/i.test(t))try{n=e.getBBox()[t]}catch(e){n=0}else n=e.getAttribute(t);else n=s(e,$.Names.prefixCheck(t)[0])}return $.Values.isCSSNullValue(n)&&(n=0),2<=q.debug&&console.log("Get "+t+": "+n),n},setPropertyValue:function(e,t,r,n,i){var o,a=t;if("scroll"===t)i.container?i.container["scroll"+i.direction]=r:"Left"===i.direction?G.scrollTo(r,i.alternateValue):G.scrollTo(i.alternateValue,r);else if($.Normalizations.registered[t]&&"transform"===$.Normalizations.registered[t]("name",e))$.Normalizations.registered[t]("inject",e,r),a="transform",r=E(e).transformCache[t];else{if($.Hooks.registered[t]&&(i=t,o=$.Hooks.getRoot(t),n=n||$.getPropertyValue(e,o),r=$.Hooks.injectValue(i,r,n),t=o),$.Normalizations.registered[t]&&(r=$.Normalizations.registered[t]("inject",e,r),t=$.Normalizations.registered[t]("name",e)),a=$.Names.prefixCheck(t)[0],C<=8)try{e.style[a]=r}catch(e){q.debug&&console.log("Browser does not support ["+r+"] for ["+a+"]")}else{i=E(e);i&&i.isSVG&&$.Names.SVGAttribute(t)?e.setAttribute(t,r):e.style[a]=r}2<=q.debug&&console.log("Set "+t+" ("+a+"): "+r)}return[a,r]},flushTransformCache:function(t){var r,n,i,o="",e=E(t);(C||q.State.isAndroid&&!q.State.isChrome)&&e&&e.isSVG?(r={translate:[(e=function(e){return parseFloat($.getPropertyValue(t,e))})("translateX"),e("translateY")],skewX:[e("skewX")],skewY:[e("skewY")],scale:1!==e("scale")?[e("scale"),e("scale")]:[e("scaleX"),e("scaleY")],rotate:[e("rotateZ"),0,0]},H.each(E(t).transformCache,function(e){/^translate/i.test(e)?e="translate":/^scale/i.test(e)?e="scale":/^rotate/i.test(e)&&(e="rotate"),r[e]&&(o+=e+"("+r[e].join(" ")+") ",delete r[e])})):(H.each(E(t).transformCache,function(e){if(n=E(t).transformCache[e],"transformPerspective"===e)return i=n,!0;o+=(e=9===C&&"rotateZ"===e?"rotate":e)+n+" "}),i&&(o="perspective"+i+" "+o)),$.setPropertyValue(t,"transform",o)}}).Hooks.register(),$.Normalizations.register(),q.hook=function(e,n,i){var o;return e=m(e),H.each(e,function(e,t){var r;E(t)===B&&q.init(t),i===B?o===B&&(o=$.getPropertyValue(t,n)):("transform"===(r=$.setPropertyValue(t,n,i))[0]&&q.CSS.flushTransformCache(t),o=r)}),o},(q=H.extend(y=function(){function e(){return t?S.promise||null:r}var t,r,n,x,C,i=arguments[0]&&(arguments[0].p||H.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||D.isString(arguments[0].properties)),S=(D.isWrapped(this)?(t=!1,n=0,r=x=this):(t=!0,n=1,x=i?arguments[0].elements||arguments[0].e:arguments[0]),{promise:null,resolver:null,rejecter:null});if(t&&q.Promise&&(S.promise=new q.Promise(function(e,t){S.resolver=e,S.rejecter=t})),T=i?(C=arguments[0].properties||arguments[0].p,arguments[0].options||arguments[0].o):(C=arguments[n],arguments[n+1]),x=m(x)){var M,o,a,s,l,L=x.length,P=0;if(!/^(stop|finish|finishAll|pause|resume)$/i.test(C)&&!H.isPlainObject(T))for(var T={},u=n+1;u<arguments.length;u++)D.isArray(arguments[u])||!/^(fast|normal|slow)$/i.test(arguments[u])&&!/^\d/.test(arguments[u])?D.isString(arguments[u])||D.isArray(arguments[u])?T.easing=arguments[u]:D.isFunction(arguments[u])&&(T.complete=arguments[u]):T.duration=arguments[u];switch(C){case"scroll":M="scroll";break;case"reverse":M="reverse";break;case"pause":var c=(new Date).getTime();return H.each(x,function(e,t){v(t,c)}),H.each(q.State.calls,function(e,n){var i=!1;n&&H.each(n[1],function(e,r){var t=T===B?"":T;return!0!==t&&n[2].queue!==t&&(T!==B||!1!==n[2].queue)||(H.each(x,function(e,t){if(t===r)return n[5]={resume:!1},!(i=!0)}),!i&&void 0)})}),e();case"resume":return H.each(x,function(e,t){b(t)}),H.each(q.State.calls,function(e,n){var i=!1;n&&H.each(n[1],function(e,r){var t=T===B?"":T;return!0!==t&&n[2].queue!==t&&(T!==B||!1!==n[2].queue)||!n[5]||(H.each(x,function(e,t){if(t===r)return n[5].resume=!0,!(i=!0)}),!i&&void 0)})}),e();case"finish":case"finishAll":case"stop":H.each(x,function(e,t){E(t)&&E(t).delayTimer&&(clearTimeout(E(t).delayTimer.setTimeout),E(t).delayTimer.next&&E(t).delayTimer.next(),delete E(t).delayTimer),"finishAll"!==C||!0!==T&&!D.isString(T)||(H.each(H.queue(t,D.isString(T)?T:""),function(e,t){D.isFunction(t)&&t()}),H.queue(t,D.isString(T)?T:"",[]))});var h=[];return H.each(q.State.calls,function(i,o){o&&H.each(o[1],function(e,r){var n=T===B?"":T;if(!0!==n&&o[2].queue!==n&&(T!==B||!1!==o[2].queue))return!0;H.each(x,function(e,t){t===r&&(!0!==T&&!D.isString(T)||(H.each(H.queue(t,D.isString(T)?T:""),function(e,t){D.isFunction(t)&&t(null,!0)}),H.queue(t,D.isString(T)?T:"",[])),"stop"===C?((t=E(t))&&t.tweensContainer&&(!0===n||""===n)&&H.each(t.tweensContainer,function(e,t){t.endValue=t.currentValue}),h.push(i)):"finish"!==C&&"finishAll"!==C||(o[2].duration=1))})})}),"stop"===C&&(H.each(h,function(e,t){V(t,!0)}),S.promise)&&S.resolver(x),e();default:if(!H.isPlainObject(C)||D.isEmptyObject(C))return D.isString(C)&&q.Redirects[C]?(a=(o=H.extend({},T)).duration,s=o.delay||0,!0===o.backwards&&(x=H.extend(!0,[],x).reverse()),H.each(x,function(e,t){parseFloat(o.stagger)?o.delay=s+parseFloat(o.stagger)*e:D.isFunction(o.stagger)&&(o.delay=s+o.stagger.call(t,e,L)),o.drag&&(o.duration=parseFloat(a)||(/^(callout|transition)/.test(C)?1e3:400),o.duration=Math.max(o.duration*(o.backwards?1-e/L:(e+1)/L),.75*o.duration,200)),q.Redirects[C].call(t,t,o||{},e,L,x,S.promise?S:B)})):(l="Velocity: First argument ("+C+") was not a property map, a known action, or a registered redirect. Aborting.",S.promise?S.rejecter(new Error(l)):G.console&&console.log(l)),e();M="start"}var F={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},I=[],d=(H.each(x,function(e,t){D.isNode(t)&&g(t,e)}),(o=H.extend({},q.defaults,T)).loop=parseInt(o.loop,10),2*o.loop-1);if(o.loop)for(var p=0;p<d;p++){var f={delay:o.delay,progress:o.progress};p===d-1&&(f.display=o.display,f.visibility=o.visibility,f.complete=o.complete),y(x,"reverse",f)}return e()}function g(z,_){var j,e,t,O=H.extend({},q.defaults,T),W={};switch(E(z)===B&&q.init(z),parseFloat(O.delay)&&!1!==O.queue&&H.queue(z,O.queue,function(e,t){if(!0===t)return!0;q.velocityQueueEntryFlag=!0;function r(){q.State.delayedElements[n]=!1,e()}var n,t=q.State.delayedElements.count++;q.State.delayedElements[t]=z,n=t;E(z).delayBegin=(new Date).getTime(),E(z).delay=parseFloat(O.delay),E(z).delayTimer={setTimeout:setTimeout(e,parseFloat(O.delay)),next:r}}),O.duration.toString().toLowerCase()){case"fast":O.duration=200;break;case"normal":O.duration=400;break;case"slow":O.duration=600;break;default:O.duration=parseFloat(O.duration)||1}function r(e){var V,N,t,r,n;if(O.begin&&0===P)try{O.begin.call(x,x)}catch(e){setTimeout(function(){throw e},1)}if("scroll"===M){var i,o,a,s=/^x$/i.test(O.axis)?"Left":"Top",l=parseFloat(O.offset)||0;O.container?D.isWrapped(O.container)||D.isNode(O.container)?(O.container=O.container[0]||O.container,a=(i=O.container["scroll"+s])+H(z).position()[s.toLowerCase()]+l):O.container=null:(i=q.State.scrollAnchor[q.State["scrollProperty"+s]],o=q.State.scrollAnchor[q.State["scrollProperty"+("Left"===s?"Top":"Left")]],a=H(z).offset()[s.toLowerCase()]+l),W={scroll:{rootPropertyValue:!1,startValue:i,currentValue:i,endValue:a,unitType:"",easing:O.easing,scrollData:{container:O.container,direction:s,alternateValue:o}},element:z},q.debug&&console.log("tweensContainer (scroll): ",W.scroll,z)}else if("reverse"===M){if(!(V=E(z)))return;if(!V.tweensContainer)return void H.dequeue(z,O.queue);for(var u in"none"===V.opts.display&&(V.opts.display="auto"),"hidden"===V.opts.visibility&&(V.opts.visibility="visible"),V.opts.loop=!1,V.opts.begin=null,V.opts.complete=null,T.easing||delete O.easing,T.duration||delete O.duration,O=H.extend({},V.opts,O),N=H.extend(!0,{},V?V.tweensContainer:null))N.hasOwnProperty(u)&&"element"!==u&&(t=N[u].startValue,N[u].startValue=N[u].currentValue=N[u].endValue,N[u].endValue=t,D.isEmptyObject(T)||(N[u].easing=O.easing),q.debug)&&console.log("reverse tweensContainer ("+u+"): "+JSON.stringify(N[u]),z);W=N}else if("start"===M){(V=E(z))&&V.tweensContainer&&!0===V.isAnimating&&(N=V.tweensContainer);var c,h=function(e,t){var r=$.Hooks.getRoot(e),n=!1,i=t[0],o=t[1],a=t[2];if(V&&V.isSVG||"tween"===r||!1!==$.Names.prefixCheck(r)[1]||$.Normalizations.registered[r]!==B){(O.display!==B&&null!==O.display&&"none"!==O.display||O.visibility!==B&&"hidden"!==O.visibility)&&/opacity|filter/.test(e)&&!a&&0!==i&&(a=0),O._cacheValues&&N&&N[e]?(a===B&&(a=N[e].endValue+N[e].unitType),n=V.rootPropertyValueCache[r]):$.Hooks.registered[e]?a===B?(n=$.getPropertyValue(z,r),a=$.getPropertyValue(z,e,n)):n=$.Hooks.templates[r][1]:a===B&&(a=$.getPropertyValue(z,e));var s,l,u=!1,t=function(e,t){var t=(t||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(e){return r=e,""}),r=r||$.Values.getUnitType(e);return[t,r]};if(a!==i&&D.isString(a)&&D.isString(i)){for(var c="",h=0,d=0,p=[],f=[],g=0,m=0,y=0,a=$.Hooks.fixColors(a),i=$.Hooks.fixColors(i);h<a.length&&d<i.length;){var v=a[h],b=i[d];if(/[\d\.-]/.test(v)&&/[\d\.-]/.test(b)){for(var k=v,w=b,_=".",x=".";++h<a.length;){if((v=a[h])===_)_="..";else if(!/\d/.test(v))break;k+=v}for(;++d<i.length;){if((b=i[d])===x)x="..";else if(!/\d/.test(b))break;w+=b}var C,S,M=$.Hooks.getUnit(a,h),L=$.Hooks.getUnit(i,d);h+=M.length,d+=L.length,M===L?k===w?c+=k+M:(c+="{"+p.length+(m?"!":"")+"}"+M,p.push(parseFloat(k)),f.push(parseFloat(w))):(C=parseFloat(k),S=parseFloat(w),c+=(g<5?"calc":"")+"("+(C?"{"+p.length+(m?"!":"")+"}":"0")+M+" + "+(S?"{"+(p.length+(C?1:0))+(m?"!":"")+"}":"0")+L+")",C&&(p.push(C),f.push(0)),S&&(p.push(0),f.push(S)))}else{if(v!==b){g=0;break}c+=v,h++,d++,0===g&&"c"===v||1===g&&"a"===v||2===g&&"l"===v||3===g&&"c"===v||4<=g&&"("===v?g++:(g&&g<5||4<=g&&")"===v&&--g<5)&&(g=0),0===m&&"r"===v||1===m&&"g"===v||2===m&&"b"===v||3===m&&"a"===v||3<=m&&"("===v?(3===m&&"a"===v&&(y=1),m++):y&&","===v?3<++y&&(m=y=0):(y&&m<(y?5:4)||(y?4:3)<=m&&")"===v&&--m<(y?5:4))&&(m=y=0)}}h===a.length&&d===i.length||(q.debug&&console.error('Trying to pattern match mis-matched strings ["'+i+'", "'+a+'"]'),c=B),c&&(p.length?(q.debug&&console.log('Pattern found "'+c+'" -> ',p,f,"["+a+","+i+"]"),a=p,i=f,s=l=""):c=B)}c||(a=(T=t(e,a))[0],l=T[1],i=(T=t(e,i))[0].replace(/^([+-\/*])=/,function(e,t){return u=t,""}),s=T[1],a=parseFloat(a)||0,i=parseFloat(i)||0,"%"===s&&(/^(fontSize|lineHeight)$/.test(e)?(i/=100,s="em"):/^scale/.test(e)?(i/=100,s=""):/(Red|Green|Blue)$/i.test(e)&&(i=i/100*255,s="")));var P,T,I,A;if(/[\/*]/.test(u))s=l;else if(l!==s&&0!==a)if(0===i)s=l;else{j=j||(t={myParent:z.parentNode||R.body,position:$.getPropertyValue(z,"position"),fontSize:$.getPropertyValue(z,"fontSize")},T=t.position===F.lastPosition&&t.myParent===F.lastParent,I=t.fontSize===F.lastFontSize,F.lastParent=t.myParent,F.lastPosition=t.position,F.lastFontSize=t.fontSize,A={},I&&T?(A.emToPx=F.lastEmToPx,A.percentToPxWidth=F.lastPercentToPxWidth,A.percentToPxHeight=F.lastPercentToPxHeight):(P=V&&V.isSVG?R.createElementNS("http://www.w3.org/2000/svg","rect"):R.createElement("div"),q.init(P),t.myParent.appendChild(P),H.each(["overflow","overflowX","overflowY"],function(e,t){q.CSS.setPropertyValue(P,t,"hidden")}),q.CSS.setPropertyValue(P,"position",t.position),q.CSS.setPropertyValue(P,"fontSize",t.fontSize),q.CSS.setPropertyValue(P,"boxSizing","content-box"),H.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(e,t){q.CSS.setPropertyValue(P,t,"100%")}),q.CSS.setPropertyValue(P,"paddingLeft","100em"),A.percentToPxWidth=F.lastPercentToPxWidth=(parseFloat($.getPropertyValue(P,"width",null,!0))||1)/100,A.percentToPxHeight=F.lastPercentToPxHeight=(parseFloat($.getPropertyValue(P,"height",null,!0))||1)/100,A.emToPx=F.lastEmToPx=(parseFloat($.getPropertyValue(P,"paddingLeft"))||1)/100,t.myParent.removeChild(P)),null===F.remToPx&&(F.remToPx=parseFloat($.getPropertyValue(R.body,"fontSize"))||16),null===F.vwToPx&&(F.vwToPx=parseFloat(G.innerWidth)/100,F.vhToPx=parseFloat(G.innerHeight)/100),A.remToPx=F.remToPx,A.vwToPx=F.vwToPx,A.vhToPx=F.vhToPx,1<=q.debug&&console.log("Unit ratios: "+JSON.stringify(A),z),A);var E=/margin|padding|left|right|width|text|word|letter/i.test(e)||/X$/.test(e)||"x"===e?"x":"y";switch(l){case"%":a*="x"==E?j.percentToPxWidth:j.percentToPxHeight;break;case"px":break;default:a*=j[l+"ToPx"]}switch(s){case"%":a*=1/("x"==E?j.percentToPxWidth:j.percentToPxHeight);break;case"px":break;default:a*=1/j[s+"ToPx"]}}switch(u){case"+":i=a+i;break;case"-":i=a-i;break;case"*":i*=a;break;case"/":i=a/i}W[e]={rootPropertyValue:n,startValue:a,currentValue:a,endValue:i,unitType:s,easing:o},c&&(W[e].pattern=c),q.debug&&console.log("tweensContainer ("+e+"): "+JSON.stringify(W[e]),z)}else q.debug&&console.log("Skipping ["+r+"] due to a lack of browser support.")};for(c in C)if(C.hasOwnProperty(c)){var d=$.Names.camelCase(c),p=(p=C[c],n=r=m=f=void 0,D.isFunction(p)&&(p=p.call(z,_,L)),D.isArray(p)?(m=p[0],n=!D.isArray(p[1])&&/^[\d-]/.test(p[1])||D.isFunction(p[1])||$.RegEx.isHex.test(p[1])?p[1]:D.isString(p[1])&&!$.RegEx.isHex.test(p[1])&&q.Easings[p[1]]||D.isArray(p[1])?(r=f?p[1]:Z(p[1],O.duration),p[2]):p[1]||p[2]):m=p,f||(r=r||O.easing),[(m=D.isFunction(m)?m.call(z,_,L):m)||0,r,n=D.isFunction(n)?n.call(z,_,L):n]);if(A($.Lists.colors)){var f=p[0],g=p[1],m=p[2];if($.RegEx.isHex.test(f)){for(var y=["Red","Green","Blue"],v=$.Values.hexToRgb(f),b=m?$.Values.hexToRgb(m):B,k=0;k<y.length;k++){var w=[v[k]];g&&w.push(g),b!==B&&w.push(b[k]),h(d+y[k],w)}continue}}h(d,p)}W.element=z}W.element&&($.Values.addClass(z,"velocity-animating"),I.push(W),(V=E(z))&&(""===O.queue&&(V.tweensContainer=W,V.opts=O),V.isAnimating=!0),P===L-1?(q.State.calls.push([I,x,O,null,S.resolver,null,0]),!1===q.State.isTicking&&(q.State.isTicking=!0,J())):P++)}!1!==q.mock&&(!0===q.mock?O.duration=O.delay=1:(O.duration*=parseFloat(q.mock)||1,O.delay*=parseFloat(q.mock)||1)),O.easing=Z(O.easing,O.duration),O.begin&&!D.isFunction(O.begin)&&(O.begin=null),O.progress&&!D.isFunction(O.progress)&&(O.progress=null),O.complete&&!D.isFunction(O.complete)&&(O.complete=null),O.display!==B&&null!==O.display&&(O.display=O.display.toString().toLowerCase(),"auto"===O.display)&&(O.display=q.CSS.Values.getDisplayType(z)),O.visibility!==B&&null!==O.visibility&&(O.visibility=O.visibility.toString().toLowerCase()),O.mobileHA=O.mobileHA&&q.State.isMobile&&!q.State.isGingerbread,!1===O.queue?O.delay?(e=q.State.delayedElements.count++,q.State.delayedElements[e]=z,t=e,e=function(){q.State.delayedElements[t]=!1,r()},E(z).delayBegin=(new Date).getTime(),E(z).delay=parseFloat(O.delay),E(z).delayTimer={setTimeout:setTimeout(r,parseFloat(O.delay)),next:e}):r():H.queue(z,O.queue,function(e,t){if(!0===t)return S.promise&&S.resolver(x),!0;q.velocityQueueEntryFlag=!0,r()}),""!==O.queue&&"fx"!==O.queue||"inprogress"===H.queue(z)[0]||H.dequeue(z)}S.promise&&(C&&T&&!1===T.promiseRejectEmpty?S.resolver():S.rejecter())},q)).animate=y,M=G.requestAnimationFrame||r,q.State.isMobile||R.hidden===B||((s=function(){R.hidden?(M=function(e){return setTimeout(function(){e(!0)},16)},J()):M=G.requestAnimationFrame||r})(),R.addEventListener("visibilitychange",s)),t.Velocity=q,t!==G&&(t.fn.velocity=y,t.fn.velocity.defaults=q.defaults),H.each(["Down","Up"],function(e,c){q.Redirects["slide"+c]=function(r,e,n,t,i,o){var e=H.extend({},e),a=e.begin,s=e.complete,l={},u={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""};e.display===B&&(e.display="Down"===c?"inline"===q.CSS.Values.getDisplayType(r)?"inline-block":"block":"none"),e.begin=function(){for(var e in 0===n&&a&&a.call(i,i),u){var t;u.hasOwnProperty(e)&&(l[e]=r.style[e],t=$.getPropertyValue(r,e),u[e]="Down"===c?[t,0]:[0,t])}l.overflow=r.style.overflow,r.style.overflow="hidden"},e.complete=function(){for(var e in l)l.hasOwnProperty(e)&&(r.style[e]=l[e]);n===t-1&&(s&&s.call(i,i),o)&&o.resolver(i)},q(r,u,e)}}),H.each(["In","Out"],function(e,l){q.Redirects["fade"+l]=function(e,t,r,n,i,o){var t=H.extend({},t),a=t.complete,s={opacity:"In"===l?1:0};0!==r&&(t.begin=null),t.complete=r!==n-1?null:function(){a&&a.call(i,i),o&&o.resolver(i)},t.display===B&&(t.display="In"===l?"auto":"none"),q(this,s,t)}}),q;function E(e){e=H.data(e,"velocity");return null===e?B:e}function v(e,t){e=E(e);e&&e.delayTimer&&!e.delayPaused&&(e.delayRemaining=e.delay-t+e.delayBegin,e.delayPaused=!0,clearTimeout(e.delayTimer.setTimeout))}function b(e){e=E(e);e&&e.delayTimer&&e.delayPaused&&(e.delayPaused=!1,e.delayTimer.setTimeout=setTimeout(e.delayTimer.next,e.delayRemaining))}function l(m,t,y,r){var v=4,b=.001,k=1e-7,w=10,_=11,x=1/(_-1),e="Float32Array"in G;if(4!==arguments.length)return!1;for(var n=0;n<4;++n)if("number"!=typeof arguments[n]||isNaN(arguments[n])||!isFinite(arguments[n]))return!1;m=Math.min(m,1),y=Math.min(y,1),m=Math.max(m,0),y=Math.max(y,0);var C=new(e?Float32Array:Array)(_);function i(e,t){return 1-3*t+3*e}function S(e,t,r){return((i(t,r)*e+(3*r-6*t))*e+3*t)*e}function M(e,t,r){return 3*i(t,r)*e*e+2*(3*r-6*t)*e+3*t}function o(e){for(var t=0,r=1,n=_-1;r!==n&&C[r]<=e;++r)t+=x;var i=t+(e-C[--r])/(C[r+1]-C[r])*x,o=M(i,m,y);if(b<=o){for(var a=e,s=i,l=0;l<v;++l){var u=M(s,m,y);if(0===u)return s;s-=(S(s,m,y)-a)/u}return s}if(0===o)return i;for(var c,h,d=e,p=t,f=t+x,g=0;0<(c=S(h=p+(f-p)/2,m,y)-d)?f=h:p=h,Math.abs(c)>k&&++g<w;);return h}var a=!1;function s(){if(a=!0,m!==t||y!==r)for(var e=0;e<_;++e)C[e]=S(e*x,m,y)}function l(e){return a||s(),m===t&&y===r?e:0===e?0:1===e?1:S(o(e),t,r)}l.getControlPoints=function(){return[{x:m,y:t},{x:y,y:r}]};var u="generateBezier("+[m,t,y,r]+")";return l.toString=function(){return u},l}function k(e){return-e.tension*e.x-e.friction*e.v}function w(e,t,r){r={x:e.x+r.dx*t,v:e.v+r.dv*t,tension:e.tension,friction:e.friction};return{dx:r.v,dv:k(r)}}function Z(e,t){var r=e;return D.isString(e)?q.Easings[e]||(r=!1):r=D.isArray(e)&&1===e.length?function(t){return function(e){return Math.round(e*t)*(1/t)}}.apply(null,e):D.isArray(e)&&2===e.length?a.apply(null,e.concat([t])):!(!D.isArray(e)||4!==e.length)&&l.apply(null,e),r=!1===r?q.Easings[q.defaults.easing]?q.defaults.easing:o:r}function J(e){if(e){var t=q.timestamp&&!0!==e?e:S.now(),r=q.State.calls.length;1e4<r&&(q.State.calls=function(e){for(var t=-1,r=e?e.length:0,n=[];++t<r;){var i=e[t];i&&n.push(i)}return n}(q.State.calls),r=q.State.calls.length);for(var n=0;n<r;n++)if(q.State.calls[n]){var i=q.State.calls[n],o=i[0],a=i[2],s=!(h=i[3]),l=null,u=i[5],c=i[6],h=h||(q.State.calls[n][3]=t-16);if(u){if(!0!==u.resume)continue;h=i[3]=Math.round(t-c-16),i[5]=null}for(var c=i[6]=t-h,d=Math.min(c/a.duration,1),p=0,f=o.length;p<f;p++){var g=o[p],m=g.element;if(E(m)){var y,v,b,k,w,_,x=!1;for(y in a.display!==B&&null!==a.display&&"none"!==a.display&&("flex"===a.display&&H.each(["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"],function(e,t){$.setPropertyValue(m,"display",t)}),$.setPropertyValue(m,"display",a.display)),a.visibility!==B&&"hidden"!==a.visibility&&$.setPropertyValue(m,"visibility",a.visibility),g)g.hasOwnProperty(y)&&"element"!==y&&(v=g[y],b=D.isString(v.easing)?q.Easings[v.easing]:v.easing,k=D.isString(v.pattern)?v.pattern.replace(/{(\d+)(!)?}/g,1===d?function(e,t,r){t=v.endValue[t];return r?Math.round(t):t}:function(e,t,r){var n=v.startValue[t],t=v.endValue[t]-n,n=n+t*b(d,a,t);return r?Math.round(n):n}):1===d?v.endValue:(k=v.endValue-v.startValue,v.startValue+k*b(d,a,k)),!s&&k===v.currentValue||(v.currentValue=k,"tween"===y?l=k:($.Hooks.registered[y]&&(w=$.Hooks.getRoot(y),_=E(m).rootPropertyValueCache[w])&&(v.rootPropertyValue=_),_=$.setPropertyValue(m,y,v.currentValue+(C<9&&0===parseFloat(k)?"":v.unitType),v.rootPropertyValue,v.scrollData),$.Hooks.registered[y]&&($.Normalizations.registered[w]?E(m).rootPropertyValueCache[w]=$.Normalizations.registered[w]("extract",null,_[1]):E(m).rootPropertyValueCache[w]=_[1]),"transform"===_[0]&&(x=!0))));a.mobileHA&&E(m).transformCache.translate3d===B&&(E(m).transformCache.translate3d="(0px, 0px, 0px)",x=!0),x&&$.flushTransformCache(m)}}a.display!==B&&"none"!==a.display&&(q.State.calls[n][2].display=!1),a.visibility!==B&&"hidden"!==a.visibility&&(q.State.calls[n][2].visibility=!1),a.progress&&a.progress.call(i[1],i[1],d,Math.max(0,h+a.duration-t),h,l),1===d&&V(n)}}q.State.isTicking&&M(J)}function V(e,t){if(q.State.calls[e]){for(var r=q.State.calls[e][0],n=q.State.calls[e][1],i=q.State.calls[e][2],o=q.State.calls[e][4],a=!1,s=0,l=r.length;s<l;s++){var u,c=r[s].element,h=(t||i.loop||("none"===i.display&&$.setPropertyValue(c,"display",i.display),"hidden"===i.visibility&&$.setPropertyValue(c,"visibility",i.visibility)),E(c));if(!0===i.loop||H.queue(c)[1]!==B&&/\.velocityQueueEntryFlag/i.test(H.queue(c)[1])||h&&(h.isAnimating=!1,u=!(h.rootPropertyValueCache={}),H.each($.Lists.transforms3D,function(e,t){var r=/^scale/.test(t)?1:0,n=h.transformCache[t];h.transformCache[t]!==B&&new RegExp("^\\("+r+"[^.]").test(n)&&(u=!0,delete h.transformCache[t])}),i.mobileHA&&(u=!0,delete h.transformCache.translate3d),u&&$.flushTransformCache(c),$.Values.removeClass(c,"velocity-animating")),!t&&i.complete&&!i.loop&&s===l-1)try{i.complete.call(n,n)}catch(e){setTimeout(function(){throw e},1)}o&&!0!==i.loop&&o(n),h&&!0===i.loop&&!t&&(H.each(h.tweensContainer,function(e,t){var r;/^rotate/.test(e)&&(parseFloat(t.startValue)-parseFloat(t.endValue))%360==0&&(r=t.startValue,t.startValue=t.endValue,t.endValue=r),/^backgroundPosition/.test(e)&&100===parseFloat(t.endValue)&&"%"===t.unitType&&(t.endValue=0,t.startValue=100)}),q(c,"reverse",{loop:!0,delay:i.delay})),!1!==i.queue&&H.dequeue(c,i.queue)}q.State.calls[e]=!1;for(var d=0,p=q.State.calls.length;d<p;d++)if(!1!==q.State.calls[d]){a=!0;break}!1===a&&(q.State.isTicking=!1,delete q.State.calls,q.State.calls=[])}}jQuery.fn.velocity=jQuery.fn.animate}),ClusterIcon.prototype.onAdd=function(){var i,o,a=this;this.div_=document.createElement("div"),this.div_.className=this.className_,this.visible_&&this.show(),this.getPanes().overlayMouseTarget.appendChild(this.div_),this.boundsChangedListener_=google.maps.event.addListener(this.getMap(),"bounds_changed",function(){o=i}),google.maps.event.addDomListener(this.div_,"mousedown",function(){o=!(i=!0)}),google.maps.event.addDomListener(this.div_,"click",function(e){var t,r,n;i=!1,o||(n=a.cluster_.getMarkerClusterer(),google.maps.event.trigger(n,"click",a.cluster_),google.maps.event.trigger(n,"clusterclick",a.cluster_),n.getZoomOnClick()&&(r=n.getMaxZoom(),t=a.cluster_.getBounds(),n.getMap().fitBounds(t),setTimeout(function(){n.getMap().fitBounds(t),null!==r&&n.getMap().getZoom()>r&&n.getMap().setZoom(r+1)},100)),e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation())}),google.maps.event.addDomListener(this.div_,"mouseover",function(){var e=a.cluster_.getMarkerClusterer();google.maps.event.trigger(e,"mouseover",a.cluster_)}),google.maps.event.addDomListener(this.div_,"mouseout",function(){var e=a.cluster_.getMarkerClusterer();google.maps.event.trigger(e,"mouseout",a.cluster_)})},ClusterIcon.prototype.onRemove=function(){this.div_&&this.div_.parentNode&&(this.hide(),google.maps.event.removeListener(this.boundsChangedListener_),google.maps.event.clearInstanceListeners(this.div_),this.div_.parentNode.removeChild(this.div_),this.div_=null)},ClusterIcon.prototype.draw=function(){var e;this.visible_&&(e=this.getPosFromLatLng_(this.center_),this.div_.style.top=e.y+"px",this.div_.style.left=e.x+"px")},ClusterIcon.prototype.hide=function(){this.div_&&(this.div_.style.display="none"),this.visible_=!1},ClusterIcon.prototype.show=function(){var e,t,r,n;this.div_&&(e="",r=this.backgroundPosition_.split(" "),t=parseInt(r[0].trim(),10),r=parseInt(r[1].trim(),10),n=this.getPosFromLatLng_(this.center_),this.div_.style.cssText=this.createCss(n),e="<img src='"+this.url_+"' style='position: absolute; top: "+r+"px; left: "+t+"px; ",this.cluster_.getMarkerClusterer().enableRetinaIcons_?e+="width: "+this.width_+"px;height: "+this.height_+"px;":e+="clip: rect("+-1*r+"px, "+(-1*t+this.width_)+"px, "+(-1*r+this.height_)+"px, "+-1*t+"px);",this.div_.innerHTML=(e+="'>")+"<div style='position: absolute;top: "+this.anchorText_[0]+"px;left: "+this.anchorText_[1]+"px;color: "+this.textColor_+";font-size: "+this.textSize_+"px;font-family: "+this.fontFamily_+";font-weight: "+this.fontWeight_+";font-style: "+this.fontStyle_+";text-decoration: "+this.textDecoration_+";text-align: center;width: "+this.width_+"px;line-height:"+this.height_+"px;'>"+(this.cluster_.hideLabel_?" ":this.sums_.text)+"</div>",void 0===this.sums_.title||""===this.sums_.title?this.div_.title=this.cluster_.getMarkerClusterer().getTitle():this.div_.title=this.sums_.title,this.div_.style.display=""),this.visible_=!0},ClusterIcon.prototype.useStyle=function(e){this.sums_=e;e=Math.max(0,e.index-1),e=Math.min(this.styles_.length-1,e),e=this.styles_[e];this.url_=e.url,this.height_=e.height,this.width_=e.width,this.anchorText_=e.anchorText||[0,0],this.anchorIcon_=e.anchorIcon||[parseInt(this.height_/2,10),parseInt(this.width_/2,10)],this.textColor_=e.textColor||"black",this.textSize_=e.textSize||11,this.textDecoration_=e.textDecoration||"none",this.fontWeight_=e.fontWeight||"bold",this.fontStyle_=e.fontStyle||"normal",this.fontFamily_=e.fontFamily||"Arial,sans-serif",this.backgroundPosition_=e.backgroundPosition||"0 0"},ClusterIcon.prototype.setCenter=function(e){this.center_=e},ClusterIcon.prototype.createCss=function(e){var t=[];return t.push("cursor: pointer;"),t.push("position: absolute; top: "+e.y+"px; left: "+e.x+"px;"),t.push("width: "+this.width_+"px; height: "+this.height_+"px;"),t.join("")},ClusterIcon.prototype.getPosFromLatLng_=function(e){e=this.getProjection().fromLatLngToDivPixel(e);return e.x-=this.anchorIcon_[1],e.y-=this.anchorIcon_[0],e.x=parseInt(e.x,10),e.y=parseInt(e.y,10),e},Cluster.prototype.getSize=function(){return this.markers_.length},Cluster.prototype.getMarkers=function(){return this.markers_},Cluster.prototype.getCenter=function(){return this.center_},Cluster.prototype.getMap=function(){return this.map_},Cluster.prototype.getMarkerClusterer=function(){return this.markerClusterer_},Cluster.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center_,this.center_),t=this.getMarkers(),r=0;r<t.length;r++)e.extend(t[r].getPosition());return e},Cluster.prototype.remove=function(){this.clusterIcon_.setMap(null),this.markers_=[],delete this.markers_},Cluster.prototype.addMarker=function(e){var t,r,n,i;if(this.isMarkerAlreadyAdded_(e))return!1;if(this.center_?this.averageCenter_&&(i=this.markers_.length+1,n=(this.center_.lat()*(i-1)+e.getPosition().lat())/i,i=(this.center_.lng()*(i-1)+e.getPosition().lng())/i,this.center_=new google.maps.LatLng(n,i),this.calculateBounds_()):(this.center_=e.getPosition(),this.calculateBounds_()),e.isAdded=!0,this.markers_.push(e),r=this.markers_.length,null!==(n=this.markerClusterer_.getMaxZoom())&&this.map_.getZoom()>n)e.getMap()!==this.map_&&e.setMap(this.map_);else if(r<this.minClusterSize_)e.getMap()!==this.map_&&e.setMap(this.map_);else if(r===this.minClusterSize_)for(t=0;t<r;t++)this.markers_[t].setMap(null);else e.setMap(null);return!0},Cluster.prototype.isMarkerInClusterBounds=function(e){return this.bounds_.contains(e.getPosition())},Cluster.prototype.calculateBounds_=function(){var e=new google.maps.LatLngBounds(this.center_,this.center_);this.bounds_=this.markerClusterer_.getExtendedBounds(e)},Cluster.prototype.updateIcon_=function(){var e=this.markers_.length,t=this.markerClusterer_.getMaxZoom();null!==t&&this.map_.getZoom()>t||e<this.minClusterSize_?this.clusterIcon_.hide():(t=this.markerClusterer_.getStyles().length,e=this.markerClusterer_.getCalculator()(this.markers_,t),this.clusterIcon_.setCenter(this.center_),this.clusterIcon_.useStyle(e),this.clusterIcon_.show())},Cluster.prototype.isMarkerAlreadyAdded_=function(e){for(var t=0,r=this.markers_.length;t<r;t++)if(e===this.markers_[t])return!0;return!1},MarkerClusterer.prototype.onAdd=function(){var e=this;this.activeMap_=this.getMap(),this.ready_=!0,this.repaint(),this.listeners_=[google.maps.event.addListener(this.getMap(),"zoom_changed",function(){e.resetViewport_(!1),this.getZoom()!==(this.get("minZoom")||0)&&this.getZoom()!==this.get("maxZoom")||google.maps.event.trigger(this,"idle")}),google.maps.event.addListener(this.getMap(),"idle",function(){e.redraw_()})]},MarkerClusterer.prototype.onRemove=function(){for(var e=0;e<this.markers_.length;e++)this.markers_[e].getMap()!==this.activeMap_&&this.markers_[e].setMap(this.activeMap_);for(e=0;e<this.clusters_.length;e++)this.clusters_[e].remove();for(this.clusters_=[],e=0;e<this.listeners_.length;e++)google.maps.event.removeListener(this.listeners_[e]);this.listeners_=[],this.activeMap_=null,this.ready_=!1},MarkerClusterer.prototype.draw=function(){},MarkerClusterer.prototype.setupStyles_=function(){var e,t;if(!(0<this.styles_.length))for(e=0;e<this.imageSizes_.length;e++)t=this.imageSizes_[e],this.styles_.push({url:this.imagePath_+(e+1)+"."+this.imageExtension_,height:t,width:t})},MarkerClusterer.prototype.fitMapToMarkers=function(){for(var e=this.getMarkers(),t=new google.maps.LatLngBounds,r=0;r<e.length;r++)t.extend(e[r].getPosition());this.getMap().fitBounds(t)},MarkerClusterer.prototype.getGridSize=function(){return this.gridSize_},MarkerClusterer.prototype.setGridSize=function(e){this.gridSize_=e},MarkerClusterer.prototype.getMinimumClusterSize=function(){return this.minClusterSize_},MarkerClusterer.prototype.setMinimumClusterSize=function(e){this.minClusterSize_=e},MarkerClusterer.prototype.getMaxZoom=function(){return this.maxZoom_},MarkerClusterer.prototype.setMaxZoom=function(e){this.maxZoom_=e},MarkerClusterer.prototype.getStyles=function(){return this.styles_},MarkerClusterer.prototype.setStyles=function(e){this.styles_=e},MarkerClusterer.prototype.getTitle=function(){return this.title_},MarkerClusterer.prototype.setTitle=function(e){this.title_=e},MarkerClusterer.prototype.getZoomOnClick=function(){return this.zoomOnClick_},MarkerClusterer.prototype.setZoomOnClick=function(e){this.zoomOnClick_=e},MarkerClusterer.prototype.getAverageCenter=function(){return this.averageCenter_},MarkerClusterer.prototype.setAverageCenter=function(e){this.averageCenter_=e},MarkerClusterer.prototype.getIgnoreHidden=function(){return this.ignoreHidden_},MarkerClusterer.prototype.setIgnoreHidden=function(e){this.ignoreHidden_=e},MarkerClusterer.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons_},MarkerClusterer.prototype.setEnableRetinaIcons=function(e){this.enableRetinaIcons_=e},MarkerClusterer.prototype.getImageExtension=function(){return this.imageExtension_},MarkerClusterer.prototype.setImageExtension=function(e){this.imageExtension_=e},MarkerClusterer.prototype.getImagePath=function(){return this.imagePath_},MarkerClusterer.prototype.setImagePath=function(e){this.imagePath_=e},MarkerClusterer.prototype.getImageSizes=function(){return this.imageSizes_},MarkerClusterer.prototype.setImageSizes=function(e){this.imageSizes_=e},MarkerClusterer.prototype.getCalculator=function(){return this.calculator_},MarkerClusterer.prototype.setCalculator=function(e){this.calculator_=e},MarkerClusterer.prototype.setHideLabel=function(e){this.hideLabel_=e},MarkerClusterer.prototype.getHideLabel=function(){return this.hideLabel_},MarkerClusterer.prototype.getBatchSizeIE=function(){return this.batchSizeIE_},MarkerClusterer.prototype.setBatchSizeIE=function(e){this.batchSizeIE_=e},MarkerClusterer.prototype.getClusterClass=function(){return this.clusterClass_},MarkerClusterer.prototype.setClusterClass=function(e){this.clusterClass_=e},MarkerClusterer.prototype.getMarkers=function(){return this.markers_},MarkerClusterer.prototype.getTotalMarkers=function(){return this.markers_.length},MarkerClusterer.prototype.getClusters=function(){return this.clusters_},MarkerClusterer.prototype.getTotalClusters=function(){return this.clusters_.length},MarkerClusterer.prototype.addMarker=function(e,t){this.pushMarkerTo_(e),t||this.redraw_()},MarkerClusterer.prototype.addMarkers=function(e,t){for(var r in e)e.hasOwnProperty(r)&&this.pushMarkerTo_(e[r]);t||this.redraw_()},MarkerClusterer.prototype.pushMarkerTo_=function(e){var t;e.getDraggable()&&(t=this,google.maps.event.addListener(e,"dragend",function(){t.ready_&&(this.isAdded=!1,t.repaint())})),e.isAdded=!1,this.markers_.push(e)},MarkerClusterer.prototype.removeMarker=function(e,t,r){e=this.removeMarker_(e,!r);return!t&&e&&this.repaint(),e},MarkerClusterer.prototype.removeMarkers=function(e,t,r){for(var n,i=!1,o=!r,a=0;a<e.length;a++)n=this.removeMarker_(e[a],o),i=i||n;return!t&&i&&this.repaint(),i},MarkerClusterer.prototype.removeMarker_=function(e,t){var r,n=-1;if(this.markers_.indexOf)n=this.markers_.indexOf(e);else for(r=0;r<this.markers_.length;r++)if(e===this.markers_[r]){n=r;break}return-1!==n&&(t&&e.setMap(null),this.markers_.splice(n,1),!0)},MarkerClusterer.prototype.clearMarkers=function(){this.resetViewport_(!0),this.markers_=[]},MarkerClusterer.prototype.repaint=function(){var t=this.clusters_.slice();this.clusters_=[],this.resetViewport_(!1),this.redraw_(),setTimeout(function(){for(var e=0;e<t.length;e++)t[e].remove()},0)},MarkerClusterer.prototype.getExtendedBounds=function(e){var t=this.getProjection(),r=new google.maps.LatLng(e.getNorthEast().lat(),e.getNorthEast().lng()),n=new google.maps.LatLng(e.getSouthWest().lat(),e.getSouthWest().lng()),r=t.fromLatLngToDivPixel(r),n=(r.x+=this.gridSize_,r.y-=this.gridSize_,t.fromLatLngToDivPixel(n)),r=(n.x-=this.gridSize_,n.y+=this.gridSize_,t.fromDivPixelToLatLng(r)),t=t.fromDivPixelToLatLng(n);return e.extend(r),e.extend(t),e},MarkerClusterer.prototype.redraw_=function(){this.createClusters_(0)},MarkerClusterer.prototype.resetViewport_=function(e){for(var t,r=0;r<this.clusters_.length;r++)this.clusters_[r].remove();for(this.clusters_=[],r=0;r<this.markers_.length;r++)(t=this.markers_[r]).isAdded=!1,e&&t.setMap(null)},MarkerClusterer.prototype.distanceBetweenPoints_=function(e,t){var r=(t.lat()-e.lat())*Math.PI/180,n=(t.lng()-e.lng())*Math.PI/180,r=Math.sin(r/2)*Math.sin(r/2)+Math.cos(e.lat()*Math.PI/180)*Math.cos(t.lat()*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 6371*(2*Math.atan2(Math.sqrt(r),Math.sqrt(1-r)))},MarkerClusterer.prototype.isMarkerInBounds_=function(e,t){return t.contains(e.getPosition())},MarkerClusterer.prototype.addToClosestCluster_=function(e){for(var t,r,n=4e4,i=null,o=0;o<this.clusters_.length;o++)(r=(t=this.clusters_[o]).getCenter())&&(r=this.distanceBetweenPoints_(r,e.getPosition()))<n&&(n=r,i=t);i&&i.isMarkerInClusterBounds(e)?i.addMarker(e):((t=new Cluster(this)).addMarker(e),this.clusters_.push(t))},MarkerClusterer.prototype.createClusters_=function(e){var t,r=this;if(this.ready_){0===e&&(google.maps.event.trigger(this,"clusteringbegin",this),void 0!==this.timerRefStatic)&&(clearTimeout(this.timerRefStatic),delete this.timerRefStatic);for(var n=3<this.getMap().getZoom()?new google.maps.LatLngBounds(this.getMap().getBounds().getSouthWest(),this.getMap().getBounds().getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),i=this.getExtendedBounds(n),o=Math.min(e+this.batchSize_,this.markers_.length),a=e;a<o;a++)!(t=this.markers_[a]).isAdded&&this.isMarkerInBounds_(t,i)&&(!this.ignoreHidden_||this.ignoreHidden_&&t.getVisible())&&this.addToClosestCluster_(t);if(o<this.markers_.length)this.timerRefStatic=setTimeout(function(){r.createClusters_(o)},0);else for(delete this.timerRefStatic,google.maps.event.trigger(this,"clusteringend",this),a=0;a<this.clusters_.length;a++)this.clusters_[a].updateIcon_()}},MarkerClusterer.prototype.extend=function(e,t){return function(e){for(var t in e.prototype)this.prototype[t]=e.prototype[t];return this}.apply(e,[t])},MarkerClusterer.CALCULATOR=function(e,t){for(var r=0,e=e.length.toString(),n=e;0!==n;)n=parseInt(n/10,10),r++;return{text:e,index:r=Math.min(r,t),title:""}},MarkerClusterer.BATCH_SIZE=2e3,MarkerClusterer.BATCH_SIZE_IE=500,MarkerClusterer.IMAGE_PATH="//cdn.rawgit.com/mahnunchik/markerclustererplus/master/images/m",MarkerClusterer.IMAGE_EXTENSION="png",MarkerClusterer.IMAGE_SIZES=[53,56,66,78,90],"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),function(){function j(e,t,r){return e.call.apply(e.bind,arguments)}function O(t,r,e){var n;if(t)return 2<arguments.length?(n=Array.prototype.slice.call(arguments,2),function(){var e=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(e,n),t.apply(r,e)}):function(){return t.apply(r,arguments)};throw Error()}function f(e,t,r){return(f=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?j:O).apply(null,arguments)}var s=Date.now||function(){return+new Date};function W(e,t){this.a=e,this.o=t||e,this.c=this.o.document}var F=!!window.FontFace;function l(e,t,r,n){if(t=e.c.createElement(t),r)for(var i in r)r.hasOwnProperty(i)&&("style"==i?t.style.cssText=r[i]:t.setAttribute(i,r[i]));return n&&t.appendChild(e.c.createTextNode(n)),t}function u(e,t,r){(e=(e=e.c.getElementsByTagName(t)[0])||document.documentElement).insertBefore(r,e.lastChild)}function r(e){e.parentNode&&e.parentNode.removeChild(e)}function g(e,t,r){t=t||[],r=r||[];for(var n=e.className.split(/\s+/),i=0;i<t.length;i+=1){for(var o=!1,a=0;a<n.length;a+=1)if(t[i]===n[a]){o=!0;break}o||n.push(t[i])}for(t=[],i=0;i<n.length;i+=1){for(o=!1,a=0;a<r.length;a+=1)if(n[i]===r[a]){o=!0;break}o||t.push(n[i])}e.className=t.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function o(e,t){for(var r=e.className.split(/\s+/),n=0,i=r.length;n<i;n++)if(r[n]==t)return!0;return!1}function C(e,t,r){function n(){a&&i&&(a(o),a=null)}t=l(e,"link",{rel:"stylesheet",href:t,media:"all"});var i=!1,o=null,a=r||null;F?(t.onload=function(){i=!0,n()},t.onerror=function(){i=!0,o=Error("Stylesheet failed to load"),n()}):setTimeout(function(){i=!0,n()},0),u(e,"head",t)}function n(e,t,r,n){var i,o,a=e.c.getElementsByTagName("head")[0];return a?(i=l(e,"script",{src:t}),o=!1,i.onload=i.onreadystatechange=function(){o||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(o=!0,r&&r(null),i.onload=i.onreadystatechange=null,"HEAD"==i.parentNode.tagName&&a.removeChild(i))},a.appendChild(i),setTimeout(function(){o||(o=!0,r&&r(Error("Script load timeout")))},n||5e3),i):null}function S(){this.a=0,this.c=null}function M(e){return e.a++,function(){e.a--,i(e)}}function L(e,t){e.c=t,i(e)}function i(e){0==e.a&&e.c&&(e.c(),e.c=null)}function a(e){this.a=e||"-"}function P(e,t){this.c=e,this.f=4,this.a="n";e=(t||"n4").match(/^([nio])([1-9])$/i);e&&(this.a=e[1],this.f=parseInt(e[2],10))}function c(e){var t=[];e=e.split(/,\s*/);for(var r=0;r<e.length;r++){var n=e[r].replace(/['"]/g,"");-1!=n.indexOf(" ")||/^\d/.test(n)?t.push("'"+n+"'"):t.push(n)}return t.join(",")}function m(e){return e.a+e.f}function h(e){var t="normal";return"o"===e.a?t="oblique":"i"===e.a&&(t="italic"),t}function G(e,t){this.c=e,this.f=e.o.document.documentElement,this.h=t,this.a=new a("-"),this.j=!1!==t.events,this.g=!1!==t.classes}function y(e){var t,r,n;e.g&&(t=o(e.f,e.a.c("wf","active")),r=[],n=[e.a.c("wf","loading")],t||r.push(e.a.c("wf","inactive")),g(e.f,r,n)),v(e,"inactive")}function v(e,t,r){e.j&&e.h[t]&&(r?e.h[t](r.c,m(r)):e.h[t]())}function R(){this.c={}}function d(e,t){this.c=e,this.f=t,this.a=l(this.c,"span",{"aria-hidden":"true"},this.f)}function p(e){u(e.c,"body",e.a)}function b(e){return"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+c(e.c)+";font-style:"+h(e)+";font-weight:"+e.f+"00;"}function k(e,t,r,n,i,o){this.g=e,this.j=t,this.a=n,this.c=r,this.f=i||3e3,this.h=o||void 0}function w(e,t,r,n,i,o,a){this.v=e,this.B=t,this.c=r,this.a=n,this.s=a||"BESbswy",this.f={},this.w=i||3e3,this.u=o||null,this.m=this.j=this.h=this.g=null,this.g=new d(this.c,this.s),this.h=new d(this.c,this.s),this.j=new d(this.c,this.s),this.m=new d(this.c,this.s),e=b(e=new P(this.a.c+",serif",m(this.a))),this.g.a.style.cssText=e,e=b(e=new P(this.a.c+",sans-serif",m(this.a))),this.h.a.style.cssText=e,e=b(e=new P("serif",m(this.a))),this.j.a.style.cssText=e,e=b(e=new P("sans-serif",m(this.a))),this.m.a.style.cssText=e,p(this.g),p(this.h),p(this.j),p(this.m)}a.prototype.c=function(e){for(var t=[],r=0;r<arguments.length;r++)t.push(arguments[r].replace(/[\W_]+/g,"").toLowerCase());return t.join(this.a)},k.prototype.start=function(){var i=this.c.o.document,o=this,a=s(),e=new Promise(function(r,n){!function t(){var e;s()-a>=o.f?n():i.fonts.load(h(e=o.a)+" "+e.f+"00 300px "+c(e.c),o.h).then(function(e){1<=e.length?r():setTimeout(t,25)},function(){n()})}()}),r=null,t=new Promise(function(e,t){r=setTimeout(t,o.f)});Promise.race([t,e]).then(function(){r&&(clearTimeout(r),r=null),o.g(o.a)},function(){o.j(o.a)})};var _={D:"serif",C:"sans-serif"},t=null;function x(){var e;return null===t&&(e=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),t=!!e&&(parseInt(e[1],10)<536||536===parseInt(e[1],10)&&parseInt(e[2],10)<=11)),t}function T(e,t,r){for(var n in _)if(_.hasOwnProperty(n)&&t===e.f[_[n]]&&r===e.f[_[n]])return!0;return!1}function I(e){var t=e.g.a.offsetWidth,r=e.h.a.offsetWidth;t===e.f.serif&&r===e.f["sans-serif"]||x()&&T(e,t,r)?s()-e.A>=e.w?x()&&T(e,t,r)&&(null===e.u||e.u.hasOwnProperty(e.a.c))?A(e,e.v):A(e,e.B):setTimeout(f(function(){I(this)},e),50):A(e,e.v)}function A(e,t){setTimeout(f(function(){r(this.g.a),r(this.h.a),r(this.j.a),r(this.m.a),t(this.a)},e),0)}function E(e,t,r){this.c=e,this.a=t,this.f=0,this.m=this.j=!1,this.s=r}w.prototype.start=function(){this.f.serif=this.j.a.offsetWidth,this.f["sans-serif"]=this.m.a.offsetWidth,this.A=s(),I(this)};var V=null;function N(e){0==--e.f&&e.j&&(e.m?((e=e.a).g&&g(e.f,[e.a.c("wf","active")],[e.a.c("wf","loading"),e.a.c("wf","inactive")]),v(e,"active")):y(e.a))}function B(e){this.j=e,this.a=new R,this.h=0,this.f=this.g=!0}function H(e,t){this.c=e,this.a=t}function $(e,t){this.c=e,this.a=t}function q(e,t){this.c=e||"https://fonts.googleapis.com/css",this.a=[],this.f=[],this.g=t||""}E.prototype.g=function(e){var t=this.a;t.g&&g(t.f,[t.a.c("wf",e.c,m(e).toString(),"active")],[t.a.c("wf",e.c,m(e).toString(),"loading"),t.a.c("wf",e.c,m(e).toString(),"inactive")]),v(t,"fontactive",e),this.m=!0,N(this)},E.prototype.h=function(e){var t,r,n,i=this.a;i.g&&(t=o(i.f,i.a.c("wf",e.c,m(e).toString(),"active")),r=[],n=[i.a.c("wf",e.c,m(e).toString(),"loading")],t||r.push(i.a.c("wf",e.c,m(e).toString(),"inactive")),g(i.f,r,n)),v(i,"fontinactive",e),N(this)},B.prototype.load=function(e){this.c=new W(this.j,e.context||this.j),this.g=!1!==e.events,this.f=!1!==e.classes;var n=this,t=new G(this.c,e),r=e,i=[],e=r.timeout,i=(function(e){e.g&&g(e.f,[e.a.c("wf","loading")]),v(e,"loading")}(t),function(e,t,r){var n,i,o=[];for(n in t)t.hasOwnProperty(n)&&(i=e.c[n])&&o.push(i(t[n],r));return o}(n.a,r,n.c)),o=new E(n.c,t,e);for(n.h=i.length,t=0,r=i.length;t<r;t++)i[t].load(function(e,t,r){var u,c,h,d,p;u=o,c=e,h=t,d=r,p=0==--(e=n).h,(e.f||e.g)&&setTimeout(function(){var e=d||null,t=h||{};if(0===c.length&&p)y(u.a);else{u.f+=c.length,p&&(u.j=p);for(var r=[],n=0;n<c.length;n++){var i,o=c[n],a=t[o.c],s=u.a,l=o;s.g&&g(s.f,[s.a.c("wf",l.c,m(l).toString(),"loading")]),v(s,"fontloading",l),s=(V=(s=null)===V?!!window.FontFace&&(l=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),i=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor),l?42<parseInt(l[1],10):!i):V)?new k(f(u.g,u),f(u.h,u),u.c,o,u.s,a):new w(f(u.g,u),f(u.h,u),u.c,o,u.s,e,a),r.push(s)}for(n=0;n<r.length;n++)r[n].start()}},0)})},H.prototype.load=function(a){var s,t=this,l=t.a.projectId,e=t.a.version;l?(s=t.c.o,n(this.c,(t.a.api||"https://fast.fonts.net/jsapi")+"/"+l+".js"+(e?"?v="+e:""),function(e){e?a([]):(s["__MonotypeConfiguration__"+l]=function(){return t.a},function e(){if(s["__mti_fntLst"+l]){var t,r=s["__mti_fntLst"+l](),n=[];if(r)for(var i=0;i<r.length;i++){var o=r[i].fontfamily;null!=r[i].fontStyle&&null!=r[i].fontWeight?(t=r[i].fontStyle+r[i].fontWeight,n.push(new P(o,t))):n.push(new P(o))}a(n)}else setTimeout(function(){e()},50)}())}).id="__MonotypeAPIScript__"+l):a([])},$.prototype.load=function(e){for(var t=this.a.urls||[],r=this.a.families||[],n=this.a.testStrings||{},i=new S,o=0,a=t.length;o<a;o++)C(this.c,t[o],M(i));var s=[];for(o=0,a=r.length;o<a;o++)if((t=r[o].split(":"))[1])for(var l=t[1].split(","),u=0;u<l.length;u+=1)s.push(new P(t[0],l[u]));else s.push(new P(t[0]));L(i,function(){e(s,n)})};function D(e){this.f=e,this.a=[],this.c={}}var Z={latin:"BESbswy","latin-ext":"çöüğş",cyrillic:"йяЖ",greek:"αβΣ",khmer:"កខគ",Hanuman:"កខគ"},J={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},Q={i:"i",italic:"i",n:"n",normal:"n"},U=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;function X(e,t){this.c=e,this.a=t}var Y={Arimo:!0,Cousine:!0,Tinos:!0};function K(e,t){this.c=e,this.a=t}function ee(e,t){this.c=e,this.f=t,this.a=[]}X.prototype.load=function(e){for(var t=new S,r=this.c,n=new q(this.a.api,this.a.text),i=this.a.families,o=n,a=i,s=a.length,l=0;l<s;l++){var u=a[l].split(":"),c=(3==u.length&&o.f.push(u.pop()),"");2==u.length&&""!=u[1]&&(c=":"),o.a.push(u.join(c))}for(var h=new D(i),d=h,p=d.f.length,f=0;f<p;f++){var g=d.f[f].split(":"),m=g[0].replace(/\+/g," "),y=["n4"];if(2<=g.length){var v,b,k=g[1],w=[];if(k)for(var _=(k=k.split(",")).length,x=0;x<_;x++)(b=!(b=k[x]).match(/^[\w-]+$/)||null==(v=U.exec(b.toLowerCase()))?"":[b=null==(b=v[2])||""==b?"n":Q[b],v=null==(v=v[1])||""==v?"4":J[v]||(isNaN(v)?"4":v.substr(0,1))].join(""))&&w.push(b);0<w.length&&(y=w),3==g.length&&(w=[],0<(g=(g=g[2])?g.split(","):w).length)&&(g=Z[g[0]])&&(d.c[m]=g)}for(d.c[m]||(g=Z[m])&&(d.c[m]=g),g=0;g<y.length;g+=1)d.a.push(new P(m,y[g]))}C(r,function(e){if(0==e.a.length)throw Error("No fonts to load!");if(-1!=e.c.indexOf("kit="))return e.c;for(var t=e.a.length,r=[],n=0;n<t;n++)r.push(e.a[n].replace(/ /g,"+"));return t=e.c+"?family="+r.join("%7C"),0<e.f.length&&(t+="&subset="+e.f.join(",")),0<e.g.length&&(t+="&text="+encodeURIComponent(e.g)),t}(n),M(t)),L(t,function(){e(h.a,h.c,Y)})},K.prototype.load=function(a){var e=this.a.id,s=this.c.o;e?n(this.c,(this.a.api||"https://use.typekit.net")+"/"+e+".js",function(e){if(e)a([]);else if(s.Typekit&&s.Typekit.config&&s.Typekit.config.fn){e=s.Typekit.config.fn;for(var t=[],r=0;r<e.length;r+=2)for(var n=e[r],i=e[r+1],o=0;o<i.length;o++)t.push(new P(n,i[o]));try{s.Typekit.load({events:!1,classes:!1,async:!0})}catch(e){}a(t)}},2e3):a([])},ee.prototype.load=function(l){var e=this.f.id,t=this.c.o,u=this;e?(t.__webfontfontdeckmodule__||(t.__webfontfontdeckmodule__={}),t.__webfontfontdeckmodule__[e]=function(e,t){for(var r,n,i,o=0,a=t.fonts.length;o<a;++o){var s=t.fonts[o];u.a.push(new P(s.name,(s="font-weight:"+s.weight+";font-style:"+s.style,i=n=r=void 0,r=4,n="n",i=null,s&&((i=s.match(/(normal|oblique|italic)/i))&&i[1]&&(n=i[1].substr(0,1).toLowerCase()),i=s.match(/([1-9]00|normal|bold)/i))&&i[1]&&(/bold/i.test(i[1])?r=7:/[1-9]00/.test(i[1])&&(r=parseInt(i[1].substr(0,1),10))),n+r)))}l(u.a)},n(this.c,(this.f.api||"https://f.fontdeck.com/s/css/js/")+((t=this.c).o.location.hostname||t.a.location.hostname)+"/"+e+".js",function(e){e&&l([])})):l([])};var e=new B(window),z=(e.a.c.custom=function(e,t){return new $(t,e)},e.a.c.fontdeck=function(e,t){return new ee(t,e)},e.a.c.monotype=function(e,t){return new H(t,e)},e.a.c.typekit=function(e,t){return new K(t,e)},e.a.c.google=function(e,t){return new X(t,e)},{load:f(e.load,e)});"function"==typeof define&&define.amd?define(function(){return z}):"undefined"!=typeof module&&module.exports?module.exports=z:(window.WebFont=z,window.WebFontConfig&&e.load(window.WebFontConfig))}(),function(e,t){"function"==typeof define&&define.amd?define(["exports","module"],t):"undefined"!=typeof exports&&"undefined"!=typeof module?t(0,module):(t(t={exports:{}},t),e.autosize=t.exports)}(this,function(e,t){"use strict";var r,n,c="function"==typeof Map?new Map:(r=[],n=[],{has:function(e){return-1<r.indexOf(e)},get:function(e){return n[r.indexOf(e)]},set:function(e,t){-1===r.indexOf(e)&&(r.push(e),n.push(t))},delete:function(e){e=r.indexOf(e);-1<e&&(r.splice(e,1),n.splice(e,1))}}),h=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){h=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function i(i){var o,a,n,e,r,t;function s(e){var t=i.style.width;i.style.width="0px",i.offsetWidth,i.style.width=t,i.style.overflowY=e}function l(){var e=i.style.height,t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(i),r=document.documentElement&&document.documentElement.scrollTop,n=(i.style.height="auto",i.scrollHeight+o);0===i.scrollHeight?i.style.height=e:(i.style.height=n+"px",a=i.clientWidth,t.forEach(function(e){e.node.scrollTop=e.scrollTop}),r&&(document.documentElement.scrollTop=r))}function u(){l();var e=Math.round(parseFloat(i.style.height)),t=window.getComputedStyle(i,null),r="content-box"===t.boxSizing?Math.round(parseFloat(t.height)):i.offsetHeight;if(r!==e?"hidden"===t.overflowY&&(s("scroll"),l(),r="content-box"===t.boxSizing?Math.round(parseFloat(window.getComputedStyle(i,null).height)):i.offsetHeight):"hidden"!==t.overflowY&&(s("hidden"),l(),r="content-box"===t.boxSizing?Math.round(parseFloat(window.getComputedStyle(i,null).height)):i.offsetHeight),n!==r){n=r;e=h("autosize:resized");try{i.dispatchEvent(e)}catch(e){}}}i&&i.nodeName&&"TEXTAREA"===i.nodeName&&!c.has(i)&&(o=null,a=i.clientWidth,n=null,e=function(){i.clientWidth!==a&&u()},r=function(t){window.removeEventListener("resize",e,!1),i.removeEventListener("input",u,!1),i.removeEventListener("keyup",u,!1),i.removeEventListener("autosize:destroy",r,!1),i.removeEventListener("autosize:update",u,!1),Object.keys(t).forEach(function(e){i.style[e]=t[e]}),c.delete(i)}.bind(i,{height:i.style.height,resize:i.style.resize,overflowY:i.style.overflowY,overflowX:i.style.overflowX,wordWrap:i.style.wordWrap}),i.addEventListener("autosize:destroy",r,!1),"onpropertychange"in i&&"oninput"in i&&i.addEventListener("keyup",u,!1),window.addEventListener("resize",e,!1),i.addEventListener("input",u,!1),i.addEventListener("autosize:update",u,!1),i.style.overflowX="hidden",i.style.wordWrap="break-word",c.set(i,{destroy:r,update:u}),"vertical"===(t=window.getComputedStyle(i,null)).resize?i.style.resize="none":"both"===t.resize&&(i.style.resize="horizontal"),o="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(o)&&(o=0),u())}function o(e){e=c.get(e);e&&e.destroy()}function a(e){e=c.get(e);e&&e.update()}var s=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((s=function(e){return e}).destroy=function(e){return e},s.update=function(e){return e}):((s=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],i),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],o),e},s.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],a),e}),t.exports=s});var SG=SG||{};function updateGeoLocation(e){(void 0!==SG.currentJobMap?jQuery("#geoLocation_result"):(jQuery("#geoLocation_result").hide(),jQuery("#geoLocation_info .search-result-no-map"))).text(jQuery("#geoLocation_search").val()),jQuery(".locationSearch .resetLink").show(),"undefined"!=typeof google&&void 0!==google.maps?useGoogle(e,handleGoogleGeoCoderAnswer):useNominatim(e,handleNominatimAnswer)}function getLatLongRadius(){var n=$("#jobabo_location input").val();function r(e,t){var e=getBounds(e),r=e.getCenter(),e=e.getSouthWest().distanceTo(e.getNorthEast())/2+1e3*t;window.selectedGeoLocation={lat:r.lat,lon:r.lng,radius:e,address:n}}$("#jobabo_location_error").hide(),$("#jobabo_radius").hide(),0===n.trim().length?window.selectedGeoLocation={lat:0,lon:0,radius:0,address:""}:"undefined"!=typeof google&&void 0!==google.maps?useGoogle(n,function(e,t){"OK"===e&&t[0]?(e=t[0],t=+$("#jobabo_radius select").val(),isNaN(t)&&(t=0),isRadiusEnabledForLocation(e)?$("#jobabo_radius").show():($("#jobabo_radius").hide(),t=0),r(e,t)):(window.selectedGeoLocation={lat:0,lon:0,radius:0,address:""},$("#jobabo_location_error").show())}):useNominatim(n,function(e){var t=+$("#jobabo_radius select").val();(e=chooseNominatimLocation(t=isNaN(t)?1:t,e))?($("#jobabo_radius").show(),r(e,t)):(window.selectedGeoLocation={lat:0,lon:0,radius:0,address:""},$("#jobabo_location_error").show())})}function useGoogle(e,t){this.geocoder||(this.geocoder=new google.maps.Geocoder),this.geocoder.geocode({address:e},t)}function useNominatim(e,t){jQuery.getJSON("https://nominatim.openstreetmap.org/search",{format:"json",q:e,limit:50},t)}function handleNominatimAnswer(e){var t=+$("#geoLocation_radius select").val(),r=chooseNominatimLocation(t=isNaN(t)?1:t,e);filterLocationWithin(t,r),filterLocationWithin.currentGeoLocation=r,0<e.length&&($("#geoLocation_radius").show(),$("#geoLocation_search").hide(),$("#geoLocation_info").show()),setGlobalGeoLocationSearch(filterLocationWithin.currentResults),void 0!==SG.currentJobMap?(updateJobSearch(),SG.currentJobMap.centerMapToSearch(filterLocationWithin.currentGeoLocation)):updateJobSearch()}function chooseNominatimLocation(e,t){var r;if(geocodingOverride.OSM)for(var n=0;n<t.length;n++){var i=t[n],o=geocodingOverride.OSM[i.osm_id];o&&(o.latitude&&(i.lat=o.latitude),o.longitude&&(i.lon=o.longitude),o.boundingBox)&&(i.boundingbox=JSON.parse(o.boundingBox))}for(var a=1;a<=e;a+=4)for(n=0;n<t.length;n++)if((("node"===(r=t[n]).osm_type&&"place"===r.class||"way"===r.osm_type&&"building"===r.class)&&"state"!==r.type||"relation"===r.osm_type&&0<=["place","boundary"].indexOf(r.class))&&0<filterLocationWithin(a,r).length)return r;for(a=1;a<=e;a+=4)for(n=0;n<t.length;n++)if(0<filterLocationWithin(a,r=t[n]).length)return r;for(a=1;a<=e;a+=4)for(n=0;n<t.length;n++)if("node"===(r=t[n]).osm_type&&"place"===r.class&&"state"!==r.type||"relation"===r.osm_type&&0<=["place","boundary"].indexOf(r.class))return r;return t[0]}function handleGoogleGeoCoderAnswer(e,t){"OK"===t&&(t=e[0],isRadiusEnabledForLocation(filterLocationWithin.currentGeoLocation=t)?($("#geoLocation_radius").show(),filterLocationWithin($("#geoLocation_radius select").val(),t)):($("#geoLocation_radius").hide(),filterLocationWithin(null,t)),$("#geoLocation_search").hide(),$("#geoLocation_info").show(),setGlobalGeoLocationSearch(filterLocationWithin.currentResults),void 0!==SG.currentJobMap?(updateJobSearch(),SG.currentJobMap.centerMapToSearch(filterLocationWithin.currentGeoLocation)):updateJobSearch())}function isRadiusEnabledForLocation(e){for(var t=!0,r=0;r<e.types.length;r++)if("country"===e.types[r]||"administrative_area_level_1"===e.types[r]||"administrative_area_level_2"===e.types[r]||"administrative_area_level_3"===e.types[r]){t=!1;break}return t}function filterLocationWithin(e,t){if(void 0!==t){e=+e,isNaN(e)&&(e=0);var r=[],n=((r=void 0!==SG.currentJobMap&&"undefined"!=typeof google?SG.currentJobMap.filterWithin(e,t):filterWithinWithoutMap(e,t)).sort(numSort),[]);if("undefined"!==r)for(var i=0;i<r.length;i++)"number"==typeof r[i]?n.push(r[i]):null!==r[i]&&n.push(r[i].postingId);return filterLocationWithin.currentResults=n}}function filterWithinWithoutMap(e,t){for(var r=[],n=getBounds(t),i=extendBounds(n,e),o=0;o<SG.allJobLocations.length;o++){var a,s,l,u,c,h,d,p,f,g=SG.allJobLocations[o],m=L.latLng(g.latitude,g.longitude);try{(n.contains(m)||(a=n.getCenter(),s=n.getSouthWest(),u=-(l=-new L.LatLng(s.lat,a.lng).distanceTo(a)),h=-(c=-new L.LatLng(a.lat,s.lng).distanceTo(a)),f=pointOnRect(d=new L.LatLng(m.lat,a.lng).distanceTo(a),p=new L.LatLng(a.lat,m.lng).distanceTo(a),l,c,u,h,!0),Math.sqrt((d-f.x)*(d-f.x)+(p-f.y)*(p-f.y))<1e3*e))&&(r.push(g.postingId),"undefined"!=typeof google&&void 0!==google.maps?filterLocationWithin.currentMarkers.push({geoName:g.geoName,position:{lat:g.latitude,lng:g.longitude}}):filterLocationWithin.currentMarkers.push({geoName:g.geoName,_latlng:{lat:g.latitude,lng:g.longitude}}))}catch(e){i.contains(m)&&r.push(g.postingId)}}return r}function extendBounds(e,t){var r=e.getSouthWest(),e=e.getNorthEast(),n=t/110.574,r=new L.LatLng(r.lat-n,r.lng-t/(111.32*Math.cos((r.lat-n)*Math.PI/180))),t=new L.LatLng(e.lat+n,e.lng+t/(111.32*Math.cos((e.lat+n)*Math.PI/180)));return new L.LatLngBounds(r,t)}function getBounds(e){if(void 0!==e){var t;if(void 0!==e.boundingbox)return t=e.boundingbox,r=L.latLng(t[0],t[2]),t=L.latLng(t[1],t[3]),L.latLngBounds(r,t);var r=e;if(void 0!==(r=void 0!==r.geometry?r.geometry:r).bounds)return r.bounds}}function pointOnRect(e,t,r,n,i,o,a){if(a&&r<e&&e<i&&n<t&&t<o)throw"Point "+[e,t]+"cannot be inside the rectangle: "+[r,n]+" - "+[i,o]+".";var a=(r+i)/2,s=(n+o)/2,l=(s-t)/(a-e);if(e<=a){var u=l*(r-e)+t;if(n<=u&&u<=o)return{x:r,y:u}}if(a<=e){u=l*(i-e)+t;if(n<=u&&u<=o)return{x:i,y:u}}if(t<=s){u=(n-t)/l+e;if(r<=u&&u<=i)return{x:u,y:n}}if(s<=t){u=(o-t)/l+e;if(r<=u&&u<=i)return{x:u,y:o}}if(e===a&&t===s)return{x:e,y:t};throw"Cannot find intersection for "+[e,t]+" inside rectangle "+[r,n]+" - "+[i,o]+"."}function numSort(e,t){return parseInt(e)-parseInt(t)}function JobMapGoogle(e,t,r){"use strict";this.markers=[];var n,i=t.mapMarkerColor,t=(t.markerBaseUrl,encodeURIComponent(i),encodeURIComponent(i),t.mapMarkerURL),i=function(e){{var t,r;if(7===e.length)return t=parseInt(e.substring(1,3),16),r=parseInt(e.substring(3,5),16),e=parseInt(e.substring(5,7),16),Math.round((t+e+r)/3)<=127.5?"#FFFFFF":"#000000"}}(i),o={clusterStyles:[{url:t,width:44,height:44,anchor:[5,19],anchorIcon:[44,0],anchorText:[-5,0],textColor:i,textSize:16}],mapOptions:{zoom:5,maxZoom:18,streetViewControl:!1,mapTypeControl:!1,center:new google.maps.LatLng(50.5,10),mapTypeId:google.maps.MapTypeId.ROADMAP}};try{n=JSON.parse(r)}catch(e){n={}}n.lat&&n.lng&&(o.mapOptions.center=new google.maps.LatLng(+n.lat,+n.lng)),n.zoom&&(o.mapOptions.zoom=+n.zoom),n.maxZoom&&(o.mapOptions.maxZoom=+n.maxZoom);var a=this,s={url:t,size:new google.maps.Size(44,44),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(0,44),textColor:i,textSize:16};function l(e,t){return void 0!==e&&void 0!==t?"<br/>"+e+": <strong>"+t+"</strong>":""}function p(e,t){return e.find("."+t+" span").html()}function f(e,t){return void 0===(e=e.find("."+t).html())?e:e.replace(/\sid=".[^"]*"/g,"")}function u(e,t){return parseInt(e)-parseInt(t)}function c(e){if(void 0!==e){if(void 0!==(e=void 0!==e.geometry?e.geometry:e).bounds)return e.bounds;if(void 0!==e.viewport)return e.viewport}}function h(){return jobs_selected}return this.init=function(e,t){var r={maxZoom:o.mapOptions.maxZoom,styles:o.clusterStyles,averageCenter:!0,zoomOnClick:!1};this.disabledIcons=!!t&&t.disabledIcons||!1,this.mapOptions=o.mapOptions,t&&(this.mapOptions=$.extend(!0,{},this.mapOptions,t.mapOptions),t.clustererOptions)&&$.extend(r,t.clustererOptions),this.map=new google.maps.Map(e,this.mapOptions),this.infoWindow=new google.maps.InfoWindow,this.clusterer=new MarkerClusterer(this.map,this.markers,r),this.clusterer.addListener("clusterclick",function(e){a.clusterClickListener(e)})},this.clusterClickListener=function(e){for(var t=e.getMarkers(),r=[],n=0;n<t.length;n++)r[n]=t[n].postingId;r.sort(u),setGlobalGeoLocationSearch(r),filterLocationWithin.currentGeoLocation={},filterLocationWithin.currentGeoLocation.bounds=e.getBounds(),filterLocationWithin.currentMarkers=t,$("#geoLocation_search").val(t[0].geoName),$("#geoLocation_result").text(t[0].geoName),$("#geoLocation_radius").show(),$("#geoLocation_search").hide(),$("#geoLocation_info").show(),$(".locationSearch .resetLink").show(),updateJobSearch(),this.map.getZoom()===this.mapOptions.maxZoom&&this.showinfoWindowCluster(this.map,t,e)},this.filterWithin=function(e,t){var r,n,i=[],o=c(t);e&&0<e&&(t=this.map,e=1e3*e,n=(r=o).getCenter(),r=google.maps.geometry.spherical.computeDistanceBetween(r.getSouthWest(),r.getNorthEast())/2+e,n=(e=new google.maps.Circle({center:n,radius:r,map:t,visible:!1})).getBounds(),e.setMap(null),o=n);for(var a=0;a<this.markers.length;a++)o.contains(this.markers[a].getPosition())&&(i.push(this.markers[a].postingId),filterLocationWithin.currentMarkers.push(this.markers[a]));return i},this.addMarker=function(e,t,r,n,i){var t=new google.maps.LatLng(t,r),o=new google.maps.Marker({position:t,icon:s});return o.addListener("click",function(){var e=function(e){var t=$(".matchContainer .matchHeadline"),r=$("#job_id_"+e.postingId),n=f(r,"title"),i=p(t,"ProjectGeoLocationCity"),e=e.geoName,t=p(t,"date"),r=f(r,"date"),n='<strong style="font-size: 110%;">'+n+"</strong>";e&&(n+=l(i,e));r&&(n+=l(t,r));return n}(o);a.infoWindow.setContent(e),a.infoWindow.open(a.map,o)}),o.postingId=n,o.geoName=i,this.markers.push(o),(this.disabledIcons||-1<$.inArray(n,h()))&&this.clusterer.addMarker(o),this},this.showinfoWindowCluster=function(e,t,r){for(var n,i,o,a=$(".matchContainer .matchHeadline"),s=[],l=[],u=t,c=0;c<u.length;c++){var h=$("#job_id_"+u[c].postingId),d=f(h,"title"),h=f(h,"date");s[c]=d,l[c]=h,i=p(a,"ProjectGeoLocationCity"),n=u[c].geoName}for(n?(o='<strong style="font-size: 110%;">'+i+": "+n+"</strong>",o+='<ul style="list-style-type:none;">'):o+='<ul style="list-style-type:none; margin-left: 0;">',c=0;c<s.length;c++)o+=l[c]?"<li><strong>"+s[c]+"</strong> | "+l[c]+"</li>":"<li><strong>"+s[c]+"</strong></li>";this.infoWindow.setContent(o+="</ul>"),this.infoWindow.setPosition(u[0].position),this.infoWindow.setOptions({pixelOffset:{height:-26,width:0}}),this.infoWindow.open(e)},this.refreshMap=function(){this.clusterer.clearMarkers();for(var e=[],t=0;t<this.markers.length;t++){var r=this.markers[t];(function(e){if(!filterLocationWithin.currentMarkers||0===filterLocationWithin.currentMarkers.length)return 1;for(var t=0;t<filterLocationWithin.currentMarkers.length;t++)if(filterLocationWithin.currentMarkers[t].geoName===e.geoName&&filterLocationWithin.currentMarkers[t].position.lat===e.position.lat&&filterLocationWithin.currentMarkers[t].position.lng===e.position.lng)return 1;return})(r)&&(this.disabledIcons||-1<$.inArray(r.postingId,h()))&&e.push(r)}filterLocationWithin.currentMarkers=[],this.clusterer.addMarkers(e,!0),0!=e.length&&this.clusterer.fitMapToMarkers(),this.clusterer.repaint()},this.centerMapToSearch=function(e){e=c(e);void 0!==(e=void 0===e?c(filterLocationWithin.currentGeoLocation):e)&&this.map.fitBounds(e)},this}function JobMapOSM(e,t,i){"use strict";this.markers=[];var r=t.mapMarkerColor,t=t.markerBaseUrl+"assets/public/jobmap/singlemarker.png?color="+encodeURIComponent(r),o=(function(e){{var t,r;if(7===e.length)t=parseInt(e.substring(1,3),16),r=parseInt(e.substring(3,5),16),e=parseInt(e.substring(5,7),16),Math.round((t+e+r)/3)}}(r),this),a=L.icon({iconUrl:t,iconSize:[27,41],iconAnchor:[13,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28]});function s(e,t){return void 0!==e&&void 0!==t?"<br/>"+e+": <strong>"+t+"</strong>":""}function d(e,t){return e.find("."+t+" span").html()}function p(e,t){return void 0===(e=e.find("."+t).html())?e:e.replace(/\sid=".[^"]*"/g,"")}function l(e,t){return parseInt(e)-parseInt(t)}function u(e){if(void 0!==e){var t;if(void 0!==e.boundingbox)return t=e.boundingbox,r=L.latLng(t[0],t[2]),t=L.latLng(t[1],t[3]),L.latLngBounds(r,t);var r=e;if(void 0!==(r=void 0!==r.geometry?r.geometry:r).bounds)return r.bounds}}function c(){return jobs_selected}return this.init=function(e,t){this.disabledIcons=!!t&&t.disabledIcons||!1;var r,n={layers:[L.tileLayer("//{s}-tile.softgarden.io/{z}/{x}/{y}.png",{maxZoom:19,attribution:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'})],center:[50.5,10],zoom:5,maxZoom:18};try{r=JSON.parse(i)}catch(e){r={}}r.lat&&r.lng&&(n.center=[+r.lat,+r.lng]),r.zoom&&(n.zoom=+r.zoom),r.maxZoom&&(n.maxZoom=+r.maxZoom),t&&(n=$.extend(!0,{},n,t.mapOptions)),this.mapOptions=n,this.map=L.map(e,n),this.map.attributionControl.setPrefix(""),this.clusterer=L.markerClusterGroup({showCoverageOnHover:!1,zoomToBoundsOnClick:!1,iconCreateFunction:function(e){return L.divIcon({html:"<div><span>"+e.getChildCount()+"</span></div>",className:"marker-cluster marker-cluster-color",iconSize:new L.Point(40,40)})}}),this.map.addLayer(this.clusterer),this.clusterer.on("clusterclick",function(e){o.clusterClickListener(e.layer)})},this.clusterClickListener=function(e){for(var t=e.getAllChildMarkers(),r=[],n=0;n<t.length;n++)r[n]=t[n].postingId;r.sort(l),setGlobalGeoLocationSearch(r),filterLocationWithin.currentGeoLocation={},filterLocationWithin.currentGeoLocation.bounds=e.getBounds(),filterLocationWithin.currentMarkers=t,$("#geoLocation_search").val(t[0].geoName),$("#geoLocation_result").text(t[0].geoName),$("#geoLocation_radius").show(),$("#geoLocation_search").hide(),$("#geoLocation_info").show(),$(".locationSearch .resetLink").show(),updateJobSearch(),this.map.getZoom()===this.mapOptions.maxZoom&&this.showinfoWindowCluster(this.map,e)},this.filterWithin=function(e,t){var r,n,i=[],o=(console.log("filterWithin",e,t),u(t));e&&0<e&&(t=this.map,e=1e3*e,n=(r=o).getCenter(),r=r.getSouthWest().distanceTo(r.getNorthEast())/2+e,n=(e=L.circle(n,r).addTo(t)).getBounds(),t.removeLayer(e),o=n);for(var a=0;a<this.markers.length;a++)o.contains(this.markers[a].getLatLng())&&(i.push(this.markers[a].postingId),filterLocationWithin.currentMarkers.push(this.markers[a]));return i},this.addMarker=function(e,t,r,n,i){var o=L.marker([t,r],{icon:a}).bindPopup(function(){var e=o,t=$(".matchContainer .matchHeadline"),r=p(i=$("#job_id_"+e.postingId),"title"),n=d(t,"ProjectGeoLocationCity"),e=e.geoName,t=d(t,"date"),i=p(i,"date"),r='<strong style="font-size: 110%;">'+r+"</strong>";return e&&(r+=s(n,e)),i&&(r+=s(t,i)),r});return o.postingId=n,o.geoName=i,this.markers.push(o),(this.disabledIcons||-1<$.inArray(n,c()))&&this.clusterer.addLayer(o),this},this.showinfoWindowCluster=function(e,t){for(var r,n,i=$(".matchContainer .matchHeadline"),o=[],a=[],s=t.getAllChildMarkers(),l=0;l<s.length;l++){var u=$("#job_id_"+s[l].postingId),c=p(u,"title"),u=p(u,"date");o[l]=c,a[l]=u,n=d(i,"ProjectGeoLocationCity"),r=s[l].geoName}var h="";for(r?(h='<strong style="font-size: 110%;">'+n+": "+r+"</strong>",h+='<ul style="list-style-type:none;">'):h+='<ul style="list-style-type:none; margin-left: 0;">',l=0;l<o.length;l++)h+=a[l]?"<li><strong>"+o[l]+"</strong> | "+a[l]+"</li>":"<li><strong>"+o[l]+"</strong></li>";h+="</ul>";L.popup().setLatLng(t.getBounds().getCenter()).setContent(h).openOn(e)},this.refreshMap=function(){this.clusterer.clearLayers();for(var e=[],t=0;t<this.markers.length;t++){var r=this.markers[t];(function(e){if(!filterLocationWithin.currentMarkers||0===filterLocationWithin.currentMarkers.length)return 1;for(var t=0;t<filterLocationWithin.currentMarkers.length;t++)if(filterLocationWithin.currentMarkers[t].geoName===e.geoName&&filterLocationWithin.currentMarkers[t]._latlng.lat===e._latlng.lat&&filterLocationWithin.currentMarkers[t]._latlng.lng===e._latlng.lng)return 1;return})(r)&&(this.disabledIcons||-1<$.inArray(r.postingId,c()))&&e.push(r)}filterLocationWithin.currentMarkers=[],this.clusterer.addLayers(e),0!=e.length&&this.map.fitBounds(this.clusterer.getBounds(),{padding:[10,10]})},this.centerMapToSearch=function(e){e=u(e);void 0!==(e=void 0===e?u(filterLocationWithin.currentGeoLocation):e)&&this.map.fitBounds(e)},this}function JobMap(e,t,r){"use strict";var o=new("undefined"!=typeof google&&void 0!==google.maps?JobMapGoogle:JobMapOSM)(e,t,r);this.init=function(e,t){o.init(e,t)},this.filterWithin=function(e,t){return o.filterWithin(e,t)},this.addMarker=function(e,t,r,n,i){return o.addMarker(e,t,r,n,i),this},this.refreshMap=function(){o.refreshMap()},this.centerMapToSearch=function(e){o.centerMapToSearch(e)},this.init(e[0],t);for(var n=0;n<SG.allJobLocations.length;++n){var i=SG.allJobLocations[n];this.addMarker(i.markerName,i.latitude,i.longitude,i.postingId,i.geoName)}return""===r&&this.refreshMap(),this}function setGlobalGeoLocationSearch(e){"use strict";jobs_geoLocation_search=e}function centerMapToSearch(){SG.currentJobMap.centerMapToSearch()}function updateJobSearch(){"use strict";updateLists(null,order_by)}function resetLocationSearch(){"use strict";setGlobalGeoLocationSearch(complete_job_id_list),$("#geoLocation_search").val(""),updateJobSearch(),$("#geoLocation_search").show(),$("#geoLocation_info").hide(),void 0!==SG.currentJobMap&&SG.currentJobMap.refreshMap()}window.jQuery(function(e){"use strict";autosize(e("textarea.js-autosize"))}),window.fillHiddenFields=function(){jQuery(".hidden.lat").val(window.selectedGeoLocation.lat),jQuery(".hidden.lon").val(window.selectedGeoLocation.lon),jQuery(".hidden.radius").val(window.selectedGeoLocation.radius),jQuery(".hidden.address").val(window.selectedGeoLocation.address),jQuery(".hidden.friendlyCaptchaSolution").val(window.friendlyCaptchaSolution)},function(e,t,r){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports&&"undefined"==typeof Meteor?module.exports=e(require("jquery")):e(t||r)}(function(a){"use strict";function s(c,b,k){var i,w={invalid:[],getCaret:function(){try{var e,t=0,r=c.get(0),n=document.selection,i=r.selectionStart;return n&&-1===navigator.appVersion.indexOf("MSIE 10")?((e=n.createRange()).moveStart("character",-w.val().length),t=e.text.length):!i&&"0"!==i||(t=i),t}catch(e){}},setCaret:function(e){try{var t,r;c.is(":focus")&&((r=c.get(0)).setSelectionRange?r.setSelectionRange(e,e):((t=r.createTextRange()).collapse(!0),t.moveEnd("character",e),t.moveStart("character",e),t.select()))}catch(e){}},events:function(){c.on("keydown.mask",function(e){c.data("mask-keycode",e.keyCode||e.which),c.data("mask-previus-value",c.val()),c.data("mask-previus-caret-pos",w.getCaret()),w.maskDigitPosMapOld=w.maskDigitPosMap}).on(a.jMaskGlobals.useInput?"input.mask":"keyup.mask",w.behaviour).on("paste.mask drop.mask",function(){setTimeout(function(){c.keydown().keyup()},100)}).on("change.mask",function(){c.data("changed",!0)}).on("blur.mask",function(){o===w.val()||c.data("changed")||c.trigger("change"),c.data("changed",!1)}).on("blur.mask",function(){o=w.val()}).on("focus.mask",function(e){!0===k.selectOnFocus&&a(e.target).select()}).on("focusout.mask",function(){k.clearIfNotMatch&&!i.test(w.val())&&w.val("")})},getRegexMask:function(){for(var e,t,r,n,i,o=[],a=0;a<b.length;a++)(r=_.translation[b.charAt(a)])?(e=r.pattern.toString().replace(/.{1}$|^.{1}/g,""),t=r.optional,(r=r.recursive)?(o.push(b.charAt(a)),n={digit:b.charAt(a),pattern:e}):o.push(t||r?e+"?":e)):o.push(b.charAt(a).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"));return i=o.join(""),n&&(i=i.replace(new RegExp("("+n.digit+"(.*"+n.digit+")?)"),"($1)?").replace(new RegExp(n.digit,"g"),n.pattern)),new RegExp(i)},destroyEvents:function(){c.off(["input","keydown","keyup","paste","drop","blur","focusout",""].join(".mask "))},val:function(e){var t=c.is("input")?"val":"text",e=0<arguments.length?(c[t]()!==e&&c[t](e),c):c[t]();return e},calculateCaretPosition:function(e){var t=w.getMasked(),r=w.getCaret();if(e!==t){for(var n=c.data("mask-previus-caret-pos")||0,i=t.length,t=e.length,o=0,a=0,s=0,l=0,u=0,u=r;u<i&&w.maskDigitPosMap[u];u++)a++;for(u=r-1;0<=u&&w.maskDigitPosMap[u];u--)o++;for(u=r-1;0<=u;u--)w.maskDigitPosMap[u]&&s++;for(u=n-1;0<=u;u--)w.maskDigitPosMapOld[u]&&l++;t<r?r=10*i:r<=n&&n!==t?w.maskDigitPosMapOld[r]||(e=r,w.maskDigitPosMap[r=r-(l-s)-o]&&(r=e)):n<r&&(r=r+(s-l)+a)}return r},behaviour:function(e){e=e||window.event,w.invalid=[];var t,r,n=c.data("mask-keycode");if(-1===a.inArray(n,_.byPassKeys))return n=w.getMasked(),t=w.getCaret(),r=c.data("mask-previus-value")||"",setTimeout(function(){w.setCaret(w.calculateCaretPosition(r))},a.jMaskGlobals.keyStrokeCompensation),w.val(n),w.setCaret(t),w.callbacks(e)},getMasked:function(e,t){for(var r,n,i=[],o=void 0===t?w.val():t+"",a=0,s=b.length,l=0,u=o.length,c=1,h="push",d=-1,p=0,f=[],g=k.reverse?(h="unshift",c=-1,r=0,a=s-1,l=u-1,function(){return-1<a&&-1<l}):(r=s-1,function(){return a<s&&l<u});g();){var m=b.charAt(a),y=o.charAt(l),v=_.translation[m];v?(y.match(v.pattern)?(i[h](y),v.recursive&&(-1===d?d=a:a===r&&a!==d&&(a=d-c),r===d)&&(a-=c),a+=c):y===n?(p--,n=void 0):v.optional?(a+=c,l-=c):v.fallback?(i[h](v.fallback),a+=c,l-=c):w.invalid.push({p:l,v:y,e:v.pattern}),l+=c):(e||i[h](m),y===m?(f.push(l),l+=c):(n=m,f.push(l+p),p++),a+=c)}t=b.charAt(r),s!==u+1||_.translation[t]||i.push(t),t=i.join("");return w.mapMaskdigitPositions(t,f,u),t},mapMaskdigitPositions:function(e,t,r){var n=k.reverse?e.length-r:0;w.maskDigitPosMap={};for(var i=0;i<t.length;i++)w.maskDigitPosMap[t[i]+n]=1},callbacks:function(e){function t(e,t,r){"function"==typeof k[e]&&t&&k[e].apply(this,r)}var r=w.val(),n=r!==o,i=[r,e,c,k];t("onChange",!0==n,i),t("onKeyPress",!0==n,i),t("onComplete",r.length===b.length,i),t("onInvalid",0<w.invalid.length,[r,e,c,w.invalid,k])}},_=(c=a(c),this),o=w.val();b="function"==typeof b?b(w.val(),void 0,c,k):b,_.mask=b,_.options=k,_.remove=function(){var e=w.getCaret();return _.options.placeholder&&c.removeAttr("placeholder"),c.data("mask-maxlength")&&c.removeAttr("maxlength"),w.destroyEvents(),w.val(_.getCleanVal()),w.setCaret(e),c},_.getCleanVal=function(){return w.getMasked(!0)},_.getMaskedVal=function(e){return w.getMasked(!1,e)},_.init=function(e){if(e=e||!1,k=k||{},_.clearIfNotMatch=a.jMaskGlobals.clearIfNotMatch,_.byPassKeys=a.jMaskGlobals.byPassKeys,_.translation=a.extend({},a.jMaskGlobals.translation,k.translation),_=a.extend(!0,{},_,k),i=w.getRegexMask(),e)w.events(),w.val(w.getMasked());else{k.placeholder&&c.attr("placeholder",k.placeholder),c.data("mask")&&c.attr("autocomplete","off");for(var t=0,r=!0;t<b.length;t++){var n=_.translation[b.charAt(t)];if(n&&n.recursive){r=!1;break}}r&&c.attr("maxlength",b.length).data("mask-maxlength",!0),w.destroyEvents(),w.events();e=w.getCaret();w.val(w.getMasked()),w.setCaret(e)}},_.init(!c.is("input"))}function t(){var e=a(this),t={},r="data-mask-",n=e.attr("data-mask");if(e.attr(r+"reverse")&&(t.reverse=!0),e.attr(r+"clearifnotmatch")&&(t.clearIfNotMatch=!0),"true"===e.attr(r+"selectonfocus")&&(t.selectOnFocus=!0),l(e,n,t))return e.data("mask",new s(this,n,t))}function l(e,t,r){r=r||{};var n=a(e).data("mask"),i=JSON.stringify,e=a(e).val()||a(e).text();try{return"function"==typeof t&&(t=t(e)),"object"!=typeof n||i(n.options)!==i(r)||n.mask!==t}catch(e){}}a.maskWatchers={};a.fn.mask=function(e,t){t=t||{};function r(){if(l(this,e,t))return a(this).data("mask",new s(this,e,t))}var n=this.selector,i=a.jMaskGlobals,o=i.watchInterval,i=t.watchInputs||i.watchInputs;return a(this).each(r),n&&""!==n&&i&&(clearInterval(a.maskWatchers[n]),a.maskWatchers[n]=setInterval(function(){a(document).find(n).each(r)},o)),this},a.fn.masked=function(e){return this.data("mask").getMaskedVal(e)},a.fn.unmask=function(){return clearInterval(a.maskWatchers[this.selector]),delete a.maskWatchers[this.selector],this.each(function(){var e=a(this).data("mask");e&&e.remove().removeData("mask")})},a.fn.cleanVal=function(){return this.data("mask").getCleanVal()},a.applyDataMask=function(e){((e=e||a.jMaskGlobals.maskElements)instanceof a?e:a(e)).filter(a.jMaskGlobals.dataMaskAttr).each(t)};var e,r,n={maskElements:"input,td,span,div",dataMaskAttr:"*[data-mask]",dataMask:!0,watchInterval:300,watchInputs:!0,keyStrokeCompensation:10,useInput:!/Chrome\/[2-4][0-9]|SamsungBrowser/.test(window.navigator.userAgent)&&(n="input",r=document.createElement("div"),(e=(n="on"+n)in r)||(r.setAttribute(n,"return;"),e="function"==typeof r[n]),r=null,e),watchDataMask:!1,byPassKeys:[9,16,17,18,36,37,38,39,40,91],translation:{0:{pattern:/\d/},9:{pattern:/\d/,optional:!0},"#":{pattern:/\d/,recursive:!0},A:{pattern:/[a-zA-Z0-9]/},S:{pattern:/[a-zA-Z]/}}};a.jMaskGlobals=a.jMaskGlobals||{},(n=a.jMaskGlobals=a.extend(!0,{},n,a.jMaskGlobals)).dataMask&&a.applyDataMask(),setInterval(function(){a.jMaskGlobals.watchDataMask&&a.applyDataMask()},n.watchInterval)},window.jQuery,window.Zepto),function(t){"use strict";t("input,textarea").placeholder(),SG.starRating=function(e){t("#"+e).find(".js-star").on("hover",function(){t(this).prevAll().add(this).addClass("is-hover")},function(){t(this).prevAll().add(this).removeClass("is-hover")})}}(window.jQuery);