PageSourceSearch

https://odonnellspourhouse.com/themes/site/assets/scripts.js

js odonnellspourhouse.com collected 2026-09-30 19:04:11 UTC 477,681 bytes, 2,461 lines download raw bytes

vendor: 13,674 bytes, lines 1-17
1/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
2/*
3* Google Map Embed Place
4* Copyright (c) 2018 Jackie Hayduk
5* Dual licensed under the MIT and GPL licenses:
6* http://www.opensource.org/licenses/mit-license.php
7* http://www.gnu.org/licenses/gpl.html
8*/
9function createMap(a,e){var gmap=document.createElement("iframe");gmap.setAttribute("title",mapLocation[a].title),gmap.src="https://www.google.com/maps/embed/v1/place?key="+apiKey+"&q="+mapLocation[a].name+mapLocation[a].address+"&zoom=12",
10//change the  zoom value to adjust the mmap default zoom level
11document.getElementById(e).appendChild(gmap).classList.add("gmap")}function createDirectionsMap(a,e){function setDirectionsHref(){
12//console.log('Fired');
13var grabInputVal=directionsInput.value;
14//console.log(grabInputVal);
15directionsSubmit.setAttribute("href","https://www.google.com/maps/dir/"+grabInputVal+"/"+mapLocation[a].name+mapLocation[a].address)}createMap(a,e);var directions=document.createElement("div");document.getElementById(e).appendChild(directions).classList.add("directions");
16//change classes added to match those already in place on the site if possible
17var directionsInput=document.createElement("input");directions.appendChild(directionsInput).classList.add("input"),directionsInput.setAttribute("type","text"),directionsInput.setAttribute("aria-label","Directions Map Starting Location"),directionsInput.setAttribute("placeholder","Enter Your Address");var directionsSubmit=document.createElement("a");directions.appendChild(directionsSubmit).classList.add("btn"),directionsSubmit.setAttribute("target","_blank"),directionsSubmit.setAttribute("href","https://www.google.com/maps/dir//"+mapLocation[a].name+mapLocation[a].address),directionsSubmit.innerHTML="GO",directionsInput.addEventListener("change",setDirectionsHref)}!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function r(a){var b=a.length,c=m.type(a);return"function"!==c&&!m.isWindow(a)&&(!(1!==a.nodeType||!b)||("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a))}function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}function D(a,b){do{a=a[b]}while(a&&1!==a.nodeType);return a}function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if("string"==typeof(c=a.getAttribute(d))){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c)}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?null==(f=g[b])&&(f=g[m.camelCase(b)]):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}function Ub(a,b){if(b in a)return b;for(var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;e--;)if((b=Tb[e]+c)in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),"inline"===("none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j)&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),(g=m.cssHooks[d])&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))for(;d=f[e++];)"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}var e={},f=a===Ic;return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0];)i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(!(g=j[i+" "+f]||j["* "+f]))for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){!0===g?g=j[e]:!0!==j[e]&&(f=h[0],k.unshift(h[1]));break}if(!0!==g)if(g&&a.throws)b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function dd(a){return m.isWindow(a)?a:9===a.nodeType&&(a.defaultView||a.parentWindow)}var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);
vendor: 4,565 bytes, line 17
17return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var e=0,f=a.length,g=r(a);if(c){if(g)for(;f>e&&!1!==b.apply(a[e],c);e++);else for(e in a)if(!1===b.apply(a[e],c))break}else if(g)for(;f>e&&!1!==b.call(a[e],e,a[e]);e++);else for(e in a)if(!1===b.call(a[e],e,a[e]))break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;)a[e++]=b[d++];if(c!==c)for(;void 0!==b[d];)a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var e=[],f=0,g=a.length,h=!c;g>f;f++)!b(a[f],f)!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)null!=(d=b(a[f],f,c))&&i.push(d);else for(f in a)null!=(d=b(a[f],f,c))&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});var s=function(a){function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(!(h=b.getElementById(j))||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){for(o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;l--;)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}var a=[];return b}function hb(a){return a[u]=!0,a}
vendor: 7,859 bytes, line 17
17function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){for(var c=a.split("|"),e=a.length;e--;)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}function pb(){}function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d)for(j=ub(r,n),d(j,[],h,i),k=j.length;k--;)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l));if(f){if(e||a){if(e){for(j=[],k=r.length;k--;)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}for(k=r.length;k--;)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e&&!d.relative[a[e].type];e++);return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){for(m=0;o=a[m++];)if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){for(m=0;o=b[m++];)o(r,s,g,h);if(f){if(p>0)for(;q--;)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;
vendor: 6,107 bytes, line 17
17return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d||(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);for(c=a;c=c.parentNode;)h.unshift(c);for(c=b;c=c.parentNode;)i.unshift(c);for(;h[d]===i[d];)d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){for(;b=a[f++];)b===a[f]&&(e=d.push(f));for(;e--;)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else for(;b=a[d++];)c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[u]||(l[u]={}))[a]=[w,m]),l!==b)););return(m-=e)===d||m%d==0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){for(var d,f=e(a,b),g=f.length;g--;)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){for(var f,g=d(a,null,e,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do{if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return(c=c.toLowerCase())===a||0===c.indexOf(a+"-")}while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return!1===a.disabled},disabled:function(a){return!0===a.disabled},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,!0===a.selected},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)}
vendor: 29,143 bytes, lines 17-18
17,input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=function(a){return function(b){return"input"===b.nodeName.toLowerCase()&&b.type===a}}(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=function(a){return function(b){var c=b.nodeName.toLowerCase()
18;return("input"===c||"button"===c)&&b.type===a}}(b);return pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);for(h=a,i=[],j=d.preFilter;h;){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)},h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){for(b||(b=g(a)),c=b.length;c--;)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(!(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0]))return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}for(i=X.needsContext.test(a)?0:j.length;i--&&(k=j[i],!d.relative[l=k.type]);)if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),!(a=f.length&&qb(j)))return I.apply(e,f),e;break}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:!0===a[b]?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(!(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a))||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if((d=y.getElementById(c[2]))&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?void 0!==x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))}).prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){for(var d=[],e=a[b];e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c));)1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(!1===h[f].apply(l[0],l[1])&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){for(var d;(d=m.inArray(c,h,d))>-1;)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var i,j,k,b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}};if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(!0===a?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,!0!==a&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}}),m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var L,K="undefined";for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;(c=y.getElementsByTagName("body")[0])&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return(1===c||9===c)&&(!b||!0!==b&&a.getAttribute("classid")===b)};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return!!(a=a.nodeType?m.cache[a[m.expando]]:a[m.expando])&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){for(c=g.length;c--;)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};for("string"!=typeof a&&(b=a,a=void 0),a=a||"fx";g--;)(c=m._data(f[g],a+"queueHooks"))&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=!1===d.attributes[c].expando);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){for(c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;h--;)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&!1!==j.setup.call(a,d,p,k)||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){for(b=(b||"").match(E)||[""],j=b.length;j--;)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){for(l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;f--;)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&!1!==l.teardown.call(a,p,r.handle)||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||!1!==k.trigger.apply(d,c))){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}for(n=0;(h=o[n++])&&!b.isPropagationStopped();)b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),(f=g&&h[g])&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),!1===b.result&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||!1===k._default.apply(o.pop(),c))&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||!1!==k.preDispatch.call(this,a)){for(h=m.event.handlers.call(this,a,j),b=0;(f=h[b++])&&!a.isPropagationStopped();)for(a.currentTarget=f.elem,g=0;(e=f.handlers[g++])&&!a.isImmediatePropagationStopped();)(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,void 0!==(c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i))&&!1===(a.result=c)&&(a.preventDefault(),a.stopPropagation()));return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(!0!==i.disabled||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&!1===a.returnValue?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return!m.nodeName(this,"form")&&void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return!m.nodeName(this,"form")&&void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),!1===d)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(!1===b||"function"==typeof b)&&(c=b,b=void 0),!1===c&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td,m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if((f=a[q])||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){for(h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];e--;)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody)for(f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;e--;)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j);for(m.merge(p,h.childNodes),h.textContent="";h.firstChild;)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));for(h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;f=p[q++];)if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c))for(e=0;f=h[e++];)ob.test(f.type||"")&&c.push(f);return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if
vendor: 11,666 bytes, lines 18-19
18(1===this.nodeType||11===this.nodeType||9===this.nodeType){wb(this,a).appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){for(1===a.nodeType&&m.cleanData(ub(a,!1));a.firstChild;)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ib,Jb,Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,
19e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"}),!function(){function i(){var b,c,d,i;(c=y.getElementsByTagName("body")[0])&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}var b,c,d,e,f,g,h;b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],(c=d&&d.style)&&(c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}}))}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),!0===c||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}}),m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do{h=h||".5",g/=h,m.style(c.elem,a,g+f)}while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||!0===d.queue)&&(
vendor: 8,225 bytes, line 19
19d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||!1===f.queue?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&!1!==a&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)(a=b[c])()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];return arguments.length?(d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),(b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()])&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))})):e?(b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)):void 0}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=m.makeArray(b),g=e.length;g--;)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)for(;c=f[e++];)d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return!1===b?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""!==b&&b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{for:"htmlFor",class:"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;
vendor: 11,169 bytes, line 19
19if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){for(f=0;e=b[f++];)d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c)for(var b,d=0,e=m(this),f=a.match(E)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||!1===a?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[],m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),(w=v.getResponseHeader("etag"))&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j)for(j={};b=Cc.exec(f);)j[b[1].toLowerCase()]=b[2];b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0==m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),!1===k.cache&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&!1!==k.contentType||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(!1===k.beforeSend.call(l,v,k)||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,(Yc=k.ajax=!!Yc)&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}}),m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}
vendor: 5,360 bytes, lines 19-29
19),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=!1!==b.jsonp&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):!1!==b.jsonp&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;return f?(b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d):void 0},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||cd;a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position");)a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(!0===d||!0===e?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,
20"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m}),/*!
21 * jQuery Validation Plugin v1.17.0
22 *
23 * https://jqueryvalidation.org/
24 *
25 * Copyright (c) 2017 Jörn Zaefferer
26 * Released under the MIT license
27 */
28function(factory){"function"==typeof define&&define.amd?define(["jquery"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("jquery")):factory(jQuery)}(function($){$.extend($.fn,{
29// https://jqueryvalidation.org/validate/
vendor: 2,558 bytes, lines 30-57
30validate:function(options){
31// If nothing is selected, return nothing; can't chain anyway
32if(!this.length)return void(options&&options.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));
33// Check if a validator for this form was already created
34var validator=$.data(this[0],"validator");
35// Add novalidate tag if HTML5.
36// Validate the form on submit
37return validator||(this.attr("novalidate","novalidate"),validator=new $.validator(options,this[0]),$.data(this[0],"validator",validator),validator.settings.onsubmit&&(this.on("click.validate",":submit",function(event){
38// Track the used submit button to properly handle scripted
39// submits later.
40validator.submitButton=event.currentTarget,
41// Allow suppressing validation by adding a cancel class to the submit button
42$(this).hasClass("cancel")&&(validator.cancelSubmit=!0),
43// Allow suppressing validation by adding the html5 formnovalidate attribute to the submit button
44void 0!==$(this).attr("formnovalidate")&&(validator.cancelSubmit=!0)}),this.on("submit.validate",function(event){function handle(){var hidden,result;
45// Insert a hidden input as a replacement for the missing submit button
46// The hidden input is inserted in two cases:
47//   - A user defined a `submitHandler`
48//   - There was a pending request due to `remote` method and `stopRequest()`
49//     was called to submit the form in case it's valid
50// And clean up afterwards; thanks to no-block-scope, hidden can be referenced
51return validator.submitButton&&(validator.settings.submitHandler||validator.formSubmitted)&&(hidden=$("<input type='hidden'/>").attr("name",validator.submitButton.name).val($(validator.submitButton).val()).appendTo(validator.currentForm)),!validator.settings.submitHandler||(result=validator.settings.submitHandler.call(validator,validator.currentForm,event),hidden&&hidden.remove(),void 0!==result&&result)}
52// Prevent submit for invalid forms or custom submit handlers
53// Prevent form submit to be able to see console output
54// Prevent submit for invalid forms or custom submit handlers
55return validator.settings.debug&&event.preventDefault(),validator.cancelSubmit?(validator.cancelSubmit=!1,handle()):validator.form()?validator.pendingRequest?(validator.formSubmitted=!0,!1):handle():(validator.focusInvalid(),!1)})),validator)},
56// https://jqueryvalidation.org/valid/
57valid:function(){var valid,validator,errorList;return $(this[0]).is("form")?valid=this.validate().form():(errorList=[],valid=!0,validator=$(this[0].form).validate(),this.each(function(){(valid=vali
57dator.element(this)&&valid)||(errorList=errorList.concat(validator.errorList))}),validator.errorList=errorList),valid},
58// https://jqueryvalidation.org/rules/
59rules:function(command,argument){var settings,staticRules,existingRules,data,param,filtered,element=this[0];
60// If nothing is selected, return empty object; can't chain anyway
61if(null!=element&&(!element.form&&element.hasAttribute("contenteditable")&&(element.form=this.closest("form")[0],element.name=this.attr("name")),null!=element.form)){if(command)switch(settings=$.data(element.form,"validator").settings,staticRules=settings.rules,existingRules=$.validator.staticRules(element),command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument)),
62// Remove messages from rules, but allow them to be set separately
63delete existingRules.messages,staticRules[element.name]=existingRules,argument.messages&&(settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages));break;case"remove":return argument?(filtered={},$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method],delete existingRules[method]}),filtered):(delete staticRules[element.name],existingRules)}
64// Make sure required is at front
65// Make sure remote is at back
66return data=$.validator.normalizeRules($.extend({},$.validator.classRules(element),$.validator.attributeRules(element),$.validator.dataRules(element),$.validator.staticRules(element)),element),data.required&&(param=data.required,delete data.required,data=$.extend({required:param},data)),data.remote&&(param=data.remote,delete data.remote,data=$.extend(data,{remote:param})),data}}}),
67// Custom selectors
68$.extend($.expr.pseudos||$.expr[":"],{// '|| $.expr[ ":" ]' here enables backwards compatibility to jQuery 1.7. Can be removed when dropping jQ 1.7.x support
69// https://jqueryvalidation.org/blank-selector/
70blank:function(a){return!$.trim(""+$(a).val())},
71// https://jqueryvalidation.org/filled-selector/
72filled:function(a){var val=$(a).val();return null!==val&&!!$.trim(""+val)},
73// https://jqueryvalidation.org/unchecked-selector/
74unchecked:function(a){return!$(a).prop("checked")}}),
75// Constructor for validator
76$.validator=function(options,form){this.settings=$.extend(!0,{},$.validator.defaults,options),this.currentForm=form,this.init()},
77// https://jqueryvalidation.org/jQuery.validator.format/
78$.validator.format=function(source,params){return 1===arguments.length?function(){var args=$.makeArray(arguments);return args.unshift(source),$.validator.format.apply(this,args)}:void 0===params?source:(arguments.length>2&&params.constructor!==Array&&(params=$.makeArray(arguments).slice(1)),params.constructor!==Array&&(params=[params]),$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),function(){return n})}),source)},$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(element){this.lastActive=element,
79// Hide error label and remove error class on focus if enabled
80this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(element)))},onfocusout:function(element){this.checkable(element)||!(element.name in this.submitted)&&this.optional(element)||this.element(element)},onkeyup:function(element,event){
81// Avoid revalidate the field when pressing one of the following keys
82// Shift       => 16
83// Ctrl        => 17
84// Alt         => 18
85// Caps lock   => 20
86// End         => 35
87// Home        => 36
88// Left arrow  => 37
89// Up arrow    => 38
90// Right arrow => 39
91// Down arrow  => 40
92// Insert      => 45
93// Num lock    => 144
94// AltGr key   => 225
95var excludedKeys=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===event.which&&""===this.elementValue(element)||-1!==$.inArray(event.keyCode,excludedKeys)||(element.name in this.submitted||element.name in this.invalid)&&this.element
vendor: 4,501 bytes, lines 95-110
95(element)},onclick:function(element){
96// Click on selects, radiobuttons and checkboxes
97element.name in this.submitted?this.element(element):element.parentNode.name in this.submitted&&this.element(element.parentNode)},highlight:function(element,errorClass,validClass){"radio"===element.type?this.findByName(element.name).addClass(errorClass).removeClass(validClass):$(element).addClass(errorClass).removeClass(validClass)},unhighlight:function(element,errorClass,validClass){"radio"===element.type?this.findByName(element.name).removeClass(errorClass).addClass(validClass):$(element).removeClass(errorClass).addClass(validClass)}},
98// https://jqueryvalidation.org/jQuery.validator.setDefaults/
99setDefaults:function(settings){$.extend($.validator.defaults,settings)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}."),step:$.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function delegate(event){
100// Set form expando on contenteditable
101!this.form&&this.hasAttribute("contenteditable")&&(this.form=$(this).closest("form")[0],this.name=$(this).attr("name"));var validator=$.data(this.form,"validator"),eventType="on"+event.type.replace(/^validate/,""),settings=validator.settings;settings[eventType]&&!$(this).is(settings.ignore)&&settings[eventType].call(validator,this,event)}this.labelContainer=$(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm),this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var rules,groups=this.groups={};$.each(this.settings.groups,function(key,value){"string"==typeof value&&(value=value.split(/\s/)),$.each(value,function(index,name){groups[name]=key})}),rules=this.settings.rules,$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value)}),$(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",delegate).on("click.validate","select, option, [type='radio'], [type='checkbox']",delegate),this.settings.invalidHandler&&$(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},
102// https://jqueryvalidation.org/Validator.form/
103form:function(){return this.checkForm(),$.extend(this.submitted,this.errorMap),this.invalid=$.extend({},this.errorMap),this.valid()||$(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var i=0,elements=this.currentElements=this.elements();elements[i];i++)this.check(elements[i]);return this.valid()},
104// https://jqueryvalidation.org/Validator.element/
105element:function(element){var rs,group,cleanElement=this.clean(element),checkElement=this.validationTargetFor(cleanElement),v=this,result=!0;
106// If this element is grouped, then validate all group elements already
107// containing a value
108// Hide error containers on last error
109// Add aria-invalid status for screen readers
110return void 0===checkElement?delete this.invalid[cleanElement.name]:(this.prepareElement(checkElement),this.currentElements=$(checkElement),group=this.groups[checkElement.name],group&&$.each(this.groups,function(name,testgroup){testgroup===group&&name!==checkElement.name&&(cleanElement=v.validationTargetFor(v.clean(v.findByName(name))))&&cleanElement.name in v.invali
110d&&(v.currentElements.push(cleanElement),result=v.check(cleanElement)&&result)}),rs=!1!==this.check(checkElement),result=result&&rs,this.invalid[checkElement.name]=!rs,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),$(element).attr("aria-invalid",!rs)),result},
111// https://jqueryvalidation.org/Validator.showErrors/
112showErrors:function(errors){if(errors){var validator=this;
113// Add items to error list and map
114$.extend(this.errorMap,errors),this.errorList=$.map(this.errorMap,function(message,name){return{message:message,element:validator.findByName(name)[0]}}),
115// Remove items from success list
116this.successList=$.grep(this.successList,function(element){return!(element.name in errors)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},
117// https://jqueryvalidation.org/Validator.resetForm/
118resetForm:function(){$.fn.resetForm&&$(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var elements=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(elements)},resetElements:function(elements){var i;if(this.settings.unhighlight)for(i=0;elements[i];i++)this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,""),this.findByName(elements[i].name).removeClass(this.settings.validClass);else elements.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(obj){/* jshint unused: false */
119var i,count=0;for(i in obj)
120// This check allows counting elements with empty error
121// message as invalid elements
122void 0!==obj[i]&&null!==obj[i]&&!1!==obj[i]&&count++;return count},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(errors){errors.not(this.containers).text(""),this.addWrapper(errors).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&1===$.grep(this.errorList,function(n){return n.element.name===lastActive.name}).length&&lastActive},elements:function(){var validator=this,rulesCache={};
123// Select all valid inputs inside the form (no submit or reset buttons)
124return $(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var name=this.name||$(this).attr("name");
125// Select only the first element for each name, and only those with rules specified
126// For contenteditable
127// Set form expando on contenteditable
128// Select only the first element for each name, and only those with rules specified
129return!name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.hasAttribute("contenteditable")&&(this.form=$(this).closest("form")[0],this.name=name),!(name in rulesCache||!validator.objectLength($(this).rules()))&&(rulesCache[name]=!0,!0)})},clean:function(selector){return $(selector)[0]},errors:function(){var errorClass=this.settings.errorClass.split(" ").join(".");return $(this.settings.errorElement+"."+errorClass,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=$([]),this.toHide=$([])},reset:function(){this.resetInternals(),this.currentElements=$([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(element){this.reset(),this.toHide=this.errorsFor(element)},elementValue:function(element){var val,idx,$element=$(element),type=element.type;
130// Modern browser (chrome & safari)
131// Legacy browsers
132// Unix-based path
133// Windows-based path
134return"radio"===type||"checkbox"===type?this.findByName(element.name).filter(":checked").val():"number"===type&&void 0!==element.validity?element.validity.badInput?"NaN":$element.val():(val=element.hasAttribute("contenteditable")?$element.text():$element.val(),"file"===type?"C:\\fakepath\\"===val.substr(0,12)?val.substr(12):(idx=val.lastIndexOf("/"))>=0?val.substr(idx+1):(idx=val.lastIndexOf("\\"),idx>=0?val.substr(idx+1):val):"string"==typeof val?val.replace(/\r/g,""):val)},check:function(element){element=this.validationTargetFor(this.clean(element));var result,method,rule,normalizer,rules=$(element).rules(),rulesCount=$.map(rules,function(n,i){return i}).length,dependencyMismatch=!1,val=this.elementValue(element);
135// If normalizer is defined, then call it to retreive the changed value instead
136// of using the real one.
137// Note that `this` in the normalizer is `element`.
138if(
139// Prioritize the local normalizer defined for this element over the global one
140// if the former exists, otherwise user the global one in case it exists.
vendor: 4,493 bytes, lines 141-167
141"function"==typeof rules.normalizer?normalizer=rules.normalizer:"function"==typeof this.settings.normalizer&&(normalizer=this.settings.normalizer),normalizer){if("string"!=typeof(val=normalizer.call(element,val)))throw new TypeError("The normalizer should return a string value.");
142// Delete the normalizer from rules to avoid treating it as a pre-defined method.
143delete rules.normalizer}for(method in rules){rule={method:method,parameters:rules[method]};try{
144// If a method indicates that the field is optional and therefore valid,
145// don't mark it as valid when there are no other rules
146if("dependency-mismatch"===(result=$.validator.methods[method].call(this,val,element,rule.parameters))&&1===rulesCount){dependencyMismatch=!0;continue}if(dependencyMismatch=!1,"pending"===result)return void(this.toHide=this.toHide.not(this.errorsFor(element)));if(!result)return this.formatAndAdd(element,rule),!1}catch(e){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+element.id+", check the '"+rule.method+"' method.",e),e instanceof TypeError&&(e.message+=".  Exception occurred when checking element "+element.id+", check the '"+rule.method+"' method."),e}}if(!dependencyMismatch)return this.objectLength(rules)&&this.successList.push(element),!0},
147// Return the custom message for the given element and validation method
148// specified in the element's HTML5 data attribute
149// return the generic message if present and no method specific message is present
150customDataMessage:function(element,method){return $(element).data("msg"+method.charAt(0).toUpperCase()+method.substring(1).toLowerCase())||$(element).data("msg")},
151// Return the custom message for the given element name and validation method
152customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor===String?m:m[method])},
153// Return the first defined argument, allowing empty strings
154findDefined:function(){for(var i=0;i<arguments.length;i++)if(void 0!==arguments[i])return arguments[i]},
155// The second parameter 'rule' used to be a string, and extended to an object literal
156// of the following form:
157// rule = {
158//     method: "method name",
159//     parameters: "the given method parameters"
160// }
161//
162// The old behavior still supported, kept to maintain backward compatibility with
163// old code, and will be removed in the next major release.
164defaultMessage:function(element,rule){"string"==typeof rule&&(rule={method:rule});var message=this.findDefined(this.customMessage(element.name,rule.method),this.customDataMessage(element,rule.method),
165// 'title' is never undefined, so handle empty string as undefined
166!this.settings.ignoreTitle&&element.title||void 0,$.validator.messages[rule.method],"<strong>Warning: No message defined for "+element.name+"</strong>"),theregex=/\$?\{(\d+)\}/g;return"function"==typeof message?message=message.call(this,rule.parameters,element):theregex.test(message)&&(message=$.validator.format(message.replace(theregex,"{$1}"),rule.parameters)),message},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule);this.errorList.push({message:message,element:element,method:rule.method}),this.errorMap[element.name]=message,this.submitted[element.name]=message},addWrapper:function(toToggle){return this.settings.wrapper&&(toToggle=toToggle.add(toToggle.parent(this.settings.wrapper))),toToggle},defaultShowErrors:function(){var i,elements,error;for(i=0;this.errorList[i];i++)error=this.errorList[i],this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass),this.showLabel(error.element,error.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(i=0;this.successList[i];i++)this.showLabel(this.successList[i]);if(this.settings.unhighlight)for(i=0,elements=this.validElements();elements[i];i++)this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return $(this.errorList).map(function(){return this.element})},showLabel:function(element,message){var place,group,errorID,v,error=this.errorsFor(element),elementID=this.idOrName(element),describedBy=$(element).attr("aria-describedby");error.length?(
167// Refresh error/success class
168error.removeClass(this.settings.validClass).addClass(this.settings.errorClass),
169// Replace message on existing label
170error.html(message)):(
171// Create error element
172error=$("<"+this.settings.errorElement+">").attr("id",elementID+"-error").addClass(this.settings.errorClass).html(message||""),
173// Maintain reference to the element to be placed into the DOM
174place=error,this.settings.wrapper&&(
175// Make sure the element is visible, even in IE
176// actually showing the wrapped element is handled elsewhere
177place=error.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(place):this.settings.errorPlacement?this.settings.errorPlacement.call(this,place,$(element)):place.insertAfter(element),
178// Link error back to the element
179error.is("label")?
180// If the error is a label, then associate using 'for'
181error.attr("for",elementID):0===error.parents("label[for='"+this.escapeCssMeta(elementID)+"']").length&&(errorID=error.attr("id"),
182// Respect existing non-error aria-describedby
183describedBy?describedBy.match(new RegExp("\\b"+this.escapeCssMeta(errorID)+"\\b"))||(
184// Add to end of list if not already present
185describedBy+=" "+errorID):describedBy=errorID,$(element).attr("aria-describedby",describedBy),(
186// If this element is grouped, then assign to all elements in the same group
187group=this.groups[element.name])&&(v=this,$.each(v.groups,function(name,testgroup){testgroup===group&&$("[name='"+v.escapeCssMeta(name)+"']",v.currentForm).attr("aria-describedby",error.attr("id"))})))),!message&&this.settings.success&&(error.text(""),"string"==typeof this.settings.success?error.addClass(this.settings.success):this.settings.success(error,element)),this.toShow=this.toShow.add(error)},errorsFor:function(element){var name=this.escapeCssMeta(this.idOrName(element)),describer=$(element).attr("aria-describedby"),selector="label[for='"+name+"'], label[for='"+name+"'] *";
188// 'aria-describedby' should directly reference the error element
189return describer&&(selector=selector+", #"+this.escapeCssMeta(describer).replace(/\s+/g,", #")),this.errors().filter(selector)},
190// See https://api.jquery.com/category/selectors/, for CSS
191// meta-characters that should be escaped in order to be used with JQuery
192// as a literal part of a name/id or any selector.
193escapeCssMeta:function(string){return string.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name)},validationTargetFor:function(element){
194// Always apply ignore filter
195// If radio/checkbox, validate first element in group instead
196return this.checkable(element)&&(element=this.findByName(element.name)),$(element).not(this.settings.ignore)[0]},checkable:function(element){return/radio|checkbox/i.test(element.type)},findByName:function(name){return $(this.currentForm).find("[name='"+this.escapeCssMeta(name)+"']")},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case"select":return $("option:selected",element).length;case"input":if(this.checkable(element))return this.findByName(element.name).filter(":checked").length}return value.length},depend:function(param,element){return!this.dependTypes[typeof param]||this.dependTypes[typeof param](param,element)},dependTypes:{boolean:function(param){return param},string:function(param,element){return!!$(param,element.form).length},function:function(param,element){return param(element)}},optional:function(element){var val=this.elementValue(element);return!$.validator.methods.required.call(this,val,element)&&"dependency-mismatch"},startRequest:function(element){this.pending[element.name]||(this.pendingRequest++,$(element).addClass(this.settings.pendingClass),this.pending[element.name]=!0)},stopRequest:function(element,valid){this.pendingRequest--,
197// Sometimes synchronization fails, make sure pendingRequest is never < 0
198this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[element.name],$(element).removeClass(this.settings.pendingClass),valid&&0===this.pendingRequest&&this.formSubmitted&&this.form()?($(this.currentForm).submit(),
199// Remove the hidden input that was used as a replacement for the
200// missing submit button. The hidden input is added by `handle()`
201// to ensure that the value of the used submit button is passed on
202// for scripted submits triggered by this method
203this.submitButton&&$("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!valid&&0===this.pendingRequest&&this.formSubmitted&&($(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(element,method){return method="string"==typeof method&&method||"remote",$.data(element,"previousValue")||$.data(element,"previousValue",{old:null,valid:!0,message:this.defaultMessage(element,{method:method})})},
204// Cleans up all forms and elements, removes validator-specific events
205destroy:function(){this.resetForm(),$(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("val
vendor: 9,877 bytes, lines 205-288
205idate-equalTo-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(className,rules){className.constructor===String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className)},classRules:function(element){var rules={},classes=$(element).attr("class");return classes&&$.each(classes.split(" "),function(){this in $.validator.classRuleSettings&&$.extend(rules,$.validator.classRuleSettings[this])}),rules},normalizeAttributeRule:function(rules,type,method,value){
206// Convert the value to a number for number inputs, and for text for backwards compability
207// allows type="date" and others to be compared as strings
208/min|max|step/.test(method)&&(null===type||/number|range|text/.test(type))&&(value=Number(value),
209// Support Opera Mini, which returns NaN for undefined minlength
210isNaN(value)&&(value=void 0)),value||0===value?rules[method]=value:type===method&&"range"!==type&&(
211// Exception: the jquery validate 'range' method
212// does not test for the html5 'range' type
213rules[method]=!0)},attributeRules:function(element){var method,value,rules={},$element=$(element),type=element.getAttribute("type");for(method in $.validator.methods)
214// Support for <input required> in both html5 and older browsers
215"required"===method?(value=element.getAttribute(method),
216// Some browsers return an empty string for the required attribute
217// and non-HTML5 browsers might have required="" markup
218""===value&&(value=!0),
219// Force non-HTML5 browsers to return bool
220value=!!value):value=$element.attr(method),this.normalizeAttributeRule(rules,type,method,value);
221// 'maxlength' may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs
222return rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)&&delete rules.maxlength,rules},dataRules:function(element){var method,value,rules={},$element=$(element),type=element.getAttribute("type");for(method in $.validator.methods)value=$element.data("rule"+method.charAt(0).toUpperCase()+method.substring(1).toLowerCase()),this.normalizeAttributeRule(rules,type,method,value);return rules},staticRules:function(element){var rules={},validator=$.data(element.form,"validator");return validator.settings.rules&&(rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{}),rules},normalizeRules:function(rules,element){
223// Handle dependency check
224// Evaluate parameters
225// Clean number parameters
226// Auto-create ranges
227return $.each(rules,function(prop,val){
228// Ignore rule when param is explicitly false, eg. required:false
229if(!1===val)return void delete rules[prop];if(val.param||val.depends){var keepRule=!0;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element)}keepRule?rules[prop]=void 0===val.param||val.param:($.data(element.form,"validator").resetElements($(element)),delete rules[prop])}}),$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)&&"normalizer"!==rule?parameter(element):parameter}),$.each(["minlength","maxlength"],function(){rules[this]&&(rules[this]=Number(rules[this]))}),$.each(["rangelength","range"],function(){var parts;rules[this]&&($.isArray(rules[this])?rules[this]=[Number(rules[this][0]),Number(rules[this][1])]:"string"==typeof rules[this]&&(parts=rules[this].replace(/[\[\]]/g,"").split(/[\s,]+/),rules[this]=[Number(parts[0]),Number(parts[1])]))}),$.validator.autoCreateRanges&&(null!=rules.min&&null!=rules.max&&(rules.range=[rules.min,rules.max],delete rules.min,delete rules.max),null!=rules.minlength&&null!=rules.maxlength&&(rules.rangelength=[rules.minlength,rules.maxlength],delete rules.minlength,delete rules.maxlength)),rules},
230// Converts a simple string to a {string: true} rule, e.g., "required" to {required:true}
231normalizeRule:function(data){if("string"==typeof data){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=!0}),data=transformed}return data},
232// https://jqueryvalidation.org/jQuery.validator.addMethod/
233addMethod:function(name,method,message){$.validator.methods[name]=method,$.validator.messages[name]=void 0!==message?message:$.validator.messages[name],method.length<3&&$.validator.addClassRules(name,$.validator.normalizeRule(name))},
234// https://jqueryvalidation.org/jQuery.validator.methods/
235methods:{
236// https://jqueryvalidation.org/required-method/
237required:function(value,element,param){
238// Check if dependency is met
239if(!this.depend(param,element))return"dependency-mismatch";if("select"===element.nodeName.toLowerCase()){
240// Could be an array for select-multiple or a string, both are fine this way
241var val=$(element).val();return val&&val.length>0}return this.checkable(element)?this.getLength(value,element)>0:value.length>0},
242// https://jqueryvalidation.org/email-method/
243email:function(value,element){
244// From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
245// Retrieved 2014-01-14
246// If you have a problem with this implementation, report a bug against the above spec
247// Or use custom methods to implement your own email validation
248return this.optional(element)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(value)},
249// https://jqueryvalidation.org/url-method/
250url:function(value,element){
251// Copyright (c) 2010-2013 Diego Perini, MIT licensed
252// https://gist.github.com/dperini/729294
253// see also https://mathiasbynens.be/demo/url-regex
254// modified to allow protocol-relative URLs
255return this.optional(element)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(value)},
256// https://jqueryvalidation.org/date-method/
257date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value).toString())},
258// https://jqueryvalidation.org/dateISO-method/
259dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(value)},
260// https://jqueryvalidation.org/number-method/
261number:function(value,element){return this.optional(element)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value)},
262// https://jqueryvalidation.org/digits-method/
263digits:function(value,element){return this.optional(element)||/^\d+$/.test(value)},
264// https://jqueryvalidation.org/minlength-method/
265minlength:function(value,element,param){var length=$.isArray(value)?value.length:this.getLength(value,element);return this.optional(element)||length>=param},
266// https://jqueryvalidation.org/maxlength-method/
267maxlength:function(value,element,param){var length=$.isArray(value)?value.length:this.getLength(value,element);return this.optional(element)||length<=param},
268// https://jqueryvalidation.org/rangelength-method/
269rangelength:function(value,element,param){var length=$.isArray(value)?value.length:this.getLength(value,element);return this.optional(element)||length>=param[0]&&length<=param[1]},
270// https://jqueryvalidation.org/min-method/
271min:function(value,element,param){return this.optional(element)||value>=param},
272// https://jqueryvalidation.org/max-method/
273max:function(value,element,param){return this.optional(element)||value<=param},
274// https://jqueryvalidation.org/range-method/
275range:function(value,element,param){return this.optional(element)||value>=param[0]&&value<=param[1]},
276// https://jqueryvalidation.org/step-method/
277step:function(value,element,param){var decimals,type=$(element).attr("type"),errorMessage="Step attribute on input type "+type+" is not supported.",supportedTypes=["text","number","range"],re=new RegExp("\\b"+type+"\\b"),notSupported=type&&!re.test(supportedTypes.join()),decimalPlaces=function(num){var match=(""+num).match(/(?:\.(\d+))?$/);return match&&match[1]?match[1].length:0},toInt=function(num){return Math.round(num*Math.pow(10,decimals))},valid=!0;
278// Works only for text, number and range input types
279// TODO find a way to support input types date, datetime, datetime-local, month, time and week
280if(notSupported)throw new Error(errorMessage);
281// Value can't have too many decimals
282return decimals=decimalPlaces(param),(decimalPlaces(value)>decimals||toInt(value)%toInt(param)!=0)&&(valid=!1),this.optional(element)||valid},
283// https://jqueryvalidation.org/equalTo-method/
284equalTo:function(value,element,param){
285// Bind to the blur event of the target in order to revalidate whenever the target field is updated
286var target=$(param);return this.settings.onfocusout&&target.not(".validate-equalTo-blur").length&&target.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){$(element).valid()}),value===target.val()},
287// https://jqueryvalidation.org/remote-method/
288remote:function(value,element,param,method){if(this.optional(element))return"dependency-mismatch";method="string"==typeof method&&method||"remote";var validator,data,optionDataString,previous=this.previousValue(element,method);return this.settings.messages[element.name]||(this.settings.messages[element.name]={}),previous.originalMessage=previous.originalMessage||this.settings.messages[element.name][method],this.settings.messages[element.name][method]=previous.message,param="string"==typeof param&&{url:param}||param,optionDataString=$.param($.extend({data:value},param.data)),previous.old===optionDataString?previous.valid:(previous.old=optionDataString,validator=this,this.startRequest
288(element),data={},data[element.name]=value,$.ajax($.extend(!0,{mode:"abort",port:"validate"+element.name,dataType:"json",data:data,context:validator.currentForm,success:function(response){var errors,message,submitted,valid=!0===response||"true"===response;validator.settings.messages[element.name][method]=previous.originalMessage,valid?(submitted=validator.formSubmitted,validator.resetInternals(),validator.toHide=validator.errorsFor(element),validator.formSubmitted=submitted,validator.successList.push(element),validator.invalid[element.name]=!1,validator.showErrors()):(errors={},message=response||validator.defaultMessage(element,{method:method,parameters:value}),errors[element.name]=previous.message=message,validator.invalid[element.name]=!0,validator.showErrors(errors)),previous.valid=valid,validator.stopRequest(element,valid)}},param)),"pending")}}});
289// Ajax mode: abort
290// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]});
291// if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()
292var ajax,pendingRequests={};
293// Use a prefilter if available (1.5+)
294// Proxy ajax
295return $.ajaxPrefilter?$.ajaxPrefilter(function(settings,_,xhr){var port=settings.port;"abort"===settings.mode&&(pendingRequests[port]&&pendingRequests[port].abort(),pendingRequests[port]=xhr)}):(ajax=$.ajax,$.ajax=function(settings){var mode=("mode"in settings?settings:$.ajaxSettings).mode,port=("port"in settings?settings:$.ajaxSettings).port;return"abort"===mode?(pendingRequests[port]&&pendingRequests[port].abort(),pendingRequests[port]=ajax.apply(this,arguments),pendingRequests[port]):ajax.apply(this,arguments)}),$}),/*!
296	Modaal - accessible modals - v0.4.3
297	by Humaan, for all humans.
298	http://humaan.com
299 */
300/**
301	Modaal jQuery Plugin : Accessible Modals
302
303	==== General Options ===
304	type (string) 					: ajax, inline, image, iframe, confirm. Defaults to 'inline'
305	content_source (stribg)			: Accepts a string value for your target element, such as '#my-content'. This allows for when trigger element is
306										an `<a href="#">` link. Not to be confused with the already existing `source` event.
307	animation (string) 				: Fade, expand, down, up. Defaults to 'fade'
308	after_callback_delay (integer)	: Specify a delay value for the after open callbacks. This is necessary because with the bundled animations
309										have a set duration in the bundled CSS. Specify a delay of the same amount as the animation duration in so
310										more accurately fire the after open/close callbacks. Defaults 350, does not apply if animation is 'none',
311										after open callbacks are dispatched immediately
312
313	is_locked (boolean)				: Set this to true to disable closing the modal via keypress or clicking the background. Beware that if
314										type != 'confirm' there will be no interface to dismiss the modal if is_locked = true, you'd have to
315										programmatically arrange to dismiss the modal. Confirm modals are always locked regardless of this option
316										Defaults to false
317
318	hide_close (boolean)			: Set this to true to hide the close modal button. Key press and overlay click will still close the modal.
319										This method is best used when you want to put a custom close button inside the modal container space.
320
321	background (string)				: Background overlay style. Defaults to '#000'
322	overlay_opacity (float) 		: Background overlay transparency. Defaults to 0.8
323	overlay_close (boolean)			: Set this to false if you want to disable click to close on overlay background.
324
325	accessible_title (string)		: Accessible title. Default 'Dialog Window'
326	start_open (boolean)			: Set this to true to launch the Modaal window immediately on page open
327	fullscreen (boolean)			: Set this to true to make the modaal fill the entire screen, false will default to own width/height attributes.
328	custom_class (string)			: Fill in this string with a custom class that will be applied to the outer most modal wrapper.
329
330	width (integer)					: Desired width of the modal. Required for iframe type. Defaults to undefined //TODO
331	height (integer)				: Desired height of the modal. Required for iframe type. Defaults to undefined //TODO
332
333	background_scroll (boolean)		: Set this to true to enable the page to scroll behind the open modal.
334
335    should_open (boolean|function)  : Boolean or closure that returns a boolean to determine whether to open the modal or not.
336
337	close_text						: String for close button text. Available for localisation and alternative languages to be used.
338	close_aria_label				: String for close button aria-label attribute (value that screen readers will read out). Available for localisation and alternative languages to be used.
339
340	=== Events ===
341	before_open (function) 			: Callback function executed before modal is opened
342	after_open (function)			: Callback function executed after modal is opened
343	before_close (function)			: Callback function executed before modal is closed
344	after_close (function)			: Callback function executed after modal is closed
345	source (function(element, src))	: Callback function executed on the default source, it is intended to transform the
346										source (href in an AJAX modal or iframe). The function passes in the triggering element
347										as well as the default source depending of the modal type. The default output of the
348										function is an untransformed default source.
349
350
351	=== Confirm Options & Events ===
352	confirm_button_text (string)	: Text on the confirm button. Defaults to 'Confirm'
353	confirm_cancel_button_text (string) : Text on the confirm modal cancel button. Defaults to 'Cancel'
354	confirm_title (string)			: Title for confirm modal. Default 'Confirm Title'
355	confirm_content (string)		: HTML content for confirm message
356	confirm_callback (function)		: Callback function for when the confirm button is pressed as opposed to cancel
357	confirm_cancel_callback (function) : Callback function for when the cancel button is pressed
358
359
360	=== Gallery Options & Events ===
361	gallery_active_class (string)	: Active class applied to the currently active image or image slide in a gallery 'gallery_active_item'
362	outer_controls (boolean)		: Set to true to put the next/prev controls outside the Modaal wrapper, at the edges of the browser window.
363	before_image_change (function)	: Callback function executed before the image slide changes in a gallery modal. Default function( current_item, incoming_item )
364	after_image_change (function)	: Callback function executed after the image slide changes in a gallery modal. Default function ( current_item )
365
366
367	=== AJAX Options & Events ===
368	loading_content (string)		: HTML content for loading message. Default 'Loading &hellip;'
369	loading_class (string)			: Class name to be applied while content is loaded via AJAX. Default 'is_loading'
370	ajax_error_class (string)		: Class name to be applied when content has failed to load. Default is 'modaal-error'
371	ajax_success (function)		 	: Callback for when AJAX content is loaded in
372
373
374	=== SOCIAL CONTENT ===
vendor: 30,344 bytes, lines 375-744
375	instagram_id (string)			: Unique photo ID for an Instagram photo.
376
377*/
378function($){
379// Check and Set Inline Options
380// ------------------------------------------------------------
381function modaal_inline_options(self){
382// new empty options
383var options={},inline_options=!1;
384// option: type
385self.attr("data-modaal-type")&&(inline_options=!0,options.type=self.attr("data-modaal-type")),
386// option: type
387self.attr("data-modaal-content-source")&&(inline_options=!0,options.content_source=self.attr("data-modaal-content-source")),
388// option: animation
389self.attr("data-modaal-animation")&&(inline_options=!0,options.animation=self.attr("data-modaal-animation")),
390// option: animation_speed
391self.attr("data-modaal-animation-speed")&&(inline_options=!0,options.animation_speed=self.attr("data-modaal-animation-speed")),
392// option: after_callback_delay
393self.attr("data-modaal-after-callback-delay")&&(inline_options=!0,options.after_callback_delay=self.attr("data-modaal-after-callback-delay")),
394// option: is_locked
395self.attr("data-modaal-is-locked")&&(inline_options=!0,options.is_locked="true"===self.attr("data-modaal-is-locked")),
396// option: hide_close
397self.attr("data-modaal-hide-close")&&(inline_options=!0,options.hide_close="true"===self.attr("data-modaal-hide-close")),
398// option: background
399self.attr("data-modaal-background")&&(inline_options=!0,options.background=self.attr("data-modaal-background")),
400// option: overlay_opacity
401self.attr("data-modaal-overlay-opacity")&&(inline_options=!0,options.overlay_opacity=self.attr("data-modaal-overlay-opacity")),
402// option: overlay_close
403self.attr("data-modaal-overlay-close")&&(inline_options=!0,options.overlay_close="false"!==self.attr("data-modaal-overlay-close")),
404// option: accessible_title
405self.attr("data-modaal-accessible-title")&&(inline_options=!0,options.accessible_title=self.attr("data-modaal-accessible-title")),
406// option: start_open
407self.attr("data-modaal-start-open")&&(inline_options=!0,options.start_open="true"===self.attr("data-modaal-start-open")),
408// option: fullscreen
409self.attr("data-modaal-fullscreen")&&(inline_options=!0,options.fullscreen="true"===self.attr("data-modaal-fullscreen")),
410// option: custom_class
411self.attr("data-modaal-custom-class")&&(inline_options=!0,options.custom_class=self.attr("data-modaal-custom-class")),
412// option: close_text
413self.attr("data-modaal-close-text")&&(inline_options=!0,options.close_text=self.attr("data-modaal-close-text")),
414// option: close_aria_label
415self.attr("data-modaal-close-aria-label")&&(inline_options=!0,options.close_aria_label=self.attr("data-modaal-close-aria-label")),
416// option: background_scroll
417self.attr("data-modaal-background-scroll")&&(inline_options=!0,options.background_scroll="true"===self.attr("data-modaal-background-scroll")),
418// option: width
419self.attr("data-modaal-width")&&(inline_options=!0,options.width=parseInt(self.attr("data-modaal-width"))),
420// option: height
421self.attr("data-modaal-height")&&(inline_options=!0,options.height=parseInt(self.attr("data-modaal-height"))),
422// option: confirm_button_text
423self.attr("data-modaal-confirm-button-text")&&(inline_options=!0,options.confirm_button_text=self.attr("data-modaal-confirm-button-text")),
424// option: confirm_cancel_button_text
425self.attr("data-modaal-confirm-cancel-button-text")&&(inline_options=!0,options.confirm_cancel_button_text=self.attr("data-modaal-confirm-cancel-button-text")),
426// option: confirm_title
427self.attr("data-modaal-confirm-title")&&(inline_options=!0,options.confirm_title=self.attr("data-modaal-confirm-title")),
428// option: confirm_content
429self.attr("data-modaal-confirm-content")&&(inline_options=!0,options.confirm_content=self.attr("data-modaal-confirm-content")),
430// option: gallery_active_class
431self.attr("data-modaal-gallery-active-class")&&(inline_options=!0,options.gallery_active_class=self.attr("data-modaal-gallery-active-class")),
432// option: loading_content
433self.attr("data-modaal-loading-content")&&(inline_options=!0,options.loading_content=self.attr("data-modaal-loading-content")),
434// option: loading_class
435self.attr("data-modaal-loading-class")&&(inline_options=!0,options.loading_class=self.attr("data-modaal-loading-class")),
436// option: ajax_error_class
437self.attr("data-modaal-ajax-error-class")&&(inline_options=!0,options.ajax_error_class=self.attr("data-modaal-ajax-error-class")),
438// option: start_open
439self.attr("data-modaal-instagram-id")&&(inline_options=!0,options.instagram_id=self.attr("data-modaal-instagram-id")),
440// now set it up for the trigger, but only if inline_options is true
441inline_options&&self.modaal(options)}var Modaal={init:function(options,elem){var self=this;
442// Define next/prev buttons
443if(self.dom=$("body"),self.$elem=$(elem),self.options=$.extend({},$.fn.modaal.options,self.$elem.data(),options),self.xhr=null,
444// set up the scope
445self.scope={is_open:!1,id:"modaal_"+(new Date).getTime()+Math.random().toString(16).substring(2),source:self.options.content_source?self.options.content_source:self.$elem.attr("href")},
446// add scope attribute to trigger element
447self.$elem.attr("data-modaal-scope",self.scope.id),
448// private options
449self.private_options={active_class:"is_active"},self.lastFocus=null,
450// if is_locked
451self.options.is_locked||"confirm"==self.options.type||self.options.hide_close?self.scope.close_btn="":self.scope.close_btn='<button type="button" class="modaal-close" id="modaal-close" aria-label="'+self.options.close_aria_label+'"><span>'+self.options.close_text+"</span></button>",
452// reset animation_speed
453"none"===self.options.animation&&(self.options.animation_speed=0,self.options.after_callback_delay=0),
454// On click to open modal
455$(elem).on("click.Modaal",function(e){e.preventDefault(),self.create_modaal(self,e)}),!0===self.options.outer_controls)var mod_class="outer";else var mod_class="inner";self.scope.prev_btn='<button type="button" class="modaal-gallery-control modaal-gallery-prev modaal-gallery-prev-'+mod_class+'" id="modaal-gallery-prev" aria-label="Previous image (use left arrow to change)"><span>Previous Image</span></button>',self.scope.next_btn='<button type="button" class="modaal-gallery-control modaal-gallery-next modaal-gallery-next-'+mod_class+'" id="modaal-gallery-next" aria-label="Next image (use right arrow to change)"><span>Next Image</span></button>',
456// Check for start_open
457!0===self.options.start_open&&self.create_modaal(self)},
458// Initial create to determine which content type it requires
459// ----------------------------------------------------------------
460create_modaal:function(self,e){var source,self=this;if(
461// Save last active state before modal
462self.lastFocus=self.$elem,!1!==self.options.should_open&&("function"!=typeof self.options.should_open||!1!==self.options.should_open())){switch(
463// CB: before_open
464self.options.before_open.call(self,e),self.options.type){case"inline":self.create_basic();break;case"ajax":source=self.options.source(self.$elem,self.scope.source),self.fetch_ajax(source);break;case"confirm":self.options.is_locked=!0,self.create_confirm();break;case"image":self.create_image();break;case"iframe":source=self.options.source(self.$elem,self.scope.source),self.create_iframe(source);break;case"video":self.create_video(self.scope.source);break;case"instagram":self.create_instagram()}
465// call events to be watched (click, tab, keyup, keydown etc.)
466self.watch_events()}},
467// Watching Modal
468// ----------------------------------------------------------------
469watch_events:function(){var self=this;self.dom.off("click.Modaal keyup.Modaal keydown.Modaal"),
470// Body keydown
471self.dom.on("keydown.Modaal",function(e){var key=e.keyCode,target=e.target;
472// look for tab change and reset focus to modal window
473// done in keydown so the check fires repeatedly when you hold the tab key down
4749==key&&self.scope.is_open&&($.contains(document.getElementById(self.scope.id),target)||$("#"+self.scope.id).find('*[tabindex="0"]').focus())}),
475// Body keyup
476self.dom.on("keyup.Modaal",function(e){var key=e.keyCode,target=e.target;
477// Watch for shift + tab key press. if open shift focus to close button.
478// is gallery open and images length is > 1
479// arrow left for back
480// arrow right for next
481return e.shiftKey&&9==e.keyCode&&self.scope.is_open&&($.contains(document.getElementById(self.scope.id),target)||$("#"+self.scope.id).find(".modaal-close").focus()),!self.options.is_locked&&27==key&&self.scope.is_open?!$(document.activeElement).is("input:not(:checkbox):not(:radio)")&&void self.modaal_close():"image"==self.options.type?(37==key&&self.scope.is_open&&!$("#"+self.scope.id+" .modaal-gallery-prev").hasClass("is_hidden")&&self.gallery_update("prev"),void(39==key&&self.scope.is_open&&!$("#"+self.scope.id+" .modaal-gallery-next").hasClass("is_hidden")&&self.gallery_update("next"))):void 0}),
482// Body click/touch
483self.dom.on("click.Modaal",function(e){var trigger=$(e.target);
484// General Controls: If it's not locked allow greedy close
485if(!self.options.is_locked&&(self.options.overlay_close&&trigger.is(".modaal-inner-wrapper")||trigger.is(".modaal-close")||trigger.closest(".modaal-close").length))return void self.modaal_close();
486//Confirm Controls
487if(trigger.is(".modaal-confirm-btn"))
488// if 'OK' button is clicked, run confirm_callback()
489return trigger.is(".modaal-ok")&&self.options.confirm_callback.call(self,self.lastFocus),trigger.is(".modaal-cancel")&&self.options.confirm_cancel_callback.call(self,self.lastFocus),void self.modaal_close();
490// Gallery Controls
491if(trigger.is(".modaal-gallery-control")){
492// it not active, don't do nuthin!
493if(trigger.hasClass("is_hidden"))return;
494// trigger previous
495// trigger next
496return trigger.is(".modaal-gallery-prev")&&self.gallery_update("prev"),void(trigger.is(".modaal-gallery-next")&&self.gallery_update("next"))}})},
497// Append markup into DOM
498build_modal:function(content){var self=this,igClass="";"instagram"==self.options.type&&(igClass=" modaal-instagram");var animation_class,wrap_class="video"==self.options.type?"modaal-video-wrap":"modaal-content";switch(self.options.animation){case"fade":animation_class=" modaal-start_fade";break;case"slide-down":animation_class=" modaal-start_slidedown";break;default:animation_class=" modaal-start_none"}
499// fullscreen check
500var fullscreen_class="";self.options.fullscreen&&(fullscreen_class=" modaal-fullscreen"),
501// custom class check
502""===self.options.custom_class&&void 0===self.options.custom_class||(self.options.custom_class=" "+self.options.custom_class);
503// if width and heights exists and is typeof number
504var dimensionsStyle="";self.options.width&&self.options.height&&"number"==typeof self.options.width&&"number"==typeof self.options.height?
505// if width and height exist, and they are both numbers
506dimensionsStyle=' style="max-width:'+self.options.width+"px;height:"+self.options.height+'px;overflow:auto;"':self.options.width&&"number"==typeof self.options.width?
507// if only width
508dimensionsStyle=' style="max-width:'+self.options.width+'px;"':self.options.height&&"number"==typeof self.options.height&&(
509// if only height
510dimensionsStyle=' style="height:'+self.options.height+'px;overflow:auto;"'),
511// Reset dimensions style (width and height) for certain types
512("image"==self.options.type||"video"==self.options.type||"instagram"==self.options.type||self.options.fullscreen)&&(dimensionsStyle="");
513// if is touch
514// this is a bug fix for iOS to allow regular click events on div elements.
515var touchTrigger="";self.is_touch()&&(touchTrigger=' style="cursor:pointer;"');var build_markup='<div class="modaal-wrapper modaal-'+self.options.type+animation_class+igClass+fullscreen_class+self.options.custom_class+'" id="'+self.scope.id+'"><div class="modaal-outer-wrapper"><div class="modaal-inner-wrapper"'+touchTrigger+">";
516// hide if video
517"video"!=self.options.type&&(build_markup+='<div class="modaal-container"'+dimensionsStyle+">"),
518// add the guts of the content
519build_markup+='<div class="'+wrap_class+' modaal-focus" aria-hidden="false" aria-label="'+self.options.accessible_title+" - "+self.options.close_aria_label+'" role="dialog">',
520// If it's inline type, we want to clone content instead of dropping it straight in
521"inline"==self.options.type?build_markup+='<div class="modaal-content-container" role="document"></div>':
522// Drop in the content if it's not inline
523build_markup+=content,
524// close wrap_class
525build_markup+="</div>"+self.scope.close_btn,
526// hide if video
527"video"!=self.options.type&&(build_markup+="</div>"),
528// close off modaal-inner-wrapper
529build_markup+="</div>",
530// If type is image AND outer_controls is true: add gallery next and previous controls.
531"image"==self.options.type&&!0===self.options.outer_controls&&(build_markup+=self.scope.prev_btn+self.scope.next_btn),
532// close off modaal-wrapper
533build_markup+="</div></div>",
534// append ajax modal markup to dom
535$("#"+self.scope.id+"_overlay").length<1&&self.dom.append(build_markup),
536// if inline, clone content into space
537"inline"==self.options.type&&content.appendTo("#"+self.scope.id+" .modaal-content-container"),
538// Trigger overlay show (which triggers modal show)
539self.modaal_overlay("show")},
540// Create Basic Inline Modal
541// ----------------------------------------------------------------
542create_basic:function(){var self=this,target=$(self.scope.source),content="";target.length?(content=target.contents().detach(),target.empty()):content="Content could not be loaded. Please check the source and try again.",
543// now push content into markup
544self.build_modal(content)},
545// Create Instagram Modal
546// ----------------------------------------------------------------
547create_instagram:function(){var self=this,id=self.options.instagram_id,content="",error_msg="Instagram photo couldn't be loaded, please check the embed code and try again.";
548// ID exists, is not empty null or undefined.
549if(self.build_modal('<div class="modaal-content-container'+(""!=self.options.loading_class?" "+self.options.loading_class:"")+'">'+self.options.loading_content+"</div>"),""!=id&&null!==id&&void 0!==id){
550// set up oembed url
551var ig_url="https://api.instagram.com/oembed?url=http://instagr.am/p/"+id+"/";$.ajax({url:ig_url,dataType:"jsonp",cache:!1,success:function(data){
552// Create temp dom element from which we'll clone into the modaal instance. This is required to bypass the unusual small thumb issue instagram oembed was serving up
553self.dom.append('<div id="temp-ig" style="width:0;height:0;overflow:hidden;">'+data.html+"</div>"),
554// Check if it has loaded once before.
555// This is to stop the Embeds.process from throwing and error the first time it's being loaded.
556// private_options are individual to a modaal_scope so will not work across multiple scopes when checking if true, only that one item.
557self.dom.attr("data-igloaded")?window.instgrm.Embeds.process():
558// first time it's loaded, let's set a new private option to use next time it's opened.
559self.dom.attr("data-igloaded","true");
560// now set location for new content
561// timeout is required as well to bypass the unusual small thumb issue instagram oembed was serving up
562var target="#"+self.scope.id+" .modaal-content-container";$(target).length>0&&setTimeout(function(){$("#temp-ig").contents().clone().appendTo(target),$("#temp-ig").remove()},1e3)},error:function(){content=error_msg;
563// now set location for new content
564var target=$("#"+self.scope.id+" .modaal-content-container");target.length>0&&(target.removeClass(self.options.loading_class).addClass(self.options.ajax_error_class),target.html(content))}})}else content=error_msg;return!1},
565// Fetch Ajax Data
566// ----------------------------------------------------------------
567fetch_ajax:function(url){var self=this;
568// If no accessible title, set it to 'Dialog Window'
569null==self.options.accessible_title&&(self.options.accessible_title="Dialog Window"),null!==self.xhr&&(self.xhr.abort(),self.xhr=null),self.build_modal('<div class="modaal-content-container'+(""!=self.options.loading_class?" "+self.options.loading_class:"")+'">'+self.options.loading_content+"</div>"),self.xhr=$.ajax(url,{success:function(data){
570// content fetch is successful so push it into markup
571var target=$("#"+self.scope.id).find(".modaal-content-container");target.length>0&&(target.removeClass(self.options.loading_class),target.html(data),self.options.ajax_success.call(self,target))},error:function(xhr){
572// There were some errors so return an error message
573if("abort"!=xhr.statusText){var target=$("#"+self.scope.id+" .modaal-content-container");target.length>0&&(target.removeClass(self.options.loading_class).addClass(self.options.ajax_error_class),target.html("Content could not be loaded. Please check the source and try again."))}}})},
574// Create Confirm Modal
575// ----------------------------------------------------------------
576create_confirm:function(){var content,self=this;content='<div class="modaal-content-container"><h1 id="modaal-title">'+self.options.confirm_title+'</h1><div class="modaal-confirm-content">'+self.options.confirm_content+'</div><div class="modaal-confirm-wrap"><button type="button" class="modaal-confirm-btn modaal-ok" aria-label="Confirm">'+self.options.confirm_button_text+'</button><button type="button" class="modaal-confirm-btn modaal-cancel" aria-label="Cancel">'+self.options.confirm_cancel_button_text+"</button></div></div></div>",
577// now push content into markup
578self.build_modal(content)},
579// Create Image/Gallery Modal
580// ----------------------------------------------------------------
581create_image:function(){var content,gallery_total,self=this,modaal_image_markup="";
582// If has group attribute
583if(self.$elem.is("[data-group]")||self.$elem.is("[rel]")){
584// find gallery groups
585var use_group=self.$elem.is("[data-group]"),gallery_group=use_group?self.$elem.attr("data-group"):self.$elem.attr("rel"),gallery_group_items=$(use_group?'[data-group="'+gallery_group+'"]':'[rel="'+gallery_group+'"]');
586// remove any previous active attribute to any in the group
587gallery_group_items.removeAttr("data-gallery-active","is_active"),
588// add active attribute to the item clicked
589self.$elem.attr("data-gallery-active","is_active"),
590// how many in the grouping are there (-1 to connect with each function starting with 0)
591gallery_total=gallery_group_items.length-1;
592// prepare array for gallery data
593var gallery=[];
594// start preparing markup
595modaal_image_markup='<div class="modaal-gallery-item-wrap">',
596// loop each grouping item and push it into our gallery array
597gallery_group_items.each(function(i,item){
598// setup default content
599var img_src="",img_alt="",img_description="",img_active=!1,img_src_error=!1,data_modaal_desc=item.getAttribute("data-modaal-desc"),data_item_active=item.getAttribute("data-gallery-active");
600// if item has inline custom source, use that instead of href. Fall back to href if available.
601$(item).attr("data-modaal-content-source")?img_src=$(item).attr("data-modaal-content-source"):$(item).attr("href")?img_src=$(item).attr("href"):$(item).attr("src")?img_src=$(item).attr("src"):(img_src="trigger requires href or data-modaal-content-source attribute",img_src_error=!0),
602// Does it have a modaal description
603""!=data_modaal_desc&&null!==data_modaal_desc&&void 0!==data_modaal_desc?(img_alt=data_modaal_desc,img_description='<div class="modaal-gallery-label"><span class="modaal-accessible-hide">Image '+(i+1)+" - </span>"+data_modaal_desc+"</div>"):img_description='<div class="modaal-gallery-label"><span class="modaal-accessible-hide">Image '+(i+1)+"</span></div>",
604// is it the active item
605data_item_active&&(img_active=!0);
606// set new object for values we want
607var gallery_item={url:img_src,alt:img_alt,rawdesc:data_modaal_desc,desc:img_description,active:img_active,src_error:img_src_error};
608// push object into gallery array
609gallery.push(gallery_item)});
610// now loop through all items in the gallery and build up the markup
611for(var i=0;i<gallery.length;i++){
612// Set default active class, then check if array item active is true and update string for class
613var is_active="",aria_label=gallery[i].rawdesc?"Image: "+gallery[i].rawdesc:"Image "+i+" no description";gallery[i].active&&(is_active=" "+self.private_options.active_class);
614// if gallery item has source error, output message rather than undefined image
615var image_output=gallery[i].src_error?gallery[i].url:'<img src="'+gallery[i].url+'" alt=" " style="width:100%">';
616// for each item build up the markup
617modaal_image_markup+='<div class="modaal-gallery-item gallery-item-'+i+is_active+'" aria-label="'+aria_label+'">'+image_output+gallery[i].desc+"</div>"}
618// Close off the markup for the gallery
619modaal_image_markup+="</div>",
620// Add next and previous buttons if outside
6211!=self.options.outer_controls&&(modaal_image_markup+=self.scope.prev_btn+self.scope.next_btn)}else{
622// This is only a single gallery item so let's grab the necessary values
623// define the source, check if content_source option exists, and use that or fall back to href.
624var this_img_src,img_src_error=!1;self.$elem.attr("data-modaal-content-source")?this_img_src=self.$elem.attr("data-modaal-content-source"):self.$elem.attr("href")?this_img_src=self.$elem.attr("href"):self.$elem.attr("src")?this_img_src=self.$elem.attr("src"):(this_img_src="trigger requires href or data-modaal-content-source attribute",img_src_error=!0);var this_img_alt_txt="",this_img_alt="",aria_label="";self.$elem.attr("data-modaal-desc")?(aria_label=self.$elem.attr("data-modaal-desc"),this_img_alt_txt=self.$elem.attr("data-modaal-desc"),this_img_alt='<div class="modaal-gallery-label"><span class="modaal-accessible-hide">Image - </span>'+this_img_alt_txt+"</div>"):aria_label="Image with no description";
625// if image item has source error, output message rather than undefined image
626var image_output=img_src_error?this_img_src:'<img src="'+this_img_src+'" alt=" " style="width:100%">';
627// build up the html
628modaal_image_markup='<div class="modaal-gallery-item is_active" aria-label="'+aria_label+'">'+image_output+this_img_alt+"</div>"}
629// Update content variable
630content=modaal_image_markup,
631// now push content into markup
632self.build_modal(content),
633// setup next & prev buttons
634$(".modaal-gallery-item.is_active").is(".gallery-item-0")&&$(".modaal-gallery-prev").hide(),$(".modaal-gallery-item.is_active").is(".gallery-item-"+gallery_total)&&$(".modaal-gallery-next").hide()},
635// Gallery Change Image
636// ----------------------------------------------------------------
637gallery_update:function(direction){var self=this,this_gallery=$("#"+self.scope.id),this_gallery_item=this_gallery.find(".modaal-gallery-item"),this_gallery_total=this_gallery_item.length-1;
638// if single item, don't proceed
639if(0==this_gallery_total)return!1;var prev_btn=this_gallery.find(".modaal-gallery-prev"),next_btn=this_gallery.find(".modaal-gallery-next"),new_img_w=0,new_img_h=0,current_item=this_gallery.find(".modaal-gallery-item."+self.private_options.active_class),incoming_item="next"==direction?current_item.next(".modaal-gallery-item"):current_item.prev(".modaal-gallery-item");
640// stop change if at start of end
641// stop change if at start of end
642// lock dimensions
643return self.options.before_image_change.call(self,current_item,incoming_item),("prev"!=direction||!this_gallery.find(".gallery-item-0").hasClass("is_active"))&&(("next"!=direction||!this_gallery.find(".gallery-item-"+this_gallery_total).hasClass("is_active"))&&void current_item.stop().animate({opacity:0},250,function(){
644// Move to appropriate image
645incoming_item.addClass("is_next").css({position:"absolute",display:"block",opacity:0});
646// Collect doc width
647var doc_width=$(document).width(),width_threshold=doc_width>1140?280:50;
648// start toggle to 'is_next'
649new_img_w=this_gallery.find(".modaal-gallery-item.is_next").width(),new_img_h=this_gallery.find(".modaal-gallery-item.is_next").height();var new_natural_w=this_gallery.find(".modaal-gallery-item.is_next img").prop("naturalWidth"),new_natural_h=this_gallery.find(".modaal-gallery-item.is_next img").prop("naturalHeight");
650// if new image is wider than doc width
651new_natural_w>doc_width-width_threshold?(
652// set new width just below doc width
653new_img_w=doc_width-width_threshold,
654// Set temp widths so we can calulate the correct height;
655this_gallery.find(".modaal-gallery-item.is_next").css({width:new_img_w}),this_gallery.find(".modaal-gallery-item.is_next img").css({width:new_img_w}),
656// Set new height variable
657new_img_h=this_gallery.find(".modaal-gallery-item.is_next").find("img").height()):(
658// new img is not wider than screen, so let's set the new dimensions
659new_img_w=new_natural_w,new_img_h=new_natural_h),
660// resize gallery region
661this_gallery.find(".modaal-gallery-item-wrap").stop().animate({width:new_img_w,height:new_img_h},250,function(){
662// hide old active image
663current_item.removeClass(self.private_options.active_class+" "+self.options.gallery_active_class).removeAttr("style"),current_item.find("img").removeAttr("style"),
664// show new image
665incoming_item.addClass(self.private_options.active_class+" "+self.options.gallery_active_class).removeClass("is_next").css("position",""),
666// animate in new image (now has the normal is_active class
667incoming_item.stop().animate({opacity:1},250,function(){$(this).removeAttr("style").css({width:"100%"}),$(this).find("img").css("width","100%"),
668// remove dimension lock
669this_gallery.find(".modaal-gallery-item-wrap").removeAttr("style"),
670// CB: After image change
671self.options.after_image_change.call(self,incoming_item)}),
672// Focus on the new gallery item
673this_gallery.find(".modaal-gallery-item").removeAttr("tabindex"),this_gallery.find(".modaal-gallery-item."+self.private_options.active_class).attr("tabindex","0").focus(),
674// hide/show next/prev
675this_gallery.find(".modaal-gallery-item."+self.private_options.active_class).is(".gallery-item-0")?prev_btn.stop().animate({opacity:0},150,function(){$(this).hide()}):prev_btn.stop().css({display:"block",opacity:prev_btn.css("opacity")}).animate({opacity:1},150),this_gallery.find(".modaal-gallery-item."+self.private_options.active_class).is(".gallery-item-"+this_gallery_total)?next_btn.stop().animate({opacity:0},150,function(){$(this).hide()}):next_btn.stop().css({display:"block",opacity:prev_btn.css("opacity")}).animate({opacity:1},150)})}))},
676// Create Video Modal
677// ----------------------------------------------------------------
678create_video:function(url){var content,self=this;
679// video markup
680content='<iframe src="'+url+'" class="modaal-video-frame" frameborder="0" allowfullscreen></iframe>',
681// now push content into markup
682self.build_modal('<div class="modaal-video-container">'+content+"</div>")},
683// Create iFrame Modal
684// ----------------------------------------------------------------
685create_iframe:function(url){var content,self=this;
686// video markup
687content=null!==self.options.width||void 0!==self.options.width||null!==self.options.height||void 0!==self.options.height?'<iframe src="'+url+'" class="modaal-iframe-elem" frameborder="0" allowfullscreen></iframe>':'<div class="modaal-content-container">Please specify a width and height for your iframe</div>',
688// now push content into markup
689self.build_modal(content)},
690// Open Modaal
691// ----------------------------------------------------------------
692modaal_open:function(){var self=this,modal_wrapper=$("#"+self.scope.id),animation_type=self.options.animation;"none"===animation_type&&(modal_wrapper.removeClass("modaal-start_none"),self.options.after_open.call(self,modal_wrapper)),
693// Open with fade
694"fade"===animation_type&&modal_wrapper.removeClass("modaal-start_fade"),
695// Open with slide down
696"slide-down"===animation_type&&modal_wrapper.removeClass("modaal-start_slide_down");var focusTarget=modal_wrapper;
697// Switch focusTarget tabindex (switch from other modal if exists)
698$(".modaal-wrapper *[tabindex=0]").removeAttr("tabindex"),focusTarget="image"==self.options.type?$("#"+self.scope.id).find(".modaal-gallery-item."+self.private_options.active_class):modal_wrapper.find(".modaal-iframe-elem").length?modal_wrapper.find(".modaal-iframe-elem"):modal_wrapper.find(".modaal-video-wrap").length?modal_wrapper.find(".modaal-video-wrap"):modal_wrapper.find(".modaal-focus"),
699// now set the focus
700focusTarget.attr("tabindex","0").focus(),
701// Run after_open
702"none"!==animation_type&&
703// CB: after_open
704setTimeout(function(){self.options.after_open.call(self,modal_wrapper)},self.options.after_callback_delay)},
705// Close Modal
706// ----------------------------------------------------------------
707modaal_close:function(){var self=this,modal_wrapper=$("#"+self.scope.id);
708// CB: before_close
709self.options.before_close.call(self,modal_wrapper),null!==self.xhr&&(self.xhr.abort(),self.xhr=null),
710// Now we close the modal
711"none"===self.options.animation&&modal_wrapper.addClass("modaal-start_none"),
712// Close with fade
713"fade"===self.options.animation&&modal_wrapper.addClass("modaal-start_fade"),
714// Close with slide up (using initial slide down)
715"slide-down"===self.options.animation&&modal_wrapper.addClass("modaal-start_slide_down"),
716// CB: after_close and remove
717setTimeout(function(){
718// clone inline content back to origin place
719"inline"==self.options.type&&$("#"+self.scope.id+" .modaal-content-container").contents().detach().appendTo(self.scope.source),
720// remove markup from dom
721modal_wrapper.remove(),
722// CB: after_close
723self.options.after_close.call(self),
724// scope is now closed
725self.scope.is_open=!1},self.options.after_callback_delay),
726// Call overlay hide
727self.modaal_overlay("hide"),
728// Roll back to last focus state before modal open. If was closed programmatically, this might not be set
729null!=self.lastFocus&&self.lastFocus.focus()},
730// Overlay control (accepts action for show or hide)
731// ----------------------------------------------------------------
732modaal_overlay:function(action){var self=this;"show"==action?(
733// Modal is open so update scope
734self.scope.is_open=!0,
735// set body to overflow hidden if background_scroll is false
736self.options.background_scroll||self.dom.addClass("modaal-noscroll"),
737// append modaal overlay
738$("#"+self.scope.id+"_overlay").length<1&&self.dom.append('<div class="modaal-overlay" id="'+self.scope.id+'_overlay"></div>'),
739// now show
740$("#"+self.scope.id+"_overlay").css("background",self.options.background).stop().animate({opacity:self.options.overlay_opacity},self.options.animation_speed,function(){
741// now open the modal
742self.modaal_open()})):"hide"==action&&
743// now hide the overlay
744$("#"+self.scope.id+"_overlay").stop().animate({opacity:0}
744,self.options.animation_speed,function(){
745// remove overlay from dom
746$(this).remove(),
747// remove body overflow lock
748self.dom.removeClass("modaal-noscroll")})},
749// Check if is touch
750// ----------------------------------------------------------------
751is_touch:function(){return"ontouchstart"in window||navigator.maxTouchPoints}},modaal_existing_selectors=[];
752// Declare the modaal jQuery method
753// ------------------------------------------------------------
754$.fn.modaal=function(options){return this.each(function(i){var existing_modaal=$(this).data("modaal");if(existing_modaal){
755// Checking for string value, used for methods
756if("string"==typeof options)switch(options){case"open":
757// create the modal
758existing_modaal.create_modaal(existing_modaal);break;case"close":existing_modaal.modaal_close()}}else{
759// Not a string, so let's setup the modal ready to use
760var modaal=Object.create(Modaal);modaal.init(options,this),$.data(this,"modaal",modaal),
761// push this select into existing selectors array which is referenced during modaal_dom_observer
762modaal_existing_selectors.push({element:$(this).attr("class"),options:options})}})},
763// Default options
764// ------------------------------------------------------------
765$.fn.modaal.options={
766//General
767type:"inline",content_source:null,animation:"fade",animation_speed:300,after_callback_delay:350,is_locked:!1,hide_close:!1,background:"#000",overlay_opacity:"0.8",overlay_close:!0,accessible_title:"Dialog Window",start_open:!1,fullscreen:!1,custom_class:"",background_scroll:!1,should_open:!0,close_text:"Close",close_aria_label:"Close (Press escape to close)",width:null,height:null,
768//Events
769before_open:function(){},after_open:function(){},before_close:function(){},after_close:function(){},source:function(element,src){return src},
770//Confirm Modal
771confirm_button_text:"Confirm",// text on confirm button
772confirm_cancel_button_text:"Cancel",confirm_title:"Confirm Title",// title for confirm modal
773confirm_content:"<p>This is the default confirm dialog content. Replace me through the options</p>",// html for confirm message
774confirm_callback:function(){},confirm_cancel_callback:function(){},
775//Gallery Modal
776gallery_active_class:"gallery_active_item",outer_controls:!1,before_image_change:function(current_item,incoming_item){},after_image_change:function(current_item){},
777//Ajax Modal
778loading_content:'<div class="modaal-loading-spinner"><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div><div><div></div></div></div>',loading_class:"is_loading",ajax_error_class:"modaal-error",ajax_success:function(){},
779//Instagram
780instagram_id:null},
781// On body load (or now, if already loaded), init any modaals defined inline
782// Ensure this is done after $.fn.modaal and default options are declared
783// ----------------------------------------------------------------
784$(function(){var single_modaal=$(".modaal");
785// Check for existing modaal elements
786single_modaal.length&&single_modaal.each(function(){modaal_inline_options($(this))});
787// Obvserve DOM mutations for newly added triggers
788var modaal_dom_observer=new MutationObserver(function(mutations){mutations.forEach(function(mutation){if(mutation.addedNodes&&mutation.addedNodes.length>0)
789// element added to DOM
790{[].some.call(mutation.addedNodes,function(el){var elm=$(el);(elm.is("a")||elm.is("button"))&&(elm.hasClass("modaal")?
791// is inline Modaal, initialise options
792modaal_inline_options(elm):
793// is not inline modaal. Check for existing selector
794modaal_existing_selectors.forEach(function(modaalSelector){if(modaalSelector.element==elm.attr("class"))return $(elm).modaal(modaalSelector.options),!1}))})}})}),observer_config={subtree:!0,attributes:!0,childList:!0,characterData:!0};
795// pass in the target node, as well as the observer options
796setTimeout(function(){modaal_dom_observer.observe(document.body,observer_config)},500)})}(jQuery,window,document),function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?module.exports=factory():"function"==typeof define&&define.amd?define(factory):global.moment=factory()}(this,function(){"use strict";function hooks(){return hookCallback.apply(null,arguments)}function isArray(input){return input instanceof Array||"[object Array]"===Object.prototype.toString.call(input)}function isObject(input){
797// IE8 will treat undefined and null as object if it wasn't for
798// input != null
799return null!=input&&"[object Object]"===Object.prototype.toString.call(input)}function isObjectEmpty(obj){var k;for(k in obj)
800// even if its not own property I'd still call it non-empty
801return!1;return!0}function isUndefined(input){return void 0===input}function isNumber(input){return"number"==typeof input||"[object Number]"===Object.prototype.toString.call(input)}function isDate(input){return input instanceof Date||"[object Date]"===Object.prototype.toString.call(input)}function map(arr,fn){var i,res=[];for(i=0;i<arr.length;++i)res.push(fn(arr[i],i));return res}function hasOwnProp(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function extend(a,b){for(var i in b)hasOwnProp(b,i)&&(a[i]=b[i]);return hasOwnProp(b,"toString")&&(a.toString=b.toString),hasOwnProp(b,"valueOf")&&(a.valueOf=b.valueOf),a}function createUTC(input,format,locale,strict){return createLocalOrUTC(in
vendor: 20,532 bytes, lines 801-873
801put,format,locale,strict,!0).utc()}function defaultParsingFlags(){
802// We need to deep clone this object.
803return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function getParsingFlags(m){return null==m._pf&&(m._pf=defaultParsingFlags()),m._pf}function isValid(m){if(null==m._isValid){var flags=getParsingFlags(m),parsedParts=some$1.call(flags.parsedDateParts,function(i){return null!=i}),isNowValid=!isNaN(m._d.getTime())&&flags.overflow<0&&!flags.empty&&!flags.invalidMonth&&!flags.invalidWeekday&&!flags.nullInput&&!flags.invalidFormat&&!flags.userInvalidated&&(!flags.meridiem||flags.meridiem&&parsedParts);if(m._strict&&(isNowValid=isNowValid&&0===flags.charsLeftOver&&0===flags.unusedTokens.length&&void 0===flags.bigHour),null!=Object.isFrozen&&Object.isFrozen(m))return isNowValid;m._isValid=isNowValid}return m._isValid}function createInvalid(flags){var m=createUTC(NaN);return null!=flags?extend(getParsingFlags(m),flags):getParsingFlags(m).userInvalidated=!0,m}function copyConfig(to,from){var i,prop,val;if(isUndefined(from._isAMomentObject)||(to._isAMomentObject=from._isAMomentObject),isUndefined(from._i)||(to._i=from._i),isUndefined(from._f)||(to._f=from._f),isUndefined(from._l)||(to._l=from._l),isUndefined(from._strict)||(to._strict=from._strict),isUndefined(from._tzm)||(to._tzm=from._tzm),isUndefined(from._isUTC)||(to._isUTC=from._isUTC),isUndefined(from._offset)||(to._offset=from._offset),isUndefined(from._pf)||(to._pf=getParsingFlags(from)),isUndefined(from._locale)||(to._locale=from._locale),momentProperties.length>0)for(i=0;i<momentProperties.length;i++)prop=momentProperties[i],val=from[prop],isUndefined(val)||(to[prop]=val);return to}
804// Moment prototype object
805function Moment(config){copyConfig(this,config),this._d=new Date(null!=config._d?config._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),
806// Prevent infinite loop in case updateOffset creates new moment
807// objects.
808!1===updateInProgress&&(updateInProgress=!0,hooks.updateOffset(this),updateInProgress=!1)}function isMoment(obj){return obj instanceof Moment||null!=obj&&null!=obj._isAMomentObject}function absFloor(number){return number<0?Math.ceil(number)||0:Math.floor(number)}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;return 0!==coercedNumber&&isFinite(coercedNumber)&&(value=absFloor(coercedNumber)),value}
809// compare two arrays, return the number of differences
810function compareArrays(array1,array2,dontConvert){var i,len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0;for(i=0;i<len;i++)(dontConvert&&array1[i]!==array2[i]||!dontConvert&&toInt(array1[i])!==toInt(array2[i]))&&diffs++;return diffs+lengthDiff}function warn(msg){!1===hooks.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+msg)}function deprecate(msg,fn){var firstTime=!0;return extend(function(){if(null!=hooks.deprecationHandler&&hooks.deprecationHandler(null,msg),firstTime){for(var arg,args=[],i=0;i<arguments.length;i++){if(arg="","object"==typeof arguments[i]){arg+="\n["+i+"] ";for(var key in arguments[0])arg+=key+": "+arguments[0][key]+", ";arg=arg.slice(0,-2)}else arg=arguments[i];args.push(arg)}warn(msg+"\nArguments: "+Array.prototype.slice.call(args).join("")+"\n"+(new Error).stack),firstTime=!1}return fn.apply(this,arguments)},fn)}function deprecateSimple(name,msg){null!=hooks.deprecationHandler&&hooks.deprecationHandler(name,msg),deprecations[name]||(warn(msg),deprecations[name]=!0)}function isFunction(input){return input instanceof Function||"[object Function]"===Object.prototype.toString.call(input)}function set(config){var prop,i;for(i in config)prop=config[i],isFunction(prop)?this[i]=prop:this["_"+i]=prop;this._config=config,
811// Lenient ordinal parsing accepts just a number in addition to
812// number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
813// TODO: Remove "ordinalParse" fallback in next major release.
814this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function mergeConfigs(parentConfig,childConfig){var prop,res=extend({},parentConfig);for(prop in childConfig)hasOwnProp(childConfig,prop)&&(isObject(parentConfig[prop])&&isObject(childConfig[prop])?(res[prop]={},extend(res[prop],parentConfig[prop]),extend(res[prop],childConfig[prop])):null!=childConfig[prop]?res[prop]=childConfig[prop]:delete res[prop]);for(prop in parentConfig)hasOwnProp(parentConfig,prop)&&!hasOwnProp(childConfig,prop)&&isObject(parentConfig[prop])&&(
815// make sure changes to properties don't modify parent config
816res[prop]=extend({},res[prop]));return res}function Locale(config){null!=config&&this.set(config)}function calendar(key,mom,now){var output=this._calendar[key]||this._calendar.sameElse;return isFunction(output)?output.call(mom,now):output}function longDateFormat(key){var format=this._longDateFormat[key],formatUpper=this._longDateFormat[key.toUpperCase()];return format||!formatUpper?format:(this._longDateFormat[key]=formatUpper.replace(/MMMM|MM|DD|dddd/g,function(val){return val.slice(1)}),this._longDateFormat[key])}function invalidDate(){return this._invalidDate}function ordinal(number){return this._ordinal.replace("%d",number)}function relativeTime(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return isFunction(output)?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)}function pastFuture(diff,output){var format=this._relativeTime[diff>0?"future":"past"];return isFunction(format)?format(output):format.replace(/%s/i,output)}function addUnitAlias(unit,shorthand){var lowerCase=unit.toLowerCase();aliases[lowerCase]=aliases[lowerCase+"s"]=aliases[shorthand]=unit}function normalizeUnits(units){return"string"==typeof units?aliases[units]||aliases[units.toLowerCase()]:void 0}function normalizeObjectUnits(inputObject){var normalizedProp,prop,normalizedInput={};for(prop in inputObject)hasOwnProp(inputObject,prop)&&(normalizedProp=normalizeUnits(prop))&&(normalizedInput[normalizedProp]=inputObject[prop]);return normalizedInput}function addUnitPriority(unit,priority){priorities[unit]=priority}function getPrioritizedUnits(unitsObj){var units=[];for(var u in unitsObj)units.push({unit:u,priority:priorities[u]});return units.sort(function(a,b){return a.priority-b.priority}),units}function makeGetSet(unit,keepTime){return function(value){return null!=value?(set$1(this,unit,value),hooks.updateOffset(this,keepTime),this):get(this,unit)}}function get(mom,unit){return mom.isValid()?mom._d["get"+(mom._isUTC?"UTC":"")+unit]():NaN}function set$1(mom,unit,value){mom.isValid()&&mom._d["set"+(mom._isUTC?"UTC":"")+unit](value)}
817// MOMENTS
818function stringGet(units){return units=normalizeUnits(units),isFunction(this[units])?this[units]():this}function stringSet(units,value){if("object"==typeof units){units=normalizeObjectUnits(units);for(var prioritized=getPrioritizedUnits(units),i=0;i<prioritized.length;i++)this[prioritized[i].unit](units[prioritized[i].unit])}else if(units=normalizeUnits(units),isFunction(this[units]))return this[units](value);return this}function zeroFill(number,targetLength,forceSign){var absNumber=""+Math.abs(number),zerosToFill=targetLength-absNumber.length;return(number>=0?forceSign?"+":"":"-")+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber}
819// token:    'M'
820// padded:   ['MM', 2]
821// ordinal:  'Mo'
822// callback: function () { this.month() + 1 }
823function addFormatToken(token,padded,ordinal,callback){var func=callback;"string"==typeof callback&&(func=function(){return this[callback]()}),token&&(formatTokenFunctions[token]=func),padded&&(formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])}),ordinal&&(formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token)})}function removeFormattingTokens(input){return input.match(/\[[\s\S]/)?input.replace(/^\[|\]$/g,""):input.replace(/\\/g,"")}function makeFormatFunction(format){var i,length,array=format.match(formattingTokens);for(i=0,length=array.length;i<length;i++)formatTokenFunctions[array[i]]?array[i]=formatTokenFunctions[array[i]]:array[i]=removeFormattingTokens(array[i]);return function(mom){var i,output="";for(i=0;i<length;i++)output+=isFunction(array[i])?array[i].call(mom,format):array[i];return output}}
824// format date using native date object
825function formatMoment(m,format){return m.isValid()?(format=expandFormat(format,m.localeData()),formatFunctions[format]=formatFunctions[format]||makeFormatFunction(format),formatFunctions[format](m)):m.localeData().invalidDate()}function expandFormat(format,locale){function replaceLongDateFormatTokens(input){return locale.longDateFormat(input)||input}var i=5;for(localFormattingTokens.lastIndex=0;i>=0&&localFormattingTokens.test(format);)format=format.replace(localFormattingTokens,replaceLongDateFormatTokens),localFormattingTokens.lastIndex=0,i-=1;return format}function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex}}function getParseRegexForToken(token,config){return hasOwnProp(regexes,token)?regexes[token](config._strict,config._locale):new RegExp(unescapeFormat(token))}
826// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
827function unescapeFormat(s){return regexEscape(s.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(matched,p1,p2,p3,p4){return p1||p2||p3||p4}))}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function addParseToken(token,callback){var i,func=callback;for("string"==typeof token&&(token=[token]),isNumber(callback)&&(func=function(input,array){array[callback]=toInt(input)}),i=0;i<token.length;i++)tokens[token[i]]=func}function addWeekParseToken(token,callback){addParseToken(token,function(input,array,config,token){config._w=config._w||{},callback(input,config._w,config,token)})}function addTimeToArrayFromToken(token,input,config){null!=input&&hasOwnProp(tokens,token)&&tokens[token](input,config._a,config,token)}function daysInMonth(year,month){return new Date(Date.UTC(year,month+1,0)).getUTCDate()}function localeMonths(m,format){return m?isArray(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(format)?"format":"standalone"][m.month()]:isArray(this._months)?this._months:this._months.standalone}function localeMonthsShort(m,format){return m?isArray(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(format)?"format":"standalone"][m.month()]:isArray(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function handleStrictParse(monthName,format,strict){var i,ii,mom,llc=monthName.toLocaleLowerCase();if(!this._monthsParse)for(
828// this is not used
829this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)mom=createUTC([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(mom,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(mom,"").toLocaleLowerCase();return strict?"MMM"===format?(ii=indexOf$1.call(this._shortMonthsParse,llc),-1!==ii?ii:null):(ii=indexOf$1.call(this._longMonthsParse,llc),-1!==ii?ii:null):"MMM"===format?-1!==(ii=indexOf$1.call(this._shortMonthsParse,llc))?ii:(ii=indexOf$1.call(this._longMonthsParse,llc),-1!==ii?ii:null):-1!==(ii=indexOf$1.call(this._longMonthsParse,llc))?ii:(ii=indexOf$1.call(this._shortMonthsParse,llc),-1!==ii?ii:null)}function localeMonthsParse(monthName,format,strict){var i,mom,regex;if(this._monthsParseExact)return handleStrictParse.call(this,monthName,format,strict);
830// TODO: add sorting
831// Sorting makes sure if one month (or abbr) is a prefix of another
832// see sorting in computeMonthsParse
833for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){
834// test the regex
835if(
836// make the regex if we don't have it already
837mom=createUTC([2e3,i]),strict&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(mom,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(mom,"").replace(".","")+"$","i")),strict||this._monthsParse[i]||(regex="^"+this.months(mom,"")+"|^"+this.monthsShort(mom,""),this._monthsParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"MMMM"===format&&this._longMonthsParse[i].test(monthName))return i;if(strict&&"MMM"===format&&this._shortMonthsParse[i].test(monthName))return i;if(!strict&&this._monthsParse[i].test(monthName))return i}}
838// MOMENTS
839function setMonth(mom,value){var dayOfMonth;if(!mom.isValid())
840// No op
841return mom;if("string"==typeof value)if(/^\d+$/.test(value))value=toInt(value);else
842// TODO: Another silent failure?
843if(value=mom.localeData().monthsParse(value),!isNumber(value))return mom;return dayOfMonth=Math.min(mom.date(),daysInMonth(mom.year(),value)),mom._d["set"+(mom._isUTC?"UTC":"")+"Month"](value,dayOfMonth),mom}function getSetMonth(value){return null!=value?(setMonth(this,value),hooks.updateOffset(this,!0),this):get(this,"Month")}function getDaysInMonth(){return daysInMonth(this.year(),this.month())}function monthsShortRegex(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsShortStrictRegex:this._monthsShortRegex):(hasOwnProp(this,"_monthsShortRegex")||(this._monthsShortRegex=defaultMonthsShortRegex),this._monthsShortStrictRegex&&isStrict?this._monthsShortStrictRegex:this._monthsShortRegex)}function monthsRegex(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsStrictRegex:this._monthsRegex):(hasOwnProp(this,"_monthsRegex")||(this._monthsRegex=defaultMonthsRegex),this._monthsStrictRegex&&isStrict?this._monthsStrictRegex:this._monthsRegex)}function computeMonthsParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<12;i++)
844// make the regex if we don't have it already
845mom=createUTC([2e3,i]),shortPieces.push(this.monthsShort(mom,"")),longPieces.push(this.months(mom,"")),mixedPieces.push(this.months(mom,"")),mixedPieces.push(this.monthsShort(mom,""));for(
846// Sorting makes sure if one month (or abbr) is a prefix of another it
847// will match the longer piece.
848shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),i=0;i<12;i++)shortPieces[i]=regexEscape(shortPieces[i]),longPieces[i]=regexEscape(longPieces[i]);for(i=0;i<24;i++)mixedPieces[i]=regexEscape(mixedPieces[i]);this._monthsRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i")}
849// HELPERS
850function daysInYear(year){return isLeapYear(year)?366:365}function isLeapYear(year){return year%4==0&&year%100!=0||year%400==0}function getIsLeapYear(){return isLeapYear(this.year())}function createDate(y,m,d,h,M,s,ms){
851// can't just apply() to create a date:
852// https://stackoverflow.com/q/181348
853var date=new Date(y,m,d,h,M,s,ms);
854// the date constructor remaps years 0-99 to 1900-1999
855return y<100&&y>=0&&isFinite(date.getFullYear())&&date.setFullYear(y),date}function createUTCDate(y){var date=new Date(Date.UTC.apply(null,arguments));
856// the Date.UTC function remaps years 0-99 to 1900-1999
857return y<100&&y>=0&&isFinite(date.getUTCFullYear())&&date.setUTCFullYear(y),date}
858// start-of-first-week - start-of-year
859function firstWeekOffset(year,dow,doy){var// first-week day -- which january is always in the first week (4 for iso, 1 for other)
860fwd=7+dow-doy;return-(7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7+fwd-1}
861// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
862function dayOfYearFromWeeks(year,week,weekday,dow,doy){var resYear,resDayOfYear,localWeekday=(7+weekday-dow)%7,weekOffset=firstWeekOffset(year,dow,doy),dayOfYear=1+7*(week-1)+localWeekday+weekOffset;return dayOfYear<=0?(resYear=year-1,resDayOfYear=daysInYear(resYear)+dayOfYear):dayOfYear>daysInYear(year)?(resYear=year+1,resDayOfYear=dayOfYear-daysInYear(year)):(resYear=year,resDayOfYear=dayOfYear),{year:resYear,dayOfYear:resDayOfYear}}function weekOfYear(mom,dow,doy){var resWeek,resYear,weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1;return week<1?(resYear=mom.year()-1,resWeek=week+weeksInYear(resYear,dow,doy)):week>weeksInYear(mom.year(),dow,doy)?(resWeek=week-weeksInYear(mom.year(),dow,doy),resYear=mom.year()+1):(resYear=mom.year(),resWeek=week),{week:resWeek,year:resYear}}function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7}
863// HELPERS
864// LOCALES
865function localeWeek(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week}function localeFirstDayOfWeek(){return this._week.dow}function localeFirstDayOfYear(){return this._week.doy}
866// MOMENTS
867function getSetWeek(input){var week=this.localeData().week(this);return null==input?week:this.add(7*(input-week),"d")}function getSetISOWeek(input){var week=weekOfYear(this,1,4).week;return null==input?week:this.add(7*(input-week),"d")}
868// HELPERS
869function parseWeekday(input,locale){return"string"!=typeof input?input:isNaN(input)?(input=locale.weekdaysParse(input),"number"==typeof input?input:null):parseInt(input,10)}function parseIsoWeekday(input,locale){return"string"==typeof input?locale.weekdaysParse(input)%7||7:isNaN(input)?null:input}function localeWeekdays(m,format){return m?isArray(this._weekdays)?this._weekdays[m.day()]:this._weekdays[this._weekdays.isFormat.test(format)?"format":"standalone"][m.day()]:isArray(this._weekdays)?this._weekdays:this._weekdays.standalone}function localeWeekdaysShort(m){return m?this._weekdaysShort[m.day()]:this._weekdaysShort}function localeWeekdaysMin(m){return m?this._weekdaysMin[m.day()]:this._weekdaysMin}function handleStrictParse$1(weekdayName,format,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)mom=createUTC([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(mom,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(mom,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(mom,"").toLocaleLowerCase();return strict?"dddd"===format?(ii=indexOf$1.call(this._weekdaysParse,llc),-1!==ii?ii:null):"ddd"===format?(ii=indexOf$1.call(this._shortWeekdaysParse,llc),-1!==ii?ii:null):(ii=indexOf$1.call(this._minWeekdaysParse,llc),-1!==ii?ii:null):"dddd"===format?-1!==(ii=indexOf$1.call(this._weekdaysParse,llc))?ii:-1!==(ii=indexOf$1.call(this._shortWeekdaysParse,llc))?ii:(ii=indexOf$1.call(this._minWeekdaysParse,llc),-1!==ii?ii:null):"ddd"===format?-1!==(ii=indexOf$1.call(this._shortWeekdaysParse,llc))?ii:-1!==(ii=indexOf$1.call(this._weekdaysParse,llc))?ii:(ii=indexOf$1.call(this._minWeekdaysParse,llc),-1!==ii?ii:null):-1!==(ii=indexOf$1.call(this._minWeekdaysParse,llc))?ii:-1!==(ii=indexOf$1.call(this._weekdaysParse,llc))?ii:(ii=indexOf$1.call(this._shortWeekdaysParse,llc),-1!==ii?ii:null)}function localeWeekdaysParse(weekdayName,format,strict){var i,mom,regex;if(this._weekdaysParseExact)return handleStrictParse$1.call(this,weekdayName,format,strict);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){
870// test the regex
871if(
872// make the regex if we don't have it already
873mom=createUTC([2e3,1]).day(i),strict&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(mom,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(mom,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(mom,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,""),this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")),str
vendor: 4,320 bytes, lines 873-895
873ict&&"dddd"===format&&this._fullWeekdaysParse[i].test(weekdayName))return i;if(strict&&"ddd"===format&&this._shortWeekdaysParse[i].test(weekdayName))return i;if(strict&&"dd"===format&&this._minWeekdaysParse[i].test(weekdayName))return i;if(!strict&&this._weekdaysParse[i].test(weekdayName))return i}}
874// MOMENTS
875function getSetDayOfWeek(input){if(!this.isValid())return null!=input?this:NaN;var day=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=input?(input=parseWeekday(input,this.localeData()),this.add(input-day,"d")):day}function getSetLocaleDayOfWeek(input){if(!this.isValid())return null!=input?this:NaN;var weekday=(this.day()+7-this.localeData()._week.dow)%7;return null==input?weekday:this.add(input-weekday,"d")}function getSetISODayOfWeek(input){if(!this.isValid())return null!=input?this:NaN;
876// behaves the same as moment#day except
877// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
878// as a setter, sunday should belong to the previous week.
879if(null!=input){var weekday=parseIsoWeekday(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7)}return this.day()||7}function weekdaysRegex(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex),this._weekdaysStrictRegex&&isStrict?this._weekdaysStrictRegex:this._weekdaysRegex)}function weekdaysShortRegex(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex),this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function weekdaysMinRegex(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex),this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,minp,shortp,longp,minPieces=[],shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<7;i++)
880// make the regex if we don't have it already
881mom=createUTC([2e3,1]).day(i),minp=this.weekdaysMin(mom,""),shortp=this.weekdaysShort(mom,""),longp=this.weekdays(mom,""),minPieces.push(minp),shortPieces.push(shortp),longPieces.push(longp),mixedPieces.push(minp),mixedPieces.push(shortp),mixedPieces.push(longp);for(
882// Sorting makes sure if one weekday (or abbr) is a prefix of another it
883// will match the longer piece.
884minPieces.sort(cmpLenRev),shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),i=0;i<7;i++)shortPieces[i]=regexEscape(shortPieces[i]),longPieces[i]=regexEscape(longPieces[i]),mixedPieces[i]=regexEscape(mixedPieces[i]);this._weekdaysRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+minPieces.join("|")+")","i")}
885// FORMATTING
886function hFormat(){return this.hours()%12||12}function kFormat(){return this.hours()||24}function meridiem(token,lowercase){addFormatToken(token,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase)})}
887// PARSING
888function matchMeridiem(isStrict,locale){return locale._meridiemParse}
889// LOCALES
890function localeIsPM(input){
891// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
892// Using charAt should be more compatible.
893return"p"===(input+"").toLowerCase().charAt(0)}function localeMeridiem(hours,minutes,isLower){return hours>11?isLower?"pm":"PM":isLower?"am":"AM"}function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}
894// pick the locale from the array
895// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list tr
895ying each
896// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
897function chooseLocale(names){for(var j,next,locale,split,i=0;i<names.length;){for(split=normalizeLocale(names[i]).split("-"),j=split.length,next=normalizeLocale(names[i+1]),next=next?next.split("-"):null;j>0;){if(locale=loadLocale(split.slice(0,j).join("-")))return locale;if(next&&next.length>=j&&compareArrays(split,next,!0)>=j-1)
898//the next array item is better than a shallower substring of this one
899break;j--}i++}return null}function loadLocale(name){var oldLocale=null;
900// TODO: Find a better way to register and load all the locales in Node
901if(!locales[name]&&"undefined"!=typeof module&&module&&module.exports)try{oldLocale=globalLocale._abbr,require("./locale/"+name),
902// because defineLocale currently also sets the global locale, we
903// want to undo that for lazy loaded locales
904getSetGlobalLocale(oldLocale)}catch(e){}return locales[name]}
905// This function will load locale and then set the global locale.  If
906// no arguments are passed in, it will simply return the current global
907// locale key.
908function getSetGlobalLocale(key,values){var data;
909// moment.duration._locale = moment._locale = data;
910return key&&(data=isUndefined(values)?getLocale(key):defineLocale(key,values))&&(globalLocale=data),globalLocale._abbr}function defineLocale(name,config){if(null!==config){var parentConfig=baseConfig;if(config.abbr=name,null!=locales[name])deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),parentConfig=locales[name]._config;else if(null!=config.parentLocale){if(null==locales[config.parentLocale])return localeFamilies[config.parentLocale]||(localeFamilies[config.parentLocale]=[]),localeFamilies[config.parentLocale].push({name:name,config:config}),null;parentConfig=locales[config.parentLocale]._config}
911// backwards compat for now: also set the locale
912// make sure we set the locale AFTER all child locales have been
913// created, so we won't end up with the child locale set.
914return locales[name]=new Locale(mergeConfigs(parentConfig,config)),localeFamilies[name]&&localeFamilies[name].forEach(function(x){defineLocale(x.name,x.config)}),getSetGlobalLocale(name),locales[name]}
915// useful for testing
916return delete locales[name],null}function updateLocale(name,config){if(null!=config){var locale,parentConfig=baseConfig;
917// MERGE
918null!=locales[name]&&(parentConfig=locales[name]._config),config=mergeConfigs(parentConfig,config),locale=new Locale(config),locale.parentLocale=locales[name],locales[name]=locale,
919// backwards compat for now: also set the locale
920getSetGlobalLocale(name)}else
921// pass null for config to unupdate, useful for tests
922null!=locales[name]&&(null!=locales[name].parentLocale?locales[name]=locales[name].parentLocale:null!=locales[name]&&delete locales[name]);return locales[name]}
923// returns locale data
924function getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr&&(key=key._locale._abbr),!key)return globalLocale;if(!isArray(key)){if(
925//short-circuit everything else
926locale=loadLocale(key))return locale;key=[key]}return chooseLocale(key)}function listLocales(){return keys$1(locales)}function checkOverflow(m){var overflow,a=m._a;return a&&-2===getParsingFlags(m).overflow&&(overflow=a[MONTH]<0||a[MONTH]>11?MONTH:a[DATE]<1||a[DATE]>daysInMonth(a[YEAR],a[MONTH])?DATE:a[HOUR]<0||a[HOUR]>24||24===a[HOUR]&&(0!==a[MINUTE]||0!==a[SECOND]||0!==a[MILLISECOND])?HOUR:a[MINUTE]<0||a[MINUTE]>59?MINUTE:a[SECOND]<0||a[SECOND]>59?SECOND:a[MILLISECOND]<0||a[MILLISECOND]>999?MILLISECOND:-1,getParsingFlags(m)._overflowDayOfYear&&(overflow<YEAR||overflow>DATE)&&(overflow=DATE),getParsingFlags(m)._overflowWeeks&&-1===overflow&&(overflow=WEEK),getParsingFlags(m)._overflowWeekday&&-1===overflow&&(overflow=WEEKDAY),getParsingFlags(m).overflow=overflow),m}
927// date from iso format
928function configFromISO(config){var i,l,allowTime,dateFormat,timeFormat,tzFormat,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string);if(match){for(getParsingFlags(config).iso=!0,i=0,l=isoDates.length;i<l;i++)if(isoDates[i][1].exec(match[1])){dateFormat=isoDates[i][0],allowTime=!1!==isoDates[i][2];break}if(null==dateFormat)return void(config._isValid=!1);if(match[3]){for(i=0,l=isoTimes.length;i<l;i++)if(isoTimes[i][1].exec(match[3])){
929// match[2] should be 'T' or space
930timeFormat=(match[2]||" ")+isoTimes[i][0];break}if(null==timeFormat)return void(config._isValid=!1)}if(!allowTime&&null!=timeFormat)return void(config._isValid=!1);if(match[4]){if(!tzRegex.exec(match[4]))return void(config._isValid=!1);tzFormat="Z"}config._f=dateFormat+(timeFormat||"")+(tzFormat||""),configFromStringAndFormat(config)}
930else config._isValid=!1}
931// date and time from ref 2822 format
932function configFromRFC2822(config){var string,match,dayFormat,dateFormat,timeFormat,tzFormat,timezone,timezoneIndex,timezones={" GMT":" +0000"," EDT":" -0400"," EST":" -0500"," CDT":" -0500"," CST":" -0600"," MDT":" -0600"," MST":" -0700"," PDT":" -0700"," PST":" -0800"},military="YXWVUTSRQPONZABCDEFGHIKLM";if(string=config._i.replace(/\([^\)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s|\s$/g,""),// Remove leading and trailing spaces
933match=basicRfcRegex.exec(string)){
934// TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
935if(dayFormat=match[1]?"ddd"+(5===match[1].length?", ":" "):"",dateFormat="D MMM "+(match[2].length>10?"YYYY ":"YY "),timeFormat="HH:mm"+(match[4]?":ss":""),match[1]){// day of week given
936var momentDate=new Date(match[2]),momentDay=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][momentDate.getDay()];if(match[1].substr(0,3)!==momentDay)return getParsingFlags(config).weekdayMismatch=!0,void(config._isValid=!1)}switch(match[5].length){case 2:// military
9370===timezoneIndex?timezone=" +0000":(timezoneIndex=military.indexOf(match[5][1].toUpperCase())-12,timezone=(timezoneIndex<0?" -":" +")+(""+timezoneIndex).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:// Zone
938timezone=timezones[match[5]];break;default:// UT or +/-9999
939timezone=timezones[" GMT"]}match[5]=timezone,config._i=match.splice(1).join(""),tzFormat=" ZZ",config._f=dayFormat+dateFormat+timeFormat+tzFormat,configFromStringAndFormat(config),getParsingFlags(config).rfc2822=!0}else config._isValid=!1}
940// date from iso format or fallback
941function configFromString(config){var matched=aspNetJsonRegex.exec(config._i);if(null!==matched)return void(config._d=new Date(+matched[1]));configFromISO(config),!1===config._isValid&&(delete config._isValid,configFromRFC2822(config),!1===config._isValid&&(delete config._isValid,
942// Final attempt, use Input Fallback
943hooks.createFromInputFallback(config)))}
944// Pick the first defined of two or three arguments.
945function defaults(a,b,c){return null!=a?a:null!=b?b:c}function currentDateArray(config){
946// hooks is actually the exported moment object
947var nowValue=new Date(hooks.now());return config._useUTC?[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()]:[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()]}
948// convert an array to a date.
949// the array should mirror the parameters below
950// note: all values past the year are optional and will default to the lowest possible value.
951// [year, month, day , hour, minute, second, millisecond]
952function configFromArray(config){var i,date,currentDate,yearToUse,input=[];if(!config._d){
953// Default to current date.
954// * if no year, month, day of month are given, default to today
955// * if day of month is given, default month and year
956// * if month is given, default only year
957// * if year is given, don't default anything
958for(currentDate=currentDateArray(config),
959//compute day of the year from weeks and weekdays
960config._w&&null==config._a[DATE]&&null==config._a[MONTH]&&dayOfYearFromWeekInfo(config),
961//if the day of the year is set, figure out what it is
962null!=config._dayOfYear&&(yearToUse=defaults(config._a[YEAR],currentDate[YEAR]),(config._dayOfYear>daysInYear(yearToUse)||0===config._dayOfYear)&&(getParsingFlags(config)._overflowDayOfYear=!0),date=createUTCDate(yearToUse,0,config._dayOfYear),config._a[MONTH]=date.getUTCMonth(),config._a[DATE]=date.getUTCDate()),i=0;i<3&&null==config._a[i];++i)config._a[i]=input[i]=currentDate[i];
963// Zero out whatever was not defaulted, including time
964for(;i<7;i++)config._a[i]=input[i]=null==config._a[i]?2===i?1:0:config._a[i];
965// Check for 24:00:00.000
96624===config._a[HOUR]&&0===config._a[MINUTE]&&0===config._a[SECOND]&&0===config._a[MILLISECOND]&&(config._nextDay=!0,config._a[HOUR]=0),config._d=(config._useUTC?createUTCDate:createDate).apply(null,input),
967// Apply timezone offset from input. The actual utcOffset can be changed
968// with parseZone.
969null!=config._tzm&&config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm),config._nextDay&&(config._a[HOUR]=24)}}function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow;
vendor: 14,353 bytes, lines 969-1063
969if(w=config._w,null!=w.GG||null!=w.W||null!=w.E)dow=1,doy=4,
970// TODO: We need to take the current isoWeekYear, but that depends on
971// how we interpret now (local, utc, fixed offset). So create
972// a now version of current config (take local/utc/offset flags, and
973// create now).
974weekYear=defaults(w.GG,config._a[YEAR],weekOfYear(createLocal(),1,4).year),week=defaults(w.W,1),((weekday=defaults(w.E,1))<1||weekday>7)&&(weekdayOverflow=!0);else{dow=config._locale._week.dow,doy=config._locale._week.doy;var curWeek=weekOfYear(createLocal(),dow,doy);weekYear=defaults(w.gg,config._a[YEAR],curWeek.year),
975// Default to current week.
976week=defaults(w.w,curWeek.week),null!=w.d?((
977// weekday -- low day numbers are considered next week
978weekday=w.d)<0||weekday>6)&&(weekdayOverflow=!0):null!=w.e?(
979// local weekday -- counting starts from begining of week
980weekday=w.e+dow,(w.e<0||w.e>6)&&(weekdayOverflow=!0)):
981// default to begining of week
982weekday=dow}week<1||week>weeksInYear(weekYear,dow,doy)?getParsingFlags(config)._overflowWeeks=!0:null!=weekdayOverflow?getParsingFlags(config)._overflowWeekday=!0:(temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),config._a[YEAR]=temp.year,config._dayOfYear=temp.dayOfYear)}
983// date from string and format string
984function configFromStringAndFormat(config){
985// TODO: Move this to another part of the creation flow to prevent circular deps
986if(config._f===hooks.ISO_8601)return void configFromISO(config);if(config._f===hooks.RFC_2822)return void configFromRFC2822(config);config._a=[],getParsingFlags(config).empty=!0;
987// This array is used to make a Date, either with `new Date` or `Date.UTC`
988var i,parsedInput,tokens,token,skipped,string=""+config._i,stringLength=string.length,totalParsedInputLength=0;for(tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[],i=0;i<tokens.length;i++)token=tokens[i],parsedInput=(string.match(getParseRegexForToken(token,config))||[])[0],
989// console.log('token', token, 'parsedInput', parsedInput,
990//         'regex', getParseRegexForToken(token, config));
991parsedInput&&(skipped=string.substr(0,string.indexOf(parsedInput)),skipped.length>0&&getParsingFlags(config).unusedInput.push(skipped),string=string.slice(string.indexOf(parsedInput)+parsedInput.length),totalParsedInputLength+=parsedInput.length),
992// don't parse if it's not a known token
993formatTokenFunctions[token]?(parsedInput?getParsingFlags(config).empty=!1:getParsingFlags(config).unusedTokens.push(token),addTimeToArrayFromToken(token,parsedInput,config)):config._strict&&!parsedInput&&getParsingFlags(config).unusedTokens.push(token);
994// add remaining unparsed input length to the string
995getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength,string.length>0&&getParsingFlags(config).unusedInput.push(string),
996// clear _12h flag if hour is <= 12
997config._a[HOUR]<=12&&!0===getParsingFlags(config).bigHour&&config._a[HOUR]>0&&(getParsingFlags(config).bigHour=void 0),getParsingFlags(config).parsedDateParts=config._a.slice(0),getParsingFlags(config).meridiem=config._meridiem,
998// handle meridiem
999config._a[HOUR]=meridiemFixWrap(config._locale,config._a[HOUR],config._meridiem),configFromArray(config),checkOverflow(config)}function meridiemFixWrap(locale,hour,meridiem){var isPm;
1000// Fallback
1001return null==meridiem?hour:null!=locale.meridiemHour?locale.meridiemHour(hour,meridiem):null!=locale.isPM?(isPm=locale.isPM(meridiem),isPm&&hour<12&&(hour+=12),isPm||12!==hour||(hour=0),hour):hour}
1002// date from string and array of format strings
1003function configFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore;if(0===config._f.length)return getParsingFlags(config).invalidFormat=!0,void(config._d=new Date(NaN));for(i=0;i<config._f.length;i++)currentScore=0,tempConfig=copyConfig({},config),null!=config._useUTC&&(tempConfig._useUTC=config._useUTC),tempConfig._f=config._f[i],configFromStringAndFormat(tempConfig),isValid(tempConfig)&&(
1004// if there is any input that was not parsed add a penalty for that format
1005currentScore+=getParsingFlags(tempConfig).charsLeftOver,
1006//or tokens
1007currentScore+=10*getParsingFlags(tempConfig).unusedTokens.length,getParsingFlags(tempConfig).score=currentScore,(null==scoreToBeat||currentScore<scoreToBeat)&&(scoreToBeat=currentScore,bestMoment=tempConfig));extend(config,bestMoment||tempConfig)}function configFromObject(config){if(!config._d){var i=normalizeObjectUnits(config._i);config._a=map([i.year,i.month,i.day||i.date,i.hour,i.minute,i.second,i.millisecond],function(obj){return obj&&parseInt(obj,10)}),configFromArray(config)}}function createFromConfig(config){var res=new Moment(checkOverflow(prepareConfig(config)));
1008// Adding is smart enough around DST
1009return res._nextDay&&(res.add(1,"d"),res._nextDay=void 0),res}function prepareConfig(config){var input=config._i,format=config._f;return config._locale=config._locale||getLocale(config._l),null===input||void 0===format&&""===input?createInvalid({nullInput:!0}):("string"==typeof input&&(config._i=input=config._locale.preparse(input)),isMoment(input)?new Moment(checkOverflow(input)):(isDate(input)?config._d=input:isArray(format)?configFromStringAndArray(config):format?configFromStringAndFormat(config):configFromInput(config),isValid(config)||(config._d=null),config))}function configFromInput(config){var input=config._i;isUndefined(input)?config._d=new Date(hooks.now()):isDate(input)?config._d=new Date(input.valueOf()):"string"==typeof input?configFromString(config):isArray(input)?(config._a=map(input.slice(0),function(obj){return parseInt(obj,10)}),configFromArray(config)):isObject(input)?configFromObject(config):isNumber(input)?
1010// from milliseconds
1011config._d=new Date(input):hooks.createFromInputFallback(config)}function createLocalOrUTC(input,format,locale,strict,isUTC){var c={};
1012// object construction must be done this way.
1013// https://github.com/moment/moment/issues/1423
1014return!0!==locale&&!1!==locale||(strict=locale,locale=void 0),(isObject(input)&&isObjectEmpty(input)||isArray(input)&&0===input.length)&&(input=void 0),c._isAMomentObject=!0,c._useUTC=c._isUTC=isUTC,c._l=locale,c._i=input,c._f=format,c._strict=strict,createFromConfig(c)}function createLocal(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,!1)}
1015// Pick a moment m from moments so that m[fn](other) is true for all
1016// other. This relies on the function fn to be transitive.
1017//
1018// moments should either be an array of moment objects or an array, whose
1019// first element is an array of moment objects.
1020function pickBy(fn,moments){var res,i;if(1===moments.length&&isArray(moments[0])&&(moments=moments[0]),!moments.length)return createLocal();for(res=moments[0],i=1;i<moments.length;++i)moments[i].isValid()&&!moments[i][fn](res)||(res=moments[i]);return res}
1021// TODO: Use [].sort instead?
1022function min(){return pickBy("isBefore",[].slice.call(arguments,0))}function max(){return pickBy("isAfter",[].slice.call(arguments,0))}function isDurationValid(m){for(var key in m)if(-1===ordering.indexOf(key)||null!=m[key]&&isNaN(m[key]))return!1;for(var unitHasDecimal=!1,i=0;i<ordering.length;++i)if(m[ordering[i]]){if(unitHasDecimal)return!1;parseFloat(m[ordering[i]])!==toInt(m[ordering[i]])&&(unitHasDecimal=!0)}return!0}function isValid$1(){return this._isValid}function createInvalid$1(){return createDuration(NaN)}function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._isValid=isDurationValid(normalizedInput),
1023// representation for dateAddRemove
1024this._milliseconds=+milliseconds+1e3*seconds+// 1000
10256e4*minutes+// 1000 * 60
10261e3*hours*60*60,//using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
1027// Because of dateAddRemove treats 24 hours as different from a
1028// day when working around DST, we need to store them separately
1029this._days=+days+7*weeks,
1030// It is impossible translate months into days without knowing
1031// which months you are are talking about, so we have to store
1032// it separately.
1033this._months=+months+3*quarters+12*years,this._data={},this._locale=getLocale(),this._bubble()}function isDuration(obj){return obj instanceof Duration}function absRound(number){return number<0?-1*Math.round(-1*number):Math.round(number)}
1034// FORMATTING
1035function offset(token,separator){addFormatToken(token,0,0,function(){var offset=this.utcOffset(),sign="+";return offset<0&&(offset=-offset,sign="-"),sign+zeroFill(~~(offset/60),2)+separator+zeroFill(~~offset%60,2)})}function offsetFromString(matcher,string){var matches=(string||"").match(matcher);if(null===matches)return null;var chunk=matches[matches.length-1]||[],parts=(chunk+"").match(chunkOffset)||["-",0,0],minutes=60*parts[1]+toInt(parts[2]);return 0===minutes?0:"+"===parts[0]?minutes:-minutes}
1036// Return a moment from input, that is local/utc/zone equivalent to model.
1037function cloneWithOffset(input,model){var res,diff;
1038// Use low-level api, because this fn is low-level api.
1039return model._isUTC?(res=model.clone(),diff=(isMoment(input)||isDate(input)?input.valueOf():createLocal(input).valueOf())-res.valueOf(),res._d.setTime(res._d.valueOf()+diff),hooks.updateOffset(res,!1),res):createLocal(input).local()}function getDateOffset(m){
1040// On Firefox.24 Date#getTimezoneOffset returns a floating point.
1041// https://github.com/moment/moment/pull/1871
1042return 15*-Math.round(m._d.getTimezoneOffset()/15)}
1043// MOMENTS
1044// keepLocalTime = true means only change the timezone, without
1045// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
1046// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
1047// +0200, so we adjust the time as needed, to be valid.
1048//
1049// Keeping the time actually adds/subtracts (one hour)
1050// from the actual represented time. That is why we call updateOffset
1051// a second time. In case it wants us to change the offset again
1052// _changeInProgress == true case, then we have to adjust, because
1053// there is no such time in the given timezone.
1054function getSetOffset(input,keepLocalTime,keepMinutes){var localAdjust,offset=this._offset||0;if(!this.isValid())return null!=input?this:NaN;if(null!=input){if("string"==typeof input){if(null===(input=offsetFromString(matchShortOffset,input)))return this}else Math.abs(input)<16&&!keepMinutes&&(input*=60);return!this._isUTC&&keepLocalTime&&(localAdjust=getDateOffset(this)),this._offset=input,this._isUTC=!0,null!=localAdjust&&this.add(localAdjust,"m"),offset!==input&&(!keepLocalTime||this._changeInProgress?addSubtract(this,createDuration(input-offset,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,hooks.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?offset:getDateOffset(this)}function getSetZone(input,keepLocalTime){return null!=input?("string"!=typeof input&&(input=-input),this.utcOffset(input,keepLocalTime),this):-this.utcOffset()}function setOffsetToUTC(keepLocalTime){return this.utcOffset(0,keepLocalTime)}function setOffsetToLocal(keepLocalTime){return this._isUTC&&(this.utcOffset(0,keepLocalTime),this._isUTC=!1,keepLocalTime&&this.subtract(getDateOffset(this),"m")),this}function setOffsetToParsedOffset(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var tZone=offsetFromString(matchOffset,this._i);null!=tZone?this.utcOffset(tZone):this.utcOffset(0,!0)}return this}function hasAlignedHourOffset(input){return!!this.isValid()&&(input=input?createLocal(input).utcOffset():0,(this.utcOffset()-input)%60==0)}function isDaylightSavingTime(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted;var c={};if(copyConfig(c,this),c=prepareConfig(c),c._a){var other=c._isUTC?createUTC(c._a):createLocal(c._a);this._isDSTShifted=this.isValid()&&compareArrays(c._a,other.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function isLocal(){return!!this.isValid()&&!this._isUTC}function isUtcOffset(){return!!this.isValid()&&this._isUTC}function isUtc(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function createDuration(input,key){var sign,ret,diffRes,duration=input,
1055// matching against regexp is expensive, do it on demand
1056match=null;// checks for null or undefined
1057return isDuration(input)?duration={ms:input._milliseconds,d:input._days,M:input._months}:isNumber(input)?(duration={},key?duration[key]=input:duration.milliseconds=input):(match=aspNetRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(absRound(1e3*match[MILLISECOND]))*sign}):(match=isoRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),w:parseIso(match[4],sign),d:parseIso(match[5],sign),h:parseIso(match[6],sign),m:parseIso(match[7],sign),s:parseIso(match[8],sign)}):null==duration?duration={}:"object"==typeof duration&&("from"in duration||"to"in duration)&&(diffRes=momentsDifference(createLocal(duration.from),createLocal(duration.to)),duration={},duration.ms=diffRes.milliseconds,duration.M=diffRes.months),ret=new Duration(duration),isDuration(input)&&hasOwnProp(input,"_locale")&&(ret._locale=input._locale),ret}function parseIso(inp,sign){
1058// We'd normally use ~~inp for this, but unfortunately it also
1059// converts floats to ints.
1060// inp may be undefined, so careful calling replace on it.
1061var res=inp&&parseFloat(inp.replace(",","."));
1062// apply sign while we're at it
1063return(isNaN(res)?0:res)*sign}function positiveMomentsDifference(base,other){var res={milliseconds:0,months:0};return res.months=other.month()-base.month()+12*(other.year()-base.year()),base.clone().add(res.months,"M").isAfter(other)&&--res.months,res.milliseconds=+other-+base.clone().add(res.months,"M"),res}function momentsDifference(base,other){var res;return base.isValid()&&other.isValid()?(other=cloneWithOffset(other,base),base.isBefore(other)?res=positiveMomentsDifference(base,other):(res=p
vendor: 4,293 bytes, lines 1063-1082
1063ositiveMomentsDifference(other,base),res.milliseconds=-res.milliseconds,res.months=-res.months),res):{milliseconds:0,months:0}}
1064// TODO: remove 'name' arg after deprecation is removed
1065function createAdder(direction,name){return function(val,period){var dur,tmp;
1066//invert the arguments, but complain about it
1067return null===period||isNaN(+period)||(deprecateSimple(name,"moment()."+name+"(period, number) is deprecated. Please use moment()."+name+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),tmp=val,val=period,period=tmp),val="string"==typeof val?+val:val,dur=createDuration(val,period),addSubtract(this,dur,direction),this}}function addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=absRound(duration._days),months=absRound(duration._months);mom.isValid()&&(updateOffset=null==updateOffset||updateOffset,milliseconds&&mom._d.setTime(mom._d.valueOf()+milliseconds*isAdding),days&&set$1(mom,"Date",get(mom,"Date")+days*isAdding),months&&setMonth(mom,get(mom,"Month")+months*isAdding),updateOffset&&hooks.updateOffset(mom,days||months))}function getCalendarFormat(myMoment,now){var diff=myMoment.diff(now,"days",!0);return diff<-6?"sameElse":diff<-1?"lastWeek":diff<0?"lastDay":diff<1?"sameDay":diff<2?"nextDay":diff<7?"nextWeek":"sameElse"}function calendar$1(time,formats){
1068// We want to compare the start of today, vs this.
1069// Getting start-of-today depends on whether we're local/utc/offset or not.
1070var now=time||createLocal(),sod=cloneWithOffset(now,this).startOf("day"),format=hooks.calendarFormat(this,sod)||"sameElse",output=formats&&(isFunction(formats[format])?formats[format].call(this,now):formats[format]);return this.format(output||this.localeData().calendar(format,this,createLocal(now)))}function clone(){return new Moment(this)}function isAfter(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&(units=normalizeUnits(isUndefined(units)?"millisecond":units),"millisecond"===units?this.valueOf()>localInput.valueOf():localInput.valueOf()<this.clone().startOf(units).valueOf())}function isBefore(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&(units=normalizeUnits(isUndefined(units)?"millisecond":units),"millisecond"===units?this.valueOf()<localInput.valueOf():this.clone().endOf(units).valueOf()<localInput.valueOf())}function isBetween(from,to,units,inclusivity){return inclusivity=inclusivity||"()",("("===inclusivity[0]?this.isAfter(from,units):!this.isBefore(from,units))&&(")"===inclusivity[1]?this.isBefore(to,units):!this.isAfter(to,units))}function isSame(input,units){var inputMs,localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&(units=normalizeUnits(units||"millisecond"),"millisecond"===units?this.valueOf()===localInput.valueOf():(inputMs=localInput.valueOf(),this.clone().startOf(units).valueOf()<=inputMs&&inputMs<=this.clone().endOf(units).valueOf()))}function isSameOrAfter(input,units){return this.isSame(input,units)||this.isAfter(input,units)}function isSameOrBefore(input,units){return this.isSame(input,units)||this.isBefore(input,units)}function diff(input,units,asFloat){var that,zoneDelta,delta,output;// 1000
1071// 1000 * 60
1072// 1000 * 60 * 60
1073// 1000 * 60 * 60 * 24, negate dst
1074// 1000 * 60 * 60 * 24 * 7, negate dst
1075return this.isValid()?(that=cloneWithOffset(input,this),that.isValid()?(zoneDelta=6e4*(that.utcOffset()-this.utcOffset()),units=normalizeUnits(units),"year"===units||"month"===units||"quarter"===units?(output=monthDiff(this,that),"quarter"===units?output/=3:"year"===units&&(output/=12)):(delta=this-that,output="second"===units?delta/1e3:"minute"===units?delta/6e4:"hour"===units?delta/36e5:"day"===units?(delta-zoneDelta)/864e5:"week"===units?(delta-zoneDelta)/6048e5:delta),asFloat?output:absFloor(output)):NaN):NaN}function monthDiff(a,b){
1076// difference in months
1077var anchor2,adjust,wholeMonthDiff=12*(b.year()-a.year())+(b.month()-a.month()),
1078// b is in (anchor - 1 month, anchor + 1 month)
1079anchor=a.clone().add(wholeMonthDiff,"months");
1080//check for negative zero, return zero if negative zero
1081// linear across the month
1082// linear across the month
1083return b-anchor<0?(anchor2=a.clone().add(wholeMonthDiff-1,"months"),adjust=(b-anchor)/(anchor-anchor2)):(anchor2=a.clone().add(wholeMonthDiff+1,"months"),adjust=(b-anchor)/(anchor2-anchor)),-(wholeMonthDiff+adjust)||0}function toString(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function toISOString(){if(!this.isValid())return null;var m=this.clone().utc();return m.year()<0||m.year()>9999?formatMoment(m,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):isFunction(Date.prototype.toISOString)?this.toDate().toISOString():formatMoment(m,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}/**
1084 * Return a human readable representation of a moment that can
1085 * also be evaluated to get a new moment which is the same
1086 *
1087 * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
1088 */
1089function inspect(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var func="moment",zone="";this.isLocal()||(func=0===this.utcOffset()?"moment.utc":"moment.parseZone",zone="Z");var prefix="["+func+'("]',year=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",suffix=zone+'[")]';return this.format(prefix+year+"-MM-DD[T]HH:mm:ss.SSS"+suffix)}function format(inputString){inputString||(inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat);var output=formatMoment(this,inputString);return this.localeData().postformat(output)}function from(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()}function fromNow(withoutSuffix){return this.from(createLocal(),withoutSuffix)}function to(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()}function toNow(withoutSuffix){return this.to(createLocal(),withoutSuffix)}
1090// If passed a locale key, it will set the locale for this
1091// instance.  Otherwise, it will return the locale configuration
1092// variables for this instance.
1093function locale(key){var newLocaleData;return void 0===key?this._locale._abbr:(newLocaleData=getLocale(key),null!=newLocaleData&&(this._locale=newLocaleData),this)}function localeData(){return this._locale}function startOf(units){
1094// the following switch intentionally omits break keywords
1095// to utilize falling through the cases.
1096switch(units=normalizeUnits(units)){case"year":this.month(0);/* falls through */
1097case"quarter":case"month":this.date(1);/* falls through */
1098case"week":case"isoWeek":case"day":case"date":this.hours(0);/* falls through */
1099case"hour":this.minutes(0);/* falls through */
1100case"minute":this.seconds(0);/* falls through */
1101case"second":this.milliseconds(0)}
1102// weeks are a special case
1103// quarters are also special
1104return"week"===units&&this.weekday(0),"isoWeek"===units&&this.isoWeekday(1),"quarter"===units&&this.month(3*Math.floor(this.month()/3)),this}function endOf(units){
1105// 'date' is an alias for 'day', so it should be considered as such.
1106return void 0===(units=normalizeUnits(units))||"millisecond"===units?this:("date"===units&&(units="day"),this.startOf(units).add(1,"isoWeek"===units?"week":units).subtract(1,"ms"))}function valueOf(){return this._d.valueOf()-6e4*(this._offset||0)}function unix(){return Math.floor(this.valueOf()/1e3)}function toDate(){return new Date(this.valueOf())}function toArray(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()]}function toObject(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds()}}function toJSON(){
1107// new Date(NaN).toJSON() === null
1108return this.isValid()?this.toISOString():null}function isValid$2(){return isValid(this)}function parsingFlags(){return extend({},getParsingFlags(this))}
vendor: 5,786 bytes, lines 1108-1142
1108function invalidAt(){return getParsingFlags(this).overflow}function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function addWeekYearFormatToken(token,getter){addFormatToken(0,[token,token.length],0,getter)}
1109// MOMENTS
1110function getSetWeekYear(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function getSetISOWeekYear(input){return getSetWeekYearHelper.call(this,input,this.isoWeek(),this.isoWeekday(),1,4)}function getISOWeeksInYear(){return weeksInYear(this.year(),1,4)}function getWeeksInYear(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)}function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;return null==input?weekOfYear(this,dow,doy).year:(weeksTarget=weeksInYear(input,dow,doy),week>weeksTarget&&(week=weeksTarget),setWeekAll.call(this,input,week,weekday,dow,doy))}function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);return this.year(date.getUTCFullYear()),this.month(date.getUTCMonth()),this.date(date.getUTCDate()),this}
1111// MOMENTS
1112function getSetQuarter(input){return null==input?Math.ceil((this.month()+1)/3):this.month(3*(input-1)+this.month()%3)}
1113// HELPERS
1114// MOMENTS
1115function getSetDayOfYear(input){var dayOfYear=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==input?dayOfYear:this.add(input-dayOfYear,"d")}function parseMs(input,array){array[MILLISECOND]=toInt(1e3*("0."+input))}
1116// MOMENTS
1117function getZoneAbbr(){return this._isUTC?"UTC":""}function getZoneName(){return this._isUTC?"Coordinated Universal Time":""}function createUnix(input){return createLocal(1e3*input)}function createInZone(){return createLocal.apply(null,arguments).parseZone()}function preParsePostFormat(string){return string}function get$1(format,index,field,setter){var locale=getLocale(),utc=createUTC().set(setter,index);return locale[field](utc,format)}function listMonthsImpl(format,index,field){if(isNumber(format)&&(index=format,format=void 0),format=format||"",null!=index)return get$1(format,index,field,"month");var i,out=[];for(i=0;i<12;i++)out[i]=get$1(format,i,field,"month");return out}
1118// ()
1119// (5)
1120// (fmt, 5)
1121// (fmt)
1122// (true)
1123// (true, 5)
1124// (true, fmt, 5)
1125// (true, fmt)
1126function listWeekdaysImpl(localeSorted,format,index,field){"boolean"==typeof localeSorted?(isNumber(format)&&(index=format,format=void 0),format=format||""):(format=localeSorted,index=format,localeSorted=!1,isNumber(format)&&(index=format,format=void 0),format=format||"");var locale=getLocale(),shift=localeSorted?locale._week.dow:0;if(null!=index)return get$1(format,(index+shift)%7,field,"day");var i,out=[];for(i=0;i<7;i++)out[i]=get$1(format,(i+shift)%7,field,"day");return out}function listMonths(format,index){return listMonthsImpl(format,index,"months")}function listMonthsShort(format,index){return listMonthsImpl(format,index,"monthsShort")}function listWeekdays(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdays")}function listWeekdaysShort(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysShort")}function listWeekdaysMin(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysMin")}function abs(){var data=this._data;return this._milliseconds=mathAbs(this._milliseconds),this._days=mathAbs(this._days),this._months=mathAbs(this._months),data.milliseconds=mathAbs(data.milliseconds),data.seconds=mathAbs(data.seconds),data.minutes=mathAbs(data.minutes),data.hours=mathAbs(data.hours),data.months=mathAbs(data.months),data.years=mathAbs(data.years),this}function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);return duration._milliseconds+=direction*other._milliseconds,duration._days+=direction*other._days,duration._months+=direction*other._months,duration._bubble()}
1127// supports only 2.0-style add(1, 's') or add(duration)
1128function add$1(input,value){return addSubtract$1(this,input,value,1)}
1129// supports only 2.0-style subtract(1, 's') or subtract(duration)
1130function subtract$1(input,value){return addSubtract$1(this,input,value,-1)}function absCeil(number){return number<0?Math.floor(number):Math.ceil(number)}function bubble(){var seconds,minutes,hours,years,monthsFromDays,milliseconds=this._milliseconds,days=this._days,months=this._months,data=this._data;
1131// if we have a mix of positive and negative values, bubble down first
1132// check: https://github.com/moment/moment/issues/2166
1133// The following code bubbles up values, see the tests for
1134// examples of what that means.
1135// convert days to months
1136// 12 months -> 1 year
1137return milliseconds>=0&&days>=0&&months>=0||milliseconds<=0&&days<=0&&months<=0||(milliseconds+=864e5*absCeil(monthsToDays(months)+days),days=0,months=0),data.milliseconds=milliseconds%1e3,seconds=absFloor(milliseconds/1e3),data.seconds=seconds%60,minutes=absFloor(seconds/60),data.minutes=minutes%60,hours=absFloor(minutes/60),data.hours=hours%24,days+=absFloor(hours/24),monthsFromDays=absFloor(daysToMonths(days)),months+=monthsFromDays,days-=absCeil(monthsToDays(monthsFromDays)),years=absFloor(months/12),months%=12,data.days=days,data.months=months,data.years=years,this}function daysToMonths(days){
1138// 400 years have 146097 days (taking into account leap year rules)
1139// 400 years have 12 months === 4800
1140return 4800*days/146097}function monthsToDays(months){
1141// the reverse of daysToMonths
1142return 146097*months/4800}function as(units){if(!this.isValid())return NaN;var days,months,milliseconds=this._milliseconds;
1142if("month"===(units=normalizeUnits(units))||"year"===units)return days=this._days+milliseconds/864e5,months=this._months+daysToMonths(days),"month"===units?months:months/12;switch(
1143// handle milliseconds separately because of floating point math errors (issue #1867)
1144days=this._days+Math.round(monthsToDays(this._months)),units){case"week":return days/7+milliseconds/6048e5;case"day":return days+milliseconds/864e5;case"hour":return 24*days+milliseconds/36e5;case"minute":return 1440*days+milliseconds/6e4;case"second":return 86400*days+milliseconds/1e3;
1145// Math.floor prevents floating point math errors here
1146case"millisecond":return Math.floor(864e5*days)+milliseconds;default:throw new Error("Unknown unit "+units)}}
1147// TODO: Use this.as('ms')?
1148function valueOf$1(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*toInt(this._months/12):NaN}function makeAs(alias){return function(){return this.as(alias)}}function get$2(units){return units=normalizeUnits(units),this.isValid()?this[units+"s"]():NaN}function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN}}function weeks(){return absFloor(this.days()/7)}
1149// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
1150function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}function relativeTime$1(posNegDuration,withoutSuffix,locale){var duration=createDuration(posNegDuration).abs(),seconds=round(duration.as("s")),minutes=round(duration.as("m")),hours=round(duration.as("h")),days=round(duration.as("d")),months=round(duration.as("M")),years=round(duration.as("y")),a=seconds<=thresholds.ss&&["s",seconds]||seconds<thresholds.s&&["ss",seconds]||minutes<=1&&["m"]||minutes<thresholds.m&&["mm",minutes]||hours<=1&&["h"]||hours<thresholds.h&&["hh",hours]||days<=1&&["d"]||days<thresholds.d&&["dd",days]||months<=1&&["M"]||months<thresholds.M&&["MM",months]||years<=1&&["y"]||["yy",years];return a[2]=withoutSuffix,a[3]=+posNegDuration>0,a[4]=locale,substituteTimeAgo.apply(null,a)}
1151// This function allows you to set the rounding function for relative time strings
1152function getSetRelativeTimeRounding(roundingFunction){return void 0===roundingFunction?round:"function"==typeof roundingFunction&&(round=roundingFunction,!0)}
1153// This function allows you to set a threshold for relative time strings
1154function getSetRelativeTimeThreshold(threshold,limit){return void 0!==thresholds[threshold]&&(void 0===limit?thresholds[threshold]:(thresholds[threshold]=limit,"s"===threshold&&(thresholds.ss=limit-1),!0))}function humanize(withSuffix){if(!this.isValid())return this.localeData().invalidDate();var locale=this.localeData(),output=relativeTime$1(this,!withSuffix,locale);return withSuffix&&(output=locale.pastFuture(+this,output)),locale.postformat(output)}function toISOString$1(){
1155// for ISO strings we do not use the normal bubbling rules:
1156//  * milliseconds bubble up until they become hours
1157//  * days do not bubble at all
1158//  * months bubble up until they become years
1159// This is because there is no context-free conversion between hours and days
1160// (think of clock changes)
1161// and also not between days and months (28-31 days per month)
1162if(!this.isValid())return this.localeData().invalidDate();var minutes,hours,years,seconds=abs$1(this._milliseconds)/1e3,days=abs$1(this._days),months=abs$1(this._months);
1163// 3600 seconds -> 60 minutes -> 1 hour
1164minutes=absFloor(seconds/60),hours=absFloor(minutes/60),seconds%=60,minutes%=60,
1165// 12 months -> 1 year
1166years=absFloor(months/12),months%=12;
1167// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
1168var Y=years,M=months,D=days,h=hours,m=minutes,s=seconds,total=this.asSeconds();return total?(total<0?"-":"")+"P"+(Y?Y+"Y":"")+(M?M+"M":"")+(D?D+"D":"")+(h||m||s?"T":"")+(h?h+"H":"")+(m?m+"M":"")+(s?s+"S":""):"P0D"}var hookCallback,some;some=Array.prototype.some?Array.prototype.some:function(fun){for(var t=Object(this),len=t.length>>>0,i=0;i<len;i++)if(i in t&&fun.call(this,t[i],i,t))return!0;return!1};var some$1=some,momentProperties=hooks.momentProperties=[],updateInProgress=!1,deprecations={};hooks.suppressDeprecationWarnings=!1,hooks.deprecationHandler=null;var keys;keys=Object.keys?Object.keys:function(obj){var i,res=[];for(i in obj)hasOwnProp(obj,i)&&res.push(i);return res};var indexOf,keys$1=keys,defaultCalendar={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},defaultLongDateFormat={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},defaultDayOfMonthOrdinalParse=/\d{1,2}/,defaultRelativeTime={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},aliases={},priorities={},formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}
vendor: 4,148 bytes, lines 1168-1205
1168|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={},match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchTimestamp=/[+-]?\d+(\.\d{1,3})?/,matchWord=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,regexes={},tokens={},YEAR=0,MONTH=1,DATE=2,HOUR=3,MINUTE=4,SECOND=5,MILLISECOND=6,WEEK=7,WEEKDAY=8;indexOf=Array.prototype.indexOf?Array.prototype.indexOf:function(o){
1169// I know
1170var i;for(i=0;i<this.length;++i)if(this[i]===o)return i;return-1};var indexOf$1=indexOf;
1171// FORMATTING
1172addFormatToken("M",["MM",2],"Mo",function(){return this.month()+1}),addFormatToken("MMM",0,0,function(format){return this.localeData().monthsShort(this,format)}),addFormatToken("MMMM",0,0,function(format){return this.localeData().months(this,format)}),
1173// ALIASES
1174addUnitAlias("month","M"),
1175// PRIORITY
1176addUnitPriority("month",8),
1177// PARSING
1178addRegexToken("M",match1to2),addRegexToken("MM",match1to2,match2),addRegexToken("MMM",function(isStrict,locale){return locale.monthsShortRegex(isStrict)}),addRegexToken("MMMM",function(isStrict,locale){return locale.monthsRegex(isStrict)}),addParseToken(["M","MM"],function(input,array){array[MONTH]=toInt(input)-1}),addParseToken(["MMM","MMMM"],function(input,array,config,token){var month=config._locale.monthsParse(input,token,config._strict);
1179// if we didn't find a month name, mark the date as invalid.
1180null!=month?array[MONTH]=month:getParsingFlags(config).invalidMonth=input});
1181// LOCALES
1182var MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultLocaleMonths="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),defaultLocaleMonthsShort="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),defaultMonthsShortRegex=matchWord,defaultMonthsRegex=matchWord;
1183// FORMATTING
1184addFormatToken("Y",0,0,function(){var y=this.year();return y<=9999?""+y:"+"+y}),addFormatToken(0,["YY",2],0,function(){return this.year()%100}),addFormatToken(0,["YYYY",4],0,"year"),addFormatToken(0,["YYYYY",5],0,"year"),addFormatToken(0,["YYYYYY",6,!0],0,"year"),
1185// ALIASES
1186addUnitAlias("year","y"),
1187// PRIORITIES
1188addUnitPriority("year",1),
1189// PARSING
1190addRegexToken("Y",matchSigned),addRegexToken("YY",match1to2,match2),addRegexToken("YYYY",match1to4,match4),addRegexToken("YYYYY",match1to6,match6),addRegexToken("YYYYYY",match1to6,match6),addParseToken(["YYYYY","YYYYYY"],YEAR),addParseToken("YYYY",function(input,array){array[YEAR]=2===input.length?hooks.parseTwoDigitYear(input):toInt(input)}),addParseToken("YY",function(input,array){array[YEAR]=hooks.parseTwoDigitYear(input)}),addParseToken("Y",function(input,array){array[YEAR]=parseInt(input,10)}),
1191// HOOKS
1192hooks.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2e3)};
1193// MOMENTS
1194var getSetYear=makeGetSet("FullYear",!0);
1195// FORMATTING
1196addFormatToken("w",["ww",2],"wo","week"),addFormatToken("W",["WW",2],"Wo","isoWeek"),
1197// ALIASES
1198addUnitAlias("week","w"),addUnitAlias("isoWeek","W"),
1199// PRIORITIES
1200addUnitPriority("week",5),addUnitPriority("isoWeek",5),
1201// PARSING
1202addRegexToken("w",match1to2),addRegexToken("ww",match1to2,match2),addRegexToken("W",match1to2),addRegexToken("WW",match1to2,match2),addWeekParseToken(["w","ww","W","WW"],function(input,week,config,token){week[token.substr(0,1)]=toInt(input)});var defaultLocaleWeek={dow:0,// Sunday is the first day of the week.
1203doy:6};
1204// FORMATTING
1205addFormatToken("d",0,"do","day"),addFormatToken("dd",0,0,function(format){return this.localeData().weekdaysMin(this,format)}),addFormatToken("ddd",0,0,function(format){return this.localeData().weekdaysShort(this,format)}),addFormatToken("dddd",0,0,function(format){return this.localeData().weekdays(this,format)}),addFormatToken("e",0,0,"weekday"),addFormatToken("E",0,0,"isoWeekday"),
vendor: 7,429 bytes, lines 1206-1238
1206// ALIASES
1207addUnitAlias("day","d"),addUnitAlias("weekday","e"),addUnitAlias("isoWeekday","E"),
1208// PRIORITY
1209addUnitPriority("day",11),addUnitPriority("weekday",11),addUnitPriority("isoWeekday",11),
1210// PARSING
1211addRegexToken("d",match1to2),addRegexToken("e",match1to2),addRegexToken("E",match1to2),addRegexToken("dd",function(isStrict,locale){return locale.weekdaysMinRegex(isStrict)}),addRegexToken("ddd",function(isStrict,locale){return locale.weekdaysShortRegex(isStrict)}),addRegexToken("dddd",function(isStrict,locale){return locale.weekdaysRegex(isStrict)}),addWeekParseToken(["dd","ddd","dddd"],function(input,week,config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);
1212// if we didn't get a weekday name, mark the date as invalid
1213null!=weekday?week.d=weekday:getParsingFlags(config).invalidWeekday=input}),addWeekParseToken(["d","e","E"],function(input,week,config,token){week[token]=toInt(input)});
1214// LOCALES
1215var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),defaultWeekdaysRegex=matchWord,defaultWeekdaysShortRegex=matchWord,defaultWeekdaysMinRegex=matchWord;addFormatToken("H",["HH",2],0,"hour"),addFormatToken("h",["hh",2],0,hFormat),addFormatToken("k",["kk",2],0,kFormat),addFormatToken("hmm",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)}),addFormatToken("hmmss",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)}),addFormatToken("Hmm",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)}),addFormatToken("Hmmss",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)}),meridiem("a",!0),meridiem("A",!1),
1216// ALIASES
1217addUnitAlias("hour","h"),
1218// PRIORITY
1219addUnitPriority("hour",13),addRegexToken("a",matchMeridiem),addRegexToken("A",matchMeridiem),addRegexToken("H",match1to2),addRegexToken("h",match1to2),addRegexToken("k",match1to2),addRegexToken("HH",match1to2,match2),addRegexToken("hh",match1to2,match2),addRegexToken("kk",match1to2,match2),addRegexToken("hmm",match3to4),addRegexToken("hmmss",match5to6),addRegexToken("Hmm",match3to4),addRegexToken("Hmmss",match5to6),addParseToken(["H","HH"],HOUR),addParseToken(["k","kk"],function(input,array,config){var kInput=toInt(input);array[HOUR]=24===kInput?0:kInput}),addParseToken(["a","A"],function(input,array,config){config._isPm=config._locale.isPM(input),config._meridiem=input}),addParseToken(["h","hh"],function(input,array,config){array[HOUR]=toInt(input),getParsingFlags(config).bigHour=!0}),addParseToken("hmm",function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos)),array[MINUTE]=toInt(input.substr(pos)),getParsingFlags(config).bigHour=!0}),addParseToken("hmmss",function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1)),array[MINUTE]=toInt(input.substr(pos1,2)),array[SECOND]=toInt(input.substr(pos2)),getParsingFlags(config).bigHour=!0}),addParseToken("Hmm",function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos)),array[MINUTE]=toInt(input.substr(pos))}),addParseToken("Hmmss",function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1)),array[MINUTE]=toInt(input.substr(pos1,2)),array[SECOND]=toInt(input.substr(pos2))});var globalLocale,defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i,getSetHour=makeGetSet("Hours",!0),baseConfig={calendar:defaultCalendar,longDateFormat:defaultLongDateFormat,invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse,relativeTime:defaultRelativeTime,months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:defaultLocaleWeek,weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:defaultLocaleMeridiemParse},locales={},localeFamilies={},extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],
1220// YYYYMM is NOT allowed by the standard
1221["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aspNetJsonRegex=/^\/?Date\((\-?\d+)/i,basicRfcRegex=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;hooks.createFromInputFallback=deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(config){config._d=new Date(config._i+(config._useUTC?" UTC":""))}),
1222// constant that refers to the ISO standard
1223hooks.ISO_8601=function(){},
1224// constant that refers to the RFC 2822 form
1225hooks.RFC_2822=function(){};var prototypeMin=deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?other<this?this:other:createInvalid()}),prototypeMax=deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?other>this?this:other:createInvalid()}),now=function(){return Date.now?Date.now():+new Date},ordering=["year","quarter","month","week","day","hour","minute","second","millisecond"];offset("Z",":"),offset("ZZ",""),
1226// PARSING
1227addRegexToken("Z",matchShortOffset),addRegexToken("ZZ",matchShortOffset),addParseToken(["Z","ZZ"],function(input,array,config){config._useUTC=!0,config._tzm=offsetFromString(matchShortOffset,input)});
1228// HELPERS
1229// timezone chunker
1230// '+10:00' > ['10',  '00']
1231// '-1530'  > ['-15', '30']
1232var chunkOffset=/([\+\-]|\d\d)/gi;
1233// HOOKS
1234// This function will be called whenever a moment is mutated.
1235// It is intended to keep the offset in sync with the timezone.
1236hooks.updateOffset=function(){};
1237// ASP.NET json date format regex
1238var aspNetRegex=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,isoRegex=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;createDuration.fn=Duration.prototype,createDuration.invalid=createInvalid$
vendor: 5,242 bytes, lines 1238-1306
12381;var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(key){return void 0===key?this.localeData():this.locale(key)});
1239// FORMATTING
1240addFormatToken(0,["gg",2],0,function(){return this.weekYear()%100}),addFormatToken(0,["GG",2],0,function(){return this.isoWeekYear()%100}),addWeekYearFormatToken("gggg","weekYear"),addWeekYearFormatToken("ggggg","weekYear"),addWeekYearFormatToken("GGGG","isoWeekYear"),addWeekYearFormatToken("GGGGG","isoWeekYear"),
1241// ALIASES
1242addUnitAlias("weekYear","gg"),addUnitAlias("isoWeekYear","GG"),
1243// PRIORITY
1244addUnitPriority("weekYear",1),addUnitPriority("isoWeekYear",1),
1245// PARSING
1246addRegexToken("G",matchSigned),addRegexToken("g",matchSigned),addRegexToken("GG",match1to2,match2),addRegexToken("gg",match1to2,match2),addRegexToken("GGGG",match1to4,match4),addRegexToken("gggg",match1to4,match4),addRegexToken("GGGGG",match1to6,match6),addRegexToken("ggggg",match1to6,match6),addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],function(input,week,config,token){week[token.substr(0,2)]=toInt(input)}),addWeekParseToken(["gg","GG"],function(input,week,config,token){week[token]=hooks.parseTwoDigitYear(input)}),
1247// FORMATTING
1248addFormatToken("Q",0,"Qo","quarter"),
1249// ALIASES
1250addUnitAlias("quarter","Q"),
1251// PRIORITY
1252addUnitPriority("quarter",7),
1253// PARSING
1254addRegexToken("Q",match1),addParseToken("Q",function(input,array){array[MONTH]=3*(toInt(input)-1)}),
1255// FORMATTING
1256addFormatToken("D",["DD",2],"Do","date"),
1257// ALIASES
1258addUnitAlias("date","D"),
1259// PRIOROITY
1260addUnitPriority("date",9),
1261// PARSING
1262addRegexToken("D",match1to2),addRegexToken("DD",match1to2,match2),addRegexToken("Do",function(isStrict,locale){
1263// TODO: Remove "ordinalParse" fallback in next major release.
1264return isStrict?locale._dayOfMonthOrdinalParse||locale._ordinalParse:locale._dayOfMonthOrdinalParseLenient}),addParseToken(["D","DD"],DATE),addParseToken("Do",function(input,array){array[DATE]=toInt(input.match(match1to2)[0],10)});
1265// MOMENTS
1266var getSetDayOfMonth=makeGetSet("Date",!0);
1267// FORMATTING
1268addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear"),
1269// ALIASES
1270addUnitAlias("dayOfYear","DDD"),
1271// PRIORITY
1272addUnitPriority("dayOfYear",4),
1273// PARSING
1274addRegexToken("DDD",match1to3),addRegexToken("DDDD",match3),addParseToken(["DDD","DDDD"],function(input,array,config){config._dayOfYear=toInt(input)}),
1275// FORMATTING
1276addFormatToken("m",["mm",2],0,"minute"),
1277// ALIASES
1278addUnitAlias("minute","m"),
1279// PRIORITY
1280addUnitPriority("minute",14),
1281// PARSING
1282addRegexToken("m",match1to2),addRegexToken("mm",match1to2,match2),addParseToken(["m","mm"],MINUTE);
1283// MOMENTS
1284var getSetMinute=makeGetSet("Minutes",!1);
1285// FORMATTING
1286addFormatToken("s",["ss",2],0,"second"),
1287// ALIASES
1288addUnitAlias("second","s"),
1289// PRIORITY
1290addUnitPriority("second",15),
1291// PARSING
1292addRegexToken("s",match1to2),addRegexToken("ss",match1to2,match2),addParseToken(["s","ss"],SECOND);
1293// MOMENTS
1294var getSetSecond=makeGetSet("Seconds",!1);
1295// FORMATTING
1296addFormatToken("S",0,0,function(){return~~(this.millisecond()/100)}),addFormatToken(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),addFormatToken(0,["SSS",3],0,"millisecond"),addFormatToken(0,["SSSS",4],0,function(){return 10*this.millisecond()}),addFormatToken(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),addFormatToken(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),addFormatToken(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),addFormatToken(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),addFormatToken(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),
1297// ALIASES
1298addUnitAlias("millisecond","ms"),
1299// PRIORITY
1300addUnitPriority("millisecond",16),
1301// PARSING
1302addRegexToken("S",match1to3,match1),addRegexToken("SS",match1to3,match2),addRegexToken("SSS",match1to3,match3);var token;for(token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);
1303// MOMENTS
1304var getSetMillisecond=makeGetSet("Milliseconds",!1);
1305// FORMATTING
1306addFormatToken("z",0,0,"zoneAbbr"),addFormatToken("zz",0,0,"zoneName");var proto=Moment.prototype;proto.add=add,proto.calendar=calendar$1,proto.clone=clone,proto.diff=diff,proto.endOf=endOf,proto.format=format,proto.from=from,proto.fromNow=fromNow,proto.to=to,proto.toNow=toNow,proto.get=stringGet,proto.invalidAt=invalidAt,proto.isAfter=isAfter,proto.isBefore=isBefore,proto.isBetween=isBetween,proto.isSame=isSame,proto.isSameOrAfter=isSameOrAfter,proto.isSameOrBefore=isSameOrBefore,proto.isValid=isValid$2,proto.lang=lang,proto.locale=locale,proto.localeData=localeData,proto.max=prototypeMax,proto.min=prototypeMin,proto.parsingFlags=parsingFlags,proto.set=stringSet,proto.startOf=startOf,proto.subtract=subtract,proto.toArray=toArray,proto.toObject=toObject,proto.toDate=toDate,proto.toISOString=toISOString,proto.inspect=inspect,proto.toJSON=toJSON,proto.toString=toString,proto.unix=unix,proto.valueOf=valueOf,proto.creationData=creationData,
1307// Year
1308proto.year=getSetYear,proto.isLeapYear=getIsLeapYear,
1309// Week Year
1310proto.weekYear=getSetWeekYear,proto.isoWeekYear=getSetISOWeekYear,
1311// Quarter
1312proto.quarter=proto.quarters=getSetQuarter,
1313// Month
1314proto.month=getSetMonth,proto.daysInMonth=getDaysInMonth,
1315// Week
1316proto.week=proto.weeks=getSetWeek,proto.isoWeek=proto.isoWeeks=getSetISOWeek,proto.weeksInYear=getWeeksInYear,proto.isoWeeksInYear=getISOWeeksInYear,
1317// Day
1318proto.date=getSetDayOfMonth,proto.day=proto.days=getSetDayOfWeek,proto.weekday=getSetLocaleDayOfWeek,proto.isoWeekday=getSetISODayOfWeek,proto.dayOfYear=getSetDayOfYear,
1319// Hour
1320proto.hour=proto.hours=getSetHour,
1321// Minute
1322proto.minute=proto.minutes=getSetMinute,
1323// Second
1324proto.second=proto.seconds=getSetSecond,
1325// Millisecond
1326proto.millisecond=proto.milliseconds=getSetMillisecond,
1327// Offset
1328proto.utcOffset=getSetOffset,proto.utc=setOffsetToUTC,proto.local=setOffsetToLocal,proto.parseZone=setOffsetToParsedOffset,proto.hasAlignedHourOffset=hasAlignedHourOffset,proto.isDST=isDaylightSavingTime,proto.isLocal=isLocal,proto.isUtcOffset=isUtcOffset,proto.isUtc=isUtc,proto.isUTC=isUtc,
1329// Timezone
1330proto.zoneAbbr=getZoneAbbr,proto.zoneName=getZoneName,
1331// Deprecations
1332proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth),proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth),proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear),proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",getSetZone),proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",isDaylightSavingTimeShifted);var proto$1=Locale.prototype;proto$1.calendar=calendar,proto$1.longDateFormat=longDateFormat,proto$1.invalidDate=invalidDate,proto$1.ordinal=ordinal,proto$1.preparse=preParsePostFormat,proto$1.postformat=preParsePostFormat,proto$1.relativeTime=relativeTime,proto$1.pastFuture=pastFuture,proto$1.set=set,
1333// Month
1334proto$1.months=localeMonths,proto$1.monthsShort=localeMonthsShort,proto$1.monthsParse=localeMonthsParse,proto$1.monthsRegex=monthsRegex,proto$1.monthsShortRegex=monthsShortRegex,
1335// Week
1336proto$1.week=localeWeek,proto$1.firstDayOfYear=localeFirstDayOfYear,proto$1.firstDayOfWeek=localeFirstDayOfWeek,
1337// Day of Week
1338proto$1.weekdays=localeWeekdays,proto$1.weekdaysMin=localeWeekdaysMin,proto$1.weekdaysShort=localeWeekdaysShort,proto$1.weekdaysParse=localeWeekdaysParse,proto$1.weekdaysRegex=weekdaysRegex,proto$1.weekdaysShortRegex=weekdaysShortRegex,proto$1.weekdaysMinRegex=weekdaysMinRegex,
1339// Hours
1340proto$1.isPM=localeIsPM,proto$1.meridiem=localeMeridiem,getSetGlobalLocale("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(number){var b=number%10;return number+(1===toInt(number%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th")}}),
1341// Side effect imports
1342hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale),hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs,asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),asHours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asYears=makeAs("y"),milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years"),round=Math.round,thresholds={ss:44,// a few seconds to seconds
1343s:45,// seconds to minute
1344m:45,// minutes to hour
1345h:22,// hours to day
1346d:26,// days to month
1347M:11},abs$1=Math.abs,proto$2=Duration.prototype;
1348// Deprecations
1349// Side effect imports
1350// FORMATTING
1351// PARSING
1352// Side effect imports
1353// This is done to register the method called with moment()
1354// without creating circular dependencies.
1355return proto$2.isValid=isValid$1,proto$2.abs=abs,proto$2.add=add$1,proto$2.subtract=subtract$1,proto$2.as=as,proto$2.asMilliseconds=asMilliseconds,proto$2.asSeconds=asSeconds,proto$2.asMinutes=asMinutes,proto$2.asHours=asHours,proto$2.asDays=asDays,proto$2.asWeeks=asWeeks,proto$2.asMonths=asMonths,proto$2.asYears=asYears,proto$2.valueOf=valueOf$1,proto$2._bubble=bubble,proto$2.get=get$2,proto$2.milliseconds=milliseconds,proto$2.seconds=seconds,proto$2.minutes=minutes,proto$2.hours=hours,proto$2.days=days,proto$2.weeks=weeks,proto$2.months=months,proto$2.years=years,proto$2.humanize=humanize,proto$2.toISOString=toISOString$1,proto$2.toString=toISOString$1,proto$2.toJSON=toISOString$1,proto$2.locale=locale,proto$2.localeData=localeData,proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1),proto$2.lang=lang,addFormatToken("X",0,0,"unix"),addFormatToken("x",0,0,"valueOf"),addRegexToken("x",matchSigned),addRegexToken("X",matchTimestamp),addParseToken("X",function(input,array,config){config._d=new Date(1e3*parseFloat(input,10))}),addParseToken("x",function(input,array,config){config._d=new Date(toInt(input))}),hooks.version="2.18.1",function(callback){hookCallback=callback}(createLocal),hooks.fn=proto,hooks.min=min,hooks.max=max,hooks.now=now,hooks.utc=createUTC,hooks.unix=createUnix,hooks.months=listMonths,hooks.isDate=isDate,hooks.locale=getSetGlobalLocale,hooks.invalid=createInvalid,hooks.duration=createDuration,hooks.isMoment=isMoment,hooks.weekdays=listWeekdays,hooks.parseZone=createInZone,hooks.localeData=getLocale,hooks.isDuration=isDuration,hooks.monthsShort=listMonthsShort,hooks.weekdaysMin=listWeekdaysMin,hooks.defineLocale=defineLocale,hooks.updateLocale=updateLocale,hooks.locales=listLocales,hooks.weekdaysShort=listWeekdaysShort,hooks.normalizeUnits=normalizeUnits,hooks.relativeTimeRounding=getSetRelativeTimeRounding,hooks.relativeTimeThreshold=getSetRelativeTimeThreshold,hooks.calendarFormat=getCalendarFormat,hooks.prototype=proto,hooks}),/*!
1356 * Pikaday
1357 *
1358 * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday
1359 */
1360function(root,factory){"use strict";var moment;
vendor: 4,427 bytes, lines 1360-1412
1360if("object"==typeof exports){
1361// CommonJS module
1362// Load moment.js as an optional dependency
1363try{moment=require("moment")}catch(e){}module.exports=factory(moment)}else"function"==typeof define&&define.amd?
1364// AMD. Register as an anonymous module.
1365define(function(req){try{moment=req("moment")}catch(e){}return factory(moment)}):root.Pikaday=factory(root.moment)}(this,function(moment){"use strict";/**
1366     * feature detection and helper functions
1367     */
1368var hasMoment="function"==typeof moment,hasEventListeners=!!window.addEventListener,document=window.document,sto=window.setTimeout,addEvent=function(el,e,callback,capture){hasEventListeners?el.addEventListener(e,callback,!!capture):el.attachEvent("on"+e,callback)},removeEvent=function(el,e,callback,capture){hasEventListeners?el.removeEventListener(e,callback,!!capture):el.detachEvent("on"+e,callback)},fireEvent=function(el,eventName,data){var ev;document.createEvent?(ev=document.createEvent("HTMLEvents"),ev.initEvent(eventName,!0,!1),ev=extend(ev,data),el.dispatchEvent(ev)):document.createEventObject&&(ev=document.createEventObject(),ev=extend(ev,data),el.fireEvent("on"+eventName,ev))},trim=function(str){return str.trim?str.trim():str.replace(/^\s+|\s+$/g,"")},hasClass=function(el,cn){return-1!==(" "+el.className+" ").indexOf(" "+cn+" ")},addClass=function(el,cn){hasClass(el,cn)||(el.className=""===el.className?cn:el.className+" "+cn)},removeClass=function(el,cn){el.className=trim((" "+el.className+" ").replace(" "+cn+" "," "))},isArray=function(obj){return/Array/.test(Object.prototype.toString.call(obj))},isDate=function(obj){return/Date/.test(Object.prototype.toString.call(obj))&&!isNaN(obj.getTime())},isWeekend=function(date){var day=date.getDay();return 0===day||6===day},isLeapYear=function(year){
1369// solution by Matti Virkkunen: http://stackoverflow.com/a/4881951
1370return year%4==0&&year%100!=0||year%400==0},getDaysInMonth=function(year,month){return[31,isLeapYear(year)?29:28,31,30,31,30,31,31,30,31,30,31][month]},setToStartOfDay=function(date){isDate(date)&&date.setHours(0,0,0,0)},compareDates=function(a,b){
1371// weak date comparison (use setToStartOfDay(date) to ensure correct result)
1372return a.getTime()===b.getTime()},extend=function(to,from,overwrite){var prop,hasProp;for(prop in from)hasProp=void 0!==to[prop],hasProp&&"object"==typeof from[prop]&&null!==from[prop]&&void 0===from[prop].nodeName?isDate(from[prop])?overwrite&&(to[prop]=new Date(from[prop].getTime())):isArray(from[prop])?overwrite&&(to[prop]=from[prop].slice(0)):to[prop]=extend({},from[prop],overwrite):!overwrite&&hasProp||(to[prop]=from[prop]);return to},adjustCalendar=function(calendar){return calendar.month<0&&(calendar.year-=Math.ceil(Math.abs(calendar.month)/12),calendar.month+=12),calendar.month>11&&(calendar.year+=Math.floor(Math.abs(calendar.month)/12),calendar.month-=12),calendar},/**
1373     * defaults and localisation
1374     */
1375defaults={
1376// bind the picker to a form field
1377field:null,
1378// automatically show/hide the picker on `field` focus (default `true` if `field` is set)
1379bound:void 0,
1380// position of the datepicker, relative to the field (default to bottom & left)
1381// ('bottom' & 'left' keywords are not used, 'top' & 'right' are modifier on the bottom/left position)
1382position:"bottom left",
1383// automatically fit in the viewport even if it means repositioning from the position option
1384reposition:!0,
1385// the default output format for `.toString()` and `field` value
1386format:"YYYY-MM-DD",
1387// the initial date to view when first opened
1388defaultDate:null,
1389// make the `defaultDate` the initial selected value
1390setDefaultDate:!1,
1391// first day of week (0: Sunday, 1: Monday etc)
1392firstDay:0,
1393// the default flag for moment's strict date parsing
1394formatStrict:!1,
1395// the minimum/earliest date that can be selected
1396minDate:null,
1397// the maximum/latest date that can be selected
1398maxDate:null,
1399// number of years either side, or array of upper/lower range
1400yearRange:10,
1401// show week numbers at head of row
1402showWeekNumber:!1,
1403// Week picker mode
1404pickWholeWeek:!1,
1405// used internally (don't config outside)
1406minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,
1407// Additional text to append to the year in the calendar title
1408yearSuffix:"",
1409// Render the month after year in the calendar title
1410showMonthAfterYear:!1,
1411// Render days of the calendar grid that fall in the next or previous month
1412showDaysInNextAndPreviousMonths:!1,
1413// how many months are visible
1414numberOfMonths:1,
1415// when numberOfMonths is used, this will help you to choose where the main calendar will be (default `left`, can be set to `right`)
1416// only used for the first display or when a selected date is not visible
1417mainCalendar:"left",
1418// Specify a DOM element to render the calendar in
1419container:void 0,
1420// Blur field when date is selected
1421blurFieldOnSelect:!0,
1422// internationalization
1423i18n:{previousMonth:"Previous Month",nextMonth:"Next Month",months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},
1424// Theme Classname
1425theme:null,
1426// events array
1427events:[],
1428// callback function
1429onSelect:null,onOpen:null,onClose:null,onDraw:null},/**
1430     * templating functions to abstract HTML rendering
1431     */
1432renderDayName=function(opts,day,abbr){for(day+=opts.firstDay;day>=7;)day-=7;return abbr?opts.i18n.weekdaysShort[day]:opts.i18n.weekdays[day]},renderDay=function(opts){var arr=[],ariaSelected="false";if(opts.isEmpty){if(!opts.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';arr.push("is-outside-current-month")}return opts.isDisabled&&arr.push("is-disabled"),opts.isToday&&arr.push("is-today"),opts.isSelected&&(arr.push("is-selected"),ariaSelected="true"),opts.hasEvent&&arr.push("has-event"),opts.isInRange&&arr.push("is-inrange"),opts.isStartRange&&arr.push("is-startrange"),opts.isEndRange&&arr.push("is-endrange"),'<td data-day="'+opts.day+'" class="'+arr.join(" ")+'" aria-selected="'+ariaSelected+'"><button class="pika-button pika-day" type="button" data-pika-year="'+opts.year+'" data-pika-month="'+opts.month+'" data-pika-day="'+opts.day+'">'+opts.day+"</button></td>"},renderWeek=function(d,m,y){
1433// Lifted from http://javascript.about.com/library/blweekyear.htm, lightly modified.
1434var onejan=new Date(y,0,1);return'<td class="pika-week">'+Math.ceil(((new Date(y,m,d)-onejan)/864e5+onejan.getDay()+1)/7)+"</td>"},renderRow=function(days,isRTL,pickWholeWeek,isRowSelected){return'<tr class="pika-row'+(pickWholeWeek?" pick-whole-week":"")+(isRowSelected?" is-selected":"")+'">'+(isRTL?days.reverse():days).join("")+"</tr>"},renderBody=function(rows){return"<tbody>"+rows.join("")+"</tbody>"},renderHead=function(opts){var i,arr=[];for(opts.showWeekNumber&&arr.push("<th></th>"),i=0;i<7;i++)arr.push('<th scope="col"><abbr title="'+renderDayName(opts,i)+'">'+renderDayName(opts,i,!0)+"</abbr></th>");return"<thead><tr>"+(opts.isRTL?arr.reverse():arr).join("")+"</tr></thead>"},renderTitle=function(instance,c,year,month,refYear,randId){var i,j,arr,monthHtml,yearHtml,opts=instance._o,isMinYear=year===opts.minYear,isMaxYear=year===opts.maxYear,html='<div id="'+randId+'" class="pika-title" role="heading" aria-live="assertive">',prev=!0,next=!0;for(arr=[],i=0;i<12;i++)arr.push('<option value="'+(year===refYear?i-c:12+i-c)+'"'+(i===month?' selected="selected"':"")+(isMinYear&&i<opts.minMonth||isMaxYear&&i>opts.maxMonth?'disabled="disabled"':"")+">"+opts.i18n.months[i]+"</option>");for(monthHtml='<div class="pika-label">'+opts.i18n.months[month]+'<select class="pika-select pika-select-month" tabindex="-1">'+arr.join("")+"</select></div>",isArray(opts.yearRange)?(i=opts.yearRange[0],j=opts.yearRange[1]+1):(i=year-opts.yearRange,j=1+year+opts.yearRange),arr=[];i<j&&i<=opts.maxYear;i++)i>=opts.minYear&&arr.push('<option value="'+i+'"'+(i===year?' selected="selected"':"")+">"+i+"</option>");return yearHtml='<div class="pika-label">'+year+opts.yearSuffix+'<select class="pika-select pika-select-year" tabindex="-1">'+arr.join("")+"</select></div>",opts.showMonthAfterYear?html+=yearHtml+monthHtml:html+=monthHtml+yearHtml,isMinYear&&(0===month||opts.minMonth>=month)&&(prev=!1),isMaxYear&&(11===month||opts.maxMonth<=month)&&(next=!1),0===c&&(html+='<button class="pika-prev'+(prev?"":" is-disabled")+'" type="button">'+opts.i18n.previousMonth+"</button>"),c===instance._o.numberOfMonths-1&&(html+='<button class="pika-next'+(next?"":" is-disabled")+'" type="button">'+opts.i18n.nextMonth+"</button>"),html+="</div>"},renderTable=function(opts,data,randId){return'<table cellpadding="0" cellspacing="0" class="pika-table" role="grid" aria-labelledby="'+randId+'">'+renderHead(opts)+renderBody(data)+"</table>"},/**
1435     * Pikaday constructor
1436     */
1437Pikaday=function(options){var self=this,opts=self.config(options);self._onMouseDown=function(e){if(self._v){e=e||window.event;var target=e.target||e.srcElement;if(target)if(hasClass(target,"is-disabled")||(!hasClass(target,"pika-button")||hasClass(target,"is-empty")||hasClass(target.parentNode,"is-disabled")?hasClass(target,"pika-prev")?self.prevMonth():hasClass(target,"pika-next")&&self.nextMonth():(self.setDate(new Date(target.getAttribute("data-pika-year"),target.getAttribute("data-pika-month"),target.getAttribute("data-pika-day"))),opts.bound&&sto(function(){self.hide(),opts.blurFieldOnSelect&&opts.field&&opts.field.blur()},100))),hasClass(target,"pika-select"))self._c=!0;else{
1438// if this is touch event prevent mouse events emulation
1439if(!e.preventDefault)return e.returnValue=!1,!1;e.preventDefault()}}},self._onChange=function(e){e=e||window.event;var target=e.target||e.srcElement;target&&(hasClass(target,"pika-select-month")?self.gotoMonth(target.value):hasClass(target,"pika-select-year")&&self.gotoYear(target.value))},self._onKeyChange=function(e){if(e=e||window.event,self.isVisible())switch(e.keyCode){case 13:case 27:opts.field&&opts.field.blur();break;case 37:e.preventDefault(),self.adjustDate("subtract",1);break;case 38:self.adjustDate("subtract",7);break;case 39:self.adjustDate("add",1);break;case 40:self.adjustDate("add",7)}},self._onInputChange=function(e){var date;e.firedBy!==self&&(hasMoment?(date=moment(opts.field.value,opts.format,opts.formatStrict),date=date&&date.isValid()?date.toDate():null):date=new Date(Date.parse(opts.field.value)),isDate(date)&&self.setDate(date),self._v||self.show())},self._onInputFocus=function(){self.show()},self._onInputClick=function(){self.show()},self._onInputBlur=function(){
1440// IE allows pika div to gain focus; catch blur the input field
1441var pEl=document.activeElement;do{if(hasClass(pEl,"pika-single"))return}while(pEl=pEl.parentNode);self._c||(self._b=sto(function(){self.hide()},50)),self._c=!1},self._onClick=function(e){e=e||window.event;var target=e.target||e.srcElement,pEl=target;if(target){!hasEventListeners&&hasClass(target,"pika-select")&&(target.onchange||(target.setAttribute("onchange","return;"),addEvent(target,"change",self._onChange)));do{if(hasClass(pEl,"pika-single")||pEl===opts.trigger)return}while(pEl=pEl.parentNode);self._v&&target!==opts.trigger&&pEl!==opts.trigger&&self.hide()}}
vendor: 5,264 bytes, lines 1441-1467
1441,self.el=document.createElement("div"),self.el.className="pika-single"+(opts.isRTL?" is-rtl":"")+(opts.theme?" "+opts.theme:""),addEvent(self.el,"mousedown",self._onMouseDown,!0),addEvent(self.el,"touchend",self._onMouseDown,!0),addEvent(self.el,"change",self._onChange),addEvent(document,"keydown",self._onKeyChange),opts.field&&(opts.container?opts.container.appendChild(self.el):opts.bound?document.body.appendChild(self.el):opts.field.parentNode.insertBefore(self.el,opts.field.nextSibling),addEvent(opts.field,"change",self._onInputChange),opts.defaultDate||(hasMoment&&opts.field.value?opts.defaultDate=moment(opts.field.value,opts.format).toDate():opts.defaultDate=new Date(Date.parse(opts.field.value)),opts.setDefaultDate=!0));var defDate=opts.defaultDate;isDate(defDate)?opts.setDefaultDate?self.setDate(defDate,!0):self.gotoDate(defDate):self.gotoDate(new Date),opts.bound?(this.hide(),self.el.className+=" is-bound",addEvent(opts.trigger,"click",self._onInputClick),addEvent(opts.trigger,"focus",self._onInputFocus),addEvent(opts.trigger,"blur",self._onInputBlur)):this.show()};/**
1442     * public Pikaday API
1443     */
1444return Pikaday.prototype={/**
1445         * configure functionality
1446         */
1447config:function(options){this._o||(this._o=extend({},defaults,!0));var opts=extend(this._o,options,!0);opts.isRTL=!!opts.isRTL,opts.field=opts.field&&opts.field.nodeName?opts.field:null,opts.theme="string"==typeof opts.theme&&opts.theme?opts.theme:null,opts.bound=!!(void 0!==opts.bound?opts.field&&opts.bound:opts.field),opts.trigger=opts.trigger&&opts.trigger.nodeName?opts.trigger:opts.field,opts.disableWeekends=!!opts.disableWeekends,opts.disableDayFn="function"==typeof opts.disableDayFn?opts.disableDayFn:null;var nom=parseInt(opts.numberOfMonths,10)||1;if(opts.numberOfMonths=nom>4?4:nom,isDate(opts.minDate)||(opts.minDate=!1),isDate(opts.maxDate)||(opts.maxDate=!1),opts.minDate&&opts.maxDate&&opts.maxDate<opts.minDate&&(opts.maxDate=opts.minDate=!1),opts.minDate&&this.setMinDate(opts.minDate),opts.maxDate&&this.setMaxDate(opts.maxDate),isArray(opts.yearRange)){var fallback=(new Date).getFullYear()-10;opts.yearRange[0]=parseInt(opts.yearRange[0],10)||fallback,opts.yearRange[1]=parseInt(opts.yearRange[1],10)||fallback}else opts.yearRange=Math.abs(parseInt(opts.yearRange,10))||defaults.yearRange,opts.yearRange>100&&(opts.yearRange=100);return opts},/**
1448         * return a formatted string of the current selection (using Moment.js if available)
1449         */
1450toString:function(format){return isDate(this._d)?hasMoment?moment(this._d).format(format||this._o.format):this._d.toDateString():""},/**
1451         * return a Moment.js object of the current selection (if available)
1452         */
1453getMoment:function(){return hasMoment?moment(this._d):null},/**
1454         * set the current selection from a Moment.js object (if available)
1455         */
1456setMoment:function(date,preventOnSelect){hasMoment&&moment.isMoment(date)&&this.setDate(date.toDate(),preventOnSelect)},/**
1457         * return a Date object of the current selection
1458         */
1459getDate:function(){return isDate(this._d)?new Date(this._d.getTime()):null},/**
1460         * set the current selection
1461         */
1462setDate:function(date,preventOnSelect){if(!date)return this._d=null,this._o.field&&(this._o.field.value="",fireEvent(this._o.field,"change",{firedBy:this})),this.draw();if("string"==typeof date&&(date=new Date(Date.parse(date))),isDate(date)){var min=this._o.minDate,max=this._o.maxDate;isDate(min)&&date<min?date=min:isDate(max)&&date>max&&(date=max),this._d=new Date(date.getTime()),setToStartOfDay(this._d),this.gotoDate(this._d),this._o.field&&(this._o.field.value=this.toString(),fireEvent(this._o.field,"change",{firedBy:this})),preventOnSelect||"function"!=typeof this._o.onSelect||this._o.onSelect.call(this,this.getDate())}},/**
1463         * change view to a specific date
1464         */
1465gotoDate:function(date){var newCalendar=!0;if(isDate(date)){if(this.calendars){var firstVisibleDate=new Date(this.calendars[0].year,this.calendars[0].month,1),lastVisibleDate=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),visibleDate=date.getTime();
1466// get the end of the month
1467lastVisibleDate.setMonth(lastVisibleDate.getMonth()+1),lastVisibleDate.setDate(lastVisibleDate.getDate()-1),newCalendar=visibleDate<firstVisibleDate.getTime()||lastVisibleDate.getTime()<visibleDate}newCalendar&&(this.calendars=[{month:date.getMonth(),year:date.getFullYear()}],"right"===this._o.mainCalendar&&(this.calendars[0].month+=1-this._o.numberOfMonths)),this.adjustCalendars()}},adjustDate:function(sign,days){var newDay,day=this.getDate()||new Date,difference=24*parseInt(days)*60*60*1e3;"add"===sign?newDay=new Date(day.valueOf()+difference):"subtract"===sign&&(newDay=new Date(day.valueOf()-difference)),hasMoment&&("add"===sign?newDay=moment(day).add(days,"days").toDate():"subtract"===sign&&(newDay=moment(day).subtract(days,"days").toDate())),this.setDate(newDay)},adjustCalendars:function(){this.calendars[0]=adjustCalendar(this.calendars[0]);for(var c=1;c<this._o.numberOfMonths;c++)this.calendars[c]=adjustCalendar({month:this.calendars[0].month+c,year:this.calendars[0].year});this.draw()},gotoToday:function(){this.gotoDate(new Date)},/**
1468         * change view to a specific month (zero-index, e.g. 0: January)
1469         */
1470gotoMonth:function(month){isNaN(month)||(this.calendars[0].month=parseInt(month,10),this.adjustCalendars())},nextMonth:function(){this.calendars[0].month++,this.adjustCalendars()},prevMonth:function(){this.calendars[0].month--,this.adjustCalendars()},/**
1471         * change view to a specific full year (e.g. "2012")
1472         */
1473gotoYear:function(year){isNaN(year)||(this.calendars[0].year=parseInt(year,10),this.adjustCalendars())},/**
1474         * change the minDate
1475         */
1476setMinDate:function(value){value instanceof Date?(setToStartOfDay(value),this._o.minDate=value,this._o.minYear=value.getFullYear(),this._o.minMonth=value.getMonth()):(this._o.minDate=defaults.minDate,this._o.minYear=defaults.minYear,this._o.minMonth=defaults.minMonth,this._o.startRange=defaults.startRange),this.draw()},/**
1477         * change the maxDate
1478         */
1479setMaxDate:function(value){value instanceof Date?(setToStartOfDay(value),this._o.maxDate=value,this._o.maxYear=value.getFullYear(),this._o.maxMonth=value.getMonth()):(this._o.maxDate=defaults.maxDate,this._o.maxYear=defaults.maxYear,this._o.maxMonth=defaults.maxMonth,this._o.endRange=defaults.endRange),this.draw()},setStartRange:function(value){this._o.startRange=value},setEndRange:function(value){this._o.endRange=value},/**
1480         * refresh the HTML
1481         */
1482draw:function(force){if(this._v||force){var randId,opts=this._o,minYear=opts.minYear,maxYear=opts.maxYear,minMonth=opts.minMonth,maxMonth=opts.maxMonth,html="";this._y<=minYear&&(this._y=minYear,!isNaN(minMonth)&&this._m<minMonth&&(this._m=minMonth)),this._y>=maxYear&&(this._y=maxYear,!isNaN(maxMonth)&&this._m>maxMonth&&(this._m=maxMonth)),randId="pika-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var c=0;c<opts.numberOfMonths;c++)html+='<div class="pika-lendar">'+renderTitle(this,c,this.calendars[c].year,this.calendars[c].month,this.calendars[0].year,randId)+this.render(this.calendars[c].year,this.calendars[c].month,randId)+"</div>";this.el.innerHTML=html,opts.bound&&"hidden"!==opts.field.type&&sto(function(){opts.trigger.focus()},1),"function"==typeof this._o.onDraw&&this._o.onDraw(this),opts.bound&&
1483// let the screen reader user know to use arrow keys
1484opts.field.setAttribute("aria-label","Use the arrow keys to pick a date")}},adjustPosition:function(){var field,pEl,width,height,viewportWidth,viewportHeight,scrollTop,left,top,clientRect;if(!this._o.container){if(this.el.style.position="absolute",field=this._o.trigger,pEl=field,width=this.el.offsetWidth,height=this.el.offsetHeight,viewportWidth=window.innerWidth||document.documentElement.clientWidth,viewportHeight=window.innerHeight||document.documentElement.clientHeight,scrollTop=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,"function"==typeof field.getBoundingClientRect)clientRect=field.getBoundingClientRect(),left=clientRect.left+window.pageXOffset,top=clientRect.bottom+window.pageYOffset;else for(left=pEl.offsetLeft,top=pEl.offsetTop+pEl.offsetHeight;pEl=pEl.offsetParent;)left+=pEl.offsetLeft,top+=pEl.offsetTop;
1485// default position is bottom & left
1486(this._o.reposition&&left+width>viewportWidth||this._o.position.indexOf("right")>-1&&left-width+field.offsetWidth>0)&&(left=left-width+field.offsetWidth),(this._o.reposition&&top+height>viewportHeight+scrollTop||this._o.position.indexOf("top")>-1&&top-height-field.offsetHeight>0)&&(top=top-height-field.offsetHeight),this.el.style.left=left+"px",this.el.style.top=top+"px"}},/**
1487         * render HTML for a particular month
1488         */
1489render:function(year,month,randId){var opts=this._o,now=new Date,days=getDaysInMonth(year,month),before=new Date(year,month,1).getDay(),data=[],row=[];setToStartOfDay(now),opts.firstDay>0&&(before-=opts.firstDay)<0&&(before+=7);for(var previousMonth=0===month?11:month-1,nextMonth=11===month?0:month+1,yearOfPreviousMonth=0===month?year-1:year,yearOfNextMonth=11===month?year+1:year,daysInPreviousMonth=getDaysInMonth(yearOfPreviousMonth,previousMonth),cells=days+before,after=cells;after>7;)after-=7;cells+=7-after;for(var isWeekSelected=!1,i=0,r=0;i<cells;i++){var day=new Date(year,month,i-before+1),isSelected=!!isDate(this._d)&&compareDates(day,this._d),isToday=compareDates(day,now),hasEvent=-1!==opts.events.indexOf(day.toDateString()),isEmpty=i<before||i>=days+before,dayNumber=i-before+1,monthNumber=month,yearNumber=year,isStartRange=opts.startRange&&compareDates(opts.startRange,day),isEndRange=opts.endRange&&compareDates(opts.endRange,day),isInRange=opts.startRange&&opts.endRange&&opts.startRange<day&&day<opts.endRange,isDisabled=opts.minDate&&day<opts.minDate||opts.maxDate&&day>opts.maxDate||opts.disableWeekends&&isWeekend(day)||opts.disableDayFn&&opts.disableDayFn(day);isEmpty&&(i<before?(dayNumber=daysInPreviousMonth+dayNumber,monthNumber=previousMonth,yearNumber=yearOfPreviousMonth):(dayNumber-=days,monthNumber=nextMonth,yearNumber=yearOfNextMonth));var dayConfig={day:dayNumber,month:monthNumber,year:yearNumber,hasEvent:hasEvent,isSelected:isSelected,isToday:isToday,isDisabled:isDisabled,isEmpty:isEmpty,isStartRange:isStartRange,isEndRange:isEndRange,isInRange:isInRange,showDaysInNextAndPreviousMonths:opts.showDaysInNextAndPreviousMonths};opts.pickWholeWeek&&isSelected&&(isWeekSelected=!0),row.push(renderDay(dayConfig)),7==++r&&(opts.showWeekNumber&&row.unshift(renderWeek(i-before,month,year)),data.push(renderRow(row,opts.isRTL,opts.pickWholeWeek,isWeekSelected)),row=[],r=0,isWeekSelected=!1)}return renderTable(opts,data,randId)},isVisible:function(){return this._v},show:function(){this.isVisible()||(this._v=!0,this.draw(),this._o.bound&&(addEvent(document,"click",this._onClick),this.adjustPosition()),removeClass(this.el,"is-hidden"),"function"==typeof this._o.onOpen&&this._o.onOpen.call(this))},hide:function(){var v=this._v;!1!==v&&(this._o.bound&&removeEvent(document,"click",this._onClick),this.el.style.position="static",// reset
1490this.el.style.left="auto",this.el.style.top="auto",addClass(this.el,"is-hidden"),this._v=!1,void 0!==v&&"function"==typeof this._o.onClose&&this._o.onClose.call(this))},/**
1491         * GAME OVER
1492         */
1493destroy:function(){this.hide(),removeEvent(this.el,"mousedown",this._onMouseDown,!0),removeEvent(this.el,"touchend",this._onMouseDown,!0),removeEvent(this.el,"change",this._onChange),this._o.field&&(removeEvent(this._o.field,"change",this._onInputChange),this._o.bound&&(removeEvent(this._o.trigger,"click",this._onInputClick),removeEvent(this._o.trigger,"focus",this._onInputFocus),removeEvent(this._o.trigger,"blur",this._onInputBlur))),this.el.parentNode&&this.el.parentNode.removeChild(this.el)}},Pikaday}),/*!
1494 * Pikaday jQuery plugin.
1495 *
1496 * Copyright © 2013 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday
1497 */
1498function(root,factory){"use strict";"object"==typeof exports?
1499// CommonJS module
1500factory(require("jquery"),require("../pikaday")):"function"==typeof define&&define.amd?
1501// AMD. Register as an anonymous module.
1502define(["jquery","pikaday"],factory):
1503// Browser globals
1504factory(root.jQuery,root.Pikaday)}(this,function($,Pikaday){"use strict";$.fn.pikaday=function(){var args=arguments;return args&&args.length||(args=[{}]),this.each(function(){var self=$(this),plugin=self.data("pikaday");if(plugin instanceof Pikaday)"string"==typeof args[0]&&"function"==typeof plugin[args[0]]&&(plugin[args[0]].apply(
1504plugin,Array.prototype.slice.call(args,1)),"destroy"===args[0]&&self.removeData("pikaday"));else if("object"==typeof args[0]){var options=$.extend({},args[0]);options.field=self[0],self.data("pikaday",new Pikaday(options))}})}}),/*!
1505 * jquery-timepicker v1.11.10 - A jQuery timepicker plugin inspired by Google Calendar. It supports both mouse and keyboard navigation.
1506 * Copyright (c) 2015 Jon Thornton - http://jonthornton.github.com/jquery-timepicker/
1507 * License: MIT
1508 */
1509function(factory){"object"==typeof exports&&exports&&"object"==typeof module&&module&&module.exports===exports?
1510// Browserify. Attach to jQuery module.
1511factory(require("jquery")):"function"==typeof define&&define.amd?
1512// AMD. Register as an anonymous module.
1513define(["jquery"],factory):
1514// Browser globals
1515factory(jQuery)}(function($){
1516// private methods
1517function _isVisible(elem){var el=elem[0];return el.offsetWidth>0&&el.offsetHeight>0}function _parseSettings(settings){if(settings.minTime&&(settings.minTime=_time2int(settings.minTime)),settings.maxTime&&(settings.maxTime=_time2int(settings.maxTime)),settings.durationTime&&"function"!=typeof settings.durationTime&&(settings.durationTime=_time2int(settings.durationTime)),"now"==settings.scrollDefault)settings.scrollDefault=function(){return settings.roundingFunction(_time2int(new Date),settings)};else if(settings.scrollDefault&&"function"!=typeof settings.scrollDefault){var val=settings.scrollDefault;settings.scrollDefault=function(){return settings.roundingFunction(_time2int(val),settings)}}else settings.minTime&&(settings.scrollDefault=function(){return settings.roundingFunction(settings.minTime,settings)});if("string"===$.type(settings.timeFormat)&&settings.timeFormat.match(/[gh]/)&&(settings._twelveHourTime=!0),!1===settings.showOnFocus&&-1!=settings.showOn.indexOf("focus")&&settings.showOn.splice(settings.showOn.indexOf("focus"),1),settings.disableTimeRanges.length>0){
1518// convert string times to integers
1519for(var i in settings.disableTimeRanges)settings.disableTimeRanges[i]=[_time2int(settings.disableTimeRanges[i][0]),_time2int(settings.disableTimeRanges[i][1])];
1520// sort by starting time
1521settings.disableTimeRanges=settings.disableTimeRanges.sort(function(a,b){return a[0]-b[0]});
1522// merge any overlapping ranges
1523for(var i=settings.disableTimeRanges.length-1;i>0;i--)settings.disableTimeRanges[i][0]<=settings.disableTimeRanges[i-1][1]&&(settings.disableTimeRanges[i-1]=[Math.min(settings.disableTimeRanges[i][0],settings.disableTimeRanges[i-1][0]),Math.max(settings.disableTimeRanges[i][1],settings.disableTimeRanges[i-1][1])],settings.disableTimeRanges.splice(i,1))}return settings}function _render(self){var settings=self.data("timepicker-settings"),list=self.data("timepicker-list");if(list&&list.length&&(list.remove(),self.data("timepicker-list",!1)),settings.useSelect){list=$("<select />",{class:"ui-timepicker-select"});var wrapped_list=list}else{list=$("<ul />",{class:"ui-timepicker-list"});var wrapped_list=$("<div />",{class:"ui-timepicker-wrapper",tabindex:-1});wrapped_list.css({display:"none",position:"absolute"}).append(list)}if(settings.noneOption)if(!0===settings.noneOption&&(settings.noneOption=settings.useSelect?"Time...":"None"),$.isArray(settings.noneOption)){for(var i in settings.noneOption)if(parseInt(i,10)==i){var noneElement=_generateNoneElement(settings.noneOption[i],settings.useSelect);list.append(noneElement)}}else{var noneElement=_generateNoneElement(settings.noneOption,settings.useSelect);list.append(noneElement)}if(settings.className&&wrapped_list.addClass(settings.className),(null!==settings.minTime||null!==settings.durationTime)&&settings.showDuration){"function"==typeof settings.step||settings.step;wrapped_list.addClass("ui-timepicker-with-duration"),wrapped_list.addClass("ui-timepicker-step-"+settings.step)}var durStart=settings.minTime;"function"==typeof settings.durationTime?durStart=_time2int(settings.durationTime()):null!==settings.durationTime&&(durStart=settings.durationTime);var start=null!==settings.minTime?settings.minTime:0,end=null!==settings.maxTime?settings.maxTime:start+_ONE_DAY-1;end<start&&(
1524// make sure the end time is greater than start time, otherwise there will be no list to show
1525end+=_ONE_DAY),end===_ONE_DAY-1&&"string"===$.type(settings.timeFormat)&&settings.show2400&&(
1526// show a 24:00 option when using military time
1527end=_ONE_DAY);var dr=settings.disableTimeRanges,drCur=0,drLen=dr.length,stepFunc=settings.step;"function"!=typeof stepFunc&&(stepFunc=function(){return settings.step});for(var i=start,j=0;i<=end;j++,i+=60*stepFunc(j)){var timeInt=i,timeString=_int2time(timeInt,settings);if(settings.useSelect){var row=$("<option />",{value:timeString});row.text(timeString)}else{var row=$("<li />");row.addClass(timeInt%_ONE_DAY<_ONE_DAY/2?"ui-timepicker-am":"ui-timepicker-pm"),row.data("time",_moduloSeconds(timeInt,settings)),row.text(timeString)}if((null!==settings.minTime||null!==settings.durationTime)&&settings.showDuration){var durationString=_int2duration(i-durStart,settings.step);if(settings.useSelect)row.text(row.text()+" ("+durationString+")");else{var duration=$("<span />",{class:"ui-timepicker-duration"});duration.text(" ("+durationString+")"),row.append(duration)}}drCur<drLen&&(timeInt>=dr[drCur][1]&&(drCur+=1),dr[drCur]&&timeInt>=dr[drCur][0]&&timeInt<dr[drCur][1]&&(settings.useSelect?row.prop("disabled",!0):row.addClass("ui-timepicker-disabled"))),list.append(row)}if(wrapped_list.data("timepicker-input",self),self.data("timepicker-list",wrapped_list),settings.useSelect)self.val()&&list.val(_roundAndFormatTime(_time2int(self.val()),settings)),list.on("focus",function(){$(this).data("timepicker-input").trigger("showTimepicker")}),list.on("blur",function(){$(this).data("timepicker-input").trigger("hideTimepicker")}),list.on("change",function(){_setTimeValue(self,$(this).val(),"select")}),_setTimeValue(self,list.val(),"initial"),self.hide().after(list);else{var appendTo=settings.appendTo;"string"==typeof appendTo?appendTo=$(appendTo):"function"==typeof appendTo&&(appendTo=appendTo(self)),appendTo.append(wrapped_list),_setSelected(self,list),list.on("mousedown click","li",function(e){
1528// hack: temporarily disable the focus handler
1529// to deal with the fact that IE fires 'focus'
1530// events asynchronously
1531self.off("focus.timepicker"),self.on("focus.timepicker-ie-hack",function(){self.off("focus.timepicker-ie-hack"),self.on("focus.timepicker",methods.show)}),_hideKeyboard(self)||self[0].focus(),
1532// make sure only the clicked row is selected
1533list.find("li").removeClass("ui-timepicker-selected"),$(this).addClass("ui-timepicker-selected"),_selectValue(self)&&(self.trigger("hideTimepicker"),list.on("mouseup.timepicker click.timepicker","li",function(e){list.off("mouseup.timepicker click.timepicker"),wrapped_list.hide()}))})}}function _generateNoneElement(optionValue,useSelect){var label,className,value;return"object"==typeof optionValue?(label=optionValue.label,className=optionValue.className,value=optionValue.value):"string"==typeof optionValue?label=optionValue:$.error("Invalid noneOption value"),useSelect?$("<option />",{value:value,class:className,text:label}):$("<li />",{class:className,text:label}).data("time",String(value))}function _roundAndFormatTime(seconds,settings){if(null!==(seconds=settings.roundingFunction(seconds,settings)))return _int2time(seconds,settings)}
1534// event handler to decide whether to close timepicker
1535function _closeHandler(e){if(e.target!=window){var target=$(e.target);target.closest(".ui-timepicker-input").length||target.closest(".ui-timepicker-wrapper").length||(methods.hide(),$(document).unbind(".ui-timepicker"),$(window).unbind(".ui-timepicker"))}}function _hideKeyboard(self){var settings=self.data("timepicker-settings");return(window.navigator.msMaxTouchPoints||"ontouchstart"in document)&&settings.disableTouchKeyboard}function _findRow(self,list,value){if(!value&&0!==value)return!1;var settings=self.data("timepicker-settings"),out=!1,value=settings.roundingFunction(value,settings);
1536// loop through the menu items
1537return list.find("li").each(function(i,obj){var jObj=$(obj);if("number"==typeof jObj.data("time"))return jObj.data("time")==value?(out=jObj,!1):void 0}),out}function _setSelected(self,list){list.find("li").removeClass("ui-timepicker-selected");var timeValue=_time2int(_getTimeValue(self),self.data("timepicker-settings"));if(null!==timeValue){var selected=_findRow(self,list,timeValue);if(selected){var topDelta=selected.offset().top-list.offset().top;(topDelta+selected.outerHeight()>list.outerHeight()||topDelta<0)&&list.scrollTop(list.scrollTop()+selected.position().top-selected.outerHeight()),selected.addClass("ui-timepicker-selected")}}}function _formatValue(e,origin){if("timepicker"!=origin){var self=$(this);if(""===this.value)return void _setTimeValue(self,null,origin);if(!self.is(":focus")||e&&"change"==e.type){var settings=self.data("timepicker-settings"),seconds=_time2int(this.value,settings);if(null===seconds)return void self.trigger("timeFormatError");var rangeError=!1;if(
1538// check that the time in within bounds
1539null!==settings.minTime&&null!==settings.maxTime&&(seconds<settings.minTime||seconds>settings.maxTime)&&(rangeError=!0),
1540// check that time isn't within disabled time ranges
1541$.each(settings.disableTimeRanges,function(){if(seconds>=this[0]&&seconds<this[1])return rangeError=!0,!1}),settings.forceRoundTime){var roundSeconds=settings.roundingFunction(seconds,settings);roundSeconds!=seconds&&(seconds=roundSeconds,origin=null)}var prettyTime=_int2time(seconds,settings);rangeError?(_setTimeValue(self,prettyTime,"error")||e&&"change"==e.type)&&self.trigger("timeRangeError"):_setTimeValue(self,prettyTime,origin)}}}function _getTimeValue(self){return self.is("input")?self.val():self.data("ui-timepicker-value")}function _setTimeValue(self,value,source){if(self.is("input")){self.val(value);var settings=self.data("timepicker-settings");settings.useSelect&&"select"!=source&&"initial"!=source&&self.data("timepicker-list").val(_roundAndFormatTime(_time2int(value),settings))}return self.data("ui-timepicker-value")!=value?(self.data("ui-timepicker-value",value),"select"==source?self.trigger("selectTime").trigger("changeTime").trigger("change","timepicker"):-1==["error","initial"].indexOf(source)&&self.trigger("changeTime"),!0):(self.trigger("selectTime"),!1)}/*
1542	*  Filter freeform input
1543	*/
1544function _disableTextInputHandler(e){switch(e.keyCode){case 13:// return
1545case 9://tab
1546return;default:e.preventDefault()}}/*
1547	*  Keyboard navigation via arrow keys
1548	*/
1549function _keydownhandler(e){var self=$(this),list=self.data("timepicker-list");if(!list||!_isVisible(list)){if(40!=e.keyCode)return!0;
1550// show the list!
1551methods.show.call(self.get(0)),list=self.data("timepicker-list"),_hideKeyboard(self)||self.focus()}switch(e.keyCode){case 13:// return
1552return _selectValue(self)&&(_formatValue.call(self.get(0),{type:"change"}),methods.hide.apply(this)),e.preventDefault(),!1;case 38:// up
1553var selected=list.find(".ui-timepicker-selected");return selected.length?selected.is(":first-child")||(selected.removeClass("ui-timepicker-selected"),selected.prev().addClass("ui-timepicker-selected"),selected.prev().position().top<selected.outerHeight()&&list.scrollTop(list.scrollTop()-selected.outerHeight())):(list.find("li").each(function(i,obj){if($(obj).position().top>0)return selected=$(obj),!1}),selected.addClass("ui-timepicker-selected")),!1;case 40:// down
1554return selected=list.find(".ui-timepicker-selected"),0===selected.length?(list.find("li").each(function(i,obj){if($(obj).position().top>0)return selected=$(obj),!1}),selected.addClass("ui-timepicker-selected")):selected.is(":last-child")||(selected.removeClass("ui-timepicker-selected"),selected.next().addClass("ui-timepicker-selected"),selected.next().position().top+2*selected.outerHeight()>list.outerHeight()&&list.scrollTop(list.scrollTop()+selected.outerHeight())),!1;case 27:// escape
1555list.find("li").removeClass("ui-timepicker-selected"),methods.hide();break;case 9://tab
1556methods.hide();break;default:return!0}}/*
1557	*	Time typeahead
1558	*/
1559function _keyuphandler(e){var self=$(this),list=self.data("timepicker-list"),settings=self.data("timepicker-settings");if(!list||!_isVisible(list)||settings.disableTextInput)return!0;switch(e.keyCode){case 96:// numpad numerals
1560case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 48:// numerals
1561case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 65:// a
1562case 77:// m
1563case 80:// p
1564case 186:// colon
1565case 8:// backspace
1566case 46:// delete
1567settings.typeaheadHighlight?_setSelected(self,list):list.hide()}}function _selectValue(self){var settings=self.data("timepicker-settings"),list=self.data("timepicker-list"),timeValue=null,cursor=list.find(".ui-timepicker-selected");
1568// selected value found
1569return!cursor.hasClass("ui-timepicker-disabled")&&(cursor.length&&(timeValue=cursor.data("time")),null!==timeValue&&("string"!=typeof timeValue&&(timeValue=_int2time(timeValue,settings)),_setTimeValue(self,timeValue,"select")),!0)}function _int2duration(seconds,step){seconds=Math.abs(seconds);var hours,mins,minutes=Math.round(seconds/60),duration=[];
1570// Only show (x mins) under 1 hour
1571// Show decimal notation (eg: 1.5 hrs) for 30 minute steps
1572// Show remainder minutes notation (eg: 1 hr 15 mins) for non-30 minute steps
1573// and only if there are remainder minutes to show
1574return minutes<60?duration=[minutes,_lang.mins]:(hours=Math.floor(minutes/60),mins=minutes%60,30==step&&30==mins&&(hours+=_lang.decimal+5),duration.push(hours),duration.push(1==hours?_lang.hr:_lang.hrs),30!=step&&mins&&(duration.push(mins),duration.push(_lang.mins))),duration.join(" ")}function _int2time(timeInt,settings){if("number"!=typeof timeInt)return null;var seconds=parseInt(timeInt%60),minutes=parseInt(timeInt/60%60),hours=parseInt(timeInt/3600%24),time=new Date(1970,0,2,hours,minutes,seconds,0);if(isNaN(time.getTime()))return null;if("function"===$.type(settings.timeFormat))return settings.timeFormat(time);for(var hour,code,output="",i=0;i<settings.timeFormat.length;i++)switch(code=settings.timeFormat.charAt(i)){case"a":output+=time.getHours()>11?_lang.pm:_lang.am;break;case"A":output+=time.getHours()>11?_lang.PM:_lang.AM;break;case"g":hour=time.getHours()%12,output+=0===hour?"12":hour;break;
1574case"G":hour=time.getHours(),timeInt===_ONE_DAY&&(hour=settings.show2400?24:0),output+=hour;break;case"h":hour=time.getHours()%12,0!==hour&&hour<10&&(hour="0"+hour),output+=0===hour?"12":hour;break;case"H":hour=time.getHours(),timeInt===_ONE_DAY&&(hour=settings.show2400?24:0),output+=hour>9?hour:"0"+hour;break;case"i":var minutes=time.getMinutes();output+=minutes>9?minutes:"0"+minutes;break;case"s":seconds=time.getSeconds(),output+=seconds>9?seconds:"0"+seconds;break;case"\\":
1575// escape character; add the next character and skip ahead
1576i++,output+=settings.timeFormat.charAt(i);break;default:output+=code}return output}function _time2int(timeString,settings){if(""===timeString||null===timeString)return null;if("object"==typeof timeString)return 3600*timeString.getHours()+60*timeString.getMinutes()+timeString.getSeconds();if("string"!=typeof timeString)return timeString;timeString=timeString.toLowerCase().replace(/[\s\.]/g,""),
1577// if the last character is an "a" or "p", add the "m"
1578"a"!=timeString.slice(-1)&&"p"!=timeString.slice(-1)||(timeString+="m");var ampmRegex="("+_lang.am.replace(".","")+"|"+_lang.pm.replace(".","")+"|"+_lang.AM.replace(".","")+"|"+_lang.PM.replace(".","")+")?",pattern=new RegExp("^"+ampmRegex+"([0-9]?[0-9])\\W?([0-5][0-9])?\\W?([0-5][0-9])?"+ampmRegex+"$"),time=timeString.match(pattern);if(!time)return null;var hour=parseInt(1*time[2],10);if(hour>24){if(settings&&!1===settings.wrapHours)return null;hour%=24}var ampm=time[1]||time[5],hours=hour;if(hour<=12&&ampm){var isPm=ampm==_lang.pm||ampm==_lang.PM;hours=12==hour?isPm?12:0:hour+(isPm?12:0)}var minutes=1*time[3]||0,seconds=1*time[4]||0,timeInt=3600*hours+60*minutes+seconds;
1579// if no am/pm provided, intelligently guess based on the scrollDefault
1580if(hour<12&&!ampm&&settings&&settings._twelveHourTime&&settings.scrollDefault){var delta=timeInt-settings.scrollDefault();delta<0&&delta>=_ONE_DAY/-2&&(timeInt=(timeInt+_ONE_DAY/2)%_ONE_DAY)}return timeInt}function _moduloSeconds(seconds,settings){return seconds==_ONE_DAY&&settings.show2400?seconds:seconds%_ONE_DAY}var _ONE_DAY=86400,_lang={am:"am",pm:"pm",AM:"AM",PM:"PM",decimal:".",mins:"mins",hr:"hr",hrs:"hrs"},_DEFAULTS={appendTo:"body",className:null,closeOnWindowScroll:!1,disableTextInput:!1,disableTimeRanges:[],disableTouchKeyboard:!1,durationTime:null,forceRoundTime:!1,maxTime:null,minTime:null,noneOption:!1,orientation:"l",roundingFunction:function(seconds,settings){if(null===seconds)return null;if("number"!=typeof settings.step)
1581// TODO: nearest fit irregular steps
1582return seconds;var offset=seconds%(60*settings.step);
1583// adjust offset by start mod step so that the offset is aligned not to 00:00 but to the start
1584// if offset is larger than a half step, round up
1585// round down
1586return offset-=(settings.minTime||0)%(60*settings.step),offset>=30*settings.step?seconds+=60*settings.step-offset:seconds-=offset,_moduloSeconds(seconds,settings)},scrollDefault:null,selectOnBlur:!1,show2400:!1,showDuration:!1,showOn:["click","focus"],showOnFocus:!0,step:30,stopScrollPropagation:!1,timeFormat:"g:ia",typeaheadHighlight:!0,useSelect:!1,wrapHours:!0},methods={init:function(options){return this.each(function(){var self=$(this),attributeOptions=[];for(var key in _DEFAULTS)self.data(key)&&(attributeOptions[key]=self.data(key));var settings=$.extend({},_DEFAULTS,options,attributeOptions);if(settings.lang&&(_lang=$.extend(_lang,settings.lang)),settings=_parseSettings(settings),self.data("timepicker-settings",settings),self.addClass("ui-timepicker-input"),settings.useSelect)_render(self);else{if(self.prop("autocomplete","off"),settings.showOn)for(var i in settings.showOn)self.on(settings.showOn[i]+".timepicker",methods.show);self.on("change.timepicker",_formatValue),self.on("keydown.timepicker",_keydownhandler),self.on("keyup.timepicker",_keyuphandler),settings.disableTextInput&&self.on("keydown.timepicker",_disableTextInputHandler),_formatValue.call(self.get(0),null,"initial")}})},show:function(e){var self=$(this),settings=self.data("timepicker-settings");if(e&&e.preventDefault(),settings.useSelect)return void self.data("timepicker-list").focus();_hideKeyboard(self)&&
1587// block the keyboard on mobile devices
1588self.blur();var list=self.data("timepicker-list");
1589// check if input is readonly
1590if(!self.prop("readonly")&&(
1591// check if list needs to be rendered
1592list&&0!==list.length&&"function"!=typeof settings.durationTime||(_render(self),list=self.data("timepicker-list")),!_isVisible(list))){self.data("ui-timepicker-value",self.val()),_setSelected(self,list),
1593// make sure other pickers are hidden
1594methods.hide(),
1595// position the dropdown relative to the input
1596list.show();var listOffset={};settings.orientation.match(/r/)?
1597// right-align the dropdown
1598listOffset.left=self.offset().left+self.outerWidth()-list.outerWidth()+parseInt(list.css("marginLeft").replace("px",""),10):
1599// left-align the dropdown
1600listOffset.left=self.offset().left+parseInt(list.css("marginLeft").replace("px",""),10);var verticalOrientation;verticalOrientation=settings.orientation.match(/t/)?"t":settings.orientation.match(/b/)?"b":self.offset().top+self.outerHeight(!0)+list.outerHeight()>$(window).height()+$(window).scrollTop()?"t":"b","t"==verticalOrientation?(
1601// position the dropdown on top
1602list.addClass("ui-timepicker-positioned-top"),listOffset.top=self.offset().top-list.outerHeight()+parseInt(list.css("marginTop").replace("px",""),10)):(
1603// put it under the input
1604list.removeClass("ui-timepicker-positioned-top"),listOffset.top=self.offset().top+self.outerHeight()+parseInt(list.css("marginTop").replace("px",""),10)),list.offset(listOffset);
1605// position scrolling
1606var selected=list.find(".ui-timepicker-selected");if(!selected.length){var timeInt=_time2int(_getTimeValue(self));null!==timeInt?selected=_findRow(self,list,timeInt):settings.scrollDefault&&(selected=_findRow(self,list,settings.scrollDefault()))}if(
1607// if not found or disabled, intelligently find first selectable element
1608selected.length&&!selected.hasClass("ui-timepicker-disabled")||(selected=list.find("li:not(.ui-timepicker-disabled):first")),selected&&selected.length){var topOffset=list.scrollTop()+selected.position().top-selected.outerHeight();list.scrollTop(topOffset)}else list.scrollTop(0);
1609// prevent scroll propagation
1610// attach close handlers
1611return settings.stopScrollPropagation&&$(document).on("wheel.ui-timepicker",".ui-timepicker-wrapper",function(e){e.preventDefault();var currentScroll=$(this).scrollTop();$(this).scrollTop(currentScroll+e.originalEvent.deltaY)}),$(document).on("touchstart.ui-timepicker mousedown.ui-timepicker",_closeHandler),$(window).on("resize.ui-timepicker",_closeHandler),settings.closeOnWindowScroll&&$(document).on("scroll.ui-timepicker",_closeHandler),self.trigger("showTimepicker"),this}},hide:function(e){var self=$(this),settings=self.data("timepicker-settings");return settings&&settings.useSelect&&self.blur(),$(".ui-timepicker-wrapper").each(function(){var list=$(this);if(_isVisible(list)){var self=list.data("timepicker-input"),settings=self.data("timepicker-settings");settings&&settings.selectOnBlur&&_selectValue(self),list.hide(),self.trigger("hideTimepicker")}}),this},option:function(key,value){return"string"==typeof key&&void 0===value?$(this).data("timepicker-settings")[key]:this.each(function(){var self=$(this),settings=self.data("timepicker-settings"),list=self.data("timepicker-list");"object"==typeof key?settings=$.extend(settings,key):"string"==typeof key&&(settings[key]=value),settings=_parseSettings(settings),self.data("timepicker-settings",settings),_formatValue.call(self.get(0),{type:"change"},"initial"),list&&(list.remove(),self.data("timepicker-list",!1)),settings.useSelect&&_render(self)})},getSecondsFromMidnight:function(){return _time2int(_getTimeValue(this))},getTime:function(relative_date){var self=this,time_string=_getTimeValue(self);
1611if(!time_string)return null;var offset=_time2int(time_string);if(null===offset)return null;relative_date||(relative_date=new Date);
1612// construct a Date from relative date, and offset's time
1613var time=new Date(relative_date);return time.setHours(offset/3600),time.setMinutes(offset%3600/60),time.setSeconds(offset%60),time.setMilliseconds(0),time},isVisible:function(){var self=this,list=self.data("timepicker-list");return!(!list||!_isVisible(list))},setTime:function(value){var self=this,settings=self.data("timepicker-settings");if(settings.forceRoundTime)var prettyTime=_roundAndFormatTime(_time2int(value),settings);else var prettyTime=_int2time(_time2int(value),settings);return value&&null===prettyTime&&settings.noneOption&&(prettyTime=value),self.val(prettyTime),_formatValue.call(self.get(0),{type:"change"}),self.data("timepicker-list")&&_setSelected(self,self.data("timepicker-list")),this},remove:function(){var self=this;
1614// check if this element is a timepicker
1615if(self.hasClass("ui-timepicker-input")){var settings=self.data("timepicker-settings");
1616// timepicker-list won't be present unless the user has interacted with this timepicker
1617return self.removeAttr("autocomplete","off"),self.removeClass("ui-timepicker-input"),self.removeData("timepicker-settings"),self.off(".timepicker"),self.data("timepicker-list")&&self.data("timepicker-list").remove(),settings.useSelect&&self.show(),self.removeData("timepicker-list"),this}}};
1618// Plugin entry
1619$.fn.timepicker=function(method){
1620// check if this element is a timepicker
1621return this.length?methods[method]?this.hasClass("ui-timepicker-input")?methods[method].apply(this,Array.prototype.slice.call(arguments,1)):this:"object"!=typeof method&&method?void $.error("Method "+method+" does not exist on jQuery.timepicker"):methods.init.apply(this,arguments):this}}),/*
1622	* Accordion v2.0.015?
1623	* Copyright (c) 2018 AYC Media
1624	* Dual licensed under the MIT and GPL licenses:
1625	* http://www.opensource.org/licenses/mit-license.php
1626	* http://www.gnu.org/licenses/gpl.html
1627*/
1628function($){$.fn.accordion=function(options){return this.each(function(){function set_tabindex(current,activate){var new_tabindex=-1;activate&&(new_tabindex=0),$(current).parent().find(".accordion-content").find("a, button, [tabindex], h1, h2, h3, h4, h5, h6, p, img, .error").each(function(i){$(this).attr("tabindex",new_tabindex)})}function open_accordion(current){setTimeout(function(){set_tabindex(current,!0),$(current).parent().addClass("active"),$(current).attr("aria-expanded","true"),$(current).parent().find(".accordion-content").attr("aria-hidden","false"),$(current).parent().find(".accordion-content-inner").attr("tabindex",0).focus(),$("html, body").animate({scrollTop:$(current).offset().top-250},1e3)},1e3)}function close_accordion(current){set_tabindex(current,!1),$(current).parent().removeClass("active"),$(current).attr("aria-expanded","false"),$(current).parent().find(".accordion-content").attr("aria-hidden","true"),$(current).parent().find(".accordion-content-inner").removeAttr("tabindex")}var target=this;({init:function(){$(".accordion .accordion-content").find('a, button, [tabindex]:not([tabindex="0"]):not([tabindex^="-"]), h1, h2, h3, h4, h5, h6, p, img, .error').each(function(i){$(this).attr("tabindex",-1)});var all_accordions=$(".accordion .accordion-toggle");$(target).find(".accordion-toggle").click(function(){var $is_active=$(this),$notActive=$(all_accordions).not($is_active);$($notActive).each(function(){close_accordion($(this))}),$is_active.parent().hasClass("active")?close_accordion($is_active):open_accordion($is_active)})}}).init()})}}(jQuery),/*!
1629	* Custom Checkbox v0.1
1630	* Copyright (c) 2014 Brandon Miller
1631	* Dual licensed under the MIT and GPL licenses:
1632	* http://www.opensource.org/licenses/mit-license.php
1633	* http://www.gnu.org/licenses/gpl.html
1634**/
1635function($){$.fn.customChbx=function(options){return this.each(function(){
1636// Variables
1637var $input=$(this),inputType=$input.attr("type"),defaults={offTxt:$input.attr("data-chbx-offtxt")||"",onTxt:$input.attr("data-chbx-ontxt")||""},settings=$.extend({},defaults,options),plugin={
1638// Add Structure
1639addStructure:function(){$input.after(function(){return'<div class="chbx-wrap"><div class="chbx-btn"><span class="chbx-icon"></span><span class="chbx-txt">'+settings.offTxt+"</span></div></div>"}),$input.appendTo($input.next()),
1640// Calls
1641plugin.startingState(),"checkbox"==inputType?plugin.chbxChangeState():"radio"==inputType?plugin.radioChangeState():alert("Please use chbx.js for checkboxes and radio buttons only.")},
1642// Starting State
1643startingState:function(){$input.prop("checked")&&$input.parent().addClass("on").find(".chbx-txt").html(sett
vendor: 31,077 bytes, lines 1643-1674
1643ings.onTxt)},
1644// Checkbox Change State
1645chbxChangeState:function(){$input.on("change",function(){var $this=$(this);$this.prop("checked")?// if checked already
1646$this.parent().addClass("on").find(".chbx-txt").html(settings.onTxt):// if not checked
1647$this.parent().removeClass("on").find(".chbx-txt").html(settings.offTxt)})},
1648// Radio Change State
1649radioChangeState:function(){$input.on("change",function(){var $this=$(this),inputName=($this.parent(),$this.attr("name"));if($this.prop("checked")){var i,inputNames=document.getElementsByName(inputName),inputNamesLen=inputNames.length;for(i=0;i<inputNamesLen;i++)"radio"==inputNames[i].type&&$(inputNames[i]).parent().removeClass("on").find(".chbx-txt").html(settings.offTxt);$this.parent().addClass("on").find(".chbx-txt").html(settings.onTxt)}})},
1650// Initialize Main Code
1651init:function(){""==settings.offTxt&&""==settings.onTxt||$input.parent().addClass("chbx-hastext"),plugin.addStructure()}};
1652// START IT ALL
1653plugin.init()})}}(jQuery),/* Chosen v1.8.7 | (c) 2011-2018 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */
1654function(){var t,e,s,i,n=function(t,e){return function(){return t.apply(e,arguments)}},r=function(t,e){function s(){this.constructor=t}for(var i in e)o.call(e,i)&&(t[i]=e[i]);return s.prototype=e.prototype,t.prototype=new s,t.__super__=e.prototype,t},o={}.hasOwnProperty;(i=function(){function t(){this.options_index=0,this.parsed=[]}return t.prototype.add_node=function(t){return"OPTGROUP"===t.nodeName.toUpperCase()?this.add_group(t):this.add_option(t)},t.prototype.add_group=function(t){var e,s,i,n,r,o;for(e=this.parsed.length,this.parsed.push({array_index:e,group:!0,label:t.label,title:t.title?t.title:void 0,children:0,disabled:t.disabled,classes:t.className}),o=[],s=0,i=(r=t.childNodes).length;s<i;s++)n=r[s],o.push(this.add_option(n,e,t.disabled));return o},t.prototype.add_option=function(t,e,s){if("OPTION"===t.nodeName.toUpperCase())return""!==t.text?(null!=e&&(this.parsed[e].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:t.value,text:t.text,html:t.innerHTML,title:t.title?t.title:void 0,selected:t.selected,disabled:!0===s?s:t.disabled,group_array_index:e,group_label:null!=e?this.parsed[e].label:null,classes:t.className,style:t.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},t}()).select_to_array=function(t){var e,s,n,r,o;for(r=new i,s=0,n=(o=t.childNodes).length;s<n;s++)e=o[s],r.add_node(e);return r.parsed},e=function(){function t(e,s){this.form_field=e,this.options=null!=s?s:{},this.label_click_handler=n(this.label_click_handler,this),t.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return t.prototype.set_default_values=function(){return this.click_test_action=function(t){return function(e){return t.test_active_click(e)}}(this),this.activate_action=function(t){return function(e){return t.activate_field(e)}}(this),this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.is_rtl=this.options.rtl||/\bchosen-rtl\b/.test(this.form_field.className),this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text&&this.options.allow_single_deselect,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null==this.options.enable_split_word_search||this.options.enable_split_word_search,this.group_search=null==this.options.group_search||this.options.group_search,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null==this.options.single_backstroke_delete||this.options.single_backstroke_delete,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null==this.options.display_selected_options||this.options.display_selected_options,this.display_disabled_options=null==this.options.display_disabled_options||this.options.display_disabled_options,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1,this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY,this.case_sensitive_search=this.options.case_sensitive_search||!1,this.hide_results_on_select=null==this.options.hide_results_on_select||this.options.hide_results_on_select},t.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||t.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||t.default_single_text,this.default_text=this.escape_html(this.default_text),this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||t.default_no_result_text},t.prototype.choice_label=function(t){return this.include_group_label_in_selected&&null!=t.group_label?"<b class='group-name'>"+this.escape_html(t.group_label)+"</b>"+t.html:t.html},t.prototype.mouse_enter=function(){return this.mouse_on_container=!0},t.prototype.mouse_leave=function(){return this.mouse_on_container=!1},t.prototype.input_focus=function(t){if(this.is_multiple){if(!this.active_field)return setTimeout(function(t){return function(){return t.container_mousedown()}}(this),50)}else if(!this.active_field)return this.activate_field()},t.prototype.input_blur=function(t){if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(t){return function(){return t.blur_test()}}(this),100)},t.prototype.label_click_handler=function(t){return this.is_multiple?this.container_mousedown(t):this.activate_field()},t.prototype.results_option_build=function(t){var e,s,i,n,r,o,h;for(e="",h=0,n=0,r=(o=this.results_data).length;n<r&&(s=o[n],i="",""!==(i=s.group?this.result_add_group(s):this.result_add_option(s))&&(h++,e+=i),(null!=t?t.first:void 0)&&(s.selected&&this.is_multiple?this.choice_build(s):s.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(s))),!(h>=this.max_shown_results));n++);return e},t.prototype.result_add_option=function(t){var e,s;return t.search_match&&this.include_option_in_results(t)?(e=[],t.disabled||t.selected&&this.is_multiple||e.push("active-result"),!t.disabled||t.selected&&this.is_multiple||e.push("disabled-result"),t.selected&&e.push("result-selected"),null!=t.group_array_index&&e.push("group-option"),""!==t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),t.style&&(s.style.cssText=t.style),s.setAttribute("data-option-array-index",t.array_index),s.innerHTML=t.highlighted_html||t.html,t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.result_add_group=function(t){var e,s;return(t.search_match||t.group_match)&&t.active_options>0?((e=[]).push("group-result"),t.classes&&e.push(t.classes),s=document.createElement("li"),s.className=e.join(" "),s.innerHTML=t.highlighted_html||this.escape_html(t.label),t.title&&(s.title=t.title),this.outerHTML(s)):""},t.prototype.results_update_field=function(){if(this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing)return this.winnow_results()},t.prototype.reset_single_select_options=function(){var t,e,s,i,n;for(n=[],t=0,e=(s=this.results_data).length;t<e;t++)(i=s[t]).selected?n.push(i.selected=!1):n.push(void 0);return n},t.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},t.prototype.results_search=function(t){return this.results_showing?this.winnow_results():this.results_show()},t.prototype.winnow_results=function(t){var e,s,i,n,r,o,h,l,c,_,a,u,d,p,f;for(this.no_results_clear(),_=0,e=(h=this.get_search_text()).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),c=this.get_search_regex(e),i=0,n=(l=this.results_data).length;i<n;i++)(r=l[i]).search_match=!1,a=null,u=null,r.highlighted_html="",this.include_option_in_results(r)&&(r.group&&(r.group_match=!1,r.active_options=0),null!=r.group_array_index&&this.results_data[r.group_array_index]&&(0===(a=this.results_data[r.group_array_index]).active_options&&a.search_match&&(_+=1),a.active_options+=1),f=r.group?r.label:r.text,r.group&&!this.group_search||(u=this.search_string_match(f,c),r.search_match=null!=u,r.search_match&&!r.group&&(_+=1),r.search_match?(h.length&&(d=u.index,o=f.slice(0,d),s=f.slice(d,d+h.length),p=f.slice(d+h.length),r.highlighted_html=this.escape_html(o)+"<em>"+this.escape_html(s)+"</em>"+this.escape_html(p)),null!=a&&(a.group_match=!0)):null!=r.group_array_index&&this.results_data[r.group_array_index].search_match&&(r.search_match=!0)));return this.result_clear_highlight(),_<1&&h.length?(this.update_results_content(""),this.no_results(h)):(this.update_results_content(this.results_option_build()),(null!=t?t.skip_highlight:void 0)?void 0:this.winnow_results_set_highlight())},t.prototype.get_search_regex=function(t){var e,s;return s=this.search_contains?t:"(^|\\s|\\b)"+t+"[^\\s]*",this.enable_split_word_search||this.search_contains||(s="^"+s),e=this.case_sensitive_search?"":"i",new RegExp(s,e)},t.prototype.search_string_match=function(t,e){var s;return s=e.exec(t),!this.search_contains&&(null!=s?s[1]:void 0)&&(s.index+=1),s},t.prototype.choices_count=function(){var t,e,s;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,t=0,e=(s=this.form_field.options).length;t<e;t++)s[t].selected&&(this.selected_option_count+=1);return this.selected_option_count},t.prototype.choices_click=function(t){if(t.preventDefault(),this.activate_field(),!this.results_showing&&!this.is_disabled)return this.results_show()},t.prototype.keydown_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),8!==s&&this.pending_backstroke&&this.clear_backstroke(),s){case 8:this.backstroke_length=this.get_search_field_value().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(t),this.mouse_on_container=!1;break;case 13:case 27:this.results_showing&&t.preventDefault();break;case 32:this.disable_search&&t.preventDefault();break;case 38:t.preventDefault(),this.keyup_arrow();break;case 40:t.preventDefault(),this.keydown_arrow()}},t.prototype.keyup_checker=function(t){var e,s;switch(s=null!=(e=t.which)?e:t.keyCode,this.search_field_scale(),s){case 8:this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0?this.keydown_backstroke():this.pending_backstroke||(this.result_clear_highlight(),this.results_search());break;case 13:t.preventDefault(),this.results_showing&&this.result_select(t);break;case 27:this.results_showing&&this.results_hide();break;case 9:case 16:case 17:case 18:case 38:case 40:case 91:break;default:this.results_search()}},t.prototype.clipboard_event_checker=function(t){if(!this.is_disabled)return setTimeout(function(t){return function(){return t.results_search()}}(this),50)},t.prototype.container_width=function(){return null!=this.options.width?this.options.width:this.form_field.offsetWidth+"px"},t.prototype.include_option_in_results=function(t){return!(this.is_multiple&&!this.display_selected_options&&t.selected||!this.display_disabled_options&&t.disabled||t.empty)},t.prototype.search_results_touchstart=function(t){return this.touch_started=!0,this.search_results_mouseover(t)},t.prototype.search_results_touchmove=function(t){return this.touch_started=!1,this.search_results_mouseout(t)},t.prototype.search_results_touchend=function(t){if(this.touch_started)return this.search_results_mouseup(t)},t.prototype.outerHTML=function(t){var e;return t.outerHTML?t.outerHTML:((e=document.createElement("div")).appendChild(t),e.innerHTML)},t.prototype.get_single_html=function(){return'<a class="chosen-single chosen-default">\n  <span>'+this.default_text+'</span>\n  <div><b></b></div>\n</a>\n<div class="chosen-drop">\n  <div class="chosen-search">\n    <input class="chosen-search-input" type="text" autocomplete="off" />\n  </div>\n  <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_multi_html=function(){return'<ul class="chosen-choices">\n  <li class="search-field">\n    <input class="chosen-search-input" type="text" autocomplete="off" value="'+this.default_text+'" />\n  </li>\n</ul>\n<div class="chosen-drop">\n  <ul class="chosen-results"></ul>\n</div>'},t.prototype.get_no_results_html=function(t){return'<li class="no-results">\n  '+this.results_none_found+" <span>"+this.escape_html(t)+"</span>\n</li>"},t.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:!(/iP(od|hone)/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||/Android.*Mobile/i.test(window.navigator.userAgent))},t.default_multiple_text="Select Some Options",t.default_single_text="Select an Option",t.default_no_result_text="No results match",t}(),(t=jQuery).fn.extend({chosen:function(i){return e.browser_is_supported()?this.each(function(e){var n,r;r=(n=t(this)).data("chosen"),"destroy"!==i?r instanceof s||n.data("chosen",new s(this,i)):r instanceof s&&r.destroy()}):this}}),s=function(s){function n(){return n.__super__.constructor.apply(this,arguments)}return r(n,e),n.prototype.setup=function(){return this.form_field_jq=t(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex},n.prototype.set_up_html=function(){var e,s;return(e=["chosen-container"]).push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chosen-rtl"),s={class:e.join(" "),title:this.form_field.title},this.form_field.id.length&&(s.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=t("<div />",s),this.container.width(this.container_width()),this.is_multiple?this.container.html(this.get_multi_html()):this.container.html(this.get_single_html()),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},n.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},n.prototype.register_observers=function(){return this.container.on("touchstart.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.container.on("touchend.chosen",function(t){return function(e){t.container_mouseup(e)}}(this)),this.container.on("mousedown.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.container.on("mouseup.chosen",function(t){return function(e){t.container_mouseup(e)}}(this)),this.container.on("mouseenter.chosen",function(t){return function(e){t.mouse_enter(e)}}(this)),this.container.on("mouseleave.chosen",function(t){return function(e){t.mouse_leave(e)}}(this)),this.search_results.on("mouseup.chosen",function(t){return function(e){t.search_results_mouseup(e)}}(this)),this.search_results.on("mouseover.chosen",function(t){return function(e){t.search_results_mouseover(e)}}(this)),this.search_results.on("mouseout.chosen",function(t){return function(e){t.search_results_mouseout(e)}}(this)),this.search_results.on("mousewheel.chosen DOMMouseScroll.chosen",function(t){return function(e){t.search_results_mousewheel(e)}}(this)),this.search_results.on("touchstart.chosen",function(t){return function(e){t.search_results_touchstart(e)}}(this)),this.search_results.on("touchmove.chosen",function(t){return function(e){t.search_results_touchmove(e)}}(this)),this.search_results.on("touchend.chosen",function(t){return function(e){t.search_results_touchend(e)}}(this)),this.form_field_jq.on("chosen:updated.chosen",function(t){return function(e){t.results_update_field(e)}}(this)),this.form_field_jq.on("chosen:activate.chosen",function(t){return function(e){t.activate_field(e)}}(this)),this.form_field_jq.on("chosen:open.chosen",function(t){return function(e){t.container_mousedown(e)}}(this)),this.form_field_jq.on("chosen:close.chosen",function(t){return function(e){t.close_field(e)}}(this)),this.search_field.on("blur.chosen",function(t){return function(e){t.input_blur(e)}}(this)),this.search_field.on("keyup.chosen",function(t){return function(e){t.keyup_checker(e)}}(this)),this.search_field.on("keydown.chosen",function(t){return function(e){t.keydown_checker(e)}}(this)),this.search_field.on("focus.chosen",function(t){return function(e){t.input_focus(e)}}(this)),this.search_field.on("cut.chosen",function(t){return function(e){t.clipboard_event_checker(e)}}(this)),this.search_field.on("paste.chosen",function(t){return function(e){t.clipboard_event_checker(e)}}(this)),this.is_multiple?this.search_choices.on("click.chosen",function(t){return function(e){t.choices_click(e)}}(this)):this.container.on("click.chosen",function(t){t.preventDefault()})},n.prototype.destroy=function(){return t(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.form_field_label.length>0&&this.form_field_label.off("click.chosen"),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},n.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field.disabled||this.form_field_jq.parents("fieldset").is(":disabled"),this.container.toggleClass("chosen-disabled",this.is_disabled),this.search_field[0].disabled=this.is_disabled,this.is_multiple||this.selected_item.off("focus.chosen",this.activate_field),this.is_disabled?this.close_field():this.is_multiple?void 0:this.selected_item.on("focus.chosen",this.activate_field)},n.prototype.container_mousedown=function(e){var s;if(!this.is_disabled)return!e||"mousedown"!==(s=e.type)&&"touchstart"!==s||this.results_showing||e.preventDefault(),null!=e&&t(e.target).hasClass("search-choice-close")?void 0:(this.active_field?this.is_multiple||!e||t(e.target)[0]!==this.selected_item[0]&&!t(e.target).parents("a.chosen-single").length||(e.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),t(this.container[0].ownerDocument).on("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},n.prototype.container_mouseup=function(t){if("ABBR"===t.target.nodeName&&!this.is_disabled)return this.results_reset(t)},n.prototype.search_results_mousewheel=function(t){var e;if(t.originalEvent&&(e=t.originalEvent.deltaY||-t.originalEvent.wheelDelta||t.originalEvent.detail),null!=e)return t.preventDefault(),"DOMMouseScroll"===t.type&&(e*=40),this.search_results.scrollTop(e+this.search_results.scrollTop())},n.prototype.blur_test=function(t){if(!this.active_field&&this.container.hasClass("chosen-container-active"))return this.close_field()},n.prototype.close_field=function(){return t(this.container[0].ownerDocument).off("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale(),this.search_field.blur()},n.prototype.activate_field=function(){if(!this.is_disabled)return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},n.prototype.test_active_click=function(e){var s;return(s=t(e.target).closest(".chosen-container")).length&&this.container[0]===s[0]?this.active_field=!0:this.close_field()},n.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=i.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},n.prototype.result_do_highlight=function(t){var e,s,i,n,r;if(t.length){if(this.result_clear_highlight(),this.result_highlight=t,this.result_highlight.addClass("highlighted"),i=parseInt(this.search_results.css("maxHeight"),10),r=this.search_results.scrollTop(),n=i+r,s=this.result_highlight.position().top+this.search_results.scrollTop(),(e=s+this.result_highlight.outerHeight())>=n)return this.search_results.scrollTop(e-i>0?e-i:0);if(s<r)return this.search_results.scrollTop(s)}},n.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},n.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.get_search_field_value()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},n.prototype.update_results_content=function(t){return this.search_results.html(t)},n.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},n.prototype.set_tab_index=function(t){var e;if(this.form_field.tabIndex)return e=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=e},n.prototype.set_label_behavior=function(){if(this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=t("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0)return this.form_field_label.on("click.chosen",this.label_click_handler)},n.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},n.prototype.search_results_mouseup=function(e){var s;if((s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first()).length)return this.result_highlight=s,this.result_select(e),this.search_field.focus()},n.prototype.search_results_mouseover=function(e){var s;if(s=t(e.target).hasClass("active-result")?t(e.target):t(e.target).parents(".active-result").first())return this.result_do_highlight(s)},n.prototype.search_results_mouseout=function(e){if(t(e.target).hasClass("active-result")||t(e.target).parents(".active-result").first())return this.result_clear_highlight()},n.prototype.choice_build=function(e){var s,i;return s=t("<li />",{class:"search-choice"}).html("<span>"+this.choice_label(e)+"</span>"),e.disabled?s.addClass("search-choice-disabled"):((i=t("<a />",{class:"search-choice-close","data-option-array-index":e.array_index})).on("click.chosen",function(t){return function(e){return t.choice_destroy_link_click(e)}}(this)),s.append(i)),this.search_container.before(s)},n.prototype.choice_destroy_link_click=function(e){if(e.preventDefault(),e.stopPropagation(),!this.is_disabled)return this.choice_destroy(t(e.target))},n.prototype.choice_destroy=function(t){if(this.result_deselect(t[0].getAttribute("data-option-array-index")))return this.active_field?this.search_field.focus():this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.get_search_field_value().length<1&&this.results_hide(),t.parents("li").first().remove(),this.search_field_scale()},n.prototype.results_reset=function(){if(this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.trigger_form_field_change(),this.active_field)return this.results_hide()},n.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},n.prototype.result_select=function(t){var e,s;if(this.result_highlight)return e=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?e.removeClass("active-result"):this.reset_single_select_options(),e.addClass("result-selected"),s=this.results_data[e[0].getAttribute("data-option-array-index")],s.selected=!0,this.form_field.options[s.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(s):this.single_set_selected_text(this.choice_label(s)),this.is_multiple&&(!this.hide_results_on_select||t.metaKey||t.ctrlKey)?t.metaKey||t.ctrlKey?this.winnow_results({skip_highlight:!0}):(this.search_field.val(""),this.winnow_results()):(this.results_hide(),this.show_search_field_default()),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.trigger_form_field_change({selected:this.form_field.options[s.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,t.preventDefault(),this.search_field_scale())},n.prototype.single_set_selected_text=function(t){return null==t&&(t=this.default_text),t===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(t)},n.prototype.result_deselect=function(t){var e;return e=this.results_data[t],!this.form_field.options[e.options_index].disabled&&(e.selected=!1,this.form_field.options[e.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.trigger_form_field_change({deselected:this.form_field.options[e.options_index].value}),this.search_field_scale(),!0)},n.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect)return this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")},n.prototype.get_search_field_value=function(){return this.search_field.val()},n.prototype.get_search_text=function(){return t.trim(this.get_search_field_value())},n.prototype.escape_html=function(e){return t("<div/>").text(e).html()},n.prototype.winnow_results_set_highlight=function(){var t,e;if(e=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),null!=(t=e.length?e.first():this.search_results.find(".active-result").first()))return this.result_do_highlight(t)},n.prototype.no_results=function(t){var e;return e=this.get_no_results_html(t),this.search_results.append(e),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},n.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},n.prototype.keydown_arrow=function(){var t;return this.results_showing&&this.result_highlight?(t=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(t):void 0:this.results_show()},n.prototype.keyup_arrow=function(){var t;return this.results_showing||this.is_multiple?this.result_highlight?(t=this.result_highlight.prevAll("li.active-result")).length?this.result_do_highlight(t.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight()):void 0:this.results_show()},n.prototype.keydown_backstroke=function(){var t;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(t=this.search_container.siblings("li.search-choice").last()).length&&!t.hasClass("search-choice-disabled")?(this.pending_backstroke=t,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0},n.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},n.prototype.search_field_scale=function(){var e,s,i,n,r,o,h;if(this.is_multiple){for(r={position:"absolute",left:"-1000px",top:"-1000px",display:"none",whiteSpace:"pre"},s=0,i=(o=["fontSize","fontStyle","fontWeight","fontFamily","lineHeight","textTransform","letterSpacing"]).length;s<i;s++)r[n=o[s]]=this.search_field.css(n);return(e=t("<div />").css(r)).text(this.get_search_field_value()),t("body").append(e),h=e.width()+25,e.remove(),this.container.is(":visible")&&(h=Math.min(this.container.outerWidth()-10,h)),this.search_field.width(h)}},n.prototype.trigger_form_field_change=function(t){return this.form_field_jq.trigger("input",t),this.form_field_jq.trigger("change",t)},n}()}.call(this),/*!
1655	* contentLoader v0.1
1656	* URL...
1657	* Copyright (c) 2016 Brandon Miller
1658	* Dual licensed under the MIT and GPL licenses:
1659	* http://www.opensource.org/licenses/mit-license.php
1660	* http://www.gnu.org/licenses/gpl.html
1661**/
1662function($){$.fn.contentLoader=function(options){
1663// allows for chaining
1664return this.each(function(){
1665// Variables
1666var $wrap=$(this),$clItems=$wrap.find("#cl-items"),defaults={callback:function(){}},settings=$.extend({},defaults,options),plugin={};
1667// Start
1668plugin.init=function(){plugin.selector(),plugin.buttons()},
1669// Preload Images
1670plugin.preloadImages=function(arr,callback){function checkLoaded(){++numLoaded==len&&callback(imagesArray)}
1671// Loop through given Images
1672for(var arr="object"!=typeof arr?[arr]:arr,imagesArray=[],len=arr.length,numLoaded=0,i=0;i<len;i++)imagesArray[i]=new Image,imagesArray[i].onload=function(){checkLoaded()},imagesArray[i].onerror=function(){checkLoaded()},imagesArray[i].src=arr[i],
1673// Add Class
1674$(imagesArray[i]).addClass("loaded")},
1675// Content Loader
1676plugin.loader=function(newGallery){$.ajax({dataType:"html",url:newGallery,success:function(data){var $data=$(data),imgSrcs=[],$newGallery=$data.find("#cl-items"),grabbedHtml=$newGallery.html();$newGallery.find("img").each(function(){imgSrcs.push(this.src)}),
1677// Preload
1678imgSrcs.length>0?plugin.preloadImages(imgSrcs,function(a){
1679// append content
1680$clItems.html(grabbedHtml),$wrap.removeClass("loading"),settings.callback()}):($clItems.html(grabbedHtml),$wrap.removeClass("loading"),settings.callback())},error:function(){$("#cl-items").prepend("<div class='entry-content'><p><em>Nothing was retrieved. Please select another Gallery.</em></p></div>"),$wrap.removeClass("loading")}})},
1681// Content Buttons
1682plugin.buttons=function(){
1683// Load Gallery via Ajax
1684$(".gallery-nav a").on("click",function(e){e.preventDefault(),$wrap.addClass("loading"),
1685// Load Content via Ajax
1686plugin.loader($(this).attr("href"))})},
1687// Content Selector
1688plugin.selector=function(){
1689// Load Gallery via Ajax
1690$(".gallery-nav").on("change",function(){$wrap.addClass("loading"),
1691// Load Content via Ajax
1692plugin.loader($(this).val())})},
1693// START IT ALL
1694plugin.init()})}}(jQuery),/*
1695	* fileInput v0.1
1696	* Copyright (c) 2014 Brandon Miller
1697	* Dual licensed under the MIT and GPL licenses:
1698	* http://www.opensource.org/licenses/mit-license.php
1699	* http://www.gnu.org/licenses/gpl.html
1700**/
1701function($){$.fn.fileInput=function(options){return this.each(function(){
1702// Variables
1703var $wrap,$fileRemove,$filenameTxt,$fileInput,$input=$(this),isIE="Microsoft Internet Explorer"==window.navigator.appName,defaults={btnTxt:$input.attr("data-fi-btn")||"Select File",txtPlaceholder:$input.attr("data-fi-txtph")||""},settings=$.extend({},defaults,options),plugin={
1704// Add Structure
1705addStructure:function(){$input.after(function(){return'<div class="fileinput-wrap"><div class="fileinput-btn"><div class="fileinput-btnblock"><span class="fileinput-btntxt">'+settings.btnTxt+'</span></div></div><div class="fileinput-remove">&nbsp; &times &nbsp;</div><div class="fileinput-txtfield"><span class="fileinput-filename"><span class="fi-icon"></span>&nbsp;<span class="fi-txt">'+settings.txtPlaceholder+"</span></span></div></div>"}),$input.appendTo($input.next().find(".fileinput-btnblock")),
1706// Calls
1707plugin.elementVars()},
1708// Setup Vars for new elements
1709elementVars:function(){$wrap=$input.closest(".fileinput-wrap"),$fileRemove=$wrap.find(".fileinput-remove"),$filenameTxt=$wrap.find(".fi-txt"),$fileInput=$wrap.find(".fileinput"),
1710// Calls
1711plugin.addFileName(),plugin.removeFiles()},
1712// Remove Files
1713removeFiles:function(){$fileRemove.on("click",function(){var $this=$(this);
1714//ie8+ doesn't support changing the value of input with type=file so clone instead
1715if($filenameTxt.html(settings.txtPlaceholder),isIE){var inputClone=$fileInput.clone(!0);$fileInput.after(inputClone),$fileInput.remove(),$fileInput=inputClone}else $fileInput.val("");$this.css({display:"none"})})},
1716// Add File Name
1717addFileName:function(){$input.on("change",function(){var $this=$(this),uploadedFile=$this.val().replace(/^.+\\/,"");$filenameTxt.html(uploadedFile),""!==$this.val()&&$fileRemove.css({display:"table-cell"})})},
1718// Initialize Main Code
1719init:function(){plugin.addStructure()}};
1720// START IT ALL
1721plugin.init()})}}(jQuery),/*!
1722	* gMapHelper Advanced v2.6
1723	* https://github.com/bMil21/ui-site/tree/master/components/googlemap
1724	* Copyright (c) 2013 Brandon Miller
1725	* Dual licensed under the MIT and GPL licenses:
1726	* http://www.opensource.org/licenses/mit-license.php
1727	* http://www.gnu.org/licenses/gpl.html
1728**/
1729function($){$.fn.gMapHelper=function(options){
1730// If no Map don't start
1731if(!($(this).length<1)){
1732// Variables
1733var geocoder,myMapType,map,marker,infowindow,mapEl=$(this)[0],//returns a HTML DOM Object (instead of jQuery Object)
1734directionsService=new google.maps.DirectionsService,directionsDisplay=new google.maps.DirectionsRenderer,defaults={icon:"",scrollwheel:!1,zoom:14,address:!1,mapType:"roadmap",styles:!1,addressInfoWindow:""},settings=$.extend({},defaults,options),plugin={
1735// Geocoder (convert SINGLE address into Lat/Lng)
1736myGeocoder:function(){
1737//var coordinates = new google.maps.LatLng(41.895648, -87.676000);
1738// new Geocoder Object
1739geocoder=new google.maps.Geocoder,geocoder.geocode({address:settings.address},function(results,status){status==google.maps.GeocoderStatus.OK?(settings.address=results[0].geometry.location,
1740// Start Build if address located
1741plugin.buildMap()):alert("Geocode was not successful for the following reason: "+status)})},
1742// Determine Map Type
1743mapType:function(){switch(settings.mapType){case"roadmap":myMapType=google.maps.MapTypeId.ROADMAP;break;case"satellite":myMapType=google.maps.MapTypeId.SATELLITE;break;case"hybrid":myMapType=google.maps.MapTypeId.HYBRID;break;case"terrain":myMapType=google.maps.MapTypeId.TERRAIN}return myMapType},
1744// Build Map with Settings (ONLY FOR A SINGLE ADDRESS)
1745buildMap:function(){
1746// Set Map Options
1747var map_options={center:settings.address,zoom:settings.zoom,scrollwheel:settings.scrollwheel,mapTypeId:plugin.mapType()};
1748// New Map Object.. w/ element and options
1749map=new google.maps.Map(mapEl,map_options),
1750// Info Window
1751infowindow=new google.maps.InfoWindow({content:"Loading..."}),
1752// New Marker Object
1753marker=new google.maps.Marker({position:settings.address,map:map,title:"Location Name",icon:settings.icon}),
1754// Click event for Marker, Info Window
1755google.maps.event.addListener(marker,"click",function(settings){return function(){infowindow.setContent(settings.addressInfoWindow),infowindow.open(map,this)}}(settings)),
1756// Display Directions on Map
1757directionsDisplay.setMap(map),
1758// Display Directions List
1759directionsDisplay.setPanel(document.getElementById("dir-panel")),
1760// Add Custom Styles
1761plugin.addStyles()},
1762// Build Map with Settings (ONLY FOR MULTIPLE LOCATIONS)
1763buildMapMulti:function(){var firstAddress=settings.address[0],map_options={center:new google.maps.LatLng(firstAddress.itemAddress[0],firstAddress.itemAddress[1]),// Lat, Lng of 1st Address
1764zoom:settings.zoom,scrollwheel:settings.scrollwheel,mapTypeId:plugin.mapType()},bounds=new google.maps.LatLngBounds;
1765// New Map Object.. w/ element and options
1766map=new google.maps.Map(mapEl,map_options),
1767// Info Window
1768infowindow=new google.maps.InfoWindow({content:"Loading..."});
1769// New Marker Object
1770var i;for(i=0;i<settings.address.length;i++){var myLocation=settings.address[i].itemAddress,myLatLng=new google.maps.LatLng(myLocation[0],myLocation[1]);marker=new google.maps.Marker({position:myLatLng,map:map,title:settings.address[i].itemName,icon:settings.icon}),
1771//extend the bounds to include each marker's position
1772bounds.extend(marker.position),
1773// Click event for Marker, Info Window
1774google.maps.event.addListener(marker,"click",function(settings,i){return function(){var curInfoWindow=settings.address[i].itemInfoWindow;infowindow.setContent(curInfoWindow),infowindow.open(map,this)}}(settings,i))}settings.address.length>1&&map.fitBounds(bounds),
1775// Add Custom Styles
1776plugin.addStyles()},
1777// Add Custom Styles
1778addStyles:function(){var myStyleOptions={name:"My Map"},myMapStyles=new google.maps.StyledMapType(settings.styles,myStyleOptions);map.mapTypes.set("mymap",myMapStyles),map.setMapTypeId("mymap")},
1779// Door-to-Door (Single Address Only)
1780calcRoute:function(){var start=document.getElementById("saddr").value,end=settings.address,request={origin:start,destination:end,travelMode:google.maps.TravelMode.DRIVING};directionsService.route(request,function(response,status){status==google.maps.DirectionsStatus.OK&&directionsDisplay.setDirections(response)}),
1781// Remove initial custom icon, rebuild
1782settings.icon=null,plugin.buildMap()},
1783// Start it all
1784init:function(){"string"==typeof settings.address?
1785// Address given as String
1786plugin.myGeocoder():"object"==typeof settings.address?
1787// Address given as String
1788plugin.buildMapMulti():
1789// Address not given (try to import JSON)
1790$.getJSON("gmap.json",function(data){var jsonAddress=data.address;settings.address=jsonAddress,plugin.buildMapMulti()}).fail(function(jqxhr,textStatus,error){alert("Please use a suitable address. Developers: check console for errors.");var err=textStatus+", "+error;console.log("JSON Fail. Request Failed: "+err)}),
1791// Call Door-to-Door
1792$("#get-dir").on("click",function(){plugin.calcRoute()})}};
1793// Initialize Plugin when everything is Loaded
1794$(document).ready(function(){plugin.init()})}}}(jQuery),/*!
1795	* Hamburger v0.2
1796	* URL...
1797	* Copyright (c) 2016
1798	* Dual licensed under the MIT and GPL licenses:
1799	* http://www.opensource.org/licenses/mit-license.php
1800	* http://www.gnu.org/licenses/gpl.html
1801**/
1802function($){$.fn.hamburger=function(options){
1803// allows for chaining
1804return this.each(function(){
1805// Variables
1806var scrollTopPos,$btn=$(this),$document=$(document),$dpdwn=$($btn.attr("data-toggle")),$navOverlay=$(".nav-overlay"),allowScrolling=!0,defaults={negativeSpace:0,// insert element to subtract its height from page height. e.g. ".header"
1807animation:"slideDown"},settings=$.extend({},defaults,options),plugin={};plugin.init=function(){plugin.animType(),plugin.navOverflow(),plugin.hamEvents()},
1808// Animation Type
1809plugin.animType=function(){switch(settings.animation){case"slideDown":$dpdwn.addClass("slide-down");break;case"sideSlide":$dpdwn.addClass("side-slide"),$dpdwn.outerHeight($(window).height());break;case"fadeIn":$dpdwn.addClass("fade-in")}},
1810// Nav Overflow
1811plugin.navOverflow=function(){
1812// solve fixed height overflow issue
1813var winH=$(window).height(),navH=0!=settings.negativeSpace?$(settings.negativeSpace).outerHeight():0,maxH=winH-navH;$dpdwn.css({"max-height":maxH})},
1814// nav Toggle
1815plugin.navToggle=function(){"slideDown"==settings.animation&&$dpdwn.slideToggle("fast"),"fadeIn"==settings.animation&&$dpdwn.fadeToggle("fast"),$btn.toggleClass("active"),$dpdwn.toggleClass("active")},
1816// Nav Show
1817plugin.navShow=function(){"slideDown"==settings.animation&&$dpdwn.slideDown("fast"),"fadeIn"==settings.animation&&$dpdwn.fadeIn("fast"),$btn.addClass("active"),$dpdwn.addClass("active")},
1818// Nav Hide
1819plugin.navHide=function(){"slideDown"==settings.animation&&$dpdwn.slideUp("fast"),"fadeIn"==settings.animation&&$dpdwn.fadeOut("fast"),$btn.removeClass("active"),$dpdwn.removeClass("active")},
1820// Events
1821plugin.hamEvents=function(){
1822// Button
1823$btn.on("click",function(e){e.preventDefault(),
1824// use $btn for open & close
1825plugin.navToggle(),$navOverlay.toggleClass("active"),allowScrolling=!allowScrolling,scrollTopPos=$(document).scrollTop()}),
1826// Close
1827$(".hamburger-close").on("click",function(e){e.preventDefault(),plugin.navHide(),$navOverlay.removeClass("active"),allowScrolling=!0}),
1828// No Scroll
1829$document.scroll(function(){!1===allowScrolling&&$document.scrollTop(scrollTopPos)})},
1830// START IT ALL
1831plugin.init(),
1832// PUBLIC METHODS
1833$.fn.hamburger.publicMethodName=function($newEl){plugin.methodName($newEl)}})}}(jQuery),/*!
1834	Colorbox 1.6.4
1835	license: MIT
1836	http://www.jacklmoore.com/colorbox
1837*/
vendor: 9,496 bytes, line 1838
1838function(t,e,i){function n(i,n,o){var r=e.createElement(i);return n&&(r.id=Z+n),o&&(r.style.cssText=o),t(r)}function o(){return i.innerHeight?i.innerHeight:t(i).height()}function r(e,i){i!==Object(i)&&(i={}),this.cache={},this.el=e,this.value=function(e){var n;return void 0===this.cache[e]&&(n=t(this.el).attr("data-cbox-"+e),void 0!==n?this.cache[e]=n:void 0!==i[e]?this.cache[e]=i[e]:void 0!==X[e]&&(this.cache[e]=X[e])),this.cache[e]},this.get=function(e){var i=this.value(e);return t.isFunction(i)?i.call(this.el,this):i}}function h(t){var e=W.length,i=(A+t)%e;return 0>i?e+i:i}function a(t,e){return Math.round((/%/.test(t)?("x"===e?E.width():o())/100:1)*parseInt(t,10))}function s(t,e){return t.get("photo")||t.get("photoRegex").test(e)}function l(t,e){return t.get("retinaUrl")&&i.devicePixelRatio>1?e.replace(t.get("photoRegex"),t.get("retinaSuffix")):e}function d(t){"contains"in x[0]&&!x[0].contains(t.target)&&t.target!==v[0]&&(t.stopPropagation(),x.focus())}function c(t){c.str!==t&&(x.add(v).removeClass(c.str).addClass(t),c.str=t)}function g(e){A=0,e&&!1!==e&&"nofollow"!==e?(W=t("."+te).filter(function(){return new r(this,t.data(this,Y)).get("rel")===e}),-1===(A=W.index(_.el))&&(W=W.add(_.el),A=W.length-1)):W=t(_.el)}function u(i){t(e).trigger(i),ae.triggerHandler(i)}function f(i){var o;if(!G){if(o=t(i).data(Y),_=new r(i,o),g(_.get("rel")),!U){U=$=!0,c(_.get("className")),x.css({visibility:"hidden",display:"block",opacity:""}),I=n(se,"LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden"),b.css({width:"",height:""}).append(I),j=T.height()+k.height()+b.outerHeight(!0)-b.height(),D=C.width()+H.width()+b.outerWidth(!0)-b.width(),N=I.outerHeight(!0),z=I.outerWidth(!0);var h=a(_.get("initialWidth"),"x"),s=a(_.get("initialHeight"),"y"),l=_.get("maxWidth"),f=_.get("maxHeight");_.w=Math.max((!1!==l?Math.min(h,a(l,"x")):h)-z-D,0),_.h=Math.max((!1!==f?Math.min(s,a(f,"y")):s)-N-j,0),I.css({width:"",height:_.h}),J.position(),u(ee),_.get("onOpen"),O.add(F).hide(),x.focus(),_.get("trapFocus")&&e.addEventListener&&(e.addEventListener("focus",d,!0),ae.one(re,function(){e.removeEventListener("focus",d,!0)})),_.get("returnFocus")&&ae.one(re,function(){t(_.el).focus()})}var p=parseFloat(_.get("opacity"));v.css({opacity:p===p?p:"",cursor:_.get("overlayClose")?"pointer":"",visibility:"visible"}).show(),_.get("closeButton")?B.html(_.get("close")).appendTo(b):B.appendTo("<div/>"),w()}}function p(){x||(V=!1,E=t(i),x=n(se).attr({id:Y,class:!1===t.support.opacity?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),v=n(se,"Overlay").hide(),L=t([n(se,"LoadingOverlay")[0],n(se,"LoadingGraphic")[0]]),y=n(se,"Wrapper"),b=n(se,"Content").append(F=n(se,"Title"),R=n(se,"Current"),P=t('<button type="button"/>').attr({id:Z+"Previous"}),K=t('<button type="button"/>').attr({id:Z+"Next"}),S=t('<button type="button"/>').attr({id:Z+"Slideshow"}),L),B=t('<button type="button"/>').attr({id:Z+"Close"}),y.append(n(se).append(n(se,"TopLeft"),T=n(se,"TopCenter"),n(se,"TopRight")),n(se,!1,"clear:left").append(C=n(se,"MiddleLeft"),b,H=n(se,"MiddleRight")),n(se,!1,"clear:left").append(n(se,"BottomLeft"),k=n(se,"BottomCenter"),n(se,"BottomRight"))).find("div div").css({float:"left"}),M=n(se,!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),O=K.add(P).add(R).add(S)),e.body&&!x.parent().length&&t(e.body).append(v,x.append(y,M))}function m(){function i(t){t.which>1||t.shiftKey||t.altKey||t.metaKey||t.ctrlKey||(t.preventDefault(),f(this))}return!!x&&(V||(V=!0,K.click(function(){J.next()}),P.click(function(){J.prev()}),B.click(function(){J.close()}),v.click(function(){_.get("overlayClose")&&J.close()}),t(e).bind("keydown."+Z,function(t){var e=t.keyCode;U&&_.get("escKey")&&27===e&&(t.preventDefault(),J.close()),U&&_.get("arrowKey")&&W[1]&&!t.altKey&&(37===e?(t.preventDefault(),P.click()):39===e&&(t.preventDefault(),K.click()))}),t.isFunction(t.fn.on)?t(e).on("click."+Z,"."+te,i):t("."+te).live("click."+Z,i)),!0)}function w(){var e,o,r,h=J.prep,d=++le;if($=!0,q=!1,u(he),u(ie),_.get("onLoad"),_.h=_.get("height")?a(_.get("height"),"y")-N-j:_.get("innerHeight")&&a(_.get("innerHeight"),"y"),_.w=_.get("width")?a(_.get("width"),"x")-z-D:_.get("innerWidth")&&a(_.get("innerWidth"),"x"),_.mw=_.w,_.mh=_.h,_.get("maxWidth")&&(_.mw=a(_.get("maxWidth"),"x")-z-D,_.mw=_.w&&_.w<_.mw?_.w:_.mw),_.get("maxHeight")&&(_.mh=a(_.get("maxHeight"),"y")-N-j,_.mh=_.h&&_.h<_.mh?_.h:_.mh),e=_.get("href"),Q=setTimeout(function(){L.show()},100),_.get("inline")){var c=t(e).eq(0);r=t("<div>").hide().insertBefore(c),ae.one(he,function(){r.replaceWith(c)}),h(c)}else _.get("iframe")?h(" "):_.get("html")?h(_.get("html")):s(_,e)?(e=l(_,e),q=_.get("createImg"),t(q).addClass(Z+"Photo").bind("error."+Z,function(){h(n(se,"Error").html(_.get("imgError")))}).one("load",function(){d===le&&setTimeout(function(){var e;_.get("retinaImage")&&i.devicePixelRatio>1&&(q.height=q.height/i.devicePixelRatio,q.width=q.width/i.devicePixelRatio),_.get("scalePhotos")&&(o=function(){q.height-=q.height*e,q.width-=q.width*e},_.mw&&q.width>_.mw&&(e=(q.width-_.mw)/q.width,o()),_.mh&&q.height>_.mh&&(e=(q.height-_.mh)/q.height,o())),_.h&&(q.style.marginTop=Math.max(_.mh-q.height,0)/2+"px"),W[1]&&(_.get("loop")||W[A+1])&&(q.style.cursor="pointer",t(q).bind("click."+Z,function(){J.next()})),q.style.width=q.width+"px",q.style.height=q.height+"px",h(q)},1)}),q.src=e):e&&M.load(e,_.get("data"),function(e,i){d===le&&h("error"===i?n(se,"Error").html(_.get("xhrError")):t(this).contents())})}var v,x,y,b,T,C,H,k,W,E,I,M,L,F,R,S,K,P,B,O,_,j,D,N,z,A,q,U,$,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return t(this).attr("href")},title:function(){return this.title},createImg:function(){var e=new Image,i=t(this).data("cbox-img-attrs");return"object"==typeof i&&t.each(i,function(t,i){e[t]=i}),e},createIframe:function(){var i=e.createElement("iframe"),n=t(this).data("cbox-iframe-attrs");return"object"==typeof n&&t.each(n,function(t,e){i[t]=e}),"frameBorder"in i&&(i.frameBorder=0),"allowTransparency"in i&&(i.allowTransparency="true"),i.name=(new Date).getTime(),i.allowFullscreen=!0,i}},Y="colorbox",Z="cbox",te=Z+"Element",ee=Z+"_open",ie=Z+"_load",ne=Z+"_complete",oe=Z+"_cleanup",re=Z+"_closed",he=Z+"_purge",ae=t("<a/>"),se="div",le=0,de={},ce=function(){function t(){clearTimeout(h)}function e(){(_.get("loop")||W[A+1])&&(t(),h=setTimeout(J.next,_.get("slideshowSpeed")))}function i(){S.html(_.get("slideshowStop")).unbind(s).one(s,n),ae.bind(ne,e).bind(ie,t),x.removeClass(a+"off").addClass(a+"on")}function n(){t(),ae.unbind(ne,e).unbind(ie,t),S.html(_.get("slideshowStart")).unbind(s).one(s,function(){J.next(),i()}),x.removeClass(a+"on").addClass(a+"off")}function o(){r=!1,S.hide(),t(),ae.unbind(ne,e).unbind(ie,t),x.removeClass(a+"off "+a+"on")}var r,h,a=Z+"Slideshow_",s="click."+Z;return function(){r?_.get("slideshow")||(ae.unbind(oe,o),o()):_.get("slideshow")&&W[1]&&(r=!0,ae.one(oe,o),_.get("slideshowAuto")?i():n(),S.show())}}();t[Y]||(t(p),J=t.fn[Y]=t[Y]=function(e,i){var n,o=this;return e=e||{},t.isFunction(o)&&(o=t("<a/>"),e.open=!0),o[0]?(p(),m()&&(i&&(e.onComplete=i),o.each(function(){var i=t.data(this,Y)||{};t.data(this,Y,t.extend(i,e))}).addClass(te),n=new r(o[0],e),n.get("open")&&f(o[0])),o):o},J.position=function(e,i){function n(){T[0].style.width=k[0].style.width=b[0].style.width=parseInt(x[0].style.width,10)-D+"px",b[0].style.height=C[0].style.height=H[0].style.height=parseInt(x[0].style.height,10)-j+"px"}var r,h,s,l=0,d=0,c=x.offset();if(E.unbind("resize."+Z),x.css({top:-9e4,left:-9e4}),h=E.scrollTop(),s=E.scrollLeft(),_.get("fixed")?(c.top-=h,c.left-=s,x.css({position:"fixed"})):(l=h,d=s,x.css({position:"absolute"})),d+=!1!==_.get("right")?Math.max(E.width()-_.w-z-D-a(_.get("right"),"x"),0):!1!==_.get("left")?a(_.get("left"),"x"):Math.round(Math.max(E.width()-_.w-z-D,0)/2),l+=!1!==_.get("bottom")?Math.max(o()-_.h-N-j-a(_.get("bottom"),"y"),0):!1!==_.get("top")?a(_.get("top"),"y"):Math.round(Math.max(o()-_.h-N-j,0)/2),x.css({top:c.top,left:c.left,visibility:"visible"}),y[0].style.width=y[0].style.height="9999px",r={width:_.w+z+D,height:_.h+N+j,top:l,left:d},e){var g=0;t.each(r,function(t){return r[t]!==de[t]?void(g=e):void 0}),e=g}de=r,e||x.css(r),x.dequeue().animate(r,{duration:e||0,complete:function(){n(),$=!1,y[0].style.width=_.w+z+D+"px",y[0].style.height=_.h+N+j+"px",_.get("reposition")&&setTimeout(function(){E.bind("resize."+Z,J.position)},1),t.isFunction(i)&&i()},step:n})},J.resize=function(t){var e;U&&(t=t||{},t.width&&(_.w=a(t.width,"x")-z-D),t.innerWidth&&(_.w=a(t.innerWidth,"x")),I.css({width:_.w}
1838),t.height&&(_.h=a(t.height,"y")-N-j),t.innerHeight&&(_.h=a(t.innerHeight,"y")),t.innerHeight||t.height||(e=I.scrollTop(),I.css({height:"auto"}),_.h=I.height()),I.css({height:_.h}),e&&I.scrollTop(e),J.position("none"===_.get("transition")?0:_.get("speed")))},J.prep=function(i){if(U){var d,g="none"===_.get("transition")?0:_.get("speed");I.remove(),I=n(se,"LoadedContent").append(i),I.hide().appendTo(M.show()).css({width:function(){return _.w=_.w||I.width(),_.w=_.mw&&_.mw<_.w?_.mw:_.w,_.w}(),overflow:_.get("scrolling")?"auto":"hidden"}).css({height:function(){return _.h=_.h||I.height(),_.h=_.mh&&_.mh<_.h?_.mh:_.h,_.h}()}).prependTo(b),M.hide(),t(q).css({float:"none"}),c(_.get("className")),d=function(){function i(){!1===t.support.opacity&&x[0].style.removeAttribute("filter")}var n,o,a=W.length;U&&(o=function(){clearTimeout(Q),L.hide(),u(ne),_.get("onComplete")},F.html(_.get("title")).show(),I.show(),a>1?("string"==typeof _.get("current")&&R.html(_.get("current").replace("{current}",A+1).replace("{total}",a)).show(),K[_.get("loop")||a-1>A?"show":"hide"]().html(_.get("next")),P[_.get("loop")||A?"show":"hide"]().html(_.get("previous")),ce(),_.get("preloading")&&t.each([h(-1),h(1)],function(){var i,n=W[this],o=new r(n,t.data(n,Y)),h=o.get("href");h&&s(o,h)&&(h=l(o,h),i=e.createElement("img"),i.src=h)})):O.hide(),_.get("iframe")?(n=_.get("createIframe"),_.get("scrolling")||(n.scrolling="no"),t(n).attr({src:_.get("href"),class:Z+"Iframe"}).one("load",o).appendTo(I),ae.one(he,function(){n.src="//about:blank"}),_.get("fastIframe")&&t(n).trigger("load")):o(),"fade"===_.get("transition")?x.fadeTo(g,1,i):i())},"fade"===_.get("transition")?x.fadeTo(g,0,function(){J.position(0,d)}):J.position(g,d)}},J.next=function(){!$&&W[1]&&(_.get("loop")||W[A+1])&&(A=h(1),f(W[A]))},J.prev=function(){!$&&W[1]&&(_.get("loop")||A)&&(A=h(-1),f(W[A]))},J.close=function(){U&&!G&&(G=!0,U=!1,u(oe),_.get("onCleanup"),E.unbind("."+Z),v.fadeTo(_.get("fadeOut")||0,0),x.stop().fadeTo(_.get("fadeOut")||0,0,function(){x.hide(),v.hide(),u(he),I.remove(),setTimeout(function(){G=!1,u(re),_.get("onClosed")},1)}))},J.remove=function(){x&&(x.stop(),t[Y].close(),x.stop(!1,!0).remove(),v.remove(),G=!1,x=null,t("."+te).removeData(Y).removeClass(te),t(e).unbind("click."+Z).unbind("keydown."+Z))},J.element=function(){return t(_.el)},J.settings=X)}(jQuery,document,window),function(factory){// eslint-disable-line no-extra-semi
1839"use strict";"function"==typeof define&&define.amd?
1840// AMD
1841define(["jquery"],factory):"undefined"!=typeof module&&module.exports?
1842// CommonJS
1843module.exports=factory(require("jquery")):
1844// Global
1845factory(jQuery)}(function($){/*
1846    *  internal
1847    */
1848var _previousResizeWidth=-1,_updateTimeout=-1,_parse=function(value){
1849// parse value and convert NaN to 0
1850return parseFloat(value)||0},_rows=function(elements){var $elements=$(elements),lastTop=null,rows=[];
1851// group elements by their top position
1852return $elements.each(function(){var $that=$(this),top=$that.offset().top-_parse($that.css("margin-top")),lastRow=rows.length>0?rows[rows.length-1]:null;null===lastRow?
1853// first item on the row, so just push it
1854rows.push($that):
1855// if the row top is the same, add to the row group
1856Math.floor(Math.abs(lastTop-top))<=1?rows[rows.length-1]=lastRow.add($that):
1857// otherwise start a new row group
1858rows.push($that),
1859// keep track of the last row top
1860lastTop=top}),rows},_parseOptions=function(options){var opts={byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof options?$.extend(opts,options):("boolean"==typeof options?opts.byRow=options:"remove"===options&&(opts.remove=!0),opts)},matchHeight=$.fn.matchHeight=function(options){var opts=_parseOptions(options);
1861// handle remove
1862if(opts.remove){var that=this;
1863// TODO: cleanup empty groups
1864// remove fixed height from all selected elements
1865// remove selected elements from all groups
1866return this.css(opts.property,""),$.each(matchHeight._groups,function(key,group){group.elements=group.elements.not(that)}),this}
1867// keep track of this group so we can re-apply later on load and resize events
1868// match each element's height to the tallest element in the selection
1869return this.length<=1&&!opts.target?this:(matchHeight._groups.push({elements:this,options:opts}),matchHeight._apply(this,opts),this)};/*
1870    *  plugin global options
1871    */
1872matchHeight.version="master",matchHeight._groups=[],matchHeight._throttle=80,matchHeight._maintainScroll=!1,matchHeight._beforeUpdate=null,matchHeight._afterUpdate=null,matchHeight._rows=_rows,matchHeight._parse=_parse,matchHeight._parseOptions=_parseOptions,/*
1873    *  matchHeight._apply
1874    *  apply matchHeight to given elements
1875    */
1876matchHeight._apply=function(elements,options){var opts=_parseOptions(options),$elements=$(elements),rows=[$elements],scrollTop=$(window).scrollTop(),htmlHeight=$("html").outerHeight(!0),$hiddenParents=$elements.parents().filter(":hidden");
1877// cache the original inline style
1878// temporarily must force hidden parents visible
1879// get rows if using byRow, otherwise assume one row
1880// must first force an arbitrary equal height so floating elements break evenly
1881// get the array of rows (based on element top position)
1882// revert original inline styles
1883// revert hidden parents
1884// restore scroll position if enabled
1885return $hiddenParents.each(function(){var $that=$(this);$that.data("style-cache",$that.attr("style"))}),$hiddenParents.css("display","block"),opts.byRow&&!opts.target&&($elements.each(function(){var $that=$(this),display=$that.css("display");
1886// temporarily force a usable display value
1887"inline-block"!==display&&"flex"!==display&&"inline-flex"!==display&&(display="block"),
1888// cache the original inline style
1889$that.data("style-cache",$that.attr("style")),$that.css({display:display,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),rows=_rows($elements),$elements.each(function(){var $that=$(this);$that.attr("style",$that.data("style-cache")||"")})),$.each(rows,function(key,row){var $row=$(row),targetHeight=0;if(opts.target)
1890// if target set, use the height of the target element
1891targetHeight=opts.target.outerHeight(!1);else{
1892// skip apply to rows with only one item
1893if(opts.byRow&&$row.length<=1)return void $row.css(opts.property,"");
1894// iterate the row and find the max height
1895$row.each(function(){var $that=$(this),display=$that.css("display");
1896// temporarily force a usable display value
1897"inline-block"!==display&&"flex"!==display&&"inline-flex"!==display&&(display="block");
1898// ensure we get the correct actual height (and not a previously set height value)
1899var css={display:display};css[opts.property]="",$that.css(css),
1900// find the max height (including padding, but not margin)
1901$that.outerHeight(!1)>targetHeight&&(targetHeight=$that.outerHeight(!1)),
1902// revert display block
1903$that.css("display","")})}
1904// iterate the row and apply the height to all elements
1905$row.each(function(){var $that=$(this),verticalPadding=0;
1906// don't apply to a target
1907opts.target&&$that.is(opts.target)||(
1908// handle padding and border correctly (required when not using border-box)
1909"border-box"!==$that.css("box-sizing")&&(verticalPadding+=_parse($that.css("border-top-width"))+_parse($that.css("border-bottom-width")),verticalPadding+=_parse($that.css("padding-top"))+_parse($that.css("padding-bottom"))),
1910// set the height (accounting for padding and border)
1911$that.css(opts.property,targetHeight-verticalPadding+"px"))})}),$hiddenParents.each(function(){var $that=$(this);$that.attr("style",$that.data("style-cache")||null)}),matchHeight._maintainScroll&&$(window).scrollTop(scrollTop/htmlHeight*$("html").outerHeight(!0)),this},/*
1912    *  matchHeight._applyDataApi
1913    *  applies matchHeight to all elements with a data-match-height attribute
1914    */
1915matchHeight._applyDataApi=function(){var groups={};
1916// generate groups by their groupId set by elements using data-match-height
1917$("[data-match-height], [data-mh]").each(function(){var $this=$(this),groupId=$this.attr("data-mh")||$this.attr("data-match-height");groups[groupId]=groupId in groups?groups[groupId].add($this):$this}),
1918// apply matchHeight to each group
1919$.each(groups,function(){this.matchHeight(!0)})};/*
1920    *  matchHeight._update
1921    *  updates matchHeight on all current groups with their correct options
1922    */
1923var _update=function(event){matchHeight._beforeUpdate&&matchHeight._beforeUpdate(event,matchHeight._groups),$.each(matchHeight._groups,function(){matchHeight._apply(this.elements,this.options)}),matchHeight._afterUpdate&&matchHeight._afterUpdate(event,matchHeight._groups)};matchHeight._update=function(throttle,event){
1924// prevent update if fired from a resize event
1925// where the viewport width hasn't actually changed
1926// fixes an event looping bug in IE8
1927if(event&&"resize"===event.type){var windowWidth=$(window).width();if(windowWidth===_previousResizeWidth)return;_previousResizeWidth=windowWidth}
1928// throttle updates
1929throttle?-1===_updateTimeout&&(_updateTimeout=setTimeout(function(){_update(event),_updateTimeout=-1},matchHeight._throttle)):_update(event)},/*
1930    *  bind events
1931    */
1932// apply on DOM ready event
1933$(matchHeight._applyDataApi),
1934// update heights on load and resize events
1935$(window).bind("load",function(event){matchHeight._update(!1,event)}),
1936// throttled update heights on resize events
1937$(window).bind("resize orientationchange",function(event){matchHeight._update(!0,event)})}),/*!
1938 * jQuery Validation Plugin v1.14.0
1939 *
1940 * http://jqueryvalidation.org/
1941 *
1942 * Copyright (c) 2015 Jörn Zaefferer
1943 * Released under the MIT license
1944 */
1945function(factory){"function"==typeof define&&define.amd?define(["jquery","./jquery.validate"],factory):factory(jQuery)}(function($){!function(){function stripHtml(value){
1946// remove html tags and space chars
1947return value.replace(/<.[^<>]*?>/g," ").replace(/&nbsp;|&#160;/gi," ").replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g,"")}$.validator.addMethod("maxWords",function(value,element,params){return this.optional(element)||stripHtml(value).match(/\b\w+\b/g).length<=params},$.validator.format("Please enter {0} words or less.")),$.validator.addMethod("minWords",function(value,element,params){return this.optional(element)||stripHtml(value).match(/\b\w+\b/g).length>=params},$.validator.format("Please enter at least {0} words.")),$.validator.addMethod("rangeWords",function(value,element,params){var valueStripped=stripHtml(value),regex=/\b\w+\b/g;return this.optional(element)||valueStripped.match(regex).length>=params[0]&&valueStripped.match(regex).length<=params[1]},$.validator.format("Please enter between {0} and {1} words."))}(),
1948// Accept a value from a file input based on a required mimetype
1949$.validator.addMethod("accept",function(value,element,param){
1950// Split mime on commas in case we have multiple types we can accept
1951var i,file,typeParam="string"==typeof param?param.replace(/\s/g,"").replace(/,/g,"|"):"image/*",optionalValue=this.optional(element);
1952// Element is optional
1953if(optionalValue)return optionalValue;if("file"===$(element).attr("type")&&(
1954// If we are using a wildcard, make it regex friendly
1955typeParam=typeParam.replace(/\*/g,".*"),element.files&&element.files.length))for(i=0;i<element.files.length;i++)
1956// Grab the mimetype from the loaded file, verify it matches
1957if(file=element.files[i],!file.type.match(new RegExp("\\.?("+typeParam+")$","i")))return!1;
1958// Either return true because we've validated each file, or because the
1959// browser does not support element.files and the FileList feature
1960return!0},$.validator.format("Please enter a value with a valid mimetype.")),$.validator.addMethod("alphanumeric",function(value,element){return this.optional(element)||/^\w+$/i.test(value)},"Letters, numbers, and underscores only please"),/*
1961 * Dutch bank account numbers (not 'giro' numbers) have 9 digits
1962 * and pass the '11 check'.
1963 * We accept the notation with spaces, as that is common.
1964 * acceptable: 123456789 or 12 34 56 789
1965 */
1966$.validator.addMethod("bankaccountNL",function(value,element){if(this.optional(element))return!0;
1966if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(value))return!1;
1967// now '11 check'
1968var pos,factor,digit,account=value.replace(/ /g,""),// remove spaces
1969sum=0,len=account.length;for(pos=0;pos<len;pos++)factor=len-pos,digit=account.substring(pos,pos+1),sum+=factor*digit;return sum%11==0},"Please specify a valid bank account number"),$.validator.addMethod("bankorgiroaccountNL",function(value,element){return this.optional(element)||$.validator.methods.bankaccountNL.call(this,value,element)||$.validator.methods.giroaccountNL.call(this,value,element)},"Please specify a valid bank or giro account number"),/**
1970 * BIC is the business identifier code (ISO 9362). This BIC check is not a guarantee for authenticity.
1971 *
1972 * BIC pattern: BBBBCCLLbbb (8 or 11 characters long; bbb is optional)
1973 *
1974 * BIC definition in detail:
1975 * - First 4 characters - bank code (only letters)
1976 * - Next 2 characters - ISO 3166-1 alpha-2 country code (only letters)
1977 * - Next 2 characters - location code (letters and digits)
1978 *   a. shall not start with '0' or '1'
1979 *   b. second character must be a letter ('O' is not allowed) or one of the following digits ('0' for test (therefore not allowed), '1' for passive participant and '2' for active participant)
1980 * - Last 3 characters - branch code, optional (shall not start with 'X' except in case of 'XXX' for primary office) (letters and digits)
1981 */
1982$.validator.addMethod("bic",function(value,element){return this.optional(element)||/^([A-Z]{6}[A-Z2-9][A-NP-Z1-2])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test(value)},"Please specify a valid BIC code"),/*
1983 * Código de identificación fiscal ( CIF ) is the tax identification code for Spanish legal entities
1984 * Further rules can be found in Spanish on http://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal
1985 */
1986$.validator.addMethod("cifES",function(value){"use strict";var controlDigit,sum,i,count,tmp,secondDigit,num=[];
1987// Quick format test
1988if(value=value.toUpperCase(),!value.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)"))return!1;for(i=0;i<9;i++)num[i]=parseInt(value.charAt(i),10);for(
1989// Algorithm for checking CIF codes
1990sum=num[2]+num[4]+num[6],count=1;count<8;count+=2)tmp=(2*num[count]).toString(),secondDigit=tmp.charAt(1),sum+=parseInt(tmp.charAt(0),10)+(""===secondDigit?0:parseInt(secondDigit,10));/* The first (position 1) is a letter following the following criteria:
1991	 *	A. Corporations
1992	 *	B. LLCs
1993	 *	C. General partnerships
1994	 *	D. Companies limited partnerships
1995	 *	E. Communities of goods
1996	 *	F. Cooperative Societies
1997	 *	G. Associations
1998	 *	H. Communities of homeowners in horizontal property regime
1999	 *	J. Civil Societies
2000	 *	K. Old format
2001	 *	L. Old format
2002	 *	M. Old format
2003	 *	N. Nonresident entities
2004	 *	P. Local authorities
2005	 *	Q. Autonomous bodies, state or not, and the like, and congregations and religious institutions
2006	 *	R. Congregations and religious institutions (since 2008 ORDER EHA/451/2008)
2007	 *	S. Organs of State Administration and regions
2008	 *	V. Agrarian Transformation
2009	 *	W. Permanent establishments of non-resident in Spain
2010	 */
2011/* The first (position 1) is a letter following the following criteria:
2012	 *	A. Corporations
2013	 *	B. LLCs
2014	 *	C. General partnerships
2015	 *	D. Companies limited partnerships
2016	 *	E. Communities of goods
2017	 *	F. Cooperative Societies
2018	 *	G. Associations
2019	 *	H. Communities of homeowners in horizontal property regime
2020	 *	J. Civil Societies
2021	 *	K. Old format
2022	 *	L. Old format
2023	 *	M. Old format
2024	 *	N. Nonresident entities
2025	 *	P. Local authorities
2026	 *	Q. Autonomous bodies, state or not, and the like, and congregations and religious institutions
2027	 *	R. Congregations and religious institutions (since 2008 ORDER EHA/451/2008)
2028	 *	S. Organs of State Administration and regions
2029	 *	V. Agrarian Transformation
2030	 *	W. Permanent establishments of non-resident in Spain
2031	 */
2032return!!/^[ABCDEFGHJNPQRSUVW]{1}/.test(value)&&(sum+="",controlDigit=10-parseInt(sum.charAt(sum.length-1),10),value+=controlDigit,num[8].toString()===String.fromCharCode(64+controlDigit)||num[8].toString()===value.charAt(value.length-1))},"Please specify a valid CIF number."),/*
2033 * Brazillian CPF number (Cadastrado de Pessoas Físicas) is the equivalent of a Brazilian tax registration number.
2034 * CPF numbers have 11 digits in total: 9 numbers followed by 2 check numbers that are being used for validation.
2035 */
2036$.validator.addMethod("cpfBR",function(value){
2037// Checking value to have 11 digits only
2038if(
2039// Removing special characters from value
2040value=value.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==value.length)return!1;var firstCN,secondCN,checkResult,i,sum=0;
2041// Checking for dump data
2042if(firstCN=parseInt(value.substring(9,10),10),secondCN=parseInt(value.substring(10,11),10),checkResult=function(sum,cn){var result=10*sum%11;return 10!==result&&11!==result||(result=0),result===cn},""===value||"00000000000"===value||"11111111111"===value||"22222222222"===value||"33333333333"===value||"44444444444"===value||"55555555555"===value||"66666666666"===value||"77777777777"===value||"88888888888"===value||"99999999999"===value)return!1;
2043// Step 1 - using first Check Number:
2044for(i=1;i<=9;i++)sum+=parseInt(value.substring(i-1,i),10)*(11-i);
2045// If first Check Number (CN) is valid, move to Step 2 - using second Check Number:
2046if(checkResult(sum,firstCN)){for(sum=0,i=1;i<=10;i++)sum+=parseInt(value.substring(i-1,i),10)*(12-i);return checkResult(sum,secondCN)}return!1},"Please specify a valid CPF number"),/* NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator
2047 * Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0
2048 * Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings)
2049 */
2050$.validator.addMethod("creditcardtypes",function(value,element,param){if(/[^0-9\-]+/.test(value))return!1;value=value.replace(/\D/g,"");var validTypes=0;return param.mastercard&&(validTypes|=1),param.visa&&(validTypes|=2),param.amex&&(validTypes|=4),param.dinersclub&&(validTypes|=8),param.enroute&&(validTypes|=16),param.discover&&(validTypes|=32),param.jcb&&(validTypes|=64),param.unknown&&(validTypes|=128),param.all&&(validTypes=255),1&validTypes&&/^(5[12345])/.test(value)?16===value.length:2&val
vendor: 9,337 bytes, lines 2050-2132
2050idTypes&&/^(4)/.test(value)?16===value.length:4&validTypes&&/^(3[47])/.test(value)?15===value.length:8&validTypes&&/^(3(0[012345]|[68]))/.test(value)?14===value.length:16&validTypes&&/^(2(014|149))/.test(value)?15===value.length:32&validTypes&&/^(6011)/.test(value)?16===value.length:64&validTypes&&/^(3)/.test(value)?16===value.length:64&validTypes&&/^(2131|1800)/.test(value)?15===value.length:!!(128&validTypes)},"Please enter a valid credit card number."),/**
2051 * Validates currencies with any given symbols by @jameslouiz
2052 * Symbols can be optional or required. Symbols required by default
2053 *
2054 * Usage examples:
2055 *  currency: ["£", false] - Use false for soft currency validation
2056 *  currency: ["$", false]
2057 *  currency: ["RM", false] - also works with text based symbols such as "RM" - Malaysia Ringgit etc
2058 *
2059 *  <input class="currencyInput" name="currencyInput">
2060 *
2061 * Soft symbol checking
2062 *  currencyInput: {
2063 *     currency: ["$", false]
2064 *  }
2065 *
2066 * Strict symbol checking (default)
2067 *  currencyInput: {
2068 *     currency: "$"
2069 *     //OR
2070 *     currency: ["$", true]
2071 *  }
2072 *
2073 * Multiple Symbols
2074 *  currencyInput: {
2075 *     currency: "$,£,¢"
2076 *  }
2077 */
2078$.validator.addMethod("currency",function(value,element,param){var regex,isParamString="string"==typeof param,symbol=isParamString?param:param[0],soft=!!isParamString||param[1];return symbol=symbol.replace(/,/g,""),symbol=soft?symbol+"]":symbol+"]?",regex="^["+symbol+"([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$",regex=new RegExp(regex),this.optional(element)||regex.test(value)},"Please specify a valid currency"),$.validator.addMethod("dateFA",function(value,element){return this.optional(element)||/^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(value)},$.validator.messages.date),/**
2079 * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy.
2080 *
2081 * @example $.validator.methods.date("01/01/1900")
2082 * @result true
2083 *
2084 * @example $.validator.methods.date("01/13/1990")
2085 * @result false
2086 *
2087 * @example $.validator.methods.date("01.01.1900")
2088 * @result false
2089 *
2090 * @example <input name="pippo" class="{dateITA:true}" />
2091 * @desc Declares an optional input element whose value must be a valid date.
2092 *
2093 * @name $.validator.methods.dateITA
2094 * @type Boolean
2095 * @cat Plugins/Validate/Methods
2096 */
2097$.validator.addMethod("dateITA",function(value,element){var adata,gg,mm,aaaa,xdata,check=!1,re=/^\d{1,2}\/\d{1,2}\/\d{4}$/;return re.test(value)?(adata=value.split("/"),gg=parseInt(adata[0],10),mm=parseInt(adata[1],10),aaaa=parseInt(adata[2],10),xdata=new Date(Date.UTC(aaaa,mm-1,gg,12,0,0,0)),check=xdata.getUTCFullYear()===aaaa&&xdata.getUTCMonth()===mm-1&&xdata.getUTCDate()===gg):check=!1,this.optional(element)||check},$.validator.messages.date),$.validator.addMethod("dateNL",function(value,element){return this.optional(element)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(value)},$.validator.messages.date),
2098// Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept
2099$.validator.addMethod("extension",function(value,element,param){return param="string"==typeof param?param.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(element)||value.match(new RegExp("\\.("+param+")$","i"))},$.validator.format("Please enter a value with a valid extension.")),/**
2100 * Dutch giro account numbers (not bank numbers) have max 7 digits
2101 */
2102$.validator.addMethod("giroaccountNL",function(value,element){return this.optional(element)||/^[0-9]{1,7}$/.test(value)},"Please specify a valid giro account number"),/**
2103 * IBAN is the international bank account number.
2104 * It has a country - specific format, that is checked here too
2105 */
2106$.validator.addMethod("iban",function(value,element){
2107// some quick simple tests to prevent needless work
2108if(this.optional(element))return!0;
2109// remove spaces and to upper case
2110var countrycode,ibancheck,charAt,cChar,bbanpattern,bbancountrypatterns,ibanregexp,i,p,iban=value.replace(/ /g,"").toUpperCase(),ibancheckdigits="",leadingZeroes=!0,cRest="",cOperator="";
2111// As new countries will start using IBAN in the
2112// future, we only check if the countrycode is known.
2113// This prevents false negatives, while almost all
2114// false positives introduced by this, will be caught
2115// by the checksum validation below anyway.
2116// Strict checking should return FALSE for unknown
2117// countries.
2118if(
2119// check the country code and find the country specific format
2120countrycode=iban.substring(0,2),bbancountrypatterns={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},void 0!==(bbanpattern=bbancountrypatterns[countrycode])&&(ibanregexp=new RegExp("^[A-Z]{2}\\d{2}"+bbanpattern+"$",""),!ibanregexp.test(iban)))return!1;for(
2121// now check the checksum, first convert to digits
2122ibancheck=iban.substring(4,iban.length)+iban.substring(0,4),i=0;i<ibancheck.length;i++)charAt=ibancheck.charAt(i),"0"!==charAt&&(leadingZeroes=!1),leadingZeroes||(ibancheckdigits+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(charAt));
2123// calculate the result of: ibancheckdigits % 97
2124for(p=0;p<ibancheckdigits.length;p++)cChar=ibancheckdigits.charAt(p),cOperator=""+cRest+cChar,cRest=cOperator%97;return 1===cRest},"Please specify a valid IBAN"),$.validator.addMethod("integer",function(value,element){return this.optional(element)||/^-?\d+$/.test(value)},"A positive or negative non-decimal number please"),$.validator.addMethod("ipv4",function(value,element){return this.optional(element)||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(value)},"Please enter a valid IP v4 address."),$.validator.addMethod("ipv6",function(value,element){return this.optional(element)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value)},"Please enter a valid IP v6 address."),$.validator.addMethod("lettersonly",function(value,element){return this.optional(element)||/^[a-z]+$/i.test(value)},"Letters only please"),$.validator.addMethod("letterswithbasicpunc",function(value,element){return this.optional(element)||/^[a-z\-.,()'"\s]+$/i.test(value)},"Letters or punctuation only please"),$.validator.addMethod("mobileNL",function(value,element){return this.optional(element)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(value)},"Please specify a valid mobile number"),/* For UK phone functions, do the following server side processing:
2125 * Compare original input with this RegEx pattern:
2126 * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$
2127 * Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0'
2128 * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2.
2129 * A number of very detailed GB telephone number RegEx patterns can also be found at:
2130 * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
2131 */
2132$.validator.addMethod("mobileUK",function(phone_number,element){return phone_number=phone_number.replace(/\(|\)|\s+|-/g,""),this.optional(element)||phone_number.length>
21329&&phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),/*
2133 * The número de identidad de extranjero ( NIE )is a code used to identify the non-nationals in Spain
2134 */
2135$.validator.addMethod("nieES",function(value){"use strict";
2136// Basic format test
2137// Basic format test
2138// Test NIE
2139//T
2140//XYZ
2141return value=value.toUpperCase(),!!value.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")&&(/^[T]{1}/.test(value)?value[8]===/^[T]{1}[A-Z0-9]{8}$/.test(value):!!/^[XYZ]{1}/.test(value)&&value[8]==="TRWAGMYFPDXBNJZSQVHLCKE".charAt(value.replace("X","0").replace("Y","1").replace("Z","2").substring(0,8)%23))},"Please specify a valid NIE number."),/*
2142 * The Número de Identificación Fiscal ( NIF ) is the way tax identification used in Spain for individuals
2143 */
2144$.validator.addMethod("nifES",function(value){"use strict";
2145// Basic format test
2146// Basic format test
2147// Test NIF
2148// Test specials NIF (starts with K, L or M)
2149return value=value.toUpperCase(),!!value.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")&&(/^[0-9]{8}[A-Z]{1}$/.test(value)?"TRWAGMYFPDXBNJZSQVHLCKE".charAt(value.substring(8,0)%23)===value.charAt(8):!!/^[KLM]{1}/.test(value)&&value[8]===String.fromCharCode(64))},"Please specify a valid NIF number."),jQuery.validator.addMethod("notEqualTo",function(value,element,param){return this.optional(element)||!$.validator.methods.equalTo.call(this,value,element,param)},"Please enter a different value, values must not be the same."),$.validator.addMethod("nowhitespace",function(value,element){return this.optional(element)||/^\S+$/i.test(value)},"No white space please"),/**
2150* Return true if the field value matches the given format RegExp
2151*
2152* @example $.validator.methods.pattern("AR1004",element,/^AR\d{4}$/)
2153* @result true
2154*
2155* @example $.validator.methods.pattern("BR1004",element,/^AR\d{4}$/)
2156* @result false
2157*
2158* @name $.validator.methods.pattern
2159* @type Boolean
2160* @cat Plugins/Validate/Methods
2161*/
2162$.validator.addMethod("pattern",function(value,element,param){return!!this.optional(element)||("string"==typeof param&&(param=new RegExp("^(?:"+param+")$")),param.test(value))},"Invalid format."),/**
2163 * Dutch phone numbers have 10 digits (or 11 and start with +31).
2164 */
2165$.validator.addMethod("phoneNL",function(value,element){return this.optional(element)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(value)},"Please specify a valid phone number."),/* For UK phone functions, do the following server side processing:
2166 * Compare original input with this RegEx pattern:
2167 * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$
2168 * Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0'
2169 * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2.
2170 * A number of very detailed GB telephone number RegEx patterns can also be found at:
2171 * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
2172 */
2173$.validator.addMethod("phoneUK",function(phone_number,element){return phone_number=phone_number.replace(/\(|\)|\s+|-/g,""),this.optional(element)||phone_number.length>9&&phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),/**
2174 * matches US phone number format
2175 *
2176 * where the area code may not start with 1 and the prefix may not start with 1
2177 * allows '-' or ' ' as a separator and allows parens around area code
2178 * some people may want to put a '1' in front of their number
2179 *
2180 * 1(212)-999-2345 or
2181 * 212 999 2344 or
2182 * 212-999-0983
2183 *
2184 * but not
2185 * 111-123-5434
2186 * and not
2187 * 212 123 4567
2188 */
2189$.validator.addMethod("phoneUS",function(phone_number,element){return phone_number=phone_number.replace(/\s+/g,""),this.optional(element)||phone_number.length>9&&phone_number.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/)},"Please specify a valid phone number"),/* For UK phone functions, do the following server side processing:
2190 * Compare original input with this RegEx pattern:
2191 * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$
2192 * Extract $1 and set $prefix to '+44<space>' if $1 is '44', otherwise set $prefix to '0'
2193 * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2.
2194 * A number of very detailed GB telephone number RegEx patterns can also be found at:
2195 * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers
2196 */
2197//Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers
2198$.validator.addMethod("phonesUK",function(phone_number,element){return phone_number=phone_number.replace(/\(|\)|\s+|-/g,""),this.optional(element)||phone_number.length>
vendor: 4,954 bytes, lines 2198-2269
21989&&phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),/**
2199 * Matches a valid Canadian Postal Code
2200 *
2201 * @example jQuery.validator.methods.postalCodeCA( "H0H 0H0", element )
2202 * @result true
2203 *
2204 * @example jQuery.validator.methods.postalCodeCA( "H0H0H0", element )
2205 * @result false
2206 *
2207 * @name jQuery.validator.methods.postalCodeCA
2208 * @type Boolean
2209 * @cat Plugins/Validate/Methods
2210 */
2211$.validator.addMethod("postalCodeCA",function(value,element){return this.optional(element)||/^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test(value)},"Please specify a valid postal code"),/*
2212* Valida CEPs do brasileiros:
2213*
2214* Formatos aceitos:
2215* 99999-999
2216* 99.999-999
2217* 99999999
2218*/
2219$.validator.addMethod("postalcodeBR",function(cep_value,element){return this.optional(element)||/^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test(cep_value)},"Informe um CEP válido."),/* Matches Italian postcode (CAP) */
2220$.validator.addMethod("postalcodeIT",function(value,element){return this.optional(element)||/^\d{5}$/.test(value)},"Please specify a valid postal code"),$.validator.addMethod("postalcodeNL",function(value,element){return this.optional(element)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(value)},"Please specify a valid postal code"),
2221// Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK)
2222$.validator.addMethod("postcodeUK",function(value,element){return this.optional(element)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(value)},"Please specify a valid UK postcode"),/*
2223 * Lets you say "at least X inputs that match selector Y must be filled."
2224 *
2225 * The end result is that neither of these inputs:
2226 *
2227 *	<input class="productinfo" name="partnumber">
2228 *	<input class="productinfo" name="description">
2229 *
2230 *	...will validate unless at least one of them is filled.
2231 *
2232 * partnumber:	{require_from_group: [1,".productinfo"]},
2233 * description: {require_from_group: [1,".productinfo"]}
2234 *
2235 * options[0]: number of fields that must be filled in the group
2236 * options[1]: CSS selector that defines the group of conditionally required fields
2237 */
2238$.validator.addMethod("require_from_group",function(value,element,options){var $fields=$(options[1],element.form),$fieldsFirst=$fields.eq(0),validator=$fieldsFirst.data("valid_req_grp")?$fieldsFirst.data("valid_req_grp"):$.extend({},this),isValid=$fields.filter(function(){return validator.elementValue(this)}).length>=options[0];
2239// Store the cloned validator for future validation
2240// If element isn't being validated, run each require_from_group field's validation rules
2241return $fieldsFirst.data("valid_req_grp",validator),$(element).data("being_validated")||($fields.data("being_validated",!0),$fields.each(function(){validator.element(this)}),$fields.data("being_validated",!1)),isValid},$.validator.format("Please fill at least {0} of these fields.")),/*
2242 * Lets you say "either at least X inputs that match selector Y must be filled,
2243 * OR they must all be skipped (left blank)."
2244 *
2245 * The end result, is that none of these inputs:
2246 *
2247 *	<input class="productinfo" name="partnumber">
2248 *	<input class="productinfo" name="description">
2249 *	<input class="productinfo" name="color">
2250 *
2251 *	...will validate unless either at least two of them are filled,
2252 *	OR none of them are.
2253 *
2254 * partnumber:	{skip_or_fill_minimum: [2,".productinfo"]},
2255 * description: {skip_or_fill_minimum: [2,".productinfo"]},
2256 * color:		{skip_or_fill_minimum: [2,".productinfo"]}
2257 *
2258 * options[0]: number of fields that must be filled in the group
2259 * options[1]: CSS selector that defines the group of conditionally required fields
2260 *
2261 */
2262$.validator.addMethod("skip_or_fill_minimum",function(value,element,options){var $fields=$(options[1],element.form),$fieldsFirst=$fields.eq(0),validator=$fieldsFirst.data("valid_skip")?$fieldsFirst.data("valid_skip"):$.extend({},this),numberFilled=$fields.filter(function(){return validator.elementValue(this)}).length,isValid=0===numberFilled||numberFilled>=options[0];
2263// Store the cloned validator for future validation
2264// If element isn't being validated, run each skip_or_fill_minimum field's validation rules
2265return $fieldsFirst.data("valid_skip",validator),$(element).data("being_validated")||($fields.data("being_validated",!0),$fields.each(function(){validator.element(this)}),$fields.data("being_validated",!1)),isValid},$.validator.format("Please either skip these fields or fill at least {0} of them.")),/* Validates US States and/or Territories by @jdforsythe
2266 * Can be case insensitive or require capitalization - default is case insensitive
2267 * Can include US Territories or not - default does not
2268 * Can include US Military postal abbreviations (AA, AE, AP) - default does not
2269 *
2270 * Note: "States" always includes DC (District of Colombia)
2271 *
2272 * Usage examples:
2273 *
2274 *  This is the default - case insensitive, no territories, no military zones
2275 *  stateInput: {
2276 *     caseSensitive: false,
2277 *     includeTerritories: false,
2278 *     includeMilitary: false
2279 *  }
2280 *
2281 *  Only allow capital letters, no territories, no military zones
2282 *  stateInput: {
2283 *     caseSensitive: false
2284 *  }
2285 *
2286 *  Case insensitive, include territories but not military zones
2287 *  stateInput: {
2288 *     includeTerritories: true
2289 *  }
2290 *
2291 *  Only allow capital letters, include territories and military zones
2292 *  stateInput: {
2293 *     caseSensitive: true,
2294 *     includeTerritories: true,
2295 *     includeMilitary: true
2296 *  }
2297 *
2298 *
2299 *
2300 */
2301$.validator.addMethod("stateUS",function(value,element,options){var regex,isDefault=void 0===options,caseSensitive=!isDefault&&void 0!==options.caseSensitive&&options.caseSensitive,includeTerritories=!isDefault&&void 0!==options.includeTerritories&&options.includeTerritories,includeMilitary=!isDefault&&void 0!==options.includeMilitary&&options.includeMilitary;return regex=includeTerritories||includeMilitary?includeTerritories&&includeMilitary?"^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":includeTerritories?"^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":"^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$":"^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$",regex=caseSensitive?new RegExp(regex):new RegExp(regex,"i"),this.optional(element)||regex.test(value)},"Please specify a valid state"),
2302// TODO check if value starts with <, otherwise don't try stripping anything
2303$.validator.addMethod("strippedminlength",function(value,element,param){return $(value).text().length>=param},$.validator.format("Please enter at least {0} characters")),$.validator.addMethod("time",function(value,element){return this.optional(element)||/^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(value)},"Please enter a valid time, between 00:00 and 23:59"),$.validator.addMethod("time12h",function(value,element){return this.optional(element)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(value)},"Please enter a valid time in 12-hour am/pm format"),
2304// same as url, but TLD is optional
2305$.validator.addMethod("url2",function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value)},$.validator.messages.url),/**
2306 * Return true, if the value is a valid vehicle identification number (VIN).
2307 *
2308 * Works with all kind of text inputs.
2309 *
2310 * @example <input type="text" size="20" name="VehicleID" class="{required:true,vinUS:true}" />
2311 * @desc Declares a required input element whose value must be a valid vehicle identification number.
2312 *
2313 * @name $.validator.methods.vinUS
2314 * @type Boolean
2315 * @cat Plugins/Validate/Methods
2316 */
2317$.validator.addMethod("vinUS",function(v){if(17!==v.length)return!1;var i,n,d,f,cd,cdv,LL=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],VL=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],FL=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],rs=0;for(i=0;i<17;i++){if(f=FL[i],d=v.slice(i,i+1),8===i&&(cdv=d),isNaN(d)){for(n=0;n<LL.length;n++)if(d.toUpperCase()===LL[n]){d=VL[n],d*=f,isNaN(cdv)&&8===n&&(cdv=LL[n]);break}}else d*=f;rs+=d}return cd=rs%11,10===cd&&(cd="X"),cd===cdv}
2317,"The specified vehicle identification number (VIN) is invalid."),$.validator.addMethod("zipcodeUS",function(value,element){return this.optional(element)||/^\d{5}(-\d{4})?$/.test(value)},"The specified US ZIP Code is invalid"),$.validator.addMethod("ziprange",function(value,element){return this.optional(element)||/^90[2-5]\d\{2\}-\d{4}$/.test(value)},"Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx")}),/*!
2318	* myTabs v2.0.2?
2319	* Copyright (c) 2018 AYC Media
2320	* Dual licensed under the MIT and GPL licenses:
2321	* http://www.opensource.org/licenses/mit-license.php
2322	* http://www.gnu.org/licenses/gpl.html
2323**/
2324function($){$.fn.myTabs=function(options){
2325// allows for chaining
2326return this.each(function(){
2327// Variables
2328var $wrap=$(this),$tabsNavToggle=$wrap.find(".tabs-nav-toggle"),$tabsNav=$wrap.find(".tabs-nav"),$tabsUl=$tabsNav.find("ul"),$tabsLink=($tabsNav.find("li"),$tabsNav.find("a")),$tabSct=$wrap.find(".tab-sct"),selected_index=0,initial_load=!0,plugin={tabKeyBindings:function(){$tabsLink.on("keydown",function(e){e.preventDefault();var exit_nav=!1,k=e.which||e.keyCode;k>=37&&k<=40&&(37===k||38===k?selected_index>-1&&selected_index--:39!==k&&40!==k||(selected_index<$tabsLink.length-1?selected_index++:(selected_index=$tabsLink.length-1,exit_nav=!0)),selected_index>-1?!0===exit_nav?(exit_nav=!1,$tabSct.filter(".current").eq(0).focus()):$tabsLink.eq(selected_index).focus():(selected_index=0,$tabsNavToggle.is(":visible")?$tabsNavToggle.focus():$wrap.focus())),9===k&&(e.shiftKey?selected_index>-1&&selected_index--:selected_index<$tabsLink.length-1?selected_index++:(selected_index=$tabsLink.length-1,exit_nav=!0),selected_index>-1?!0===exit_nav?(exit_nav=!1,$tabSct.filter(".current").eq(0).focus()):$tabsLink.eq(selected_index).focus():(selected_index=0,$tabsNavToggle.is(":visible")?$tabsNavToggle.focus():$wrap.focus())),13===k&&$(this).click()}),$(document).on("focusout",$tabsNav,function(e){$tabsNav.attr({tabindex:"0"}),$(e.relatedTarget).parents(".tabs-nav").length<1&&$tabsNavToggle.is(":visible")&&$tabsNavToggle.hasClass("active")&&($tabsUl.slideUp("fast"),$tabsNavToggle.removeClass("active").attr("aria-expanded","false"))})},tabClick:function(){
2329// Tab Link Click
2330$tabsLink.on("click",function(e){e.preventDefault(),selected_index=$.inArray(this,$tabsLink);var $current_content=$("#"+this.href.split("#")[1]);if(!$(this).parent().hasClass("current")){var $this=$(this),$newLi=$this.parent(),tabId=$this.attr("href"),$tabId=$(tabId);$tabsLink.parent().removeClass("current"),$.when($tabSct.removeClass("current")).done(function(){$tabId.addClass("current"),initial_load||$tabId.focus()}),$newLi.addClass("current"),$tabsLink.attr({"aria-selected":"false"}),$tabsLink.eq(selected_index).attr({"aria-selected":"true"}),$tabSct.attr({tabindex:"-1","aria-hidden":"true"}),$tabSct.find("a, button, [tabindex], h1, h2, h3, h4, h5, h6, p, img, .error, .entry-content li").not('[tabindex^="-1"]').each(function(i){$(this).attr("tabindex",-2)}),$current_content.attr({tabindex:"0","aria-hidden":"false"}),$current_content.find("a, button, [tabindex], h1, h2, h3, h4, h5, h6, p, img, .error, .entry-content li").not('[tabindex^="-1"]').each(function(i){$(this).attr("tabindex",0)}),toggleTxt=$this.text(),$tabsNavToggle.text(toggleTxt),$tabsNavToggle.hasClass("active")&&($tabsNavToggle.removeClass("active").attr("aria-expanded","false"),$tabsUl.slideUp("fast"))}initial_load||$current_content.focus()})},navToggle:function(){
2331// Tabs Nav Toggle
2332$tabsNavToggle.on("click",function(e){e.preventDefault(),$tabsNavToggle.hasClass("active")?($tabsUl.slideUp("fast"),$tabsNavToggle.removeClass("active").attr("aria-expanded","false")):($tabsUl.slideDown("fast"),$tabsLink.eq(selected_index).focus(),$tabsNavToggle.addClass("active").attr("aria-expanded","true"))})},openCurrent:function(){
2333// Determine Initial Tab
2334var hash=window.location.hash;""===hash||null===hash||void 0===hash?$tabsLink.eq(0).click():// tab selected from previous page
2335$wrap.find(hash).hasClass("tab-sct")?$(".tabs-nav a[href='"+hash+"']").click():$tabsLink.eq(0).click(),initial_load=!1},init:function(){$wrap.attr({tabindex:"0"}),$tabsNav.attr({tabindex:"0"}),$tabsLink.attr({tabindex:"-1"}),$tabsNav.on("focus",function(e){$tabsNavToggle.is(":visible")?$tabsNavToggle.focus():$tabsLink.eq(selected_index).focus()}),
2336// Initialize Plugin Functions
2337plugin.tabKeyBindings(),plugin.tabClick(),plugin.navToggle(),plugin.openCurrent()}};
2338// START IT ALL
2339plugin.init()})}}(jQuery),function(window,document,$){function args(elem){var newAttrs={},rinlinejQuery=/^jQuery\d+$/;return $.each(elem.attributes,function(i,attr){attr.specified&&!rinlinejQuery.test(attr.name)&&(newAttrs[attr.name]=attr.value)}),newAttrs}
2339function clearPlaceholder(event,value){var input=this,$input=$(input);if(input.value==$input.attr("placeholder")&&$input.hasClass("placeholder"))if($input.data("placeholder-password")){if($input=$input.hide().next().show().attr("id",$input.removeAttr("id").data("placeholder-id")),!0===event)return $input[0].value=value;$input.focus()}else input.value="",$input.removeClass("placeholder"),input==safeActiveElement()&&input.select()}function setPlaceholder(){var $replacement,input=this,$input=$(input),id=this.id;if(""==input.value){if("password"==input.type){if(!$input.data("placeholder-textinput")){try{$replacement=$input.clone().attr({type:"text"})}catch(e){$replacement=$("<input>").attr($.extend(args(this),{type:"text"}))}$replacement.removeAttr("name").data({"placeholder-password":$input,"placeholder-id":id}).bind("focus.placeholder",clearPlaceholder),$input.data({"placeholder-textinput":$replacement,"placeholder-id":id}).before($replacement)}$input=$input.removeAttr("id").hide().prev().attr("id",id).show()}$input.addClass("placeholder"),$input[0].value=$input.attr("placeholder")}else $input.removeClass("placeholder")}function safeActiveElement(){try{return document.activeElement}catch(err){}}var hooks,placeholder,isInputSupported="placeholder"in document.createElement("input"),isTextareaSupported="placeholder"in document.createElement("textarea"),prototype=$.fn,valHooks=$.valHooks,propHooks=$.propHooks;isInputSupported&&isTextareaSupported?(placeholder=prototype.placeholder=function(){return this},placeholder.input=placeholder.textarea=!0):(placeholder=prototype.placeholder=function(){var $this=this;return $this.filter((isInputSupported?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":clearPlaceholder,"blur.placeholder":setPlaceholder}).data("placeholder-enabled",!0).trigger("blur.placeholder"),$this},placeholder.input=isInputSupported,placeholder.textarea=isTextareaSupported,hooks={get:function(element){var $element=$(element),$passwordInput=$element.data("placeholder-password");return $passwordInput?$passwordInput[0].value:$element.data("placeholder-enabled")&&$element.hasClass("placeholder")?"":element.value},set:function(element,value){var $element=$(element),$passwordInput=$element.data("placeholder-password");return $passwordInput?$passwordInput[0].value=value:$element.data("placeholder-enabled")?(""==value?(element.value=value,element!=safeActiveElement()&&setPlaceholder.call(element)):$element.hasClass("placeholder")?clearPlaceholder.call(element,!0,value)||(element.value=value):element.value=value,$element):element.value=value}},isInputSupported||(valHooks.input=hooks,propHooks.value=hooks),isTextareaSupported||(valHooks.textarea=hooks,propHooks.value=hooks),$(function(){$(document).delegate("form","submit.placeholder",function(){var $inputs=$(".placeholder",this).each(clearPlaceholder);setTimeout(function(){$inputs.each(setPlaceholder)},10)})}),$(window).bind("beforeunload.placeholder",function(){$(".placeholder").each(function(){this.value=""})}))}(this,document,jQuery),function(factory){"use strict";"function"==typeof define&&define.amd?define(["jquery"],factory):"undefined"!=typeof exports?module.exports=factory(require("jquery")):factory(jQuery)}(function($){"use strict";var Slick=window.Slick||{};Slick=function(){function Slick(element,settings){var dataSettings,_=this;_.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:$(element),appendDots:$(element),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(slider,i){return $('<button type="button" />').text(i+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},_.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,
vendor: 8,646 bytes, lines 2339-2343
2339sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},$.extend(_,_.initials),_.activeBreakpoint=null,_.animType=null,_.animProp=null,_.breakpoints=[],_.breakpointSettings=[],_.cssTransitions=!1,_.focussed=!1,_.interrupted=!1,_.hidden="hidden",_.paused=!0,_.positionProp=null,_.respondTo=null,_.rowCount=1,_.shouldClick=!0,_.$slider=$(element),_.$slidesCache=null,_.transformType=null,_.transitionType=null,_.visibilityChange="visibilitychange",_.windowWidth=0,_.windowTimer=null,dataSettings=$(element).data("slick")||{},_.options=$.extend({},_.defaults,settings,dataSettings),_.currentSlide=_.options.initialSlide,_.originalSettings=_.options,void 0!==document.mozHidden?(_.hidden="mozHidden",_.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(_.hidden="webkitHidden",_.visibilityChange="webkitvisibilitychange"),_.autoPlay=$.proxy(_.autoPlay,_),_.autoPlayClear=$.proxy(_.autoPlayClear,_),_.autoPlayIterator=$.proxy(_.autoPlayIterator,_),_.changeSlide=$.proxy(_.changeSlide,_),_.clickHandler=$.proxy(_.clickHandler,_),_.selectHandler=$.proxy(_.selectHandler,_),_.setPosition=$.proxy(_.setPosition,_),_.swipeHandler=$.proxy(_.swipeHandler,_),_.dragHandler=$.proxy(_.dragHandler,_),_.keyHandler=$.proxy(_.keyHandler,_),_.instanceUid=instanceUid++,
2340// A simple way to check for HTML strings
2341// Strict HTML recognition (must start with <)
2342// Extracted from jQuery v1.11 source
2343_.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,_.registerBreakpoints(),_.init(!0)}var instanceUid=0;return Slick}(),Slick.prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},Slick.prototype.addSlide=Slick.prototype.slickAdd=function(markup,index,addBefore){var _=this;if("boolean"==typeof index)addBefore=index,index=null;else if(index<0||index>=_.slideCount)return!1;_.unload(),"number"==typeof index?0===index&&0===_.$slides.length?$(markup).appendTo(_.$slideTrack):addBefore?$(markup).insertBefore(_.$slides.eq(index)):$(markup).insertAfter(_.$slides.eq(index)):!0===addBefore?$(markup).prependTo(_.$slideTrack):$(markup).appendTo(_.$slideTrack),_.$slides=_.$slideTrack.children(this.options.slide),_.$slideTrack.children(this.options.slide).detach(),_.$slideTrack.append(_.$slides),_.$slides.each(function(index,element){$(element).attr("data-slick-index",index)}),_.$slidesCache=_.$slides,_.reinit()},Slick.prototype.animateHeight=function(){var _=this;if(1===_.options.slidesToShow&&!0===_.options.adaptiveHeight&&!1===_.options.vertical){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(!0);_.$list.animate({height:targetHeight},_.options.speed)}},Slick.prototype.animateSlide=function(targetLeft,callback){var animProps={},_=this;_.animateHeight(),!0===_.options.rtl&&!1===_.options.vertical&&(targetLeft=-targetLeft),!1===_.transformsEnabled?!1===_.options.vertical?_.$slideTrack.animate({left:targetLeft},_.options.speed,_.options.easing,callback):_.$slideTrack.animate({top:targetLeft},_.options.speed,_.options.easing,callback):!1===_.cssTransitions?(!0===_.options.rtl&&(_.currentLeft=-_.currentLeft),$({animStart:_.currentLeft}).animate({animStart:targetLeft},{duration:_.options.speed,easing:_.options.easing,step:function(now){now=Math.ceil(now),!1===_.options.vertical?(animProps[_.animType]="translate("+now+"px, 0px)",_.$slideTrack.css(animProps)):(animProps[_.animType]="translate(0px,"+now+"px)",_.$slideTrack.css(animProps))},complete:function(){callback&&callback.call()}})):(_.applyTransition(),targetLeft=Math.ceil(targetLeft),!1===_.options.vertical?animProps[_.animType]="translate3d("+targetLeft+"px, 0px, 0px)":animProps[_.animType]="translate3d(0px,"+targetLeft+"px, 0px)",_.$slideTrack.css(animProps),callback&&setTimeout(function(){_.disableTransition(),callback.call()},_.options.speed))},Slick.prototype.getNavTarget=function(){var _=this,asNavFor=_.options.asNavFor;return asNavFor&&null!==asNavFor&&(asNavFor=$(asNavFor).not(_.$slider)),asNavFor},Slick.prototype.asNavFor=function(index){var _=this,asNavFor=_.getNavTarget();null!==asNavFor&&"object"==typeof asNavFor&&asNavFor.each(function(){var target=$(this).slick("getSlick");target.unslicked||target.slideHandler(index,!0)})},Slick.prototype.applyTransition=function(slide){var _=this,transition={};!1===_.options.fade?transition[_.transitionType]=_.transformType+" "+_.options.speed+"ms "+_.options.cssEase:transition[_.transitionType]="opacity "+_.options.speed+"ms "+_.options.cssEase,!1===_.options.fade?_.$slideTrack.css(transition):_.$slides.eq(slide).css(transition)},Slick.prototype.autoPlay=function(){var _=this;_.autoPlayClear(),_.slideCount>_.options.slidesToShow&&(_.autoPlayTimer=setInterval(_.autoPlayIterator,_.options.autoplaySpeed))},Slick.prototype.autoPlayClear=function(){var _=this;_.autoPlayTimer&&clearInterval(_.autoPlayTimer)},Slick.prototype.autoPlayIterator=function(){var _=this,slideTo=_.currentSlide+_.options.slidesToScroll;_.paused||_.interrupted||_.focussed||(!1===_.options.infinite&&(1===_.direction&&_.currentSlide+1===_.slideCount-1?_.direction=0:0===_.direction&&(slideTo=_.currentSlide-_.options.slidesToScroll,_.currentSlide-1==0&&(_.direction=1))),_.slideHandler(slideTo))},Slick.prototype.buildArrows=function(){var _=this;!0===_.options.arrows&&(_.$prevArrow=$(_.options.prevArrow).addClass("slick-arrow"),_.$nextArrow=$(_.options.nextArrow).addClass("slick-arrow"),_.slideCount>_.options.slidesToShow?(_.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),_.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),_.htmlExpr.test(_.options.prevArrow)&&_.$prevArrow.prependTo(_.options.appendArrows),_.htmlExpr.test(_.options.nextArrow)&&_.$nextArrow.appendTo(_.options.appendArrows),!0!==_.options.infinite&&_.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):_.$prevArrow.add(_.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},Slick.prototype.buildDots=function(){var i,dot,_=this;if(!0===_.options.dots&&_.slideCount>_.options.slidesToShow){for(_.$slider.addClass("slick-dotted"),dot=$("<ul />").addClass(_.options.dotsClass),i=0;i<=_.getDotCount();i+=1)dot.append($("<li />").append(_.options.customPaging.call(this,_,i)));_.$dots=dot.appendTo(_.options.appendDots),_.$dots.find("li").first().addClass("slick-active")}},Slick.prototype.buildOut=function(){var _=this;_.$slides=_.$slider.children(_.options.slide+":not(.slick-cloned)").addClass("slick-slide"),_.slideCount=_.$slides.length,_.$slides.each(function(index,element){$(element).attr("data-slick-index",index).data("originalStyling",$(element).attr("style")||"")}),_.$slider.addClass("slick-slider"),_.$slideTrack=0===_.slideCount?$('<div class="slick-track"/>').appendTo(_.$slider):_.$slides.wrapAll('<div class="slick-track"/>').parent(),_.$list=_.$slideTrack.wrap('<div class="slick-list"/>').parent(),_.$slideTrack.css("opacity",0),!0!==_.options.centerMode&&!0!==_.options.swipeToSlide||(_.options.slidesToScroll=1),$("img[data-lazy]",_.$slider).not("[src]").addClass("slick-loading"),_.setupInfinite(),_.buildArrows(),_.buildDots(),_.updateDots(),_.setSlideClasses("number"==typeof _.currentSlide?_.currentSlide:0),!0===_.options.draggable&&_.$list.addClass("draggable")},Slick.prototype.buildRows=function(){var a,b,c,newSlides,numOfSlides,originalSlides,slidesPerSection,_=this;if(newSlides=document.createDocumentFragment(),originalSlides=_.$slider.children(),_.options.rows>0){for(slidesPerSection=_.options.slidesPerRow*_.options.rows,numOfSlides=Math.ceil(originalSlides.length/slidesPerSection),a=0;a<numOfSlides;a++){var slide=document.createElement("div");for(b=0;b<_.options.rows;b++){var row=document.createElement("div");for(c=0;c<_.options.slidesPerRow;c++){var target=a*slidesPerSection+(b*_.options.slidesPerRow+c);originalSlides.get(target)&&row.appendChild(originalSlides.get(target))}slide.appendChild(row)}newSlides.appendChild(slide)}_.$slider.empty().append(newSlides),_.$slider.children().children().children().css({width:100/_.options.slidesPerRow+"%",display:"inline-block"})}},Slick.prototype.checkResponsive=function(initial,forceUpdate){var breakpoint,targetBreakpoint,respondToWidth,_=this,triggerBreakpoint=!1,sliderWidth=_.$slider.width(),windowWidth=window.innerWidth||$(window).width();if("window"===_.respondTo?respondToWidth=windowWidth:"slider"===_.respondTo?respondToWidth=sliderWidth:"min"===_.respondTo&&(respondToWidth=Math.min(windowWidth,sliderWidth)),_.options.responsive&&_.options.responsive.length&&null!==_.options.responsive){targetBreakp
2343oint=null;for(breakpoint in _.breakpoints)_.breakpoints.hasOwnProperty(breakpoint)&&(!1===_.originalSettings.mobileFirst?respondToWidth<_.breakpoints[breakpoint]&&(targetBreakpoint=_.breakpoints[breakpoint]):respondToWidth>_.breakpoints[breakpoint]&&(targetBreakpoint=_.breakpoints[breakpoint]));null!==targetBreakpoint?null!==_.activeBreakpoint?(targetBreakpoint!==_.activeBreakpoint||forceUpdate)&&(_.activeBreakpoint=targetBreakpoint,"unslick"===_.breakpointSettings[targetBreakpoint]?_.unslick(targetBreakpoint):(_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]),!0===initial&&(_.currentSlide=_.options.initialSlide),_.refresh(initial)),triggerBreakpoint=targetBreakpoint):(_.activeBreakpoint=targetBreakpoint,"unslick"===_.breakpointSettings[targetBreakpoint]?_.unslick(targetBreakpoint):(_.options=$.extend({},_.originalSettings,_.breakpointSettings[targetBreakpoint]),!0===initial&&(_.currentSlide=_.options.initialSlide),_.refresh(initial)),triggerBreakpoint=targetBreakpoint):null!==_.activeBreakpoint&&(_.activeBreakpoint=null,_.options=_.originalSettings,!0===initial&&(_.currentSlide=_.options.initialSlide),_.refresh(initial),triggerBreakpoint=targetBreakpoint),
2344// only trigger breakpoints during an actual break. not on initialize.
2345initial||!1===triggerBreakpoint||_.$slider.trigger("breakpoint",[_,triggerBreakpoint])}},Slick.prototype.changeSlide=function(event,dontAnimate){var indexOffset,slideOffset,unevenOffset,_=this,$target=$(event.currentTarget);switch(
2346// If target is a link, prevent default action.
2347$target.is("a")&&event.preventDefault(),
2348// If target is not the <li> element (ie: a child), find the <li>.
2349$target.is("li")||($target=$target.closest("li")),unevenOffset=_.slideCount%_.options.slidesToScroll!=0,indexOffset=unevenOffset?0:(_.slideCount-_.currentSlide)%_.options.slidesToScroll,event.data.message){case"previous":slideOffset=0===indexOffset?_.options.slidesToScroll:_.options.slidesToShow-indexOffset,_.slideCount>_.options.slidesToShow&&_.slideHandler(_.currentSlide-slideOffset,!1,dontAnimate);break;case"next":slideOffset=0===indexOffset?_.options.slidesToScroll:indexOffset,_.slideCount>_.options.slidesToShow&&_.slideHandler(_.currentSlide+slideOffset,!1,dontAnimate);break;case"index":var index=0===event.data.index?0:event.data.index||$target.index()*_.options.slidesToScroll;_.slideHandler(_.checkNavigable(index),!1,dontAnimate),$target.children().trigger("focus");break;default:return}},Slick.prototype.checkNavigable=function(index){var navigables,prevNavigable,_=this;if(navigables=_.getNavigableIndexes(),prevNavigable=0,index>navigables[navigables.length-1])index=navigables[navigables.length-1];else for(var n in navigables){if(index<navigables[n]){index=prevNavigable;break}prevNavigable=navigables[n]}return index},Slick.prototype.cleanUpEvents=function(){var _=this;_.options.dots&&null!==_.$dots&&($("li",_.$dots).off("click.slick",_.changeSlide).off("mouseenter.slick",$.proxy(_.interrupt,_,!0)).off("mouseleave.slick",$.proxy(_.interrupt,_,!1)),!0===_.options.accessibility&&_.$dots.off("keydown.slick",_.keyHandler)),_.$slider.off("focus.slick blur.slick"),!0===_.options.arrows&&_.slideCount>_.options.slidesToShow&&(_.$prevArrow&&_.$prevArrow.off("click.slick",_.changeSlide),_.$nextArrow&&_.$nextArrow.off("click.slick",_.changeSlide),!0===_.options.accessibility&&(_.$prevArrow&&_.$prevArrow.off("keydown.slick",_.keyHandler),_.$nextArrow&&_.$nextArrow.off("keydown.slick",_.keyHandler))),_.$list.off("touchstart.slick mousedown.slick",_.swipeHandler),_.$list.off("touchmove.slick mousemove.slick",_.swipeHandler),_.$list.off("touchend.slick mouseup.slick",_.swipeHandler),_.$list.off("touchcancel.slick mouseleave.
2349slick",_.swipeHandler),_.$list.off("click.slick",_.clickHandler),$(document).off(_.visibilityChange,_.visibility),_.cleanUpSlideEvents(),!0===_.options.accessibility&&_.$list.off("keydown.slick",_.keyHandler),!0===_.options.focusOnSelect&&$(_.$slideTrack).children().off("click.slick",_.selectHandler),$(window).off("orientationchange.slick.slick-"+_.instanceUid,_.orientationChange),$(window).off("resize.slick.slick-"+_.instanceUid,_.resize),$("[draggable!=true]",_.$slideTrack).off("dragstart",_.preventDefault),$(window).off("load.slick.slick-"+_.instanceUid,_.setPosition)},Slick.prototype.cleanUpSlideEvents=function(){var _=this;_.$list.off("mouseenter.slick",$.proxy(_.interrupt,_,!0)),_.$list.off("mouseleave.slick",$.proxy(_.interrupt,_,!1))},Slick.prototype.cleanUpRows=function(){var originalSlides,_=this;_.options.rows>0&&(originalSlides=_.$slides.children().children(),originalSlides.removeAttr("style"),_.$slider.empty().append(originalSlides))},Slick.prototype.clickHandler=function(event){!1===this.shouldClick&&(event.stopImmediatePropagation(),event.stopPropagation(),event.preventDefault())},Slick.prototype.destroy=function(refresh){var _=this;_.autoPlayClear(),_.touchObject={},_.cleanUpEvents(),$(".slick-cloned",_.$slider).detach(),_.$dots&&_.$dots.remove(),_.$prevArrow&&_.$prevArrow.length&&(_.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),_.htmlExpr.test(_.options.prevArrow)&&_.$prevArrow.remove()),_.$nextArrow&&_.$nextArrow.length&&(_.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),_.htmlExpr.test(_.options.nextArrow)&&_.$nextArrow.remove()),_.$slides&&(_.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){$(this).attr("style",$(this).data("originalStyling"))}),_.$slideTrack.children(this.options.slide).detach(),_.$slideTrack.detach(),_.$list.detach(),_.$slider.append(_.$slides)),_.cleanUpRows(),_.$slider.removeClass("slick-slider"),_.$slider.removeClass("slick-initialized"),_.$slider.removeClass("slick-dotted"),_.unslicked=!0,refresh||_.$slider.trigger("destroy",[_])},Slick.prototype.disableTransition=function(slide){var _=this,transition={};transition[_.transitionType]="",!1===_.options.fade?_.$slideTrack.css(transition):_.$slides.eq(slide).css(transition)},Slick.prototype.fadeSlide=function(slideIndex,callback){var _=this;!1===_.cssTransitions?(_.$slides.eq(slideIndex).css({zIndex:_.options.zIndex}),_.$slides.eq(slideIndex).animate({opacity:1},_.options.speed,_.options.easing,callback)):(_.applyTransition(slideIndex),_.$slides.eq(slideIndex).css({opacity:1,zIndex:_.options.zIndex}),callback&&setTimeout(function(){_.disableTransition(slideIndex),callback.call()},_.options.speed))},Slick.prototype.fadeSlideOut=function(slideIndex){var _=this;!1===_.cssTransitions?_.$slides.eq(slideIndex).animate({opacity:0,zIndex:_.options.zIndex-2},_.options.speed,_.options.easing):(_.applyTransition(slideIndex),_.$slides.eq(slideIndex).css({opacity:0,zIndex:_.options.zIndex-2}))},Slick.prototype.filterSlides=Slick.prototype.slickFilter=function(filter){var _=this;null!==filter&&(_.$slidesCache=_.$slides,_.unload(),_.$slideTrack.children(this.options.slide).detach(),_.$slidesCache.filter(filter).appendTo(_.$slideTrack),_.reinit())},Slick.prototype.focusHandler=function(){var _=this;
2350// If any child element receives focus within the slider we need to pause the autoplay
2351_.$slider.off("focus.slick blur.slick").on("focus.slick","*",function(event){var $sf=$(this);setTimeout(function(){_.options.pauseOnFocus&&$sf.is(":focus")&&(_.focussed=!0,_.autoPlay())},0)}).on("blur.slick","*",function(event){$(this);
2352// When a blur occurs on any elements within the slider we become unfocused
2353_.options.pauseOnFocus&&(_.focussed=!1,_.autoPlay())})},Slick.prototype.getCurrent=Slick.prototype.slickCurrentSlide=function(){return this.currentSlide},Slick.prototype.getDotCount=function(){var _=this,breakPoint=0,counter=0,pagerQty=0;if(!0===_.options.infinite)if(_.slideCount<=_.options.slidesToShow)++pagerQty;else for(;breakPoint<_.slideCount;)++pagerQty,breakPoint=counter+_.options.slidesToScroll,counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow;else if(!0===_.options.centerMode)pagerQty=_.slideCount;else if(_.options.asNavFor)for(;breakPoint<_.slideCount;)++pagerQty,breakPoint=counter+_.options.slidesToScroll,counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow;else pagerQty=1+Math.ceil((_.slideCount-_.options.slidesToShow)/_.options.slidesToScroll);return pagerQty-1},Slick.prototype.getLeft=function(slideIndex){var targetLeft,verticalHeight,targetSlide,coef,_=this,verticalOffset=0;return _.slideOffset=0,verticalHeight=_.$slides.first().outerHeight(!0),!0===_.options.infinite?(_.slideCount>_.options.slidesToShow&&(_.slideOffset=_.slideWidth*_.options.slidesToShow*-1,coef=-1,!0===_.options.vertical&&!0===_.options.centerMode&&(2===_.options.slidesToShow?coef=-1.5:1===_.options.slidesToShow&&(coef=-2)),verticalOffset=verticalHeight*_.options.slidesToShow*coef),_.slideCount%_.options.slidesToScroll!=0&&slideIndex+_.options.slidesToScroll>_.slideCount&&_.slideCount>_.options.slidesToShow&&(slideIndex>_.slideCount?(_.slideOffset=(_.options.slidesToShow-(slideIndex-_.slideCount))*_.slideWidth*-1,verticalOffset=(_.options.slidesToShow-(slideIndex-_.slideCount))*verticalHeight*-1):(_.slideOffset=_.slideCount%_.options.slidesToScroll*_.slideWidth*-1,verticalOffset=_.slideCount%_.options.slidesToScroll*verticalHeight*-1))):slideIndex+_.options.slidesToShow>
2353_.slideCount&&(_.slideOffset=(slideIndex+_.options.slidesToShow-_.slideCount)*_.slideWidth,verticalOffset=(slideIndex+_.options.slidesToShow-_.slideCount)*verticalHeight),_.slideCount<=_.options.slidesToShow&&(_.slideOffset=0,verticalOffset=0),!0===_.options.centerMode&&_.slideCount<=_.options.slidesToShow?_.slideOffset=_.slideWidth*Math.floor(_.options.slidesToShow)/2-_.slideWidth*_.slideCount/2:!0===_.options.centerMode&&!0===_.options.infinite?_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2)-_.slideWidth:!0===_.options.centerMode&&(_.slideOffset=0,_.slideOffset+=_.slideWidth*Math.floor(_.options.slidesToShow/2)),targetLeft=!1===_.options.vertical?slideIndex*_.slideWidth*-1+_.slideOffset:slideIndex*verticalHeight*-1+verticalOffset,!0===_.options.variableWidth&&(targetSlide=_.slideCount<=_.options.slidesToShow||!1===_.options.infinite?_.$slideTrack.children(".slick-slide").eq(slideIndex):_.$slideTrack.children(".slick-slide").eq(slideIndex+_.options.slidesToShow),targetLeft=!0===_.options.rtl?targetSlide[0]?-1*(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width()):0:targetSlide[0]?-1*targetSlide[0].offsetLeft:0,!0===_.options.centerMode&&(targetSlide=_.slideCount<=_.options.slidesToShow||!1===_.options.infinite?_.$slideTrack.children(".slick-slide").eq(slideIndex):_.$slideTrack.children(".slick-slide").eq(slideIndex+_.options.slidesToShow+1),targetLeft=!0===_.options.rtl?targetSlide[0]?-1*(_.$slideTrack.width()-targetSlide[0].offsetLeft-targetSlide.width()):0:targetSlide[0]?-1*targetSlide[0].offsetLeft:0,targetLeft+=(_.$list.width()-targetSlide.outerWidth())/2)),targetLeft},Slick.prototype.getOption=Slick.prototype.slickGetOption=function(option){return this.options[option]},Slick.prototype.getNavigableIndexes=function(){var max,_=this,breakPoint=0,counter=0,indexes=[];for(!1===_.options.infinite?max=_.slideCount:(breakPoint=-1*_.options.slidesToScroll,counter=-1*_.options.slidesToScroll,max=2*_.slideCount);breakPoint<max;)indexes.push(breakPoint),breakPoint=counter+_.options.slidesToScroll,counter+=_.options.slidesToScroll<=_.options.slidesToShow?_.options.slidesToScroll:_.options.slidesToShow;return indexes},Slick.prototype.getSlick=function(){return this},Slick.prototype.getSlideCount=function(){var swipedSlide,swipeTarget,centerOffset,_=this;return centerOffset=!0===_.options.centerMode?Math.floor(_.$list.width()/2):0,swipeTarget=-1*_.swipeLeft+centerOffset,!0===_.options.swipeToSlide?(_.$slideTrack.find(".slick-slide").each(function(index,slide){var slideOuterWidth,slideOffset,slideRightBoundary;if(slideOuterWidth=$(slide).outerWidth(),slideOffset=slide.offsetLeft,!0!==_.options.centerMode&&(slideOffset+=slideOuterWidth/2),slideRightBoundary=slideOffset+slideOuterWidth,swipeTarget<slideRightBoundary)return swipedSlide=slide,!1}),Math.abs($(swipedSlide).attr("data-slick-index")-_.currentSlide)||1):_.options.slidesToScroll},Slick.prototype.goTo=Slick.prototype.slickGoTo=function(slide,dontAnimate){this.changeSlide({data:{message:"index",index:parseInt(slide)}},dontAnimate)},Slick.prototype.init=function(creation){var _=this;$(_.$slider).hasClass("slick-initialized")||($(_.$slider).addClass("slick-initialized"),_.buildRows(),_.buildOut(),_.setProps(),_.startLoad(),_.loadSlider(),_.initializeEvents(),_.updateArrows(),_.updateDots(),_.checkResponsive(!0),_.focusHandler()),creation&&_.$slider.trigger("init",[_]),!0===_.options.accessibility&&_.initADA(),_.options.autoplay&&(_.paused=!1,_.autoPlay())},Slick.prototype.initADA=function(){var _=this,numDotGroups=Math.ceil(_.slideCount/_.options.slidesToShow),tabControlIndexes=_.getNavigableIndexes().filter(function(val){return val>=0&&val<_.slideCount});_.$slides.add(_.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==_.$dots&&(_.$slides.not(_.$slideTrack.find(".slick-cloned")).each(function(i){var slideControlIndex=tabControlIndexes.indexOf(i);if($(this).attr({role:"tabpanel",id:"slick-slide"+_.instanceUid+i,tabindex:-1}
2353),-1!==slideControlIndex){var ariaButtonControl="slick-slide-control"+_.instanceUid+slideControlIndex;$("#"+ariaButtonControl).length&&$(this).attr({"aria-describedby":ariaButtonControl})}}),_.$dots.attr("role","tablist").find("li").each(function(i){var mappedSlideIndex=tabControlIndexes[i];$(this).attr({role:"presentation"}),$(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+_.instanceUid+i,"aria-controls":"slick-slide"+_.instanceUid+mappedSlideIndex,"aria-label":i+1+" of "+numDotGroups,"aria-selected":null,tabindex:"-1"})}).eq(_.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var i=_.currentSlide,max=i+_.options.slidesToShow;i<max;i++)_.options.focusOnChange?_.$slides.eq(i).attr({tabindex:"0"}):_.$slides.eq(i).removeAttr("tabindex");_.activateADA()},Slick.prototype.initArrowEvents=function(){var _=this;!0===_.options.arrows&&_.slideCount>_.options.slidesToShow&&(_.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},_.changeSlide),_.$nextArrow.off("click.slick").on("click.slick",{message:"next"},_.changeSlide),!0===_.options.accessibility&&(_.$prevArrow.on("keydown.slick",_.keyHandler),_.$nextArrow.on("keydown.slick",_.keyHandler)))},Slick.prototype.initDotEvents=function(){var _=this;!0===_.options.dots&&_.slideCount>_.options.slidesToShow&&($("li",_.$dots).on("click.slick",{message:"index"},_.changeSlide),!0===_.options.accessibility&&_.$dots.on("keydown.slick",_.keyHandler)),!0===_.options.dots&&!0===_.options.pauseOnDotsHover&&_.slideCount>_.options.slidesToShow&&$("li",_.$dots).on("mouseenter.slick",$.proxy(_.interrupt,_,!0)).on("mouseleave.slick",$.proxy(_.interrupt,_,!1))},Slick.prototype.initSlideEvents=function(){var _=this;_.options.pauseOnHover&&(_.$list.on("mouseenter.slick",$.proxy(_.interrupt,_,!0)),_.$list.on("mouseleave.slick",$.proxy(_.interrupt,_,!1)))},Slick.prototype.initializeEvents=function(){var _=this;_.initArrowEvents(),_.initDotEvents(),_.initSlideEvents(),_.$list.on("touchstart.slick mousedown.slick",{action:"start"},_.swipeHandler),_.$list.on("touchmove.slick mousemove.slick",{action:"move"},_.swipeHandler),_.$list.on("touchend.slick mouseup.slick",{action:"end"}
2353,_.swipeHandler),_.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},_.swipeHandler),_.$list.on("click.slick",_.clickHandler),$(document).on(_.visibilityChange,$.proxy(_.visibility,_)),!0===_.options.accessibility&&_.$list.on("keydown.slick",_.keyHandler),!0===_.options.focusOnSelect&&$(_.$slideTrack).children().on("click.slick",_.selectHandler),$(window).on("orientationchange.slick.slick-"+_.instanceUid,$.proxy(_.orientationChange,_)),$(window).on("resize.slick.slick-"+_.instanceUid,$.proxy(_.resize,_)),$("[draggable!=true]",_.$slideTrack).on("dragstart",_.preventDefault),$(window).on("load.slick.slick-"+_.instanceUid,_.setPosition),$(_.setPosition)},Slick.prototype.initUI=function(){var _=this;!0===_.options.arrows&&_.slideCount>_.options.slidesToShow&&(_.$prevArrow.show(),_.$nextArrow.show()),!0===_.options.dots&&_.slideCount>_.options.slidesToShow&&_.$dots.show()},Slick.prototype.keyHandler=function(event){var _=this;
2354//Dont slide if the cursor is inside the form fields and arrow keys are pressed
2355event.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===event.keyCode&&!0===_.options.accessibility?_.changeSlide({data:{message:!0===_.options.rtl?"next":"previous"}}):39===event.keyCode&&!0===_.options.accessibility&&_.changeSlide({data:{message:!0===_.options.rtl?"previous":"next"}}))},Slick.prototype.lazyLoad=function(){function loadImages(imagesScope){$("img[data-lazy]",imagesScope).each(function(){var image=$(this),imageSource=$(this).attr("data-lazy"),imageSrcSet=$(this).attr("data-srcset"),imageSizes=$(this).attr("data-sizes")||_.$slider.attr("data-sizes"),imageToLoad=document.createElement("img");imageToLoad.onload=function(){image.animate({opacity:0}
2355,100,function(){imageSrcSet&&(image.attr("srcset",imageSrcSet),imageSizes&&image.attr("sizes",imageSizes)),image.attr("src",imageSource).animate({opacity:1},200,function(){image.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),_.$slider.trigger("lazyLoaded",[_,image,imageSource])})},imageToLoad.onerror=function(){image.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),_.$slider.trigger("lazyLoadError",[_,image,imageSource])},imageToLoad.src=imageSource})}var loadRange,cloneRange,rangeStart,rangeEnd,_=this;if(!0===_.options.centerMode?!0===_.options.infinite?(rangeStart=_.currentSlide+(_.options.slidesToShow/2+1),rangeEnd=rangeStart+_.options.slidesToShow+2):(rangeStart=Math.max(0,_.currentSlide-(_.options.slidesToShow/2+1)),rangeEnd=_.options.slidesToShow/2+1+2+_.currentSlide):(rangeStart=_.options.infinite?_.options.slidesToShow+_.currentSlide:_.currentSlide,rangeEnd=Math.ceil(rangeStart+_.options.slidesToShow),!0===_.options.fade&&(rangeStart>0&&rangeStart--,rangeEnd<=_.slideCount&&rangeEnd++)),loadRange=_.$slider.find(".slick-slide").slice(rangeStart,rangeEnd),"anticipated"===_.options.lazyLoad)for(var prevSlide=rangeStart-1,nextSlide=rangeEnd,$slides=_.$slider.find(".slick-slide"),i=0;i<_.options.slidesToScroll;i++)prevSlide<0&&(prevSlide=_.slideCount-1),loadRange=loadRange.add($slides.eq(prevSlide)),loadRange=loadRange.add($slides.eq(nextSlide)),prevSlide--,nextSlide++;loadImages(loadRange),_.slideCount<=_.options.slidesToShow?(cloneRange=_.$slider.find(".slick-slide"),loadImages(cloneRange)):_.currentSlide>=_.slideCount-_.options.slidesToShow?(cloneRange=_.$slider.find(".slick-cloned").slice(0,_.options.slidesToShow),loadImages(cloneRange)):0===_.currentSlide&&(cloneRange=_.$slider.find(".slick-cloned").slice(-1*_.options.slidesToShow),loadImages(cloneRange))},Slick.prototype.loadSlider=function(){var _=this;_.setPosition(),_.$slideTrack.css({opacity:1}),_.$slider.removeClass("slick-loading"),_.initUI(),"progressive"===_.options.lazyLoad&&_.progressiveLazyLoad()},Slick.prototype.next=Slick.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},Slick.prototype.orientationChange=function(){var _=this;_.checkResponsive(),_.setPosition()},Slick.prototype.pause=Slick.prototype.slickPause=function(){var _=this;_.autoPlayClear(),_.paused=!0},Slick.prototype.play=Slick.prototype.slickPlay=function(){var _=this;_.autoPlay(),_.options.autoplay=!0,_.paused=!1,_.focussed=!1,_.interrupted=!1},Slick.prototype.postSlide=function(index){var _=this;if(!_.unslicked&&(_.$slider.trigger("afterChange",[_,index]),_.animating=!1,_.slideCount>_.options.slidesToShow&&_.setPosition(),_.swipeLeft=null,_.options.autoplay&&_.autoPlay(),!0===_.options.accessibility&&(_.initADA(),_.options.focusOnChange))){$(_.$slides.get(_.currentSlide)).attr("tabindex",0).focus()}},Slick.prototype.prev=Slick.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},Slick.prototype.preventDefault=function(event){event.preventDefault()},Slick.prototype.progressiveLazyLoad=function(tryCount){tryCount=tryCount||1;var image,imageSource,imageSrcSet,imageSizes,imageToLoad,_=this,$imgsToLoad=$("img[data-lazy]",_.$slider);$imgsToLoad.length?(image=$imgsToLoad.first(),imageSource=image.attr("data-lazy"),imageSrcSet=image.attr("data-srcset"),imageSizes=image.attr("data-sizes")||_.$slider.attr("data-sizes"),imageToLoad=document.createElement("img"),imageToLoad.onload=function(){imageSrcSet&&(image.attr("srcset",imageSrcSet),imageSizes&&image.attr("sizes",imageSizes)),image.attr("src",imageSource).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===_.options.adaptiveHeight&&_.setPosition(),_.$slider.trigger("lazyLoaded",[_,image,imageSource]),_.progressiveLazyLoad()},imageToLoad.onerror=function(){tryCount<3?/**
2356                     * try to load the image 3 times,
2357                     * leave a slight delay so we don't get
2358                     * servers blocking the request.
2359                     */
2360setTimeout(function(){_.progressiveLazyLoad(tryCount+1)},500):(image.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),_.$slider.trigger("lazyLoadError",[_,
vendor: 4,913 bytes, lines 2360-2368
2360image,imageSource]),_.progressiveLazyLoad())},imageToLoad.src=imageSource):_.$slider.trigger("allImagesLoaded",[_])},Slick.prototype.refresh=function(initializing){var currentSlide,lastVisibleIndex,_=this;lastVisibleIndex=_.slideCount-_.options.slidesToShow,
2361// in non-infinite sliders, we don't want to go past the
2362// last visible index.
2363!_.options.infinite&&_.currentSlide>lastVisibleIndex&&(_.currentSlide=lastVisibleIndex),
2364// if less slides than to show, go to start.
2365_.slideCount<=_.options.slidesToShow&&(_.currentSlide=0),currentSlide=_.currentSlide,_.destroy(!0),$.extend(_,_.initials,{currentSlide:currentSlide}),_.init(),initializing||_.changeSlide({data:{message:"index",index:currentSlide}},!1)},Slick.prototype.registerBreakpoints=function(){var breakpoint,currentBreakpoint,l,_=this,responsiveSettings=_.options.responsive||null;if("array"===$.type(responsiveSettings)&&responsiveSettings.length){_.respondTo=_.options.respondTo||"window";for(breakpoint in responsiveSettings)if(l=_.breakpoints.length-1,responsiveSettings.hasOwnProperty(breakpoint)){
2366// loop through the breakpoints and cut out any existing
2367// ones with the same breakpoint number, we don't want dupes.
2368for(currentBreakpoint=responsiveSettings[breakpoint].breakpoint;l>=0;)_.breakpoints[l]&&_.breakpoints[l]===currentBreakpoint&&_.breakpoints.splice(l,1),l--;_.breakpoints.push(currentBreakpoint),_.breakpointSettings[currentBreakpoint]=responsiveSettings[breakpoint].settings}_.breakpoints.sort(function(a,b){return _.options.mobileFirst?a-b:b-a})}},Slick.prototype.reinit=function(){var _=this;_.$slides=_.$slideTrack.children(_.options.slide).addClass("slick-slide"),_.slideCount=_.$slides.length,_.currentSlide>=_.slideCount&&0!==_.currentSlide&&(_.currentSlide=_.currentSlide-_.options.slidesToScroll),_.slideCount<=_.options.slidesToShow&&(_.currentSlide=0),_.registerBreakpoints(),_.setProps(),_.setupInfinite(),_.buildArrows(),_.updateArrows(),_.initArrowEvents(),_.buildDots(),_.updateDots(),_.initDotEvents(),_.cleanUpSlideEvents(),_.initSlideEvents(),_.checkResponsive(!1,!0),!0===_.options.focusOnSelect&&$(_.$slideTrack).children().on("click.slick",_.selectHandler),_.setSlideClasses("number"==typeof _.currentSlide?_.currentSlide:0),_.setPosition(),_.focusHandler(),_.paused=!_.options.autoplay,_.autoPlay(),_.$slider.trigger("reInit",[_])},Slick.prototype.resize=function(){var _=this;$(window).width()!==_.windowWidth&&(clearTimeout(_.windowDelay),_.windowDelay=window.setTimeout(function(){_.windowWidth=$(window).width(),_.checkResponsive(),_.unslicked||_.setPosition()},50))},Slick.prototype.removeSlide=Slick.prototype.slickRemove=function(index,removeBefore,removeAll){var _=this;if("boolean"==typeof index?(removeBefore=index,index=!0===removeBefore?0:_.slideCount-1):index=!0===removeBefore?--index:index,_.slideCount<1||index<0||index>_.slideCount-1)return!1;_.unload(),!0===removeAll?_.$slideTrack.children().remove():_.$slideTrack.children(this.options.slide).eq(index).remove(),_.$slides=_.$slideTrack.children(this.options.slide),_.$slideTrack.children(this.options.slide).detach(),_.$slideTrack.append(_.$slides),_.$slidesCache=_.$slides,_.reinit()},Slick.prototype.setCSS=function(position){var x,y,_=this,positionProps={};!0===_.options.rtl&&(position=-position),x="left"==_.positionProp?Math.ceil(position)+"px":"0px",y="top"==_.positionProp?Math.ceil(position)+"px":"0px",positionProps[_.positionProp]=position,!1===_.transformsEnabled?_.$slideTrack.css(positionProps):(positionProps={},!1===_.cssTransitions?(positionProps[_.animType]="translate("+x+", "+y+")",_.$slideTrack.css(positionProps)):(positionProps[_.animType]="translate3d("+x+", "+y+", 0px)",_.$slideTrack.css(positionProps)))},Slick.prototype.setDimensions=function(){var _=this;!1===_.options.vertical?!0===_.options.centerMode&&_.$list.css({padding:"0px "+_.options.centerPadding}):(_.$list.height(_.$slides.first().outerHeight(!0)*_.options.slidesToShow),!0===_.options.centerMode&&_.$list.css({padding:_.options.centerPadding+" 0px"})),_.listWidth=_.$list.width(),_.listHeight=_.$list.height(),!1===_.options.vertical&&!1===_.options.variableWidth?(_.slideWidth=Math.ceil(_.listWidth/_.options.slidesToShow),_.$slideTrack.width(Math.ceil(_.slideWidth*_.$slideTrack.children(".slick-slide").length))):!0===_.options.variableWidth?_.$slideTrack.width(5e3*_.slideCount):(_.slideWidth=Math.ceil(_.listWidth),_.$slideTrack.height(Math.ceil(_.$slides.first().outerHeight(!0)*_.$slideTrack.children(".slick-slide").length)));var offset=_.$slides.first().outerWidth(!0)-_.$slides.first().width();!1===_.options.variableWidth&&_.$slideTrack.children(".slick-slide").width(_.slideWidth-offset)},Slick.prototype.setFade=function(){var targetLeft,_=this;_.$slides.each(function(index,element){targetLeft=_.slideWidth*index*-1,!0===_.options.rtl?$(element).css({position:"relative",right:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0}
2368):$(element).css({position:"relative",left:targetLeft,top:0,zIndex:_.options.zIndex-2,opacity:0})}),_.$slides.eq(_.currentSlide).css({zIndex:_.options.zIndex-1,opacity:1})},Slick.prototype.setHeight=function(){var _=this;if(1===_.options.slidesToShow&&!0===_.options.adaptiveHeight&&!1===_.options.vertical){var targetHeight=_.$slides.eq(_.currentSlide).outerHeight(!0);_.$list.css("height",targetHeight)}},Slick.prototype.setOption=Slick.prototype.slickSetOption=function(){/**
2369         * accepts arguments in format of:
2370         *
2371         *  - for changing a single option's value:
2372         *     .slick("setOption", option, value, refresh )
2373         *
2374         *  - for changing a set of responsive options:
2375         *     .slick("setOption", 'responsive', [{}, ...], refresh )
2376         *
2377         *  - for updating multiple values at once (not responsive)
2378         *     .slick("setOption", { 'option': value, ... }, refresh )
2379         */
2380var l,item,option,value,type,_=this,refresh=!1;if("object"===$.type(arguments[0])?(option=arguments[0],refresh=arguments[1],type="multiple"):"string"===$.type(arguments[0])&&(option=arguments[0],value=arguments[1],refresh=arguments[2],"responsive"===arguments[0]&&"array"===$.type(arguments[1])?type="responsive":void 0!==arguments[1]&&(type="single")),"single"===type)_.options[option]=value;else if("multiple"===type)$.each(option,function(opt,val){_.options[opt]=val});else if("responsive"===type)for(item in value)if("array"!==$.type(_.options.responsive))_.options.responsive=[value[item]];else{
2381// loop through the responsive object and splice out duplicates.
2382for(l=_.options.responsive.length-1;l>=0;)_.options.responsive[l].breakpoint===value[item].breakpoint&&_.options.responsive.splice(l,1),l--;_.options.responsive.push(value[item])}refresh&&(_.unload(),_.reinit())},Slick.prototype.setPosition=function(){var _=this;_.setDimensions(),_.setHeight(),!1===_.options.fade?_.setCSS(_.getLeft(_.currentSlide)):_.setFade(),_.$slider.trigger("setPosition",[_])},Slick.prototype.setProps=function(){var _=this,bodyStyle=document.body.style;_.positionProp=!0===_.options.vertical?"top":"left","top"===_.positionProp?_.$slider.addClass("slick-vertical"):_.$slider.removeClass("slick-vertical"),void 0===bodyStyle.WebkitTransition&&void 0===bodyStyle.MozTransition&&void 0===bodyStyle.msTransition||!0===_.options.useCSS&&(_.cssTransitions=!0),_.options.fade&&("number"==typeof _.options.zIndex?_.options.zIndex<3&&(_.options.zIndex=3):_.options.zIndex=_.defaults.zIndex),void 0!==bodyStyle.OTransform&&(_.animType="OTransform",_.transformType="-o-transform",_.transitionType="OTransition",void 0===bodyStyle.perspectiveProperty&&void 0===bodyStyle.webkitPerspective&&(_.animType=!1)),void 0!==bodyStyle.MozTransform&&(_.animType="MozTransform",_.transformType="-moz-transform",_.transitionType="MozTransition",void 0===bodyStyle.perspectiveProperty&&void 0===bodyStyle.MozPerspective&&(_.animType=!1)),void 0!==bodyStyle.webkitTransform&&(_.animType="webkitTransform",_.transformType="-webkit-transform",_.transitionType="webkitTransition",void 0===bodyStyle.perspectiveProperty&&void 0===bodyStyle.webkitPerspective&&(_.animType=!1)),void 0!==bodyStyle.msTransform&&(_.animType="msTransform",_.transformType="-ms-transform",_.transitionType="msTransition",void 0===bodyStyle.msTransform&&(_.animType=!1)),void 0!==bodyStyle.transform&&!1!==_.animType&&(_.animType="transform",_.transformType="transform",_.transitionType="transition"),_.transformsEnabled=_.options.useTransform&&null!==_.animType&&!1!==_.animType},Slick.prototype.setSlideClasses=function(index){var centerOffset,allSlides,indexOffset,remainder,_=this;if(allSlides=_.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),_.$slides.eq(index).addClass("slick-current"),!0===_.options.centerMode){var evenCoef=_.options.slidesToShow%2==0?1:0;centerOffset=Math.floor(_.options.slidesToShow/2),!0===_.options.infinite&&(index>=centerOffset&&index<=_.slideCount-1-centerOffset?_.$slides.slice(index-centerOffset+evenCoef,index+centerOffset+1).addClass("slick-active").attr("aria-hidden","false"):(indexOffset=_.options.slidesToShow+index,allSlides.slice(indexOffset-centerOffset+1+evenCoef,indexOffset+centerOffset+2).addClass("slick-active").attr("aria-hidden","false")),0===index?allSlides.eq(allSlides.length-1-_.options.slidesToShow).addClass("slick-center"):index===_.slideCount-1&&allSlides.eq(_.options.slidesToShow).addClass("slick-center")),_.$slides.eq(index).addClass("slick-center")}else index>=0&&index<=_.slideCount-_.options.slidesToShow?_.$slides.slice(index,index+_.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):allSlides.length<=_.options.slidesToShow?allSlides.addClass("slick-active").attr("aria-hidden","false"):(remainder=_.slideCount%_.options.slidesToShow,indexOffset=!0===_.options.infinite?_.o
2382ptions.slidesToShow+index:index,_.options.slidesToShow==_.options.slidesToScroll&&_.slideCount-index<_.options.slidesToShow?allSlides.slice(indexOffset-(_.options.slidesToShow-remainder),indexOffset+remainder).addClass("slick-active").attr("aria-hidden","false"):allSlides.slice(indexOffset,indexOffset+_.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==_.options.lazyLoad&&"anticipated"!==_.options.lazyLoad||_.lazyLoad()},Slick.prototype.setupInfinite=function(){var i,slideIndex,infiniteCount,_=this;if(!0===_.options.fade&&(_.options.centerMode=!1),!0===_.options.infinite&&!1===_.options.fade&&(slideIndex=null,_.slideCount>_.options.slidesToShow)){for(infiniteCount=!0===_.options.centerMode?_.options.slidesToShow+1:_.options.slidesToShow,i=_.slideCount;i>_.slideCount-infiniteCount;i-=1)slideIndex=i-1,$(_.$slides[slideIndex]).clone(!0).attr("id","").attr("data-slick-index",slideIndex-_.slideCount).prependTo(_.$slideTrack).addClass("slick-cloned");for(i=0;i<infiniteCount+_.slideCount;i+=1)slideIndex=i,$(_.$slides[slideIndex]).clone(!0).attr("id","").attr("data-slick-index",slideIndex+_.slideCount).appendTo(_.$slideTrack).addClass("slick-cloned");_.$slideTrack.find(".slick-cloned").find("[id]").each(function(){$(this).attr("id","")})}},Slick.prototype.interrupt=function(toggle){var _=this;toggle||_.autoPlay(),_.interrupted=toggle},Slick.prototype.selectHandler=function(event){var _=this,targetElement=$(event.target).is(".slick-slide")?$(event.target):$(event.target).parents(".slick-slide"),index=parseInt(targetElement.attr("data-slick-index"));if(index||(index=0),_.slideCount<=_.options.slidesToShow)return void _.slideHandler(index,!1,!0);_.slideHandler(index)},Slick.prototype.slideHandler=function(index,sync,dontAnimate){var targetSlide,animSlide,oldSlide,slideLeft,navTarget,targetLeft=null,_=this;if(sync=sync||!1,!(!0===_.animating&&!0===_.options.waitForAnimate||!0===_.options.fade&&_.currentSlide===index)){if(!1===sync&&_.asNavFor(index),targetSlide=index,targetLeft=_.getLeft(targetSlide),slideLeft=_.getLeft(_.currentSlide),_.currentLeft=null===_.swipeLeft?slideLeft:_.swipeLeft,!1===_.options.infinite&&!1===_.options.centerMode&&(index<0||index>_.getDotCount()*_.options.slidesToScroll))return void(!1===_.options.fade&&(targetSlide=_.currentSlide,!0!==dontAnimate&&_.slideCount>_.options.slidesToShow?_.animateSlide(slideLeft,function(){_.postSlide(targetSlide)}):_.postSlide(targetSlide)));if(!1===_.options.infinite&&!0===_.options.centerMode&&(index<0||index>_.slideCount-_.options.slidesToScroll))return void(!1===_.options.fade&&(targetSlide=_.currentSlide,!0!==dontAnimate&&_.slideCount>_.options.slidesToShow?_.animateSlide(slideLeft,function(){_.postSlide(targetSlide)}):_.postSlide(targetSlide)));if(_.options.autoplay&&clearInterval(_.autoPlayTimer),animSlide=targetSlide<0?_.slideCount%_.options.slidesToScroll!=0?_.slideCount-_.slideCount%_.options.slidesToScroll:_.slideCount+targetSlide:targetSlide>=_.slideCount?_.slideCount%_.options.slidesToScroll!=0?0:targetSlide-_.slideCount:targetSlide,_.animating=!0,_.$slider.trigger("beforeChange",[_,_.currentSlide,animSlide]),oldSlide=_.currentSlide,_.currentSlide=animSlide,_.setSlideClasses(_.currentSlide),_.options.asNavFor&&(navTarget=_.getNavTarget(),navTarget=navTarget.slick("getSlick"),navTarget.slideCount<=navTarget.options.slidesToShow&&navTarget.setSlideClasses(_.currentSlide)),_.updateDots(),_.updateArrows(),!0===_.options.fade)return!0!==dontAnimate?(_.fadeSlideOut(oldSlide),_.fadeSlide(animSlide,function(){_.postSlide(animSlide)})):_.postSlide(animSlide),void _.animateHeight();!0!==dontAnimate&&_.slideCount>_.options.slidesToShow?_.animateSlide(targetLeft,function(){_.postSlide(animSlide)}):_.postSlide(animSlide)}},Slick.prototype.startLoad=function(){var _=this;!0===_.options.arrows&&_.slideCount>_.options.slidesToShow&&(_.$prevArrow.hide(),_.$nextArrow.hide()),!0===_.options.dots&&_.slideCount>_.options.slidesToShow&&_.$dots.hide(),_.$slider.addClass("slick-loading")},Slick.prototype.swipeDirection=function(){var xDist,yDist,r,swipeAngle,_=this;return xDist=_.touchObject.startX-_.touchObject.curX,yDist=_.touchObject.startY-_.touchObject.curY,r=Math.atan2(yDist,xDist),swipeAngle=Math.round(180*r/Math.PI),swipeAngle<0&&(swipeAngle=360-Math.abs(swipeAngle)),swipeAngle<=45&&swipeAngle>=0?!1===_.options.rtl?"left":"right":swipeAngle<=360&&swipeAngle>=315?!1===_.options.rtl?"left":"right":swipeAngle>=135&&swipeAngle<=225?!1===_.options.rtl?"right":"left":!0===_.options.verticalSwiping?swipeAngle>=35&&swipeAngle<=135?"down":"up":"vertical"},Slick.prototype.swipeEnd=function(event){var slideCount,direction,_=this;if(_.dragging=!1,_.swiping=!1,_.scrolling)return _.scrolling=!1,!1;if(_.interrupted=!1,_.shouldClick=!(_.touchObject.swipeLength>10),void 0===_.touchObject.curX)return!1;if(!0===_.touchObject.edgeHit&&_.$slider.trigger("edge",[_,_.swipeDirection()]),_.touchObject.swipeLength>=_.touchObject.minSwipe){switch(direction=_.swipeDirection()){case"left":case"down":slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide+_.getSlideCount()):_.currentSlide+_.getSlideCount(),_.currentDirection=0;break;case"right":case"up":slideCount=_.options.swipeToSlide?_.checkNavigable(_.currentSlide-_.getSlideCount()):_.currentSlide-_.getSlideCount(),_.currentDirection=1}"vertical"!=direction&&(_.slideHandler(slideCount),_.touchObject={},_.$slider.trigger("swipe",[_,direction]))}else _.touchObject.startX!==_.touchObject.curX&&(_.slideHandler(_.currentSlide),_.touchObject={})},Slick.prototype.swipeHandler=function(event){var _=this;if(!(!1===_.options.swipe||"ontouchend"in document&&!1===_.options.swipe||!1===_.options.draggable&&-1!==event.type.indexOf("mou
2382se")))switch(_.touchObject.fingerCount=event.originalEvent&&void 0!==event.originalEvent.touches?event.originalEvent.touches.length:1,_.touchObject.minSwipe=_.listWidth/_.options.touchThreshold,!0===_.options.verticalSwiping&&(_.touchObject.minSwipe=_.listHeight/_.options.touchThreshold),event.data.action){case"start":_.swipeStart(event);break;case"move":_.swipeMove(event);break;case"end":_.swipeEnd(event)}},Slick.prototype.swipeMove=function(event){var curLeft,swipeDirection,swipeLength,positionOffset,touches,verticalSwipeLength,_=this;return touches=void 0!==event.originalEvent?event.originalEvent.touches:null,!(!_.dragging||_.scrolling||touches&&1!==touches.length)&&(curLeft=_.getLeft(_.currentSlide),_.touchObject.curX=void 0!==touches?touches[0].pageX:event.clientX,_.touchObject.curY=void 0!==touches?touches[0].pageY:event.clientY,_.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curX-_.touchObject.startX,2))),verticalSwipeLength=Math.round(Math.sqrt(Math.pow(_.touchObject.curY-_.touchObject.startY,2))),!_.options.verticalSwiping&&!_.swiping&&verticalSwipeLength>4?(_.scrolling=!0,!1):(!0===_.options.verticalSwiping&&(_.touchObject.swipeLength=verticalSwipeLength),swipeDirection=_.swipeDirection(),void 0!==event.originalEvent&&_.touchObject.swipeLength>4&&(_.swiping=!0,event.preventDefault()),positionOffset=(!1===_.options.rtl?1:-1)*(_.touchObject.curX>_.touchObject.startX?1:-1),!0===_.options.verticalSwiping&&(positionOffset=_.touchObject.curY>_.touchObject.startY?1:-1),swipeLength=_.touchObject.swipeLength,_.touchObject.edgeHit=!1,!1===_.options.infinite&&(0===_.currentSlide&&"right"===swipeDirection||_.currentSlide>=_.getDotCount()&&"left"===swipeDirection)&&(swipeLength=_.touchObject.swipeLength*_.options.edgeFriction,_.touchObject.edgeHit=!0),!1===_.options.vertical?_.swipeLeft=curLeft+swipeLength*positionOffset:_.swipeLeft=curLeft+swipeLength*(_.$list.height()/_.listWidth)*positionOffset,!0===_.options.verticalSwiping&&(_.swipeLeft=curLeft+swipeLength*positionOffset),!0!==_.options.fade&&!1!==_.options.touchMove&&(!0===_.animating?(_.swipeLeft=null,!1):void _.setCSS(_.swipeLeft))))},Slick.prototype.swipeStart=function(event){var touches,_=this;if(_.interrupted=!0,1!==_.touchObject.fingerCount||_.slideCount<=_.options.slidesToShow)return _.touchObject={},!1;void 0!==event.originalEvent&&void 0!==event.originalEvent.touches&&(touches=event.originalEvent.touches[0]),_.touchObject.startX=_.touchObject.curX=void 0!==touches?touches.pageX:event.clientX,_.touchObject.startY=_.touchObject.curY=void 0!==touches?touches.pageY:event.clientY,_.dragging=!0},Slick.prototype.unfilterSlides=Slick.prototype.slickUnfilter=function(){var _=this;null!==_.$slidesCache&&(_.unload(),_.$slideTrack.children(this.options.slide).detach(),_.$slidesCache.appendTo(_.$slideTrack),_.reinit())},Slick.prototype.unload=function(){var _=this;$(".slick-cloned",_.$slider).remove(),_.$dots&&_.$dots.remove(),_.$prevArrow&&_.htmlExpr.test(_.options.prevArrow)&&_.$prevArrow.remove(),_.$nextArrow&&_.htmlExpr.test(_.options.nextArrow)&&_.$nextArrow.remove(),_.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},Slick.prototype.unslick=function(fromBreakpoint){var _=this;_.$slider.trigger("unslick",[_,fromBreakpoint]),_.destroy()},Slick.prototype.updateArrows=function(){var _=this;Math.floor(_.options.slidesToShow/2),!0===_.options.arrows&&_.slideCount>_.options.slidesToShow&&!_.options.infinite&&(_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),_.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===_.currentSlide?(_.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),_.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):_.currentSlide>=_.slideCount-_.options.slidesToShow&&!1===_.options.centerMode?(_.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):_.currentSlide>=_.slideCount-1&&!0===_.options.centerMode&&(_.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),_.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},Slick.prototype.updateDots=function(){var _=this;null!==_.$dots&&(_.$dots.find("li").removeClass("slick-active").end(),_.$dots.find("li").eq(Math.floor(_.currentSlide/_.options.slidesToScroll)).addClass("slick-active"))},Slick.prototype.visibility=function(){var _=this;_.options.autoplay&&(document[_.hidden]?_.interrupted=!0:_.interrupted=!1)},$.fn.slick=function(){var i,ret,_=this,opt=arguments[0],args=Array.prototype.slice.call(arguments,1
2382),l=_.length;for(i=0;i<l;i++)if("object"==typeof opt||void 0===opt?_[i].slick=new Slick(_[i],opt):ret=_[i].slick[opt].apply(_[i].slick,args),void 0!==ret)return ret;return _}}),$("#social-tabs").myTabs(),// Init - Hero Slick
2383$(".hero-wide").slick({autoplay:!0,autoplaySpeed:1e4,arrows:!1,dots:!0,mobileFirst:!0,slidesToShow:1,slidesToScroll:1,rows:0}),$(".images-slider-multi").slick({infinite:!1,speed:300,slidesToShow:4,slidesToScroll:4,rows:0,arrows:!1,dots:!0,responsive:[{breakpoint:800,settings:{slidesToShow:3,slidesToScroll:3}},{breakpoint:600,settings:{slidesToShow:2,slidesToScroll:2}}]}),$(function(){function redirect_focus(el){
2384// console.log(el);
2385$(el).attr("tabindex",-1).on("blur focusout",function(){$(this).removeAttr("tabindex")}).focus()}function scroll_to_target(el){
2386// console.log(el);
2387var $scroll_to=$(el).offset().top,$header_height=$("#header").height();$scroll_to>=$header_height&&($scroll_to=$(el).offset().top-$header_height),$("html, body").animate({scrollTop:$scroll_to},500)}
2388// ADA - Hamburger Navigation
2389function activate_nav(show_nav){var $nav=$("#nav-main");show_nav?$nav.find("a").attr("tabindex",0):$nav.find("a").attr("tabindex",-1)}
2390//////////////////////////////
2391// ADA
2392//////////////////////////////
2393// $('*').on('focus', function() {
2394// 	console.log(document.activeElement);
2395// });
2396$("a, button, [tabindex], h1, h2, h3, h4, h5, h6, p, img, .error, .entry-content li").not('[tabindex="0"], [tabindex^="-"]').each(function(i){$(this).attr("tabindex",0)}),
2397// $('.addthis_button, .slick-slide, .slick-slide h1, .slick-slide h2, .slick-slide h3, .slick-slide h4, .slick-slide h5, .slick-slide h6, .slick-slide p, .slick-slide a').each(function(i) {
2398// 	$(this).attr('tabindex', -1);
2399// });
2400// $('a img, .addthis_button').each(function(i) {
2401// 	$(this).attr('tabindex', -1);
2402// });
2403$(".addthis_button").each(function(i){$(this).attr("tabindex",-1)}),
2404// $('a[href^="#"]:not(a[href="#"])').click(function(e) {
2405// 	e.preventDefault();
2406// 	$(e.target).blur();
2407// 	var scroll_target = $(e.target).attr('href');
2408// 	scroll_to_target($(scroll_target));
2409// });
2410$(".skip").click(function(e){e.preventDefault();var skipTo="#"+this.href.split("#")[1];scroll_to_target($(skipTo)),redirect_focus($(skipTo))}),
2411// Accessibility Transcriptions
2412$(".transcription-link").modaal(),activate_nav(!1),$(".hamburger-nav").on("click",function(e){e.preventDefault(),$(this).hasClass("active")?(activate_nav(!1),$(this).attr({"aria-expanded":!1,"aria-label":"Open Navigation",title:"Open Navigation"}),setTimeout(function(){$(".hamburger-nav").focus()},100)):(activate_nav(!0),$(this).attr({"aria-expanded":!0,"aria-label":"Close Navigation",title:"Close Navigation"}),setTimeout(function(){redirect_focus($("#nav-main"))},100))}),
2413// $('.hamburger-close').on('click', function(e) {
2414// 	e.preventDefault();
2415// 	$('.hamburger-nav').click().focus();
2416// });
2417$(document).on("focusout","#nav-main",function(e){$(e.relatedTarget).parents("#nav-main").length<1&&$(".hamburger-nav").focus()}),$(document).on("focusout","#header",function(e){$(e.relatedTarget).parents("#header").length<1&&$(".hamburger-nav").hasClass("active")&&redirect_focus($("#nav-main"))}),
2418//////////////////////////////
2419// Core Inits
2420//////////////////////////////
2421// Init - Placeholder
2422$("input, textarea").placeholder(),
2423// Init - Label Hint
2424//$('.lbl-hint').labelHint();
2425// Init - Chosen Plugin
2426$(".chosen-select").chosen({width:"100%"}),$(".chosen-search-input").attr("aria-label","Filter Available Options"),
2427// Init - Custom Checkbox
2428$(".custom-chbx").customChbx(),
2429// Init - File Input
2430$(".fileinput").fileInput(),
2431// Init - Dropdowns
2432$(".dropdown .dropbtn").on("click",function(e){function closeDropdown(){$(dropdown).removeClass("active").find(".dropbtn").attr("aria-expanded","false"),$(dropdown).find(".dropdown-content").attr("aria-hidden","true")}e.stopPropagation();var dropdown=$(this).parent();
2433//$(dropdown).removeClass('active').find('.dropbtn').attr('aria-expanded', 'false');
2434// $(dropdown).addClass('active').find('.dropbtn').attr('aria-expanded', 'true');
2435// $(dropdown).find('.dropdown-content').attr('tabindex', -1).on('blur focusout', function() {
2436// 	$(this).removeAttr('tabindex');
2437// }).focus()
2438return $(dropdown).hasClass("active")?closeDropdown():function(){$(dropdown).addClass("active").find(".dropbtn").attr("aria-expanded","true"),$(dropdown).find(".dropdown-content").attr("tabindex",-1).on("blur focusout",function(){$(dropdown).find(".dropdown-content").removeAttr("tabindex").attr("aria-hidden","true")}).focus()}(),$(window).on("click",function(e){$(dropdown).hasClass("active")&&($(e.target).closest(dropdown).length<1?closeDropdown():$(e.target).is("a")&&$(e.target).closest(dropdown).length>0&&($(dropdown).find(".dropdown-content .current").removeClass("current"),$(e.target).addClass("current"),closeDropdown()))}),$(document).on("focusout",".dropdown",function(e){$(e.relatedTarget).parents(".dropdown").length<1&&closeDropdown()}),!1}),
2439//////////////////////////////
2440// Site Inits
2441//////////////////////////////
2442// Init - Accordion
2443$(".accordion").accordion(),
2444// Init - Colorbox
2445$(".cbox_group1").colorbox({rel:"cbox_group1",maxWidth:"95%",maxHeight:"95%"}),$(".cbox").colorbox({maxWidth:"95%",maxHeight:"95%"}),
2446// Init - Equal Heights Plugin
2447$(".eqheight").matchHeight(),
2448// Init - Hamburger
2449$(".hamburger-nav").hamburger({negativeSpace:0,// optional. e.g. '.header'. insert element to subtract its height from page height.
2450animation:"fadeIn"}),
2451// Pickaday
2452$(".date").pikaday({firstDay:1,minDate:new Date,format:"MM/DD/YYYY"}),$(".birth-date").pikaday({minDate:!1,maxDate:new Date,yearRange:100}),
2453// Pick a time
2454$(".time12h").timepicker({appendTo:function(e){return e.parent()},timeFormat:"g:ia"}),
2455//////////////////////////////
2456// Other
2457//////////////////////////////
2458// Fix Startup CSS animations
2459$(window).load(function(){$("body").removeClass("preload")}),
2460//If scrolled past logo section fix nav to top
2461$(window).scroll(function(){$(window).scrollTop()>1?$("body").addClass("header-fixed"):$("body").removeClass("header-fixed")}).scroll()});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.