/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ !function(d,i){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=d.document?i(d,!0):function(d){if(!d.document)throw new Error("jQuery requires a window with a document");return i(d)}:i(d)}("undefined"!=typeof window?window:this,function(d,i){"use strict";var e=[],P=Object.getPrototypeOf,dS=e.slice,c=e.flat?function(d){return e.flat.call(d)}:function(d){return e.concat.apply([],d)},G=e.push,dL=e.indexOf,g={},h=g.toString,eR=g.hasOwnProperty,a=eR.toString,cf=a.call(Object),U={},eX=function(d){return"function"==typeof d&&"number"!=typeof d.nodeType},cX=function(d){return null!=d&&d===d.window},dA=d.document,f={type:!0,src:!0,nonce:!0,noModule:!0};function Z(d,i,e){var P,dS,c=(e=e||dA).createElement("script");if(c.text=d,i)for(P in f)(dS=i[P]||i.getAttribute&&i.getAttribute(P))&&c.setAttribute(P,dS);e.head.appendChild(c).parentNode.removeChild(c)}function eZ(d){return null==d?d+"":"object"==typeof d||"function"==typeof d?g[h.call(d)]||"object":typeof d}var b="3.5.1",E=function(d,i){return new E.fn.init(d,i)};function cB(d){var i=!!d&&"length"in d&&d.length,e=eZ(d);return!eX(d)&&!cX(d)&&("array"===e||0===i||"number"==typeof i&&0+~]|"+k+")"+k+"*"),s=new RegExp(k+"|>"),t=new RegExp(n),u=new RegExp("^"+l+"$"),v={ID:new RegExp("^#("+l+")"),CLASS:new RegExp("^\\.("+l+")"),TAG:new RegExp("^("+l+"|[*])"),ATTR:new RegExp("^"+m),PSEUDO:new RegExp("^"+n),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+k+"*(even|odd|(([+-]|)(\\d*)n|)"+k+"*(?:([+-]|)"+k+"*(\\d+)|))"+k+"*\\)|)","i"),bool:new RegExp("^(?:"+j+")$","i"),needsContext:new RegExp("^"+k+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+k+"*((?:-\\d)?\\d*)"+k+"*\\)|)(?=[^-]|$)","i")},w=/HTML$/i,x=/^(?:input|select|textarea|button)$/i,y=/^h\d$/i,z=/^[^{]+\{\s*\[native \w/,A=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,B=/[+~]/,C=new RegExp("\\\\[\\da-fA-F]{1,6}"+k+"?|\\\\([^\\r\\n\\f])","g"),D=function(d,i){var e="0x"+d.slice(1)-65536;return i||(e<0?String.fromCharCode(e+65536):String.fromCharCode(e>>10|55296,1023&e|56320))},F=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,H=function(d,i){return i?"\0"===d?"�":d.slice(0,-1)+"\\"+d.charCodeAt(d.length-1).toString(16)+" ":"\\"+d},J=function(){cf()},L=ed(function(d){return!0===d.disabled&&"fieldset"===d.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{bA.apply(K=ga.call(E.childNodes),E.childNodes),K[E.childNodes.length].nodeType}catch(i){bA={apply:K.length?function(d,i){cE.apply(d,ga.call(i))}:function(d,i){var e=d.length,P=0;while(d[e++]=i[P++]);d.length=e-1}}}function M(d,i,P,dS){var c,dL,h,eR,a,eX,f,Z=i&&i.ownerDocument,E=i?i.nodeType:9;if(P=P||[],"string"!=typeof d||!d||1!==E&&9!==E&&11!==E)return P;if(!dS&&(cf(i),i=i||U,cX)){if(11!==E&&(a=A.exec(d)))if(c=a[1]){if(9===E){if(!(h=i.getElementById(c)))return P;if(h.id===c)return P.push(h),P}else if(Z&&(h=Z.getElementById(c))&&eZ(i,h)&&h.id===c)return P.push(h),P}else{if(a[2])return bA.apply(P,i.getElementsByTagName(d)),P;if((c=a[3])&&e.getElementsByClassName&&i.getElementsByClassName)return bA.apply(P,i.getElementsByClassName(c)),P}if(e.qsa&&!dj[d+" "]&&(!dA||!dA.test(d))&&(1!==E||"object"!==i.nodeName.toLowerCase())){if(f=d,Z=i,1===E&&(s.test(d)||r.test(d))){(Z=B.test(d)&&Y(i.parentNode)||i)===i&&e.scope||((eR=i.getAttribute("id"))?eR=eR.replace(F,H):i.setAttribute("id",eR=b)),dL=(eX=G(d)).length;while(dL--)eX[dL]=(eR?"#"+eR:":scope")+" "+_(eX[dL]);f=eX.join(",")}try{return bA.apply(P,Z.querySelectorAll(f)),P}catch(i){dj(d,!0)}finally{eR===b&&i.removeAttribute("id")}}}return g(d.replace(p,"$1"),i,P,dS)}function N(){var d=[];return function i(e,dS){return d.push(e+" ")>P.cacheLength&&delete i[d.shift()],i[e+" "]=dS}}function O(d){return d[b]=!0,d}function Q(d){var i=U.createElement("fieldset");try{return!!d(i)}catch(d){return!1}finally{i.parentNode&&i.parentNode.removeChild(i),i=null}}function R(d,i){var e=d.split("|"),dS=e.length;while(dS--)P.attrHandle[e[dS]]=i}function S(d,i){var e=i&&d,P=e&&1===d.nodeType&&1===i.nodeType&&d.sourceIndex-i.sourceIndex;if(P)return P;if(e)while(e=e.nextSibling)if(e===i)return-1;return d?1:-1}function T(d){return function(i){return"input"===i.nodeName.toLowerCase()&&i.type===d}}function V(d){return function(i){var e=i.nodeName.toLowerCase();return("input"===e||"button"===e)&&i.type===d}}function W(d){return function(i){return"form"in i?i.parentNode&&!1===i.disabled?"label"in i?"label"in i.parentNode?i.parentNode.disabled===d:i.disabled===d:i.isDisabled===d||i.isDisabled!==!d&&L(i)===d:i.disabled===d:"label"in i&&i.disabled===d}}function X(d){return O(function(i){return i=+i,O(function(e,P){var dS,c=d([],e.length,i),G=c.length;while(G--)e[dS=c[G]]&&(e[dS]=!(P[dS]=e[dS]))})})}function Y(d){return d&&"undefined"!=typeof d.getElementsByTagName&&d}for(i in e=M.support={},c=M.isXML=function(d){var i=d.namespaceURI,e=(d.ownerDocument||d).documentElement;return!w.test(i||e&&e.nodeName||"HTML")},cf=M.setDocument=function(d){var i,dS,G=d?d.ownerDocument||d:E;return G!=U&&9===G.nodeType&&G.documentElement&&(eX=(U=G).documentElement,cX=!c(U),E!=U&&(dS=U.defaultView)&&dS.top!==dS&&(dS.addEventListener?dS.addEventListener("unload",J,!1):dS.attachEvent&&dS.attachEvent("onunload",J)),e.scope=Q(function(d){return eX.appendChild(d).appendChild(U.createElement("div")),"undefined"!=typeof d.querySelectorAll&&!d.querySelectorAll(":scope fieldset div").length}),e.attributes=Q(function(d){return d.className="i",!d.getAttribute("className")}),e.getElementsByTagName=Q(function(d){return d.appendChild(U.createComment("")),!d.getElementsByTagName("*").length}),e.getElementsByClassName=z.test(U.getElementsByClassName),e.getById=Q(function(d){return eX.appendChild(d).id=b,!U.getElementsByName||!U.getElementsByName(b).length}),e.getById?(P.filter.ID=function(d){var i=d.replace(C,D);return function(d){return d.getAttribute("id")===i}},P.find.ID=function(d,i){if("undefined"!=typeof i.getElementById&&cX){var e=i.getElementById(d);return e?[e]:[]}}):(P.filter.ID=function(d){var i=d.replace(C,D);return function(d){var e="undefined"!=typeof d.getAttributeNode&&d.getAttributeNode("id");return e&&e.value===i}},P.find.ID=function(d,i){if("undefined"!=typeof i.getElementById&&cX){var e,P,dS,c=i.getElementById(d);if(c){if((e=c.getAttributeNode("id"))&&e.value===d)return[c];dS=i.getElementsByName(d),P=0;while(c=dS[P++])if((e=c.getAttributeNode("id"))&&e.value===d)return[c]}return[]}}),P.find.TAG=e.getElementsByTagName?function(d,i){return"undefined"!=typeof i.getElementsByTagName?i.getElementsByTagName(d):e.qsa?i.querySelectorAll(d):void 0}:function(d,i){var e,P=[],dS=0,c=i.getElementsByTagName(d);if("*"===d){while(e=c[dS++])1===e.nodeType&&P.push(e);return P}return c},P.find.CLASS=e.getElementsByClassName&&function(d,i){if("undefined"!=typeof i.getElementsByClassName&&cX)return i.getElementsByClassName(d)},f=[],dA=[],(e.qsa=z.test(U.querySelectorAll))&&(Q(function(d){var i;eX.appendChild(d).innerHTML="",d.querySelectorAll("[msallowcapture^='']").length&&dA.push("[*^$]="+k+"*(?:''|\"\")"),d.querySelectorAll("[selected]").length||dA.push("\\["+k+"*(?:value|"+j+")"),d.querySelectorAll("[id~="+b+"-]").length||dA.push("~="),(i=U.createElement("input")).setAttribute("name",""),d.appendChild(i),d.querySelectorAll("[name='']").length||dA.push("\\["+k+"*name"+k+"*="+k+"*(?:''|\"\")"),d.querySelectorAll(":checked").length||dA.push(":checked"),d.querySelectorAll("a#"+b+"+*").length||dA.push(".#.+[+~]"),d.querySelectorAll("\\\f"),dA.push("[\\r\\n\\f]")}),Q(function(d){d.innerHTML="";var i=U.createElement("input");i.setAttribute("type","hidden"),d.appendChild(i).setAttribute("name","D"),d.querySelectorAll("[name=d]").length&&dA.push("name"+k+"*[*^$|!~]?="),2!==d.querySelectorAll(":enabled").length&&dA.push(":enabled",":disabled"),eX.appendChild(d).disabled=!0,2!==d.querySelectorAll(":disabled").length&&dA.push(":enabled",":disabled"),d.querySelectorAll("*,:x"),dA.push(",.*:")})),(e.matchesSelector=z.test(Z=eX.matches||eX.webkitMatchesSelector||eX.mozMatchesSelector||eX.oMatchesSelector||eX.msMatchesSelector))&&Q(function(d){e.disconnectedMatch=Z.call(d,"*"),Z.call(d,"[s!='']:x"),f.push("!=",n)}),dA=dA.length&&new RegExp(dA.join("|")),f=f.length&&new RegExp(f.join("|")),i=z.test(eX.compareDocumentPosition),eZ=i||z.test(eX.contains)?function(d,i){var e=9===d.nodeType?d.documentElement:d,P=i&&i.parentNode;return d===P||!(!P||1!==P.nodeType||!(e.contains?e.contains(P):d.compareDocumentPosition&&16&d.compareDocumentPosition(P)))}:function(d,i){if(i)while(i=i.parentNode)if(i===d)return!0;return!1},cXf=i?function(d,i){if(d===i)return a=!0,0;var P=!d.compareDocumentPosition-!i.compareDocumentPosition;return P||(1&(P=(d.ownerDocument||d)==(i.ownerDocument||i)?d.compareDocumentPosition(i):1)||!e.sortDetached&&i.compareDocumentPosition(d)===P?d==U||d.ownerDocument==E&&eZ(E,d)?-1:i==U||i.ownerDocument==E&&eZ(E,i)?1:eR?fP(eR,d)-fP(eR,i):0:4&P?-1:1)}:function(d,i){if(d===i)return a=!0,0;var e,P=0,dS=d.parentNode,c=i.parentNode,G=[d],dL=[i];if(!dS||!c)return d==U?-1:i==U?1:dS?-1:c?1:eR?fP(eR,d)-fP(eR,i):0;if(dS===c)return S(d,i);e=d;while(e=e.parentNode)G.unshift(e);e=i;while(e=e.parentNode)dL.unshift(e);while(G[P]===dL[P])P++;return P?S(G[P],dL[P]):G[P]==E?-1:dL[P]==E?1:0}),U},M.matches=function(d,i){return M(d,null,null,i)},M.matchesSelector=function(d,i){if(cf(d),e.matchesSelector&&cX&&!dj[i+" "]&&(!f||!f.test(i))&&(!dA||!dA.test(i)))try{var P=Z.call(d,i);if(P||e.disconnectedMatch||d.document&&11!==d.document.nodeType)return P}catch(d){dj(i,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(d){return d[1]=d[1].replace(C,D),d[3]=(d[3]||d[4]||d[5]||"").replace(C,D),"~="===d[2]&&(d[3]=" "+d[3]+" "),d.slice(0,4)},CHILD:function(d){return d[1]=d[1].toLowerCase(),"nth"===d[1].slice(0,3)?(d[3]||M.error(d[0]),d[4]=+(d[4]?d[5]+(d[6]||1):2*("even"===d[3]||"odd"===d[3])),d[5]=+(d[7]+d[8]||"odd"===d[3])):d[3]&&M.error(d[0]),d},PSEUDO:function(d){var i,e=!d[6]&&d[2];return v.CHILD.test(d[0])?null:(d[3]?d[2]=d[4]||d[5]||"":e&&t.test(e)&&(i=G(e,!0))&&(i=e.indexOf(")",e.length-i)-e.length)&&(d[0]=d[0].slice(0,i),d[2]=e.slice(0,i)),d.slice(0,3))}},filter:{TAG:function(d){var i=d.replace(C,D).toLowerCase();return"*"===d?function(){return!0}:function(d){return d.nodeName&&d.nodeName.toLowerCase()===i}},CLASS:function(d){var i=ca[d+" "];return i||(i=new RegExp("(^|"+k+")"+d+"("+k+"|$)"))&&ca(d,function(d){return i.test("string"==typeof d.className&&d.className||"undefined"!=typeof d.getAttribute&&d.getAttribute("class")||"")})},ATTR:function(d,i,e){return function(P){var dS=M.attr(P,d);return null==dS?"!="===i:!i||(dS+="","="===i?dS===e:"!="===i?dS!==e:"^="===i?e&&0===dS.indexOf(e):"*="===i?e&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function id(d,i,e){return eX(i)?E.grep(d,function(d,P){return!!i.call(d,P,d)!==e}):i.nodeType?E.grep(d,function(d){return d===i!==e}):"string"!=typeof i?E.grep(d,function(d){return-1)[^>]*|#([\w-]+))$/;(E.fn.init=function(d,i,e){var P,dS;if(!d)return this;if(e=e||K,"string"==typeof d){if(!(P="<"===d[0]&&">"===d[d.length-1]&&3<=d.length?[null,d,null]:bX.exec(d))||!P[1]&&i)return!i||i.jquery?(i||e).find(d):this.constructor(i).find(d);if(P[1]){if(i=i instanceof E?i[0]:i,E.merge(this,E.parseHTML(P[1],i&&i.nodeType?i.ownerDocument||i:dA,!0)),cXf.test(P[1])&&E.isPlainObject(i))for(P in i)eX(this[P])?this[P](i[P]):this.attr(P,i[P]);return this}return(dS=dA.getElementById(P[2]))&&(this[0]=dS,this.length=1),this}return d.nodeType?(this[0]=d,this.length=1,this):eX(d)?void 0!==e.ready?e.ready(d):d(E):E.makeArray(d,this)}).prototype=E.fn,K=E(dA);var cE=/^(?:parents|prev(?:Until|All))/,bA={children:!0,contents:!0,next:!0,prev:!0};function ga(d,i){while((d=d[i])&&1!==d.nodeType);return d}E.fn.extend({has:function(d){var i=E(d,this),e=i.length;return this.filter(function(){for(var d=0;d\x20\t\r\n\f]*)/i,V=/^$|^module$|\/(?:java|ecma)script/i;Q=dA.createDocumentFragment().appendChild(dA.createElement("div")),(R=dA.createElement("input")).setAttribute("type","radio"),R.setAttribute("checked","checked"),R.setAttribute("name","t"),Q.appendChild(R),U.checkClone=Q.cloneNode(!0).cloneNode(!0).lastChild.checked,Q.innerHTML="",U.noCloneChecked=!!Q.cloneNode(!0).lastChild.defaultValue,Q.innerHTML="",U.option=!!Q.lastChild;var W={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function X(d,i){var e;return e="undefined"!=typeof d.getElementsByTagName?d.getElementsByTagName(i||"*"):"undefined"!=typeof d.querySelectorAll?d.querySelectorAll(i||"*"):[],void 0===i||i&&dj(d,i)?E.merge([d],e):e}function Y(d,i){for(var e=0,P=d.length;e",""]);var $=/<|&#?\w+;/;function _(d,i,e,P,dS){for(var c,G,dL,g,h,eR,a=i.createDocumentFragment(),cf=[],U=0,eX=d.length;U\s*$/g;function Ud(d,i){return dj(d,"table")&&dj(11!==i.nodeType?i:i.firstChild,"tr")&&E(d).children("tbody")[0]||d}function cXd(d){return d.type=(null!==d.getAttribute("type"))+"/"+d.type,d}function dAd(d){return"true/"===(d.type||"").slice(0,5)?d.type=d.type.slice(5):d.removeAttribute("type"),d}function fd(d,i){var e,P,dS,c,G,dL;if(1===i.nodeType){if(w.hasData(d)&&(dL=w.get(d).events))for(dS in w.remove(i,"handle events"),dL)for(e=0,P=dL[dS].length;e").attr(d.scriptAttrs||{}).prop({charset:d.scriptCharset,src:d.url}).on("load error",e=function(d){i.remove(),e=null,d&&dS("error"===d.type?404:200,d.type)}),dA.head.appendChild(i[0])},abort:function(){e&&e()}}});var gi,hi=[],eRi=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var d=hi.pop()||E.expando+"_"+Ld.guid++;return this[d]=!0,d}}),E.ajaxPrefilter("json jsonp",function(i,e,P){var dS,c,G,dL=!1!==i.jsonp&&(eRi.test(i.url)?"url":"string"==typeof i.data&&0===(i.contentType||"").indexOf("application/x-www-form-urlencoded")&&eRi.test(i.data)&&"data");if(dL||"jsonp"===i.dataTypes[0])return dS=i.jsonpCallback=eX(i.jsonpCallback)?i.jsonpCallback():i.jsonpCallback,dL?i[dL]=i[dL].replace(eRi,"$1"+dS):!1!==i.jsonp&&(i.url+=(Md.test(i.url)?"&":"?")+i.jsonp+"="+dS),i.converters["script json"]=function(){return G||E.error(dS+" was not called"),G[0]},i.dataTypes[0]="json",c=d[dS],d[dS]=function(){G=arguments},P.always(function(){void 0===c?E(d).removeProp(dS):d[dS]=c,i[dS]&&(i.jsonpCallback=e.jsonpCallback,hi.push(dS)),G&&eX(c)&&c(G[0]),G=c=void 0}),"script"}),U.createHTMLDocument=((gi=dA.implementation.createHTMLDocument("").body).innerHTML="
",2===gi.childNodes.length),E.parseHTML=function(d,i,e){return"string"!=typeof d?[]:("boolean"==typeof i&&(e=i,i=!1),i||(U.createHTMLDocument?((P=(i=dA.implementation.createHTMLDocument("")).createElement("base")).href=dA.location.href,i.head.appendChild(P)):i=dA),c=!e&&[],(dS=cXf.exec(d))?[i.createElement(dS[1])]:(dS=_([d],i,c),c&&c.length&&E(c).remove(),E.merge([],dS.childNodes)));var P,dS,c},E.fn.load=function(d,i,e){var P,dS,c,G=this,dL=d.indexOf(" ");return-1").append(E.parseHTML(d)).find(P):d)}).always(e&&function(d,i){G.each(function(){e.apply(this,c||[d.responseText,i,d])})}),this},E.expr.pseudos.animated=function(d){return E.grep(E.timers,function(i){return d===i.elem}).length},E.offset={setOffset:function(d,i,e){var P,dS,c,G,dL,g,h=E.css(d,"position"),eR=E(d),a={};"static"===h&&(d.style.position="relative"),dL=eR.offset(),c=E.css(d,"top"),g=E.css(d,"left"),("absolute"===h||"fixed"===h)&&-1<(c+g).indexOf("auto")?(G=(P=eR.position()).top,dS=P.left):(G=parseFloat(c)||0,dS=parseFloat(g)||0),eX(i)&&(i=i.call(d,e,E.extend({},dL))),null!=i.top&&(a.top=i.top-dL.top+G),null!=i.left&&(a.left=i.left-dL.left+dS),"using"in i?i.using.call(d,a):("number"==typeof a.top&&(a.top+="px"),"number"==typeof a.left&&(a.left+="px"),eR.css(a))}},E.fn.extend({offset:function(d){if(arguments.length)return void 0===d?this:this.each(function(i){E.offset.setOffset(this,d,i)});var i,e,P=this[0];return P?P.getClientRects().length?(i=P.getBoundingClientRect(),e=P.ownerDocument.defaultView,{top:i.top+e.pageYOffset,left:i.left+e.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var d,i,e,P=this[0],dS={top:0,left:0};if("fixed"===E.css(P,"position"))i=P.getBoundingClientRect();else{i=this.offset(),e=P.ownerDocument,d=P.offsetParent||e.documentElement;while(d&&(d===e.body||d===e.documentElement)&&"static"===E.css(d,"position"))d=d.parentNode;d&&d!==P&&1===d.nodeType&&((dS=E(d).offset()).top+=E.css(d,"borderTopWidth",!0),dS.left+=E.css(d,"borderLeftWidth",!0))}return{top:i.top-dS.top-E.css(P,"marginTop",!0),left:i.left-dS.left-E.css(P,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var d=this.offsetParent;while(d&&"static"===E.css(d,"position"))d=d.offsetParent;return d||F})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(d,i){var e="pageYOffset"===i;E.fn[d]=function(P){return p(this,function(d,P,dS){var c;if(cX(d)?c=d:9===d.nodeType&&(c=d.defaultView),void 0===dS)return c?c[i]:d[P];c?c.scrollTo(e?c.pageXOffset:dS,e?dS:c.pageYOffset):d[P]=dS},d,P,arguments.length)}}),E.each(["top","left"],function(d,i){E.cssHooks[i]=ddd(U.pixelPosition,function(d,e){if(e)return e=cad(d,i),bd.test(e)?E(d).position()[i]+"px":e})}),E.each({Height:"height",Width:"width"},function(d,i){E.each({padding:"inner"+d,content:i,"":"outer"+d},function(e,P){E.fn[P]=function(dS,c){var G=arguments.length&&(e||"boolean"!=typeof dS),dL=e||(!0===dS||!0===c?"margin":"border");return p(this,function(i,e,dS){var c;return cX(i)?0===P.indexOf("outer")?i["inner"+d]:i.document.documentElement["client"+d]:9===i.nodeType?(c=i.documentElement,Math.max(i.body["scroll"+d],c["scroll"+d],i.body["offset"+d],c["offset"+d],c["client"+d])):void 0===dS?E.css(i,e,dL):E.style(i,e,dS,dL)},i,G?dS:void 0,G)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(d,i){E.fn[i]=function(d){return this.on(i,d)}}),E.fn.extend({bind:function(d,i,e){return this.on(d,null,i,e)},unbind:function(d,i){return this.off(d,null,i)},delegate:function(d,i,e,P){return this.on(i,d,e,P)},undelegate:function(d,i,e){return 1===arguments.length?this.off(d,"**"):this.off(i,d||"**",e)},hover:function(d,i){return this.mouseenter(d).mouseleave(i||d)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(d,i){E.fn[i]=function(d,e){return 0",{size:1}).attr("size")&&g.attrFn,gH=g.attr,bS=g.attrHooks.value&&g.attrHooks.value.get||function(){return null},gB=g.attrHooks.value&&g.attrHooks.value.set||function(){return b},eU=/^(?:input|button)$/i,gW=/^[238]$/,a=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=/^(?:checked|selected)$/i;bA(g,"attrFn",E||{},"jQuery.attrFn is deprecated"),g.attr=function(R,bA,e,bS){var gB=bA.toLowerCase(),bJ=R&&R.nodeType;return bS&&(gH.length<4&&M("jQuery.fn.attr( props, pass ) is deprecated"),R&&!gW.test(bJ)&&(E?bA in E:g.isFunction(g.fn[bA])))?g(R)[bA](e):("type"===bA&&e!==b&&eU.test(R.nodeName)&&R.parentNode&&M("Can't change the 'type' of an input or button in IE 6/7/8"),!g.attrHooks[gB]&&a.test(gB)&&(g.attrHooks[gB]={get:function(R,M){var bA,e=g.prop(R,M);return e===!0||"boolean"!=typeof e&&(bA=R.getAttributeNode(M))&&bA.nodeValue!==!1?M.toLowerCase():b},set:function(R,b,M){var bA;return b===!1?g.removeAttr(R,M):(bA=g.propFix[M]||M,bA in R&&(R[bA]=!0),R.setAttribute(M,M.toLowerCase())),M}},V.test(gB)&&M("jQuery.fn.attr('"+gB+"') might use property instead of attribute")),gH.call(g,R,bA,e))},g.attrHooks.value={get:function(g,R){var b=(g.nodeName||"").toLowerCase();return"button"===b?bS.apply(this,arguments):("input"!==b&&"option"!==b&&M("jQuery.fn.attr('value') no longer gets properties"),R in g?g.value:null)},set:function(g,R){var b=(g.nodeName||"").toLowerCase();return"button"===b?gB.apply(this,arguments):("input"!==b&&"option"!==b&&M("jQuery.fn.attr('value', val) no longer sets properties"),void(g.value=R))}};var bJ,eUc,Q=g.fn.init,c=g.find,Ve=g.parseJSON,U=/^\s*)([^>]*)$/;g.fn.init=function(R,bA,e){var E,gH;return R&&"string"==typeof R&&!g.isPlainObject(bA)&&(E=eh.exec(g.trim(R)))&&E[0]&&(U.test(R)||M("$(html) HTML strings must start with '<' character"),E[3]&&M("$(html) HTML text after last tag is ignored"),"#"===E[0].charAt(0)&&(M("HTML string cannot start with a '#' character"),g.error("JQMIGRATE: Invalid selector string (XSS)")),bA&&bA.context&&bA.context.nodeType&&(bA=bA.context),g.parseHTML)?Q.call(this,g.parseHTML(E[2],bA&&bA.ownerDocument||bA||document,!0),bA,e):(gH=Q.apply(this,arguments),R&&R.selector!==b?(gH.selector=R.selector,gH.context=R.context):(gH.selector="string"==typeof R?R:"",R&&(gH.context=R.nodeType?R:bA||document)),gH)},g.fn.init.prototype=g.fn,g.find=function(g){var R=Array.prototype.slice.call(arguments);if("string"==typeof g&&aS.test(g))try{document.querySelector(g)}catch(b){g=g.replace(aH,function(g,R,b,M){return"["+R+b+'"'+M+'"]'});try{document.querySelector(g),M("Attribute selector with '#' must be quoted: "+R[0]),R[0]=g}catch(g){M("Attribute selector with '#' was not fixed: "+R[0])}}return c.apply(this,R)};var gT;for(gT in c)Object.prototype.hasOwnProperty.call(c,gT)&&(g.find[gT]=c[gT]);g.parseJSON=function(g){return g?Ve.apply(this,arguments):(M("jQuery.parseJSON requires a valid JSON string"),null)},g.uaMatch=function(g){g=g.toLowerCase();var R=/(chrome)[ \/]([\w.]+)/.exec(g)||/(webkit)[ \/]([\w.]+)/.exec(g)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(g)||/(msie) ([\w.]+)/.exec(g)||g.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(g)||[];return{browser:R[1]||"",version:R[2]||"0"}},g.browser||(bJ=g.uaMatch(navigator.userAgent),eUc={},bJ.browser&&(eUc[bJ.browser]=!0,eUc.version=bJ.version),eUc.chrome?eUc.webkit=!0:eUc.webkit&&(eUc.safari=!0),g.browser=eUc),bA(g,"browser",g.browser,"jQuery.browser is deprecated"),g.boxModel=g.support.boxModel="CSS1Compat"===document.compatMode,bA(g,"boxModel",g.boxModel,"jQuery.boxModel is deprecated"),bA(g.support,"boxModel",g.support.boxModel,"jQuery.support.boxModel is deprecated"),g.sub=function(){function R(g,b){return new R.fn.init(g,b)}g.extend(!0,R,this),R.superclass=this,R.fn=R.prototype=this(),R.fn.constructor=R,R.sub=this.sub,R.fn.init=function(M,bA){var e=g.fn.init.call(this,M,bA,b);return e instanceof R?e:R(e)},R.fn.init.prototype=R.fn;var b=R(document);return M("jQuery.sub() is deprecated"),R},g.fn.size=function(){return M("jQuery.fn.size() is deprecated; use the .length property"),this.length};var gD=!1;g.swap&&g.each(["height","width","reliableMarginRight"],function(R,b){var M=g.cssHooks[b]&&g.cssHooks[b].get;M&&(g.cssHooks[b].get=function(){var g;return gD=!0,g=M.apply(this,arguments),gD=!1,g})}),g.swap=function(g,R,b,bA){var e,E,gH={};gD||M("jQuery.swap() is undocumented and deprecated");for(E in R)gH[E]=g.style[E],g.style[E]=R[E];e=b.apply(g,bA||[]);for(E in R)g.style[E]=gH[E];return e},g.ajaxSetup({converters:{"text json":g.parseJSON}});var aM=g.fn.data;g.fn.data=function(R){var bA,e,E=this[0];return!E||"events"!==R||1!==arguments.length||(bA=g.data(E,R),e=g._data(E,R),bA!==b&&bA!==e||e===b)?aM.apply(this,arguments):(M("Use of jQuery.fn.data('events') is deprecated"),e)};var bQ=/\/(java|ecma)script/i;g.clean||(g.clean=function(R,b,bA,e){b=b||document,b=!b.nodeType&&b[0]||b,b=b.ownerDocument||b,M("jQuery.clean() is deprecated");var E,gH,bS,gB,eU=[];if(g.merge(eU,g.buildFragment(R,b).childNodes),bA)for(bS=function(g){return!g.type||bQ.test(g.type)?e?e.push(g.parentNode?g.parentNode.removeChild(g):g):bA.appendChild(g):void 0},E=0;null!=(gH=eU[E]);E++)g.nodeName(gH,"script")&&bS(gH)||(bA.appendChild(gH),"undefined"!=typeof gH.getElementsByTagName&&(gB=g.grep(g.merge([],gH.getElementsByTagName("script")),bS),eU.splice.apply(eU,[E+1,0].concat(gB)),E+=gB.length));return eU});var aMd=g.event.add,Z=g.event.remove,eT=g.event.trigger,aT=g.fn.toggle,eH=g.fn.live,cW=g.fn.die,cE=g.fn.load,d="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",f=new RegExp("\\b(?:"+d+")\\b"),h=/(?:^|\s)hover(\.\S+|)\b/,i=function(R){return"string"!=typeof R||g.event.special.hover?R:(h.test(R)&&M("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),R&&R.replace(h,"mouseenter$1 mouseleave$1"))};g.event.props&&"attrChange"!==g.event.props[0]&&g.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),g.event.dispatch&&bA(g.event,"handle",g.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),g.event.add=function(g,R,b,bA,e){g!==document&&f.test(R)&&M("AJAX events should be attached to document: "+R),aMd.call(this,g,i(R||""),b,bA,e)},g.event.remove=function(g,R,b,M,bA){Z.call(this,g,i(R)||"",b,M,bA)},g.each(["load","unload","error"],function(R,b){g.fn[b]=function(){var g=Array.prototype.slice.call(arguments,0);return"load"===b&&"string"==typeof g[0]?cE.apply(this,g):(M("jQuery.fn."+b+"() is deprecated"),g.splice(0,0,b),arguments.length?this.bind.apply(this,g):(this.triggerHandler.apply(this,g),this))}}),g.fn.toggle=function(R,b){if(!g.isFunction(R)||!g.isFunction(b))return aT.apply(this,arguments);M("jQuery.fn.toggle(handler, handler...) is deprecated");var bA=arguments,e=R.guid||g.guid++,E=0,gH=function(b){var M=(g._data(this,"lastToggle"+R.guid)||0)%E;return g._data(this,"lastToggle"+R.guid,M+1),b.preventDefault(),bA[M].apply(this,arguments)||!1};for(gH.guid=e;E dwh) ? dwh - scrollTop : 0; for (var i = 0, l = sticked.length; i < l; i++) { var s = sticked[i], elementTop = s.stickyWrapper.offset().top, etse = elementTop - s.topSpacing - extra; //update height in case of dynamic content s.stickyWrapper.css('height', s.stickyElement.outerHeight()); if (scrollTop <= etse) { if (s.currentTop !== null) { s.stickyElement .css({ 'width': '', 'position': '', 'top': '', 'z-index': '' }); s.stickyElement.parent().removeClass(s.className); s.stickyElement.trigger('sticky-end', [s]); s.currentTop = null; } } else { var newTop = documentHeight - s.stickyElement.outerHeight() - s.topSpacing - s.bottomSpacing - scrollTop - extra; if (newTop < 0) { newTop = newTop + s.topSpacing; } else { newTop = s.topSpacing; } if (s.currentTop !== newTop) { var newWidth; if (s.getWidthFrom) { newWidth = $(s.getWidthFrom).width() || null; } else if (s.widthFromWrapper) { newWidth = s.stickyWrapper.width(); } if (newWidth == null) { newWidth = s.stickyElement.width(); } s.stickyElement .css('width', newWidth) .css('position', 'fixed') .css('top', newTop) .css('z-index', s.zIndex); s.stickyElement.parent().addClass(s.className); if (s.currentTop === null) { s.stickyElement.trigger('sticky-start', [s]); } else { // sticky is started but it have to be repositioned s.stickyElement.trigger('sticky-update', [s]); } if (s.currentTop === s.topSpacing && s.currentTop > newTop || s.currentTop === null && newTop < s.topSpacing) { // just reached bottom || just started to stick but bottom is already reached s.stickyElement.trigger('sticky-bottom-reached', [s]); } else if(s.currentTop !== null && newTop === s.topSpacing && s.currentTop < newTop) { // sticky is started && sticked at topSpacing && overflowing from top just finished s.stickyElement.trigger('sticky-bottom-unreached', [s]); } s.currentTop = newTop; } // Check if sticky has reached end of container and stop sticking var stickyWrapperContainer = s.stickyWrapper.parent(); var unstick = (s.stickyElement.offset().top + s.stickyElement.outerHeight() >= stickyWrapperContainer.offset().top + stickyWrapperContainer.outerHeight()) && (s.stickyElement.offset().top <= s.topSpacing); if( unstick ) { s.stickyElement .css('position', 'absolute') .css('top', '') .css('bottom', 0) .css('z-index', ''); } else { s.stickyElement .css('position', 'fixed') .css('top', newTop) .css('bottom', '') .css('z-index', s.zIndex); } } } }, resizer = function() { windowHeight = $window.height(); for (var i = 0, l = sticked.length; i < l; i++) { var s = sticked[i]; var newWidth = null; if (s.getWidthFrom) { if (s.responsiveWidth) { newWidth = $(s.getWidthFrom).width(); } } else if(s.widthFromWrapper) { newWidth = s.stickyWrapper.width(); } if (newWidth != null) { s.stickyElement.css('width', newWidth); } } }, methods = { init: function(options) { return this.each(function() { var o = $.extend({}, defaults, options); var stickyElement = $(this); var stickyId = stickyElement.attr('id'); var wrapperId = stickyId ? stickyId + '-' + defaults.wrapperClassName : defaults.wrapperClassName; var wrapper = $('
') .attr('id', wrapperId) .addClass(o.wrapperClassName); stickyElement.wrapAll(function() { if ($(this).parent("#" + wrapperId).length == 0) { return wrapper; } }); var stickyWrapper = stickyElement.parent(); if (o.center) { stickyWrapper.css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"}); } if (stickyElement.css("float") === "right") { stickyElement.css({"float":"none"}).parent().css({"float":"right"}); } o.stickyElement = stickyElement; o.stickyWrapper = stickyWrapper; o.currentTop = null; sticked.push(o); methods.setWrapperHeight(this); methods.setupChangeListeners(this); }); }, setWrapperHeight: function(stickyElement) { var element = $(stickyElement); var stickyWrapper = element.parent(); if (stickyWrapper) { stickyWrapper.css('height', element.outerHeight()); } }, setupChangeListeners: function(stickyElement) { if (window.MutationObserver) { var mutationObserver = new window.MutationObserver(function(mutations) { if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) { methods.setWrapperHeight(stickyElement); } }); mutationObserver.observe(stickyElement, {subtree: true, childList: true}); } else { if (window.addEventListener) { stickyElement.addEventListener('DOMNodeInserted', function() { methods.setWrapperHeight(stickyElement); }, false); stickyElement.addEventListener('DOMNodeRemoved', function() { methods.setWrapperHeight(stickyElement); }, false); } else if (window.attachEvent) { stickyElement.attachEvent('onDOMNodeInserted', function() { methods.setWrapperHeight(stickyElement); }); stickyElement.attachEvent('onDOMNodeRemoved', function() { methods.setWrapperHeight(stickyElement); }); } } }, update: scroller, unstick: function(options) { return this.each(function() { var that = this; var unstickyElement = $(that); var removeIdx = -1; var i = sticked.length; while (i-- > 0) { if (sticked[i].stickyElement.get(0) === that) { splice.call(sticked,i,1); removeIdx = i; } } if(removeIdx !== -1) { unstickyElement.unwrap(); unstickyElement .css({ 'width': '', 'position': '', 'top': '', 'float': '', 'z-index': '' }) ; } }); } }; // should be more efficient than using $window.scroll(scroller) and $window.resize(resizer): if (window.addEventListener) { window.addEventListener('scroll', scroller, false); window.addEventListener('resize', resizer, false); } else if (window.attachEvent) { window.attachEvent('onscroll', scroller); window.attachEvent('onresize', resizer); } $.fn.sticky = function(method) { if (methods[method]) { return methods[method].apply(this, slice.call(arguments, 1)); } else if (typeof method === 'object' || !method ) { return methods.init.apply( this, arguments ); } else { $.error('Method ' + method + ' does not exist on jQuery.sticky'); } }; $.fn.unstick = function(method) { if (methods[method]) { return methods[method].apply(this, slice.call(arguments, 1)); } else if (typeof method === 'object' || !method ) { return methods.unstick.apply( this, arguments ); } else { $.error('Method ' + method + ' does not exist on jQuery.sticky'); } }; $(function() { setTimeout(scroller, 0); }); }));