vendor: 22,881 bytes, lines 1-2
1/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ 2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var pe=oe.pop,de=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function p(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+"").replace(f,p)};var ye=C,me=s;!function(){var e,b,w,o,a,T,r,C,d,i,k=me,S=ce.expando,E=0,n=0,s=W(),c=W(),u=W(),h=W(),l=function(e,t){return e===t&&(a=!0),0},f="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",t="(?:\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",p="\\["+ge+"*("+t+")(?:"+ge+"*([*^$|!~]?=)"+ge+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+t+"))|)"+ge+"*\\]",g=":("+t+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+p+")*)|.*)\\)|)",v=new RegExp(ge+"+","g"),y=new RegExp("^"+ge+"*,"+ge+"*"),m=new RegExp("^"+ge+"*([>+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="<a id='"+S+"' href='' disabled='disabled'></a><select id='"+S+"-\r\\' disabled='disabled'><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0<I(t,T,null,[e]).length},I.contains=function(e,t){return(e.ownerDocument||e)!=T&&V(e),ce.contains(e,t)},I.attr=function(e,t){(e.ownerDocument||e)!=T&&V(e);var n=b.attrHandle[t.toLowerCase()],r=n&&ue.call(b.attrHandle,t.toLowerCase())?n(e,t,!C):void 0;return void 0!==r?r:e.getAttribute(t)},I.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ce.uniqueSort=function(e){var t,n=[],r=0,i=0;if(a=!le.sortStable,o=!le.sortStable&&ae.call(e,0),de.call(e,l),a){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)he.call(e,n[r],1)}return o=null,e},ce.fn.uniqueSort=function(){return this.pushStack(ce.uniqueSort(ae.apply(this)))},(b=ce.expr={cacheLength:50,createPseudo:F,match:D,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(v," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(d,e,t,h,g){var v="nth"!==d.slice(0,3),y="last"!==d.slice(-4),m="of-type"===e;return 1===h&&0===g?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u=v!==y?"nextSibling":"previousSibling",l=e.parentNode,c=m&&e.nodeName.toLowerCase(),f=!n&&!m,p=!1;if(l){if(v){while(u){o=e;while(o=o[u])if(m?fe(o,c):1===o.nodeType)return!1;s=u="only"===d&&!s&&"nextSibling"}return!0}if(s=[y?l.firstChild:l.lastChild],y&&f){p=(a=(r=(i=l[S]||(l[S]={}))[d]||[])[0]===E&&r[1])&&r[2],o=a&&l.childNodes[a];while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if(1===o.nodeType&&++p&&o===e){i[d]=[E,a,p];break}}else if(f&&(p=a=(r=(i=e[S]||(e[S]={}))[d]||[])[0]===E&&r[1]),!1===p)while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if((m?fe(o,c):1===o.nodeType)&&++p&&(f&&((i=o[S]||(o[S]={}))[d]=[E,p]),o===e))break;return(p-=g)===h||p%h==0&&0<=p/h}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||I.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?F(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=se.call(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:F(function(e){var r=[],i=[],s=ne(e.replace(ve,"$1"));return s[S]?F(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:F(function(t){return function(e){return 0<I(t,e).length}}),contains:F(function(t){return t=t.replace(O,P),function(e){return-1<(e.textContent||ce.text(e)).indexOf(t)}}),lang:F(function(n){return A.test(n||"")||I.error("unsupported lang: "+n),n=n.replace(O,P).toLowerCase(),function(e){var t;do{if(t=C?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=ie.location&&ie.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===r},focus:function(e){return e===function(){try{return T.activeElement}catch(e){}}()&&T.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:z(!1),disabled:z(!0),checked:function(e){return fe(e,"input")&&!!e.checked||fe(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return q.test(e.nodeName)},input:function(e){return N.test(e.nodeName)},button:function(e){return fe(e,"input")&&"button"===e.type||fe(e,"button")},text:function(e){var t;return fe(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:X(function(){return[0]}),last:X(function(e,t){return[t-1]}),eq:X(function(e,t,n){return[n<0?n+t:n]}),even:X(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:X(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:X(function(e,t,n){var r;for(r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:X(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=B(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=_(e);function G(){}function Y(e,t){var n,r,i,o,a,s,u,l=c[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=y.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=m.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(ve," ")}),a=a.slice(n.length)),b.filter)!(r=D[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?I.error(e):c(e,s).slice(0)}function Q(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function J(a,e,t){var s=e.dir,u=e.next,l=u||s,c=t&&"parentNode"===l,f=n++;return e.first?function(e,t,n){while(e=e[s])if(1===e.nodeType||c)return a(e,t,n);return!1}:function(e,t,n){var r,i,o=[E,f];if(n){while(e=e[s])if((1===e.nodeType||c)&&a(e,t,n))return!0}else while(e=e[s])if(1===e.nodeType||c)if(i=e[S]||(e[S]={}),u&&fe(e,u))e=e[s]||e;else{if((r=i[l])&&r[0]===E&&r[1]===f)return o[2]=r[2];if((i[l]=o)[2]=a(e,t,n))return!0}return!1}}function K(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Z(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function ee(d,h,g,v,y,e){return v&&!v[S]&&(v=ee(v)),y&&!y[S]&&(y=ee(y,e)),F(function(e,t,n,r){var i,o,a,s,u=[],l=[],c=t.length,f=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)I(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),p=!d||!e&&h?f:Z(f,u,d,n,r);if(g?g(p,s=y||(e?d:c||v)?[]:t,n,r):s=p,v){i=Z(s,l),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(s[l[o]]=!(p[l[o]]=a))}if(e){if(y||d){if(y){i=[],o=s.length;while(o--)(a=s[o])&&i.push(p[o]=a);y(null,s=[],i,r)}o=s.length;while(o--)(a=s[o])&&-1<(i=y?se.call(e,a):u[o])&&(e[i]=!(t[i]=a))}}else s=Z(s===t?s.splice(c,s.length):s),y?y(null,t,s,r):k.apply(t,s)})}function te(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=J(function(e){return e===i},a,!0),l=J(function(e){return-1<se.call(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!=w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[J(K(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return ee(1<s&&K(c),1<s&&Q(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ve,"$1"),t,s<n&&te(e.slice(s,n)),n<r&&te(e=e.slice(n)),n<r&&Q(e))}c.push(t)}return K(c)}function ne(e,t){var n,v,y,m,x,r,i=[],o=[],a=u[e+" "];if(!a){t||(t=Y(e)),n=t.length;while(n--)(a=te(t[n]))[S]?i.push(a):o.push(a);(a=u(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=E+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==T||(V(o),n=!C);while(s=v[a++])if(s(o,t||T,n)){k.call(r,o);break}i&&(E=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=pe.call(r));f=Z(f)}k.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&ce.uniqueSort(r)}return i&&(E=h,w=p),c},m?F(r):r))).selector=e}return a}function re(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&Y(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&C&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(O,P),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=D.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(O,P),H.test(o[0].type)&&U(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&Q(o)))return k.apply(n,r),n;break}}}return(l||ne(e,c))(r,t,!C,n,!t||H.test(e)&&U(t.parentNode)||t),n}G.prototype=b.filters=b.pseudos,b.setFilters=new G,le.sortStable=S.split("").sort(l).join("")===S,V(),le.sortDetached=$(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce.find=I,ce.expr[":"]=ce.expr.pseudos,ce.unique=ce.uniqueSort,I.compile=ne,I.select=re,I.setDocument=V,I.tokenize=Y,I.escape=ce.escapeSelector,I.getText=ce.text,I.isXML=ce.isXMLDoc,I.selectors=ce.expr,I.support=ce.support,I.uniqueSort=ce.uniqueSort}();var d=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&ce(e).is(n))break;r.push(e)}return r},h=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},b=ce.expr.match.needsContext,w=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1<se.call(n,e)!==r}):ce.filter(n,e,r)}ce.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?ce.find.matchesSelector(r,e)?[r]:[]:ce.find.matches(e,ce.grep(t,function(e){return 1===e.nodeType}))},ce.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(ce(e).filter(function(){for(t=0;t<r;t++)if(ce.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)ce.find(e,i[t],n);return 1<r?ce.uniqueSort(n):n},filter:function(e){return this.pushStack(T(this,e||[],!1))},not:function(e){return this.pushStack(T(this,e||[],!0))},is:function(e){return!!T(this,"string"==typeof e&&b.test(e)?ce(e):e||[],!1).length}});var k,S=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}
vendor: 1,967 bytes, line 2
2return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ce.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&ce(e);if(!b.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&ce.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?ce.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?se.call(ce(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ce.uniqueSort(ce.merge(this.get(),ce(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ce.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return d(e,"parentNode")},parentsUntil:function(e,t,n){return d(e,"parentNode",n)},next:function(e){return A(e,"nextSibling")},prev:function(e){return A(e,"previousSibling")},nextAll:function(e){return d(e,"nextSibling")},prevAll:function(e){return d(e,"previousSibling")},nextUntil:function(e,t,n){return d(e,"nextSibling",n)},prevUntil:function(e,t,n){return d(e,"previousSibling",n)},siblings:function(e){return h((e.parentNode||{}).firstChild,e)},children:function(e){return h(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(fe(e,"template")&&(e=e.content||e),ce.merge([],e.childNodes))}},function(r,i){ce.fn[r]=function(e,t){var n=ce.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=ce.filter(t,n)),1<this.length&&(j[r]||
vendor: 9,546 bytes, line 2
2ce.uniqueSort(n),E.test(r)&&n.reverse()),this.pushStack(n)}});var D=/[^\x20\t\r\n\f]+/g;function N(e){return e}function q(e){throw e}function L(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}ce.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},ce.each(e.match(D)||[],function(e,t){n[t]=!0}),n):ce.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){ce.each(e,function(e,t){v(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==x(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return ce.each(arguments,function(e,t){var n;while(-1<(n=ce.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<ce.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},ce.extend({Deferred:function(e){var o=[["notify","progress",ce.Callbacks("memory"),ce.Callbacks("memory"),2],["resolve","done",ce.Callbacks("once memory"),ce.Callbacks("once memory"),0,"resolved"],["reject","fail",ce.Callbacks("once memory"),ce.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return ce.Deferred(function(r){ce.each(o,function(e,t){var n=v(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&v(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,v(t)?s?t.call(e,l(u,o,N,s),l(u,o,q,s)):(u++,t.call(e,l(u,o,N,s),l(u,o,q,s),l(u,o,N,o.notifyWith))):(a!==N&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){ce.Deferred.exceptionHook&&ce.Deferred.exceptionHook(e,t.error),u<=i+1&&(a!==q&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(ce.Deferred.getErrorHook?t.error=ce.Deferred.getErrorHook():ce.Deferred.getStackHook&&(t.error=ce.Deferred.getStackHook()),ie.setTimeout(t))}}return ce.Deferred(function(e){o[0][3].add(l(0,e,v(r)?r:N,e.notifyWith)),o[1][3].add(l(0,e,v(t)?t:N)),o[2][3].add(l(0,e,v(n)?n:q))}).promise()},promise:function(e){return null!=e?ce.extend(e,a):a}},s={};return ce.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=ae.call(arguments),o=ce.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?ae.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(L(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||v(i[t]&&i[t].then)))return o.then();while(t--)L(i[t],a(t),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ce.Deferred.exceptionHook=function(e,t){ie.console&&ie.console.warn&&e&&H.test(e.name)&&ie.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},ce.readyException=function(e){ie.setTimeout(function(){throw e})};var O=ce.Deferred();function P(){C.removeEventListener("DOMContentLoaded",P),ie.removeEventListener("load",P),ce.ready()}ce.fn.ready=function(e){return O.then(e)["catch"](function(e){ce.readyException(e)}),this},ce.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ce.readyWait:ce.isReady)||(ce.isReady=!0)!==e&&0<--ce.readyWait||O.resolveWith(C,[ce])}}),ce.ready.then=O.then,"complete"===C.readyState||"loading"!==C.readyState&&!C.documentElement.doScroll?ie.setTimeout(ce.ready):(C.addEventListener("DOMContentLoaded",P),ie.addEventListener("load",P));var M=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)M(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,v(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(ce(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},R=/^-ms-/,I=/-([a-z])/g;function W(e,t){return t.toUpperCase()}function F(e){return e.replace(R,"ms-").replace(I,W)}var $=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function B(){this.expando=ce.expando+B.uid++}B.uid=1,B.prototype={cache:function(e){var t=e[this.expando];return t||(t={},$(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[F(t)]=n;else for(r in t)i[F(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][F(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(F):(t=F(t))in r?[t]:t.match(D)||[]).length;while(n--)delete r[t[n]]}(void 0===t||ce.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ce.isEmptyObject(t)}};var _=new B,z=new B,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,U=/[A-Z]/g;function V(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(U,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:X.test(i)?JSON.parse(i):i)}catch(e){}z.set(e,t,n)}else n=void 0;return n}ce.extend({hasData:function(e){return z.hasData(e)||_.hasData(e)},data:function(e,t,n){return z.access(e,t,n)},removeData:function(e,t){z.remove(e,t)},_data:function(e,t,n){return _.access(e,t,n)},_removeData:function(e,t){_.remove(e,t)}}),ce.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=z.get(o),1===o.nodeType&&!_.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=F(r.slice(5)),V(o,r,i[r]));_.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){z.set(this,n)}):M(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=z.get(o,n))?t:void 0!==(t=V(o,n))?t:void 0;this.each(function(){z.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){z.remove(this,e)})}}),ce.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=_.get(e,t),n&&(!r||Array.isArray(n)?r=_.access(e,t,ce.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=ce.queue(e,t),r=n.length,i=n.shift(),o=ce._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){ce.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return _.get(e,n)||_.access(e,n,{empty:ce.Callbacks("once memory").add(function(){_.remove(e,[t+"queue",n])})})}}),ce.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?ce.queue(this[0],t):void 0===n?this:this.each(function(){var e=ce.queue(this,t,n);ce._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&ce.dequeue(this,t)})},dequeue:function(e){return this.each(function(){ce.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=ce.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=_.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var G=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Y=new RegExp("^(?:([+-])=|)("+G+")([a-z%]*)$","i"),Q=["Top","Right","Bottom","Left"],J=C.documentElement,K=function(e){return ce.contains(e.ownerDocument,e)},Z={composed:!0};J.getRootNode&&(K=function(e){return ce.contains(e.ownerDocument,e)||e.getRootNode(Z)===e.ownerDocument});var ee=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&K(e)&&"none"===ce.css(e,"display")};function te(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return ce.css(e,t,"")},u=s(),l=n&&n[3]||(ce.cssNumber[t]?"":"px"),c=e.nodeType&&(ce.cssNumber[t]||"px"!==l&&+u)&&Y.exec(ce.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)ce.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,ce.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ne={};function re(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=_.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ee(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ne[s])||
vendor: 8,814 bytes, line 2
2(o=a.body.appendChild(a.createElement(s)),u=ce.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ne[s]=u)))):"none"!==n&&(l[c]="none",_.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}ce.fn.extend({show:function(){return re(this,!0)},hide:function(){return re(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ee(this)?ce(this).show():ce(this).hide()})}});var xe,be,we=/^(?:checkbox|radio)$/i,Te=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="<textarea>x</textarea>",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="<option></option>",le.option=!!xe.lastChild;var ke={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n<r;n++)_.set(e[n],"globalEval",!t||_.get(t[n],"globalEval"))}ke.tbody=ke.tfoot=ke.colgroup=ke.caption=ke.thead,ke.th=ke.td,le.option||(ke.optgroup=ke.option=[1,"<select multiple='multiple'>","</select>"]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))ce.merge(p,o.nodeType?[o]:o);else if(je.test(o)){a=a||f.appendChild(t.createElement("div")),s=(Te.exec(o)||["",""])[1].toLowerCase(),u=ke[s]||ke._default,a.innerHTML=u[1]+ce.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;ce.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<ce.inArray(o,r))i&&i.push(o);else if(l=K(o),a=Se(f.appendChild(o),"script"),l&&Ee(a),n){c=0;while(o=a[c++])Ce.test(o.type||"")&&n.push(o)}return f}var De=/^([^.]*)(?:\.(.+)|)/;function Ne(){return!0}function qe(){return!1}function Le(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Le(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=qe;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return ce().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=ce.guid++)),e.each(function(){ce.event.add(this,t,i,r,n)})}function He(e,r,t){t?(_.set(e,r,!1),ce.event.add(e,r,{namespace:!1,handler:function(e){var t,n=_.get(this,r);if(1&e.isTrigger&&this[r]){if(n)(ce.event.special[r]||{}).delegateType&&e.stopPropagation();else if(n=ae.call(arguments),_.set(this,r,n),this[r](),t=_.get(this,r),_.set(this,r,!1),n!==t)return e.stopImmediatePropagation(),e.preventDefault(),t}else n&&(_.set(this,r,ce.event.trigger(n[0],n.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Ne)}})):void 0===_.get(e,r)&&ce.event.add(e,r,Ne)}ce.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.get(t);if($(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&ce.find.matchesSelector(J,i),n.guid||(n.guid=ce.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof ce&&ce.event.triggered!==e.type?ce.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(D)||[""]).length;while(l--)d=g=(s=De.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=ce.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=ce.event.special[d]||{},c=ce.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ce.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),ce.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.hasData(e)&&_.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(D)||[""]).length;while(l--)if(d=g=(s=De.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=ce.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||ce.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)ce.event.remove(e,d+t[l],n,r,!0);ce.isEmptyObject(u)&&_.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=ce.event.fix(e),l=(_.get(this,"events")||Object.create(null))[u.type]||[],c=ce.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=ce.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((ce.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<ce(i,this).index(l):ce.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(ce.Event.prototype,t,{enumerable:!0,configurable:!0,get:v(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[ce.expando]?e:new ce.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click",!0),!1},trigger:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click"),!0},_default:function(e){var t=e.target;return we.test(t.type)&&t.click&&fe(t,"input")&&_.get(t,"click")||fe(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ce.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ce.Event=function(e,t){if(!(this instanceof ce.Event))return new ce.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ne:qe,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ce.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[ce.expando]=!0},ce.Event.prototype={constructor:ce.Event,isDefaultPrevented:qe,isPropagationStopped:qe,isImmediatePropagationStopped:qe,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ne,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ne,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ne,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ce.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},ce.event.addProp),ce.each({focus:"focusin",blur:"focusout"},function(r,i){function o(e){if(C.documentMode){var t=_.get(this,"handle"),n=ce.event.fix(e);
vendor: 14,182 bytes, line 2
2n.type="focusin"===e.type?"focus":"blur",n.isSimulated=!0,t(e),n.target===n.currentTarget&&t(n)}else ce.event.simulate(i,e.target,ce.event.fix(e))}ce.event.special[r]={setup:function(){var e;if(He(this,r,!0),!C.documentMode)return!1;(e=_.get(this,i))||this.addEventListener(i,o),_.set(this,i,(e||0)+1)},trigger:function(){return He(this,r),!0},teardown:function(){var e;if(!C.documentMode)return!1;(e=_.get(this,i)-1)?_.set(this,i,e):(this.removeEventListener(i,o),_.remove(this,i))},_default:function(e){return _.get(e.target,r)},delegateType:i},ce.event.special[i]={setup:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i);n||(C.documentMode?this.addEventListener(i,o):e.addEventListener(r,o,!0)),_.set(t,i,(n||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i)-1;n?_.set(t,i,n):(C.documentMode?this.removeEventListener(i,o):e.removeEventListener(r,o,!0),_.remove(t,i))}}}),ce.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){ce.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||ce.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),ce.fn.extend({on:function(e,t,n,r){return Le(this,e,t,n,r)},one:function(e,t,n,r){return Le(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,ce(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=qe),this.each(function(){ce.event.remove(this,e,n,t)})}});var Oe=/<script|<style|<link/i,Pe=/checked\s*(?:[^=]|=\s*.checked.)/i,Me=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)ce.event.add(t,i,s[i][n]);z.hasData(e)&&(o=z.access(e),a=ce.extend({},o),z.set(t,a))}}function $e(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=v(d);if(h||1<f&&"string"==typeof d&&!le.checkClone&&Pe.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),$e(t,r,i,o)});if(f&&(t=(e=Ae(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=ce.map(Se(e,"script"),Ie)).length;c<f;c++)u=e,c!==p&&(u=ce.clone(u,!0,!0),s&&ce.merge(a,Se(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,ce.map(a,We),c=0;c<s;c++)u=a[c],Ce.test(u.type||"")&&!_.access(u,"globalEval")&&ce.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?ce._evalUrl&&!u.noModule&&ce._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):m(u.textContent.replace(Me,""),u,l))}return n}function Be(e,t,n){for(var r,i=t?ce.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||ce.cleanData(Se(r)),r.parentNode&&(n&&K(r)&&Ee(Se(r,"script")),r.parentNode.removeChild(r));return e}ce.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=K(e);if(!(le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ce.isXMLDoc(e)))for(a=Se(c),r=0,i=(o=Se(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&we.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||Se(e),a=a||Se(c),r=0,i=o.length;r<i;r++)Fe(o[r],a[r]);else Fe(e,c);return 0<(a=Se(c,"script")).length&&Ee(a,!f&&Se(e,"script")),c},cleanData:function(e){for(var t,n,r,i=ce.event.special,o=0;void 0!==(n=e[o]);o++)if($(n)){if(t=n[_.expando]){if(t.events)for(r in t.events)i[r]?ce.event.remove(n,r):ce.removeEvent(n,r,t.handle);n[_.expando]=void 0}n[z.expando]&&(n[z.expando]=void 0)}}}),ce.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return M(this,function(e){return void 0===e?ce.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return $e(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Re(this,e).appendChild(e)})},prepend:function(){return $e(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Re(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ce.cleanData(Se(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ce.clone(this,e,t)})},html:function(e){return M(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Oe.test(e)&&!ke[(Te.exec(e)||["",""])[1].toLowerCase()]){e=ce.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(ce.cleanData(Se(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return $e(this,arguments,function(e){var t=this.parentNode;ce.inArray(this,n)<0&&(ce.cleanData(Se(this)),t&&t.replaceChild(e,this))},n)}}),ce.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){ce.fn[e]=function(e){for(var t,n=[],r=ce(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),ce(r[o])[a](t),s.apply(n,t.get());return this.pushStack(n)}});var _e=new RegExp("^("+G+")(?!px)[a-z%]+$","i"),ze=/^--/,Xe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=ie),t.getComputedStyle(e)},Ue=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ve=new RegExp(Q.join("|"),"i");function Ge(e,t,n){var r,i,o,a,s=ze.test(t),u=e.style;return(n=n||Xe(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace(ve,"$1")||void 0),""!==a||K(e)||(a=ce.style(e,t)),!le.pixelBoxStyles()&&_e.test(a)&&Ve.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function Ye(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",J.appendChild(u).appendChild(l);var e=ie.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),J.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=C.createElement("div"),l=C.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",le.clearCloneStyle="content-box"===l.style.backgroundClip,ce.extend(le,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=C.createElement("table"),t=C.createElement("tr"),n=C.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="box-sizing:content-box;border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",J.appendChild(e).appendChild(t).appendChild(n),r=ie.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,J.removeChild(e)),a}}))}();var Qe=["Webkit","Moz","ms"],Je=C.createElement("div").style,Ke={};function Ze(e){var t=ce.cssProps[e]||Ke[e];return t||(e in Je?e:Ke[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;while(n--)if((e=Qe[n]+t)in Je)return e}(e)||e)}var et=/^(none|table(?!-c[ea]).+)/,tt={position:"absolute",visibility:"hidden",display:"block"},nt={letterSpacing:"0",fontWeight:"400"};function rt(e,t,n){var r=Y.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function it(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0,l=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(l+=ce.css(e,n+Q[a],!0,i)),r?("content"===n&&(u-=ce.css(e,"padding"+Q[a],!0,i)),"margin"!==n&&(u-=ce.css(e,"border"+Q[a]+"Width",!0,i))):(u+=ce.css(e,"padding"+Q[a],!0,i),"padding"!==n?u+=ce.css(e,"border"+Q[a]+"Width",!0,i):s+=ce.css(e,"border"+Q[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u+l}function ot(e,t,n){var r=Xe(e),i=(!le.boxSizingReliable()||n)&&"border-box"===ce.css(e,"boxSizing",!1,r),o=i,a=Ge(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(_e.test(a)){if(!n)return a;a="auto"}return(!le.boxSizingReliable()&&i||!le.reliableTrDimensions()&&fe(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===ce.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===ce.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+it(e,t,n||(i?"border":"content"),o,r,a)+"px"}function at(e,t,n,r,i){return new at.prototype.init(e,t,n,r,i)}ce.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ge(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=F(t),u=ze.test(t),l=e.style;if(u||(t=Ze(s)),a=ce.cssHooks[t]||ce.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=Y.exec(n))&&i[1]&&(n=te(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(ce.cssNumber[s]?"":"px")),le.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=F(t);return ze.test(t)||(t=Ze(s)),(a=ce.cssHooks[t]||ce.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ge(e,t,r)),"normal"===i&&t in nt&&(i=nt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),ce.each(["height","width"],function(e,u){ce.cssHooks[u]={get:function(e,t,n){if(t)return!et.test(ce.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?ot(e,u,n):Ue(e,tt,function(){return ot(e,u,n)})},set:function(e,t,n){var r,i=Xe(e),o=!le.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===ce.css(e,"boxSizing",!1,i),s=n?it(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-it(e,u,"border",!1,i)-.5)),s&&(r=Y.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=ce.css(e,u)),rt(0,t,s)}}}),ce.cssHooks.marginLeft=Ye(le.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ge(e,"marginLeft"))||e.getBoundingClientRect().left-Ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),ce.each({margin:"",padding:"",border:"Width"},function(i,o){ce.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+Q[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(ce.cssHooks[i+o].set=rt)}),ce.fn.extend({css:function(e,t){return M(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Xe(e),i=t.length;a<i;a++)o[t[a]]=ce.css(e,t[a],!1,r);return o}return void 0!==n?ce.style(e,t,n):ce.css(e,t)},e,t,1<arguments.length)}}),((ce.Tween=at).prototype={constructor:at,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||ce.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(ce.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=ce.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}}).init.prototype=at.prototype,(at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ce.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){ce.fx.step[e.prop]?ce.fx.step[e.prop](e):1!==e.elem.nodeType||!ce.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:ce.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ce.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ce.fx=at.prototype.init,ce.fx.step={};var st,ut,lt,ct,ft=/^(?:toggle|show|hide)$/,pt=/queueHooks$/;function dt(){ut&&(!1===C.hidden&&ie.requestAnimationFrame?ie.requestAnimationFrame(dt):ie.setTimeout(dt,ce.fx.interval),ce.fx.tick())}function ht(){return ie.setTimeout(function(){st=void 0}),st=Date.now()}function gt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=Q[r])]=i["padding"+n]=e;
vendor: 4,590 bytes, line 2
2return t&&(i.opacity=i.width=e),i}function vt(e,t,n){for(var r,i=(yt.tweeners[t]||[]).concat(yt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function yt(o,e,t){var n,a,r=0,i=yt.prefilters.length,s=ce.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=st||ht(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:ce.extend({},e),opts:ce.extend(!0,{specialEasing:{},easing:ce.easing._default},t),originalProperties:e,originalOptions:t,startTime:st||ht(),duration:t.duration,tweens:[],createTween:function(e,t){var n=ce.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=F(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=ce.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=yt.prefilters[r].call(l,o,c,l.opts))return v(n.stop)&&(ce._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return ce.map(c,vt,l),v(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),ce.fx.timer(ce.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}ce.Animation=ce.extend(yt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return te(n.elem,e,Y.exec(t),n),n}]},tweener:function(e,t){v(e)?(t=e,e=["*"]):e=e.match(D);for(var n,r=0,i=e.length;r<i;r++)n=e[r],yt.tweeners[n]=yt.tweeners[n]||[],yt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ee(e),v=_.get(e,"fxshow");for(r in n.queue||(null==(a=ce._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,ce.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ft.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||ce.style(e,r)}if((u=!ce.isEmptyObject(t))||!ce.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=_.get(e,"display")),"none"===(c=ce.css(e,"display"))&&(l?c=l:(re([e],!0),l=e.style.display||l,c=ce.css(e,"display"),re([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===ce.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=_.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&re([e],!0),p.done(function(){for(r in g||re([e]),_.remove(e,"fxshow"),d)ce.style(e,r,d[r])})),u=vt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?yt.prefilters.unshift(e):yt.prefilters.push(e)}}),ce.speed=function(e,t,n){var r=e&&"object"==typeof e?ce.extend({},e):{complete:n||!n&&t||v(e)&&e,duration:e,easing:n&&t||t&&!v(t)&&t};return ce.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in ce.fx.speeds?r.duration=ce.fx.speeds[r.duration]:r.duration=ce.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){v(r.old)&&r.old.call(this),r.queue&&ce.dequeue(this,r.queue)},r},ce.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ee).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=ce.isEmptyObject(t),o=ce.speed(e,n,r),a=function(){var e=yt(this,ce.extend({},t),o);(i||_.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=ce.timers,r=_.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&pt.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1)
vendor: 13,972 bytes, line 2
2);!e&&o||ce.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=_.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=ce.timers,o=n?n.length:0;for(t.finish=!0,ce.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),ce.each(["toggle","show","hide"],function(e,r){var i=ce.fn[r];ce.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(gt(r,!0),e,t,n)}}),ce.each({slideDown:gt("show"),slideUp:gt("hide"),slideToggle:gt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){ce.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),ce.timers=[],ce.fx.tick=function(){var e,t=0,n=ce.timers;for(st=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||ce.fx.stop(),st=void 0},ce.fx.timer=function(e){ce.timers.push(e),ce.fx.start()},ce.fx.interval=13,ce.fx.start=function(){ut||(ut=!0,dt())},ce.fx.stop=function(){ut=null},ce.fx.speeds={slow:600,fast:200,_default:400},ce.fn.delay=function(r,e){return r=ce.fx&&ce.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=ie.setTimeout(e,r);t.stop=function(){ie.clearTimeout(n)}})},lt=C.createElement("input"),ct=C.createElement("select").appendChild(C.createElement("option")),lt.type="checkbox",le.checkOn=""!==lt.value,le.optSelected=ct.selected,(lt=C.createElement("input")).value="t",lt.type="radio",le.radioValue="t"===lt.value;var mt,xt=ce.expr.attrHandle;ce.fn.extend({attr:function(e,t){return M(this,ce.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){ce.removeAttr(this,e)})}}),ce.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?ce.prop(e,t,n):(1===o&&ce.isXMLDoc(e)||(i=ce.attrHooks[t.toLowerCase()]||(ce.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void ce.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=ce.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!le.radioValue&&"radio"===t&&fe(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(D);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?ce.removeAttr(e,n):e.setAttribute(n,n),n}},ce.each(ce.expr.match.bool.source.match(/\w+/g),function(e,t){var a=xt[t]||ce.find.attr;xt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=xt[o],xt[o]=r,r=null!=a(e,t,n)?o:null,xt[o]=i),r}});var bt=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i;function Tt(e){return(e.match(D)||[]).join(" ")}function Ct(e){return e.getAttribute&&e.getAttribute("class")||""}function kt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(D)||[]}ce.fn.extend({prop:function(e,t){return M(this,ce.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[ce.propFix[e]||e]})}}),ce.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&ce.isXMLDoc(e)||(t=ce.propFix[t]||t,i=ce.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ce.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),le.optSelected||(ce.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ce.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ce.propFix[this.toLowerCase()]=this}),ce.fn.extend({addClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).addClass(t.call(this,e,Ct(this)))}):(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).removeClass(t.call(this,e,Ct(this)))}):arguments.length?(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return v(t)?this.each(function(e){ce(this).toggleClass(t.call(this,e,Ct(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=kt(t),this.each(function(){if(s)for(o=ce(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=Ct(this))&&_.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":_.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+Tt(Ct(n))+" ").indexOf(t))return!0;return!1}});var St=/\r/g;ce.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=v(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,ce(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=ce.map(t,function(e){return null==e?"":e+""})),(r=ce.valHooks[this.type]||ce.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=ce.valHooks[t.type]||ce.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(St,""):null==e?"":e:void 0}}),ce.extend({valHooks:{option:{get:function(e){var t=ce.find.attr(e,"value");return null!=t?t:Tt(ce.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!fe(n.parentNode,"optgroup"))){if(t=ce(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=ce.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<ce.inArray(ce.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),ce.each(["radio","checkbox"],function(){ce.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<ce.inArray(ce(e).val(),t)}},le.checkOn||(ce.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Et=ie.location,jt={guid:Date.now()},At=/\?/;ce.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new ie.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||ce.error("Invalid XML: "+(n?ce.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Dt=/^(?:focusinfocus|focusoutblur)$/,Nt=function(e){e.stopPropagation()};ce.extend(ce.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||C],d=ue.call(e,"type")?e.type:e,h=ue.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||C,3!==n.nodeType&&8!==n.nodeType&&!Dt.test(d+ce.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[ce.expando]?e:new ce.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:ce.makeArray(t,[e]),c=ce.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!y(n)){for(s=c.delegateType||d,Dt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||C)&&p.push(a.defaultView||a.parentWindow||ie)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(_.get(o,"events")||Object.create(null))[e.type]&&_.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&$(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!$(n)||u&&v(n[d])&&!y(n)&&((a=n[u])&&(n[u]=null),ce.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Nt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Nt),ce.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=ce.extend(new ce.Event,n,{type:e,isSimulated:!0});ce.event.trigger(r,null,t)}}),ce.fn.extend({trigger:function(e,t){return this.each(function(){ce.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ce.event.trigger(e,t,n,!0)}});var qt=/\[\]$/,Lt=/\r?\n/g,Ht=/^(?:submit|button|image|reset|file)$/i,Ot=/^(?:input|select|textarea|keygen)/i;function Pt(n,e,r,i){var t;if(Array.isArray(e))ce.each(e,function(e,t){r||qt.test(n)?i(n,t):Pt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==x(e))i(n,e);else for(t in e)Pt(n+"["+t+"]",e[t],r,i)}ce.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!ce.isPlainObject(e))ce.each(e,function(){i(this.name,this.value)});else for(n in e)Pt(n,e[n],t,i);return r.join("&")},ce.fn.extend({serialize:function(){return ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ce.prop(this,"elements");return e?ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ce(this).is(":disabled")&&Ot.test(this.nodeName)&&!Ht.test(e)&&(this.checked||!we.test(e))}).map(function(e,t){var n=ce(this).val();return null==n?null:Array.isArray(n)?ce.map(n,function(e){return{name:t.name,value:e.replace(Lt,"\r\n")}}):{name:t.name,value:n.replace(Lt,"\r\n")}}).get()}});var Mt=/%20/g,Rt=/#.*$/,It=/([?&])_=[^&]*/,Wt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:GET|HEAD)$/,$t=/^\/\//,Bt={},_t={},zt="*/".concat("*"),Xt=C.createElement("a");function Ut(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(D)||[];if(v(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Vt(t,i,o,a){var s={},u=t===_t;function l(e){var r;return s[e]=!0,ce.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Gt(e,t){var n,r,i=ce.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ce.extend(!0,e,r),e}Xt.href=Et.href,ce.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ce.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Gt(Gt(e,ce.ajaxSettings),t):Gt(ce.ajaxSettings,e)},ajaxPrefilter:Ut(Bt),ajaxTransport:Ut(_t),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=ce.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?ce(y):ce.event,x=ce.Deferred(),b=ce.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Wt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace($t,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(D)||[""],null==v.crossDomain){r=C.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Xt.protocol+"//"+Xt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=ce.param(v.data,v.traditional)),Vt(Bt,v,t,T),h)return T;for(i in(g=ce.event&&v.global)&&0==ce.active++&&ce.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ft.test(v.type),f=v.url.replace(Rt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Mt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(At.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(It,"$1"),o=(At.test(f)?"&":"?")+"_="+jt.guid+++o),v.url=f+o),v.ifModified&&(ce.lastModified[f]&&T.setRequestHeader("If-Modified-Since",ce.lastModified[f]),ce.etag[f]&&T.setRequestHeader("If-None-Match",ce.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+zt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);
vendor: 9,033 bytes, line 2
2if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Vt(_t,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=ie.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&ie.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<ce.inArray("script",v.dataTypes)&&ce.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(ce.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(ce.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--ce.active||ce.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return ce.get(e,t,n,"json")},getScript:function(e,t){return ce.get(e,void 0,t,"script")}}),ce.each(["get","post"],function(e,i){ce[i]=function(e,t,n,r){return v(t)&&(r=r||n,n=t,t=void 0),ce.ajax(ce.extend({url:e,type:i,dataType:r,data:t,success:n},ce.isPlainObject(e)&&e))}}),ce.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),ce._evalUrl=function(e,t,n){return ce.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){ce.globalEval(e,t,n)}})},ce.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return v(n)?this.each(function(e){ce(this).wrapInner(n.call(this,e))}):this.each(function(){var e=ce(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=v(t);return this.each(function(e){ce(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){ce(this).replaceWith(this.childNodes)}),this}}),ce.expr.pseudos.hidden=function(e){return!ce.expr.pseudos.visible(e)},ce.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ce.ajaxSettings.xhr=function(){try{return new ie.XMLHttpRequest}catch(e){}};var Yt={0:200,1223:204},Qt=ce.ajaxSettings.xhr();le.cors=!!Qt&&"withCredentials"in Qt,le.ajax=Qt=!!Qt,ce.ajaxTransport(function(i){var o,a;if(le.cors||Qt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Yt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&ie.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),ce.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ce.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ce.globalEval(e),e}}}),ce.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ce.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=ce("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=Tt(e.slice(s)),e=e.slice(0,s)),v(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&ce.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?ce("<div>").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return
2M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.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(e,n){ce.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var en=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;ce.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),v(e))return r=ae.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(ae.call(arguments)))}).guid=e.guid=e.guid||ce.guid++,i},ce.holdReady=function(e){e?ce.readyWait++:ce.ready(!0)},ce.isArray=Array.isArray,ce.parseJSON=JSON.parse,ce.nodeName=fe,ce.isFunction=v,ce.isWindow=y,ce.camelCase=F,ce.type=x,ce.now=Date.now,ce.isNumeric=function(e){var t=ce.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},ce.trim=function(e){return null==e?"":(e+"").replace(en,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return ce});var tn=ie.jQuery,nn=ie.$;return ce.noConflict=function(e){return ie.$===ce&&(ie.$=nn),e&&ie.jQuery===ce&&(ie.jQuery=tn),ce},"undefined"==typeof e&&(ie.jQuery=ie.$=ce),ce}); 3 4(function(a){HASTE_PLUS={}}(jQuery)); 5(function(a){a.extend(HASTE_PLUS,{getParameterByName:function(c,b){if(!b){b=window.location.href}c=c.replace(/[\[\]]/g,"\\$&");var e=new RegExp("[?&]"+c+"(=([^&#]*)|&|#|$)"),d=e.exec(b);if(!d){return null}if(!d[2]){return""}return decodeURIComponent(d[2].replace(/\+/g," "))},addParameterToUri:function(d,b,e){if(!d){d=window.location.href}var c=new RegExp("([?&])"+b+"=.*?(&|#|$)(.*)","gi"),g;if(c.test(d)){if(typeof e!=="undefined"&&e!==null){return d.replace(c,"$1"+b+"="+e+"$2$3")}else{g=d.split("#");d=g[0].replace(c,"$1$3").replace(/(&|\?)$/,"");if(typeof g[1]!=="undefined"&&g[1]!==null){d+="#"+g[1]}return d}}else{if(typeof e!=="undefined"&&e!==null){var f=d.indexOf("?")!==-1?"&":"?";g=d.split("#");d=g[0]+f+b+"="+e;if(typeof g[1]!=="undefined"&&g[1]!==null){d+="#"+g[1]}return d}else{return d}}},addParametersToUri:function(d,c){for(var b in c){if(c.hasOwnProperty(b)){d=this.addParameterToUri(d,b,c[b])}}return d},removeParameterFromUri:function(d,g){var f=d.split("?");if(f.length>=2){var e=encodeURIComponent(g)+"=";var c=f[1].split(/[&;]/g);for(var b=c.length;b-->0;){if(c[b].lastIndexOf(e,0)!==-1){c.splice(b,1)}}d=f[0]+"?"+c.join("&");return d}else{return d}},removeParametersFromUri:function(d,c){for(var b in c){d=this.removeParameterFromUri(d,b)}return d},replaceParameterInUri:function(c,b,d){this.addParameterToUri(this.removeParameterFromUri(c,b),b,d)},parseQueryString:function(b){return JSON.parse('{"'+decodeURI(b).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}')}})}(jQuery)); 6(function(a){a.extend(HASTE_PLUS,{sanitizeFileName:function(b){b=b.toLowerCase();b=b.replace(/[^a-z0-9_-]/g,"_");b=b.replace(/_+/g,"_");return b}})}(jQuery)); 7(function(a){a.extend(HASTE_PLUS,{removeFromArray:function(b,c){return a.grep(c,function(d){return d!=b})}})}(jQuery)); 8(function(a){a.extend(HASTE_PLUS,{getTextWithoutChildren:function(c,d){var b=c.clone().children().remove().end().text();if(typeof d!=="undefined"&&d==true){return b}else{return b.trim()}},scrollTo:function(d,c,b,e){setTimeout(function(){if(!HASTE_PLUS.elementInViewport(d)||typeof e!=="undefined"){a("html, body").animate({scrollTop:(d.offset().top-c)},"slow")}},b)},elementInViewport:function(d){d=d.get(0);var f=d.offsetTop;var e=d.offsetLeft;var c=d.offsetWidth;var b=d.offsetHeight;while(d.offsetParent){d=d.offsetParent;f+=d.offsetTop;e+=d.offsetLeft}return(f<(window.pageYOffset+window.innerHeight)&&e<(window.pageXOffset+window.innerWidth)&&(f+b)>window.pageYOffset&&(e+c)>window.pageXOffset)}})}(jQuery)); 9(function(a){a.extend(HASTE_PLUS,{getCurrentLocation:function(c,b){if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(d){HASTE_PLUS.call(c,d.coords.latitude,d.coords.longitude)})}else{HASTE_PLUS.call(b)}}})}(jQuery)); 10(function(a){a.extend(HASTE_PLUS,{isTruthy:function(b){return typeof b!=="undefined"&&b!==null},call:function(b){if(typeof b==="function"){b.apply(this,Array.prototype.slice.call(arguments,1
10))}}})}(jQuery)); 11(function(){var aa="\n//# sourceURL=",ba='<script type="text/javascript" src="',b="American Samoa",ca="Antigua and Barbuda",k="Bolivia",p="Bosna i Hercegovina",q="Botswana",da="British Virgin Islands",ea="Cayman Islands",fa="Christmas Island",ga="Falkland Islands",r="Ghana",ha="Guin\u00e9e \u00e9quatoriale",ia="Guyane fran\u00e7aise",t="Honduras",u="Indonesia",v="Itoophiyaa",ja="Kalaallit Nunaat",w="Kiribati",ka="LocaleNameConstants",la="Luxembourg",ma="Madagascar",na="Marshall Islands",x="Micronesia",oa="Moldova, Republica", 12pa="Nederlandse Antillen",qa="New Zealand",y="Nigeria",ra="Norfolk Island",sa="Northern Mariana Islands",ta="Nouvelle-Cal\u00e9donie",z="Papua New Guinea",ua="Paraguay",va="Philippines",wa="Polyn\u00e9sie fran\u00e7aise",xa="Puerto Rico",za="Rep\u00fablica Dominicana",A="Rwanda",Aa="Rywvaneth Unys",Ba="R\u00e9publique centrafricaine",Ca="R\u00e9publique d\u00e9mocratique du Congo",Da="Saint Kitts and Nevis",Ea="Saint Vincent and the Grenadines",Fa="Saint-Pierre-et-Miquelon",Ga="Serb
12ia and Montenegro", 13Ha="Seychelles",Ia="Slovensk\u00e1 republika",Ja="Solomon Islands",B="South Africa",Ka="Svalbard og Jan Mayen",La="Swaziland",Ma="S\u00e3o Tom\u00e9 e Pr\u00edncipe",C="S\u00e9n\u00e9gal",Na="Tanzania",Oa="Timor Leste",E="Tokelau",Pa="Turks and Caicos Islands",F="Tuvalu",G="T\u00fcrkiye",Qa="U.S. Virgin Islands",Ra="United Kingdom",Sa="United States",Ta="United States Minor Outlying Islands",Ua="Unknown or Invalid Region",H="Vanuatu",Va="Wallis-et-Futuna",Wa="annotatedtimeline",I="array",J="browserchart", 14K="complete",L="corechart",M="dygraph",N="function",Xa="google.charts.load",O="imagechart",P="object",Ya="text/javascript",Q="ui",R="ui_base",S="webfontloader",Za="{css_prefix}/{cssFile}",$a="{prefix}",ab="{prefix}/{version}/third_party/{package}",bb="{version}",cb="\u010cesk\u00e1 republika",db="\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c",eb="\u041a\u044b\u0440\u0433\u044b\u0437\u0441\u0442\u0430\u043d",fb="\u043c\u043e\u043d\u0433\u043e\u043b\u044c\u0441\u043a\u0438\u0439",gb="\u0540\u0561\u0575\u0561\u057d\u057f\u0561\u0576\u056b \u0540\u0561\u0576\u0580\u0561\u057a\u0565\u057f\u0578\u0582\u0569\u056b\u0582\u0576", 15U="\u0627\u0641\u063a\u0627\u0646\u0633\u062a\u0627\u0646",hb="\u0627\u0644\u0627\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0645\u062a\u062d\u062f\u0629",ib="\u0627\u0644\u0635\u062d\u0631\u0627\u0621 \u0627\u0644\u063a\u0631\u0628\u064a\u0629",jb="\u0627\u0644\u0645\u0645\u0644\u0643\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629",kb="\u0627\u0644\u0648\u0644\u0627\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u062d\u062f\u0629 \u0627\u0644\u0623\u0645\u0631\u064a\u0643\u064a\u0629", 16lb="\u062c\u0632\u0631 \u0627\u0644\u0642\u0645\u0631",V="\u067e\u0627\u06a9\u0633\u062a\u0627\u0646",W="\u092d\u093e\u0930\u0924",X="\u12a2\u1275\u12ee\u1335\u12eb",mb="\uc870\uc120 \ubbfc\uc8fc\uc8fc\uc758 \uc778\ubbfc \uacf5\ud654\uad6d";function Y(){return function(){}}var Z=Z||{};Z.global=this;Z.O=function(a){return void 0!==a}; 17Z.ya=function(a,c,d){a=a.split(".");d=d||Z.global;a[0]in d||!d.execScript||d.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)!a.length&&Z.O(c)?d[e]=c:d=d[e]?d[e]:d[e]={}};Z.Ge=function(a,c){Z.ya(a,c)};Z.G=!0;Z.Md="en";Z.qa=!0;Z.gc=!1;Z.Qb=!Z.G;Z.Za=!1;Z.Of=function(a){if(Z.La())throw Error("goog.provide can not be used within a goog.module.");Z.hb(a)};Z.hb=function(a,c){Z.ya(a,c)};Z.qc=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/; 18Z.Pa=function(a){if(!Z.h(a)||!a||-1==a.search(Z.qc))throw Error("Invalid module identifier");if(!Z.La())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide."); 19if(Z.l.Qa)throw Error("goog.module may only be called once per module.");Z.l.Qa=a};Z.Pa.get=function(){return null};Z.Pa.Qe=function(){return null};Z.l=null;Z.La=function(){return null!=Z.l};Z.Pa.va=function(){Z.l.va=!0};Z.jg=function(a){if(Z.Qb)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};Z.Me=Y();Z.N=function(a){a=a.split(".");for(var c=Z.global,d;d=a.shift();)if(Z.Pc(c[d]))c=c[d];else return null;return c}; 20Z.bf=function(a,c){c=c||Z.global;for(var d in a)c[d]=a[d]};Z.Sd=function(a,c,d,e){if(Z.Xa){var f;a=a.replace(/\\/g,"/");var g=Z.j;e&&"boolean"!==typeof e||(e=e?{module:"goog"}:{});for(var h=0;f=c[h];h++)g.T[f]=a,g.Ma[a]=e;for(e=0;c=d[e];e++)a in g.F||(g.F[a]={}),g.F[a][c]=!0}};Z.Ig=!1;Z.Jd=!0;Z.bd=function(a){Z.global.console&&Z.global.console.error(a)};Z.dg=Y();Z.B="";Z.Jf=Y();Z.Rd=function(){throw Error("unimplemented abstract method");}; 21Z.Td=function(a){a.Ia=void 0;a.Pe=function(){if(a.Ia)return a.Ia;Z.G&&(Z.vb[Z.vb.length]=a);return a.Ia=new a}};Z.vb=[];Z.Xb=!0;Z.ec=Z.G;Z.ad={};Z.Xa=!1;Z.bb="detect";Z.mc="transpile.js"; 22Z.Xa&&(Z.j={Ma:{},T:{},F:{},Ib:{},Wa:{},X:{}},Z.tb=function(){var a=Z.global.document;return null!=a&&"write"in a},Z.Gc=function(){if(Z.O(Z.global.Mb))Z.B=Z.global.Mb;else if(Z.tb())for(var a=Z.global.document.getElementsByTagName("SCRIPT"),c=a.length-1;0<=c;--c){var d=a[c].src,e=d.lastIndexOf("?"),e=-1==e?d.length:e;if("base.js"==d.substr(e-7,7)){Z.B=d.substr(0,e-7);break}}},Z.Ga=function(a,c){(Z.global.Dd||Z.Ad)(a,c)&&(Z.j.Wa[a]=!0)},Z.Wb=!(Z.global.atob||!Z.global.document||!Z.global.document.all), 23Z.Nc=function(a,c,d){Z.Ga("",'goog.retrieveAndExec_("'+a+'", '+c+", "+d+");")},Z.Sa=[],Z.Kg=function(a,c){return Z.Xb&&Z.O(Z.global.JSON)?"goog.loadModule("+Z.global.JSON.stringify(c+aa+a+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+c+"\n;return exports});\n//# sourceURL="+a+"\n"},Z.$c=function(){var a=Z.Sa.length;if(0<a){var c=Z.Sa;Z.Sa=[];for(var d=0;d<a;d++)Z.Ab(c[d])}},Z.Df=function(a){Z.wb(a)&&Z.rc(a)&&Z.Ab(Z.B+Z.Fa(a))},Z.wb=function(a){var c=(a=Z.Fa(a))&&Z.j.Ma[a]||{},d=c.lang|| 24"es3";return a&&("goog"==c.module||Z.Bb(d))?Z.B+a in Z.j.X:!1}
24,Z.rc=function(a){if((a=Z.Fa(a))&&a in Z.j.F)for(var c in Z.j.F[a])if(!Z.Tc(c)&&!Z.wb(c))return!1;return!0},Z.Ab=function(a){if(a in Z.j.X){var c=Z.j.X[a];delete Z.j.X[a];Z.Mc(c)}},Z.Cf=Y(),Z.zd=function(a){Z.global.document.write(ba+a+'">\x3c/script>')},Z.tc=function(a){var c=Z.global.document,d=c.createElement("script");d.type=Ya;d.src=a;d.defer=!1;d.async=!1;c.head.appendChild(d)},Z.Ad=function(a,c){if(Z.tb()){var d=Z.global.document; 25if(!Z.Za&&d.readyState==K){if(/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}void 0===c?Z.Wb?(c=" onreadystatechange='goog.onScriptLoad_(this, "+ ++Z.yb+")' ",d.write(ba+a+'"'+c+">\x3c/script>")):Z.Za?Z.tc(a):Z.zd(a):d.write('<script type="text/javascript">'+Z.kd(c)+"\x3c/script>");return!0}return!1},Z.kd=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c\\$1")},Z.Bb=function(a){if("always"==Z.bb)return!0;if("never"==Z.bb)return!1;Z.ma||(Z.ma=Z.zc());if(a in 26Z.ma)return Z.ma[a];throw Error("Unknown language mode: "+a);},Z.ma=null,Z.yb=0,Z.Lf=function(a,c){a.readyState==K&&Z.yb==c&&Z.$c();return!0},Z.Lg=function(a){function c(a){if(!(a in f.Wa||a in f.Ib)){f.Ib[a]=!0;if(a in f.F)for(var g in f.F[a])if(!Z.Tc(g))if(g in f.T)c(f.T[g]);else throw Error("Undefined nameToPath for "+g);a in e||(e[a]=!0,d.push(a))}}var d=[],e={},f=Z.j;c(a);for(a=0;a<d.length;a++){var g=d[a];Z.j.Wa[g]=!0}var h=Z.l;Z.l=null;for(a=0;a<d.length;a++)if(g=d[a]){var l=f.Ma[g]||{},m= 27Z.Bb(l.lang||"es3");"goog"==l.module||m?Z.Nc(Z.B+g,"goog"==l.module,m):Z.Ga(Z.B+g)}else throw Z.l=h,Error("Undefined script input");Z.l=h},Z.Fa=function(a){return a in Z.j.T?Z.j.T[a]:null},Z.Gc(),Z.global.Ed||Z.Ga(Z.B+"deps.js")); 28Z.Bf=function(a){var c=Z.l;try{Z.l={Qa:void 0,va:!1};var d;if(Z.xb(a))d=a.call(void 0,{});else if(Z.h(a))d=Z.Yc.call(void 0,a);else throw Error("Invalid module definition");var e=Z.l.Qa;if(!Z.h(e)||!e)throw Error('Invalid module name "'+e+'"');Z.l.va?Z.hb(e,d):Z.ec&&Object.seal&&Z.P(d)&&Object.seal(d);Z.ad[e]=d}finally{Z.l=c}};Z.Yc=function(a){eval(a);return{}};Z.Gf=function(a){a=a.split("/");for(var c=0;c<a.length;)"."==a[c]?a.splice(c,1):c&&".."==a[c]&&a[c-1]&&".."!=a[c-1]?a.splice(--c,2):c++;return a.join("/")}; 29Z.Xc=function(a){if(Z.global.Ob)return Z.global.Ob(a);try{var c=new Z.global.XMLHttpRequest;c.open("get",a,!1);c.send();return 0==c.status||200==c.status?c.responseText:null}catch(d){return null}};Z.eg=Y(); 30Z.Dg=function(a,c){var d=Z.global.$jscomp;d||(Z.global.$jscomp=d={});var e=d.Va;if(!e){var f=Z.B+Z.mc,g=Z.Xc(f);if(g){eval(g+aa+f);if(Z.global.$gwtExport&&Z.global.$gwtExport.$jscomp&&!Z.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(Z.global.$gwtExport));Z.global.$jscomp.Va=Z.global.$gwtExport.$jscomp.transpile;d=Z.global.$jscomp;e=d.Va}}if(!e)var h=" requires transpilation but no transpiler was found.", 31h=h+' Please add "//javascript/closure:transpiler" as a data dependency to ensure it is included.',e=d.Va=function(a,c){Z.bd(c+h);return a};return e(a,c)}; 32Z.u=function(a){var c=typeof a;if(c==P)if(a){if(a instanceof Array)return I;if(a instanceof Object)return c;var d=Object.prototype.toString.call(a);if("[object Window]"==d)return P;if("[object Array]"==d||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return I;if("[object Function]"==d||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return N}else return"null"; 33else if(c==N&&"undefined"==typeof a.call)return P;return c};Z.sf=function(a){return null===a};Z.Pc=function(a){return null!=a};Z.isArray=function(a){return Z.u(a)==I};Z.Ja=function(a){var c=Z.u(a);return c==I||c==P&&"number"==typeof a.length};Z.nf=function(a){return Z.P(a)&&typeof a.getFullYear==N};Z.h=function(a){return"string"==typeof a};Z.Oc=function(a){return"boolean"==typeof a};Z.Sc=function(a){return"number"==typeof a};Z.xb=function(a){return Z.u(a)==N}; 34Z.P=function(a){var c=typeof a;return c==P&&null!=a||c==N};Z.rb=function(a){return a[Z.D]||(a[Z.D]=++Z.vd)};Z.cf=function(a){return!!a[Z.D]};Z.ld=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(Z.D);try{delete a[Z.D]}catch(c){}};Z.D="closure_uid_"+(1E9*Math.random()>>>0);Z.vd=0;Z.Oe=Z.rb;Z.Zf=Z.ld;Z.yc=function(a){var c=Z.u(a);
34if(c==P||c==I){if(a.clone)return a.clone();var c=c==I?[]:{},d;for(d in a)c[d]=Z.yc(a[d]);return c}return a};Z.wc=function(a,c,d){return a.call.apply(a.bind,arguments)}; 35Z.vc=function(a,c,d){if(!a)throw Error();if(2<arguments.length){var e=Array.prototype.slice.call(arguments,2);return function(){var d=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(d,e);return a.apply(c,d)}}return function(){return a.apply(c,arguments)}};Z.bind=function(a,c,d){Z.bind=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?Z.wc:Z.vc;return Z.bind.apply(null,arguments)}; 36Z.fd=function(a,c){var d=Array.prototype.slice.call(arguments,1);return function(){var c=d.slice();c.push.apply(c,arguments);return a.apply(this,c)}};Z.Ef=function(a,c){for(var d in c)a[d]=c[d]};Z.now=Z.qa&&Date.now||function(){return+new Date}; 37Z.Mc=function(a){if(Z.global.execScript)Z.global.execScript(a,"JavaScript");else if(Z.global.eval){if(null==Z.Y)if(Z.global.eval("var _evalTest_ = 1;"),"undefined"!=typeof Z.global._evalTest_){try{delete Z.global._evalTest_}catch(e){}Z.Y=!0}else Z.Y=!1;if(Z.Y)Z.global.eval(a);else{var c=Z.global.document,d=c.createElement("SCRIPT");d.type=Ya;d.defer=!1;d.appendChild(c.createTextNode(a));c.body.appendChild(d);c.body.removeChild(d)}}else throw Error("goog.globalEval not available");};Z.Y=null; 38Z.Ne=function(a,c){function d(a){a=a.split("-");for(var c=[],d=0;d<a.length;d++)c.push(e(a[d]));return c.join("-")}function e(a){return Z.ib[a]||a}if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var f;f=Z.ib?"BY_WHOLE"==Z.Cc?e:d:function(a){return a};a=c?a+"-"+f(c):f(a);return Z.global.Nb?Z.global.Nb(a):a};Z.fg=function(a,c){Z.ib=a;Z.Cc=c}; 39Z.Te=function(a,c){c&&(a=a.replace(/\{\$([^}]+)}/g,function(a,e){return null!=c&&e in c?c[e]:a}));return a};Z.Ue=function(a){return a};Z.Aa=function(a,c){Z.ya(a,c,void 0)};Z.Ke=function(a,c,d){a[c]=d};Z.Ha=function(a,c){function d(){}d.prototype=c.prototype;a.oa=c.prototype;a.prototype=new d;a.prototype.constructor=a;a.uc=function(a,d,g){for(var e=Array(arguments.length-2),f=2;f<arguments.length;f++)e[f-2]=arguments[f];return c.prototype[d].apply(a,e)}}; 40Z.uc=function(a,c,d){var e=arguments.callee.caller;if(Z.gc||Z.G&&!e)throw Error("arguments.caller not defined. goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(e.oa){for(var f=Array(arguments.length-1),g=1;g<arguments.length;g++)f[g-1]=arguments[g];return e.oa.constructor.apply(a,f)}f=Array(arguments.length-2);for(g=2;g<arguments.length;g++)f[g-2]=arguments[g];for(var g=!1,h=a.constructor;h;h=h.oa&&h.oa.constructor)if(h.prototype[c]=== 41e)g=!0;else if(g)return h.prototype[c].apply(a,f);if(a[c]===e)return a.constructor.prototype[c].apply(a,f);throw Error("goog.base called from a method of one name to a method of a different name");};Z.scope=function(a){if(Z.La())throw Error("goog.scope is not supported within a goog.module.");a.call(Z.global)}; 42Z.o=function(a,c){var d=c.constructor,e=c.qd;d&&d!=Object.prototype.constructor||(d=function(){throw Error("cannot instantiate an interface (no constructor defined).");});d=Z.o.Ac(d,a);a&&Z.Ha(d,a);delete c.constructor;delete c.qd;Z.o.cb(d.prototype,c);null!=e&&(e instanceof Function?e(d):Z.o.cb(d,e));return d};Z.o.dc=Z.G; 43Z.o.Ac=function(a,c){function d(){var c=a.apply(this,arguments)||this;c[Z.D]=c[Z.D];this.constructor===d&&e&&Object.seal instanceof Function&&Object.seal(c);return c}if(!Z.o.dc)return a;var e=!Z.o.Uc(c);return d};Z.o.Uc=function(a){return a&&a.prototype&&a.prototype[Z.nc]};Z.o.$a="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "); 44Z.o.cb=function(a,c){for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d]);for(var e=0;e<Z.o.$a.length;e++)d=Z.o.$a[e],Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])};Z.xg=Y();Z.nc="goog_defineClass_legacy_unsealable"; 45Z.zc=function(){function a(a,c){e?d[a]=!0:c()?d[a]=!1:e=d[a]=!0}function c(a){try{return!!eval(a)}catch(g){return!1}}var d={es3:!1},e=!1;a("es5",function(){return c("[1,].length==1")});a("es6",function(){return c('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});a("es6-impl", 46function(){return!0});a("es7",function(){return c("2 ** 2 == 4")});a("es8",function(){return c("async () => 1, true")});return d};Z.debug={};
vendor: 5,175 bytes, lines 46-57
46Z.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,Z.debug.Error);else{var c=Error().stack;c&&(this.stack=c)}a&&(this.message=String(a))};Z.Ha(Z.debug.Error,Error);Z.debug.Error.prototype.name="CustomError";Z.jb={};Z.jb.bc={Rb:1,Bd:2,Qd:3,Cd:4,Ld:5,Kd:6,Pd:7,Fd:8,DOCUMENT:9,Id:10,Hd:11,Nd:12};Z.b={};Z.b.Ya=!1;Z.b.Tb=!1;Z.b.pc={$b:"\u00a0"};Z.b.startsWith=function(a,c){return 0==a.lastIndexOf(c,0)};Z.b.endsWith=function(a,c){var d=a.length-c.length;return 0<=d&&a.indexOf(c,d)==d};Z.b.xe=function(a,c){return 0==Z.b.gb(c,a.substr(0,c.length))};Z.b.ue=function(a,c){return 0==Z.b.gb(c,a.substr(a.length-c.length,c.length))};Z.b.we=function(a,c){return a.toLowerCase()==c.toLowerCase()}; 47Z.b.rd=function(a,c){for(var d=a.split("%s"),e="",f=Array.prototype.slice.call(arguments,1);f.length&&1<d.length;)e+=d.shift()+f.shift();return e+d.join("%s")};Z.b.ze=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};Z.b.Ka=function(a){return/^[\s\xa0]*$/.test(a)};Z.b.qf=function(a){return 0==a.length};Z.b.Qc=Z.b.Ka;Z.b.Rc=function(a){return Z.b.Ka(Z.b.cd(a))};Z.b.pf=Z.b.Rc;Z.b.mf=function(a){return!/[^\t\n\r ]/.test(a)};Z.b.kf=function(a){return!/[^a-zA-Z]/.test(a)}; 48Z.b.tf=function(a){return!/[^0-9]/.test(a)};Z.b.lf=function(a){return!/[^a-zA-Z0-9]/.test(a)};Z.b.wf=function(a){return" "==a};Z.b.xf=function(a){return 1==a.length&&" "<=a&&"~">=a||"\u0080"<=a&&"\ufffd">=a};Z.b.vg=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};Z.b.pe=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};Z.b.If=function(a){return a.replace(/\xa0|\s/g," ")};Z.b.Hf=function(a){return a.replace(/\xa0|[ \t]+/g," ")}; 49Z.b.ye=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};Z.b.trim=Z.qa&&String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};Z.b.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};Z.b.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};Z.b.gb=function(a,c){a=String(a).toLowerCase();c=String(c).toLowerCase();return a<c?-1:a==c?0:1}; 50Z.b.Db=function(a,c,d){if(a==c)return 0;if(!a)return-1;if(!c)return 1;for(var e=a.toLowerCase().match(d),f=c.toLowerCase().match(d),g=Math.min(e.length,f.length),h=0;h<g;h++){d=e[h];var l=f[h];if(d!=l)return a=parseInt(d,10),!isNaN(a)&&(c=parseInt(l,10),!isNaN(c)&&a-c)?a-c:d<l?-1:1}return e.length!=f.length?e.length-f.length:a<c?-1:1};Z.b.hf=function(a,c){return Z.b.Db(a,c,/\d+|\D+/g)};Z.b.Jc=function(a,c){return Z.b.Db(a,c,/\d+|\.\d+|\D+/g)};Z.b.Kf=Z.b.Jc;Z.b.Hg=function(a){return encodeURIComponent(String(a))}; 51Z.b.Gg=function(a){return decodeURIComponent(a.replace(/\+/g," "))};Z.b.dd=function(a,c){return a.replace(/(\r\n|\r|\n)/g,c?"<br />":"<br>")}; 52Z.b.sb=function(a){if(!Z.b.Kb.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(Z.b.Lb,"&"));-1!=a.indexOf("<")&&(a=a.replace(Z.b.Zb,"<"));-1!=a.indexOf(">")&&(a=a.replace(Z.b.Ub,">"));-1!=a.indexOf('"')&&(a=a.replace(Z.b.cc,"""));-1!=a.indexOf("'")&&(a=a.replace(Z.b.fc,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(Z.b.ac,"�"));Z.b.Ya&&-1!=a.indexOf("e")&&(a=a.replace(Z.b.Sb,"e"));return a};Z.b.Lb=/&/g;Z.b.Zb=/</g;Z.b.Ub=/>/g;Z.b.cc=/"/g;Z.b.fc=/'/g;Z.b.ac=/\x00/g;Z.b.Sb=/e/g; 53Z.b.Kb=Z.b.Ya?/[\x00&<>"'e]/:/[\x00&<>"']/;Z.b.Gb=function(a){return Z.b.contains(a,"&")?!Z.b.Tb&&"document"in Z.global?Z.b.Hb(a):Z.b.wd(a):a};Z.b.Fg=function(a,c){return Z.b.contains(a,"&")?Z.b.Hb(a,c):a}; 54Z.b.Hb=function(a,c){var d={"&":"&","<":"<",">":">",""":'"'},e;e=c?c.createElement("div"):Z.global.document.createElement("div");return a.replace(Z.b.Vb,function(a,c){var f=d[a];if(f)return f;"#"==c.charAt(0)&&(c=Number("0"+c.substr(1)),isNaN(c)||(f=String.fromCharCode(c)));f||(e.innerHTML=a+" ",f=e.firstChild.nodeValue.slice(0,-1));return d[a]=f})}; 55Z.b.wd=function(a){return a.replace(/&([^;]+);/g,function(a,d){switch(d){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:return"#"!=d.charAt(0)||(d=Number("0"+d.substr(1)),isNaN(d))?a:String.fromCharCode(d)}})};Z.b.Vb=/&([^;\s<&]+);?/g;Z.b.Jg=function(a,c){return Z.b.dd(a.replace(/ /g,"  "),c)};Z.b.Nf=function(a){return a.replace(/(^|[\n ]) /g,"$1"+Z.b.pc.$b)}; 56Z.b.wg=function(a,c){for(var d=c.length,e=0;e<d;e++){var f=1==d?c:c.charAt(e);if(a.charAt(0)==f&&a.charAt(a.length-1)==f)return a.substring(1,a.length-1)}return a};Z.b.truncate=function(a,c,d){d&&(a=Z.b.Gb(a));a.length>c&&(a=a.substring(0,c-3)+"...");d&&(a=Z.b.sb(a));return a};Z.b.Eg=function(a,c,d,e){d&&(a=Z.b.Gb(a));e&&a.length>c?(e>c&&(e=c),a=a.substring(0,c-e)+"..."+a.substring(a.length-e)):a.length>c&&(e=Math.floor(c/2),a=a.substring(0,e+c%2)+"..."+a.substring(a.length-e));d&&(a=Z.b.sb(a));return a}; 57Z.b.Ua={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","<":"<"};Z.b.$={"'":"\\'"};Z.b.quote=function(a){a=String(a);for(var c=['"'],d=0;d<a.length;d++){var e=a.charAt(d),f=e.charCodeAt(0);c[d+1]=Z.b.Ua[e]||(31<f&&127>f?e:Z.b.kb(e))}c.push('"');return c.join("")};Z.b.Je=function(a){for(var c=[],d=0;d<a.length;d++)c[d]=Z.b.kb(a.charAt(d));return c.join("")};
vendor: 6,971 bytes, lines 58-72
58Z.b.kb=function(a){if(a in Z.b.$)return Z.b.$[a];if(a in Z.b.Ua)return Z.b.$[a]=Z.b.Ua[a];var c,d=a.charCodeAt(0);if(31<d&&127>d)c=a;else{if(256>d){if(c="\\x",16>d||256<d)c+="0"}else c="\\u",4096>d&&(c+="0");c+=d.toString(16).toUpperCase()}return Z.b.$[a]=c};Z.b.contains=function(a,c){return-1!=a.indexOf(c)};Z.b.re=function(a,c){return Z.b.contains(a.toLowerCase(),c.toLowerCase())};Z.b.Ee=function(a,c){return a&&c?a.split(c).length-1:0}; 59Z.b.L=function(a,c,d){var e=a;0<=c&&c<a.length&&0<d&&(e=a.substr(0,c)+a.substr(c+d,a.length-c-d));return e};Z.b.remove=function(a,c){return a.replace(c,"")};Z.b.Wf=function(a,c){c=new RegExp(Z.b.Ta(c),"g");return a.replace(c,"")};Z.b.cg=function(a,c,d){c=new RegExp(Z.b.Ta(c),"g");return a.replace(c,d.replace(/\$/g,"$$$$"))};Z.b.Ta=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")}; 60Z.b.repeat=String.prototype.repeat?function(a,c){return a.repeat(c)}:function(a,c){return Array(c+1).join(a)};Z.b.Mf=function(a,c,d){a=Z.O(d)?a.toFixed(d):String(a);d=a.indexOf(".");-1==d&&(d=a.length);return Z.b.repeat("0",Math.max(0,c-d))+a};Z.b.cd=function(a){return null==a?"":String(a)};Z.b.oe=function(a){return Array.prototype.join.call(arguments,"")};Z.b.Xe=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Z.now()).toString(36)}; 61Z.b.Be=function(a,c){var d=0;a=Z.b.trim(String(a)).split(".");c=Z.b.trim(String(c)).split(".");for(var e=Math.max(a.length,c.length),f=0;0==d&&f<e;f++){var g=a[f]||"",h=c[f]||"";do{g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];h=/(\d*)(\D*)(.*)/.exec(h)||["","","",""];if(0==g[0].length&&0==h[0].length)break;d=Z.b.ra(0==g[1].length?0:parseInt(g[1],10),0==h[1].length?0:parseInt(h[1],10))||Z.b.ra(0==g[2].length,0==h[2].length)||Z.b.ra(g[2],h[2]);g=g[3];h=h[3]}while(0==d)}return d}; 62Z.b.ra=function(a,c){return a<c?-1:a>c?1:0};Z.b.df=function(a){for(var c=0,d=0;d<a.length;++d)c=31*c+a.charCodeAt(d)>>>0;return c};Z.b.xd=2147483648*Math.random()|0;Z.b.Fe=function(){return"goog_"+Z.b.xd++};Z.b.zg=function(a){var c=Number(a);return 0==c&&Z.b.Ka(a)?NaN:c};Z.b.rf=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};Z.b.yf=function(a){return/^([A-Z][a-z]*)+$/.test(a)};Z.b.yg=function(a){return String(a).replace(/\-([a-z])/g,function(a,d){return d.toUpperCase()})}; 63Z.b.Bg=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};Z.b.Cg=function(a,c){c=Z.h(c)?Z.b.Ta(c):"\\s";return a.replace(new RegExp("(^"+(c?"|["+c+"]+":"")+")([a-z])","g"),function(a,c,f){return c+f.toUpperCase()})};Z.b.qe=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};Z.b.parseInt=function(a){isFinite(a)&&(a=String(a));return Z.h(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN}; 64Z.b.qg=function(a,c,d){a=a.split(c);for(var e=[];0<d&&a.length;)e.push(a.shift()),d--;a.length&&e.push(a.join(c));return e};Z.b.Af=function(a,c){if(c)"string"==typeof c&&(c=[c]);else return a;for(var d=-1,e=0;e<c.length;e++)if(""!=c[e]){var f=a.lastIndexOf(c[e]);f>d&&(d=f)}return-1==d?a:a.slice(d+1)}; 65Z.b.He=function(a,c){var d=[],e=[];if(a==c)return 0;if(!a.length||!c.length)return Math.max(a.length,c.length);for(var f=0;f<c.length+1;f++)d[f]=f;for(f=0;f<a.length;f++){e[0]=f+1;for(var g=0;g<c.length;g++)e[g+1]=Math.min(e[g]+1,d[g+1]+1,d[g]+Number(a[f]!=c[g]));for(g=0;g<d.length;g++)d[g]=e[g]}return e[c.length]};Z.g={};Z.g.s=Z.G;Z.g.V=function(a,c){c.unshift(a);Z.debug.Error.call(this,Z.b.rd.apply(null,c));c.shift()};Z.Ha(Z.g.V,Z.debug.Error);Z.g.V.prototype.name="AssertionError";Z.g.Pb=function(a){throw a;};Z.g.xa=Z.g.Pb;Z.g.A=function(a,c,d,e){var f="Assertion failed";if(d)var f=f+(": "+d),g=e;else a&&(f+=": "+a,g=c);a=new Z.g.V(""+f,g||[]);Z.g.xa(a)};Z.g.gg=function(a){Z.g.s&&(Z.g.xa=a)};Z.g.assert=function(a,c,d){Z.g.s&&!a&&Z.g.A("",null,c,Array.prototype.slice.call(arguments,2));return a}; 66Z.g.Ba=function(a,c){Z.g.s&&Z.g.xa(new Z.g.V("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};Z.g.Zd=function(a,c,d){Z.g.s&&!Z.Sc(a)&&Z.g.A("Expected number but got %s: %s.",[Z.u(a),a],c,Array.prototype.slice.call(arguments,2));return a};Z.g.ge=function(a,c,d){Z.g.s&&!Z.h(a)&&Z.g.A("Expected string but got %s: %s.",[Z.u(a),a],c,Array.prototype.slice.call(arguments,2));return a}; 67Z.g.Xd=function(a,c,d){Z.g.s&&!Z.xb(a)&&Z.g.A("Expected function but got %s: %s.",[Z.u(a),a],c,Array.prototype.slice.call(arguments,2));return a};Z.g.$d=function(a,c,d){Z.g.s&&!Z.P(a)&&Z.g.A("Expected object but got %s: %s.",[Z.u(a),a],c,Array.prototype.slice.call(arguments,2));return a};Z.g.Ud=function(a,c,d){Z.g.s&&!Z.isArray(a)&&Z.g.A("Expected array but got %s: %s.",[Z.u(a),a],c,Array.prototype.slice.call(arguments,2));return a}; 68Z.g.Vd=function(a,c,d){Z.g.s&&!Z.Oc(a)&&Z.g.A("Expected boolean but got %s: %s.",[Z.u(a),a],c,Array.prototype.slice.call(arguments,2));return a};Z.g.Wd=function(a,c,d){!Z.g.s||Z.P(a)&&a.nodeType==Z.jb.bc.Rb||Z.g.A("Expected Element but got %s: %s.",[Z.u(a),a],c,Array.prototype.slice.call(arguments,2));return a};Z.g.Yd=function(a,c,d,e){!Z.g.s||a instanceof c||Z.g.A("Expected instanceof %s but got %s.",[Z.g.qb(c),Z.g.qb(a)],d,Array.prototype.slice.call(arguments,3));return a}; 69Z.g.fe=function(){for(var a in Object.prototype)Z.g.Ba(a+" should not be enumerable in Object.prototype.")};Z.g.qb=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};Z.f={};Z.w=Z.qa;Z.f.v=!1;Z.f.hd=function(a){return a[a.length-1]};Z.f.zf=Z.f.hd;Z.f.indexOf=Z.w&&(Z.f.v||Array.prototype.indexOf)?function(a,c,d){return Array.prototype.indexOf.call(a,c,d)}:function(a,c,d){d=null==d?0:0>d?Math.max(0,a.length+d):d;if(Z.h(a))return Z.h(c)&&1==c.length?a.indexOf(c,d):-1;for(;d<a.length;d++)if(d in a&&a[d]===c)return d;return-1}; 70Z.f.lastIndexOf=Z.w&&(Z.f.v||Array.prototype.lastIndexOf)?function(a,c,d){return Array.prototype.lastIndexOf.call(a,c,null==d?a.length-1:d)}:function(a,c,d){d=null==d?a.length-1:d;0>d&&(d=Math.max(0,a.length+d));if(Z.h(a))return Z.h(c)&&1==c.length?a.lastIndexOf(c,d):-1;for(;0<=d;d--)if(d in a&&a[d]===c)return d;return-1}; 71Z.f.forEach=Z.w&&(Z.f.v||Array.prototype.forEach)?function(a,c,d){Array.prototype.forEach.call(a,c,d)}:function(a,c,d){for(var e=a.length,f=Z.h(a)?a.split(""):a,g=0;g<e;g++)g in f&&c.call(d,f[g],g,a)};Z.f.mb=function(a,c){for(var d=Z.h(a)?a.split(""):a,e=a.length-1;0<=e;--e)e in d&&c.call(void 0,d[e],e,a)}; 72Z.f.filter=Z.w&&(Z.f.v||Array.prototype.filter)?function(a,c,d){return Array.prototype.filter.call(a,c,d)}:function(a,c,d){for(var e=a.length,f=[],g=0,h=Z.h(a)?a.split(""):a,l=0;l<e;l++)if(l in h){var m=h[l];c.call(d,m,l,a)&&(f[g++]=m)}return f};Z.f.map=Z.w&&(Z.f.v||Array.prototype.map)?function(a,c,d){return Array.prototype.map.call(a,c,d)}:function(a,c,d){for(var e=a.length,f=Array(e),g=Z.h(a)?a.split(""):a,h=0;h<e;
vendor: 4,253 bytes, lines 72-82
72h++)h in g&&(f[h]=c.call(d,g[h],h,a));return f}; 73Z.f.reduce=Z.w&&(Z.f.v||Array.prototype.reduce)?function(a,c,d,e){e&&(c=Z.bind(c,e));return Array.prototype.reduce.call(a,c,d)}:function(a,c,d,e){var f=d;Z.f.forEach(a,function(d,h){f=c.call(e,f,d,h,a)});return f};Z.f.reduceRight=Z.w&&(Z.f.v||Array.prototype.reduceRight)?function(a,c,d,e){e&&(c=Z.bind(c,e));return Array.prototype.reduceRight.call(a,c,d)}:function(a,c,d,e){var f=d;Z.f.mb(a,function(d,h){f=c.call(e,f,d,h,a)});return f}; 74Z.f.some=Z.w&&(Z.f.v||Array.prototype.some)?function(a,c,d){return Array.prototype.some.call(a,c,d)}:function(a,c,d){for(var e=a.length,f=Z.h(a)?a.split(""):a,g=0;g<e;g++)if(g in f&&c.call(d,f[g],g,a))return!0;return!1};Z.f.every=Z.w&&(Z.f.v||Array.prototype.every)?function(a,c,d){return Array.prototype.every.call(a,c,d)}:function(a,c,d){for(var e=a.length,f=Z.h(a)?a.split(""):a,g=0;g<e;g++)if(g in f&&!c.call(d,f[g],g,a))return!1;return!0}; 75Z.f.count=function(a,c,d){var e=0;Z.f.forEach(a,function(a,g,h){c.call(d,a,g,h)&&++e},d);return e};Z.f.find=function(a,c,d){c=Z.f.findIndex(a,c,d);return 0>c?null:Z.h(a)?a.charAt(c):a[c]};Z.f.findIndex=function(a,c,d){for(var e=a.length,f=Z.h(a)?a.split(""):a,g=0;g<e;g++)if(g in f&&c.call(d,f[g],g,a))return g;return-1};Z.f.Le=function(a,c,d){c=Z.f.Hc(a,c,d);return 0>c?null:Z.h(a)?a.charAt(c):a[c]}; 76Z.f.Hc=function(a,c,d){for(var e=Z.h(a)?a.split(""):a,f=a.length-1;0<=f;f--)if(f in e&&c.call(d,e[f],f,a))return f;return-1};Z.f.contains=function(a,c){return 0<=Z.f.indexOf(a,c)};Z.f.Qc=function(a){return 0==a.length};Z.f.clear=function(a){if(!Z.isArray(a))for(var c=a.length-1;0<=c;c--)delete a[c];a.length=0};Z.f.ef=function(a,c){Z.f.contains(a,c)||a.push(c)};Z.f.ub=function(a,c,d){Z.f.splice(a,d,0,c)};Z.f.gf=function(a,c,d){Z.fd(Z.f.splice,a,d,0).apply(null,c)}; 77Z.f.insertBefore=function(a,c,d){var e;2==arguments.length||0>(e=Z.f.indexOf(a,d))?a.push(c):Z.f.ub(a,c,e)};Z.f.remove=function(a,c){c=Z.f.indexOf(a,c);var d;(d=0<=c)&&Z.f.L(a,c);return d};Z.f.ag=function(a,c){c=Z.f.lastIndexOf(a,c);return 0<=c?(Z.f.L(a,c),!0):!1};Z.f.L=function(a,c){return 1==Array.prototype.splice.call(a,c,1).length};Z.f.$f=function(a,c,d){c=Z.f.findIndex(a,c,d);return 0<=c?(Z.f.L(a,c),!0):!1}; 78Z.f.Xf=function(a,c,d){var e=0;Z.f.mb(a,function(f,g){c.call(d,f,g,a)&&Z.f.L(a,g)&&e++});return e};Z.f.concat=function(a){return Array.prototype.concat.apply(Array.prototype,arguments)};Z.f.join=function(a){return Array.prototype.concat.apply(Array.prototype,arguments)};Z.f.ud=function(a){var c=a.length;if(0<c){for(var d=Array(c),e=0;e<c;e++)d[e]=a[e];return d}return[]};Z.f.clone=Z.f.ud; 79Z.f.extend=function(a,c){for(var d=1;d<arguments.length;d++){var e=arguments[d];if(Z.Ja(e)){var f=a.length||0,g=e.length||0;a.length=f+g;for(var h=0;h<g;h++)a[f+h]=e[h]}else a.push(e)}};Z.f.splice=function(a,c,d,e){return Array.prototype.splice.apply(a,Z.f.slice(arguments,1))};Z.f.slice=function(a,c,d){return 2>=arguments.length?Array.prototype.slice.call(a,c):Array.prototype.slice.call(a,c,d)}; 80Z.f.Yf=function(a,c,d){function e(a){return Z.P(a)?"o"+Z.rb(a):(typeof a).charAt(0)+a}c=c||a;d=d||e;for(var f={},g=0,h=0;h<a.length;){var l=a[h++],m=d(l);Object.prototype.hasOwnProperty.call(f,m)||(f[m]=!0,c[g++]=l)}c.length=g};Z.f.eb=function(a,c,d){return Z.f.fb(a,d||Z.f.C,!1,c)};Z.f.le=function(a,c,d){return Z.f.fb(a,c,!0,void 0,d)};Z.f.fb=function(a,c,d,e,f){for(var g=0,h=a.length,l;g<h;){var m=g+h>>1,n;n=d?c.call(f,a[m],m,a):c(e,a[m]);0<n?g=m+1:(h=m,l=!n)}return l?g:~g}; 81Z.f.sort=function(a,c){a.sort(c||Z.f.C)};Z.f.rg=function(a,c){for(var d=Array(a.length),e=0;e<a.length;e++)d[e]={index:e,value:a[e]};var f=c||Z.f.C;Z.f.sort(d,function(a,c){return f(a.value,c.value)||a.index-c.index});for(e=0;e<a.length;e++)a[e]=d[e].value};Z.f.pd=function(a,c,d){var e=d||Z.f.C;Z.f.sort(a,function(a,d){return e(c(a),c(d))})};Z.f.pg=function(a,c,d){Z.f.pd(a,function(a){return a[c]},d)}; 82Z.f.vf=function(a,c,d){c=c||Z.f.C;for(var e=1;e<a.length;e++){var f=c(a[e-1],a[e]);if(0<f||0==f&&d)return!1}return!0};Z.f.Ie=function(a,c,d){if(!Z.Ja(a)||!Z.Ja(c)||a.length!=c.length)return!1;var e=a.length;d=d||Z.f.Dc;for(var f=0;f<e;f++)if(!d(a[f],c[f]))return!1;return!0};Z.f.Ae=function(a,c,d){d=d||Z.f.C;for(var e=Math.min(a.length,c.length),f=0;f<e;
82f++){var g=d(a[f],c[f]);if(0!=g)return g}return Z.f.C(a.length,c.length)};Z.f.C=function(a,c){return a>c?1:a<c?-1:0}; 83Z.f.jf=function(a,c){return-Z.f.C(a,c)};Z.f.Dc=function(a,c){return a===c};Z.f.je=function(a,c,d){d=Z.f.eb(a,c,d);return 0>d?(Z.f.ub(a,c,-(d+1)),!0):!1};Z.f.ke=function(a,c,d){c=Z.f.eb(a,c,d);return 0<=c?Z.f.L(a,c):!1};Z.f.me=function(a,c,d){for(var e={},f=0;f<a.length;f++){var g=a[f],h=c.call(d,g,f,a);Z.O(h)&&(e[h]||(e[h]=[])).push(g)}return e};Z.f.Ag=function(a,c,d){var e={};Z.f.forEach(a,function(f,g){e[c.call(d,f,g,a)]=f});return e}; 84Z.f.Pf=function(a,c,d){var e=[],f=0,g=a;d=d||1;void 0!==c&&(f=a,g=c);if(0>d*(g-f))return[];if(0<d)for(a=f;a<g;a+=d)e.push(a);else for(a=f;a>g;a+=d)e.push(a);return e};Z.f.repeat=function(a,c){for(var d=[],e=0;e<c;e++)d[e]=a;return d};Z.f.Ic=function(a){for(var c=[],d=0;d<arguments.length;d++){var e=arguments[d];if(Z.isArray(e))for(var f=0;f<e.length;f+=8192)for(var g=Z.f.Ic.apply(null,Z.f.slice(e,f,f+8192)),h=0;h<g.length;h++)c.push(g[h]);else c.push(e)}return c}; 85Z.f.rotate=function(a,c){a.length&&(c%=a.length,0<c?Array.prototype.unshift.apply(a,a.splice(-c,c)):0>c&&Array.prototype.push.apply(a,a.splice(0,-c)));return a};Z.f.Ff=function(a,c,d){c=Array.prototype.splice.call(a,c,1);Array.prototype.splice.call(a,d,0,c[0])}; 86Z.f.Mg=function(a){if(!arguments.length)return[];for(var c=[],d=arguments[0].length,e=1;e<arguments.length;e++)arguments[e].length<d&&(d=arguments[e].length);for(e=0;e<d;e++){for(var f=[],g=0;g<arguments.length;g++)f.push(arguments[g][e]);c.push(f)}return c};Z.f.og=function(a,c){c=c||Math.random;for(var d=a.length-1;0<d;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e];a[e]=f}};Z.f.De=function(a,c){var d=[];Z.f.forEach(c,function(c){d.push(a[c])});return d}; 87Z.f.Ce=function(a,c,d){return Z.f.concat.apply([],Z.f.map(a,c,d))};Z.locale={}; 88Z.locale.J={COUNTRY:{AD:"Andorra",AE:hb,AF:U,AG:ca,AI:"Anguilla",AL:"Shqip\u00ebria",AM:gb,AN:pa,AO:"Angola",AQ:"Antarctica",AR:"Argentina",AS:b,AT:"\u00d6sterreich",AU:"Australia",AW:"Aruba",AX:"\u00c5land",AZ:"Az\u0259rbaycan",BA:p,BB:"Barbados",BD:"\u09ac\u09be\u0982\u09b2\u09be\u09a6\u09c7\u09b6",BE:"Belgi\u00eb",BF:"Burkina Faso",BG:"\u0411\u044a\u043b\u0433\u0430\u0440\u0438\u044f",BH:"\u0627\u0644\u0628\u062d\u0631\u064a\u0646",BI:"Burundi",BJ:"B\u00e9nin",BM:"Bermuda",BN:"Brunei",BO:k,BR:"Brasil", 89BS:"Bahamas",BT:"\u092d\u0942\u091f\u093e\u0928",BV:"Bouvet Island",BW:q,BY:db,BZ:"Belize",CA:"Canada",CC:"Cocos (Keeling) Islands",CD:Ca,CF:Ba,CG:"Congo",CH:"Schweiz",CI:"C\u00f4te d\u2019Ivoire",CK:"Cook Islands",CL:"Chile",CM:"Cameroun",CN:"\u4e2d\u56fd",CO:"Colombia",CR:"Costa Rica",CS:Ga,CU:"Cuba",CV:"Cabo Verde",CX:fa,CY:"\u039a\u03cd\u03c0\u03c1\u03bf\u03c2",CZ:cb,DD:"East Germany",DE:"Deutschland",DJ:"Jabuuti",DK:"Danmark",DM:"Dominica",DO:za,DZ:"\u0627\u0644\u062c\u0632\u0627\u0626\u0631", 90EC:"Ecuador",EE:"Eesti",EG:"\u0645\u0635\u0631",EH:ib,ER:"\u0627\u0631\u064a\u062a\u0631\u064a\u0627",ES:"Espa\u00f1a",ET:X,FI:"Suomi",FJ:"\u092b\u093f\u091c\u0940",FK:ga,FM:x,FO:"F\u00f8royar",FR:"France",FX:"Metropolitan France",GA:"Gabon",GB:Ra,GD:"Grenada",GE:"\u10e1\u10d0\u10e5\u10d0\u10e0\u10d7\u10d5\u10d4\u10da\u10dd",GF:ia,GG:"Guernsey",GH:r,GI:"Gibraltar",GL:ja,GM:"Gambia",GN:"Guin\u00e9e",GP:"Guadeloupe",GQ:ha,GR:"\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",GS:"South Georgia and the South Sandwich Islands", 91GT:"Guatemala",GU:"Guam",GW:"Guin\u00e9 Bissau",GY:"Guyana",HK:"\u9999\u6e2f",HM:"Heard Island and McDonald Islands",HN:t,HR:"Hrvatska",HT:"Ha\u00efti",HU:"Magyarorsz\u00e1g",ID:u,IE:"Ireland",IL:"\u05d9\u05e9\u05e8\u05d0\u05dc",IM:"Isle of Man",IN:W,IO:"British Indian Ocean Territory",IQ:"\u0627\u0644\u0639\u0631\u0627\u0642",IR:"\u0627\u06cc\u0631\u0627\u0646",IS:"\u00cdsland",IT:"Italia",JE:"Jersey",JM:"Jamaica",JO:"\u0627\u0644\u0623\u0631\u062f\u0646",JP:"\u65e5\u672c",KE:"Kenya",KG:eb,KH:"\u1780\u1798\u17d2\u1796\u17bb\u1787\u17b6", 92KI:w,KM:lb,KN:Da,KP:mb,KR:"\ub300\ud55c\ubbfc\uad6d",KW:"\u0627\u0644\u0643\u0648\u064a\u062a",KY:ea,KZ:"\u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d",LA:"\u
920e25\u0e32\u0e27",LB:"\u0644\u0628\u0646\u0627\u0646",LC:"Saint Lucia",LI:"Liechtenstein",LK:"\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8",LR:"Liberia",LS:"Lesotho",LT:"Lietuva",LU:la,LV:"Latvija",LY:"\u0644\u064a\u0628\u064a\u0627",MA:"\u0627\u0644\u0645\u063a\u0631\u0628",MC:"Monaco",MD:oa,ME:"\u0426\u0440\u043d\u0430 \u0413\u043e\u0440\u0430", 93MG:ma,MH:na,MK:"\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0438\u0458\u0430",ML:"\u0645\u0627\u0644\u064a",MM:"Myanmar",MN:"\u8499\u53e4",MO:"\u6fb3\u95e8",MP:sa,MQ:"Martinique",MR:"\u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627",MS:"Montserrat",MT:"Malta",MU:"Mauritius",MV:"Maldives",MW:"Malawi",MX:"M\u00e9xico",MY:"Malaysia",MZ:"Mo\u00e7ambique",NA:"Namibia",NC:ta,NE:"Niger",NF:ra,NG:y,NI:"Nicaragua",NL:"Nederland",NO:"Norge",NP:"\u0928\u0947\u092a\u093e\u0932",NR:"Nauru",NT:"Neutral Zone", 94NU:"Niue",NZ:qa,OM:"\u0639\u0645\u0627\u0646",PA:"Panam\u00e1",PE:"Per\u00fa",PF:wa,PG:z,PH:va,PK:V,PL:"Polska",PM:Fa,PN:"Pitcairn",PR:xa,PS:"\u0641\u0644\u0633\u0637\u064a\u0646",PT:"Portugal",PW:"Palau",PY:ua,QA:"\u0642\u0637\u0631",QO:"Outlying Oceania",QU:"European Union",RE:"R\u00e9union",RO:"Rom\u00e2nia",RS:"\u0421\u0440\u0431\u0438\u0458\u0430",RU:"\u0420\u043e\u0441\u0441\u0438\u044f",RW:A,SA:jb,SB:Ja,SC:Ha,SD:"\u0627\u0644\u0633\u0648\u062f\u0627\u0646",SE:"Sverige",SG:"\u65b0\u52a0\u5761", 95SH:"Saint Helena",SI:"Slovenija",SJ:Ka,SK:Ia,SL:"Sierra Leone",SM:"San Marino",SN:C,SO:"Somali",SR:"Suriname",ST:Ma,SU:"Union of Soviet Socialist Republics",SV:"El Salvador",SY:"\u0633\u0648\u0631\u064a\u0627",SZ:La,TC:Pa,TD:"\u062a\u0634\u0627\u062f",TF:"French Southern Territories",TG:"Togo",TH:"\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22",TJ:"\u062a\u0627\u062c\u06cc\u06a9\u0633\u062a\u0627\u0646",TK:E,TL:Oa,TM:"\u0422\u0443\u0440\u043a\u043c\u0435\u043d\u0438\u0441\u0442\u0430\u043d", 96TN:"\u062a\u0648\u0646\u0633",TO:"Tonga",TR:G,TT:"Trinidad y Tobago",TV:F,TW:"\u53f0\u6e7e",TZ:Na,UA:"\u0423\u043a\u0440\u0430\u0457\u043d\u0430",UG:"Uganda",UM:Ta,US:Sa,UY:"Uruguay",UZ:"\u040e\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u043e\u043d",VA:"Vaticano",VC:Ea,VE:"Venezuela",VG:da,VI:Qa,VN:"Vi\u1ec7t Nam",VU:H,WF:Va,WS:"Samoa",YD:"People's Democratic Republic of Yemen",YE:"\u0627\u0644\u064a\u0645\u0646",YT:"Mayotte",ZA:B,ZM:"Zambia",ZW:"Zimbabwe",ZZ:Ua,aa_DJ:"Jabuuti",aa_ER:"\u00c9rythr\u00e9e", 97aa_ER_SAAHO:"\u00c9rythr\u00e9e",aa_ET:v,af_NA:"Namibi\u00eb",af_ZA:"Suid-Afrika",ak_GH:r,am_ET:X,ar_AE:hb,ar_BH:"\u0627\u0644\u0628\u062d\u0631\u064a\u0646",ar_DJ:"\u062c\u064a\u0628\u0648\u062a\u064a",ar_DZ:"\u0627\u0644\u062c\u0632\u0627\u0626\u0631",ar_EG:"\u0645\u0635\u0631",ar_EH:ib,ar_ER:"\u0627\u0631\u064a\u062a\u0631\u064a\u0627",ar_IL:"\u0627\u0633\u0631\u0627\u0626\u064a\u0644",ar_IQ:"\u0627\u0644\u0639\u0631\u0627\u0642",ar_JO:"\u0627\u0644\u0623\u0631\u062f\u0646",ar_KM:lb,ar_KW:"\u0627\u0644\u0643\u0648\u064a\u062a", 98ar_LB:"\u0644\u0628\u0646\u0627\u0646",ar_LY:"\u0644\u064a\u0628\u064a\u0627",ar_MA:"\u0627\u0644\u0645\u063a\u0631\u0628",ar_MR:"\u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627",ar_OM:"\u0639\u0645\u0627\u0646",ar_PS:"\u0641\u0644\u0633\u0637\u064a\u0646",ar_QA:"\u0642\u0637\u0631",ar_SA:jb,ar_SD:"\u0627\u0644\u0633\u0648\u062f\u0627\u0646",ar_SY:"\u0633\u0648\u0631\u064a\u0627",ar_TD:"\u062a\u0634\u0627\u062f",ar_TN:"\u062a\u0648\u0646\u0633",ar_YE:"\u0627\u0644\u064a\u0645\u0646",as_IN:"\u09ad\u09be\u09f0\u09a4", 99ay_BO:k,az_AZ:"Az\u0259rbaycan",az_Cyrl_AZ:"\u0410\u0437\u04d9\u0440\u0431\u0430\u0458\u04b9\u0430\u043d",az_Latn_AZ:"Azerbaycan",be_BY:db,bg_BG:"\u0411\u044a\u043b\u0433\u0430\u0440\u0438\u044f",bi_VU:H,bn_BD:"\u09ac\u09be\u0982\u09b2\u09be\u09a6\u09c7\u09b6",bn_IN:"\u09ad\u09be\u09b0\u09a4",bo_CN:"\u0f62\u0f92\u0fb1\u0f0b\u0f53\u0f42",bo_IN:"\u0f62\u0f92\u0fb1\u0f0b\u0f42\u0f62\u0f0b",bs_BA:p,byn_ER:"\u12a4\u122d\u1275\u122b",ca_AD:"Andorra",ca_ES:"Espanya",cch_NG:y,ch_GU:"Guam",chk_FM:x,cop_Arab_EG:"\u0645\u0635\u0631", 100cop_Arab_US:kb,cop_EG:"\u0645\u0635\u0631",cop_US:kb,cs_CZ:cb,cy_GB:"Prydain Fawr",da_DK:"Danmark",da_GL:"Gr\u00f8nland",de_AT:"\u00d6sterreich",de_BE:"Belgien",de_CH:"Schweiz",de_DE:"Deutschland",de_LI:"Liechtenstein",de_LU:"Luxemburg",dv_MV:"Maldives",dz_BT:"Bhutan",ee_GH:r,ee_TG:"Togo",efi_NG:y,el_CY:"\u039a\u03cd\u03c0\u03c1\u03bf\u03c2",el_GR:"\u0395\u03bb\u03bb\u03ac\u03b4\u03b1",en_AG:ca,en_AI:"Anguilla",en_AS:b,en_AU:"Australia",en_BB:"Barbados",en_BE:"Belgium",en_BM:"Bermuda",en_BS:"Bahamas", 101en_BW:q,en_BZ:"Belize",en_CA:"Canada",en_CC:"Cocos Islands",en_CK:"Cook Islands",en_CM:"Cameroon",en_CX:fa,en_DM:"Dominica",en_FJ:"Fiji",en_FK:ga,en_FM:x,en_GB:Ra,en_GD:"Grenada",en_GG:"Guernsey",en_GH:r,en_GI:"Gibraltar",en_GM:"Gambia",en_GU:"Guam",en_GY:"Guyana",en_HK:"Hong Kong",en_HN:t,en_IE:"Ireland",en_IM:"Isle of Man",en_IN:"India",en_JE:"Jersey",en_JM:"Jamaica",en_KE:"Kenya",en_KI:w,en_KN:Da,en_KY:ea,en_LC:"Saint Lucia",en_LR:"Liberia",en_LS:"Lesotho",en_MH:na,en_MP:sa,en_MS:"Montserrat", 102en_MT:"Malta",en_MU:"Mauritius",en_MW:"Malawi",en_NA:"Namibia",en_NF:ra,en_NG:y,en_NR:"Nauru",en_NU:"Niue",en_NZ:qa,en_PG:z,en_PH:va,en_PK:"Pakistan",en_PN:"Pitcairn",en_PR:xa,en_RW:A,en_SB:Ja,en_SC:Ha,en_SG:"Singapore",en_SH:"Saint Helena",en_SL:"Sierra Leone",en_SZ:La,en_TC:Pa,en_TK:E,en_TO:"Tonga",en_TT:"Trinidad and Tobago",en_TV:F,en_TZ:Na,en_UG:"Uganda",en_UM:Ta,en_US:Sa,en_US_POSIX:Sa,en_VC:Ea,en_VG:da,en_VI:Qa,en_VU:H,en_WS:"Samoa",en_ZA:B,en_ZM:"Zambia",en_ZW:"Zimbabwe",es_AR:"Argentina", 103es_BO:k,es_CL:"Chile",es_CO:"Colombia",es_CR:"Costa Rica",es_CU:"Cuba",es_DO:za,es_EC:"Ecuador",es_ES:"Espa\u00f1a",es_GQ:"Guinea Ecuatorial",es_GT:"Guatemala",es_HN:t,es_MX:"M\u00e9xico",es_NI:"Nicaragua",es_PA:"Panam\u00e1",es_PE:"Per\u00fa",es_PH:"Filipinas",es_PR:xa,es_PY:ua,es_SV:"El Salvador",es_US:"Estados Unidos",es_UY:"Uruguay",es_VE:"Venezuela",et_EE:"Eesti",eu_ES:"Espainia",fa_AF:U,fa_IR:"\u0627\u06cc\u0631\u0627\u0646",fi_FI:"Suomi",fil_PH:va,fj_FJ:"Fiji",fo_FO:"F\u00f8royar",fr_BE:"Belgique", 104fr_BF:"Burkina Faso",fr_BI:"Burundi",fr_BJ:"B\u00e9nin",fr_CA:"Canada",fr_CD:Ca,fr_CF:Ba,fr_CG:"Congo",fr_CH:"Suisse",fr_CI:"C\u00f4te d\u2019Ivoire",fr_CM:"Cameroun",fr_DJ:"Djibouti",fr_DZ:"Alg\u00e9rie",fr_FR:"France",fr_GA:"Gabon",fr_GF:ia,fr_GN:"Guin\u00e9e",fr_GP:"Guadeloupe",fr_GQ:ha,fr_HT:"Ha\u00efti",fr_KM:"Comores",fr_LU:la,fr_MA:"Maroc",fr_MC:"Monaco",fr_MG:ma,fr_ML:"Mali",fr_MQ:"Martinique",fr_MU:"Maurice",fr_NC:ta,fr_NE:"Niger",fr_PF:wa,fr_PM:Fa,fr_RE:"R\u00e9union",fr_RW:A,fr_SC:Ha,fr_SN:C, 105fr_SY:"Syrie",fr_TD:"Tchad",fr_TG:"Togo",fr_TN:"Tunisie",fr_VU:H,fr_WF:Va,fr_YT:"Mayotte",fur_IT
105:"Italia",ga_IE:"\u00c9ire",gaa_GH:r,gez_ER:"\u12a4\u122d\u1275\u122b",gez_ET:X,gil_KI:w,gl_ES:"Espa\u00f1a",gn_PY:ua,gu_IN:"\u0aad\u0abe\u0ab0\u0aa4",gv_GB:Aa,ha_Arab_NG:"\u0646\u064a\u062c\u064a\u0631\u064a\u0627",ha_GH:"\u063a\u0627\u0646\u0627",ha_Latn_GH:r,ha_Latn_NE:"Niger",ha_Latn_NG:"Nig\u00e9ria",ha_NE:"\u0627\u0644\u0646\u064a\u062c\u0631",ha_NG:"\u0646\u064a\u062c\u064a\u0631\u064a\u0627",haw_US:"\u02bbAmelika Hui P\u016b \u02bbIa", 106he_IL:"\u05d9\u05e9\u05e8\u05d0\u05dc",hi_IN:W,ho_PG:z,hr_BA:p,hr_HR:"Hrvatska",ht_HT:"Ha\u00efti",hu_HU:"Magyarorsz\u00e1g",hy_AM:gb,hy_AM_REVISED:gb,id_ID:u,ig_NG:y,ii_CN:"\ua34f\ua1e9",is_IS:"\u00cdsland",it_CH:"Svizzera",it_IT:"Italia",it_SM:"San Marino",ja_JP:"\u65e5\u672c",ka_GE:"\u10e1\u10d0\u10e5\u10d0\u10e0\u10d7\u10d5\u10d4\u10da\u10dd",kaj_NG:y,kam_KE:"Kenya",kcg_NG:y,kfo_NG:"Nig\u00e9ria",kk_KZ:"\u049a\u0430\u0437\u0430\u049b\u0441\u0442\u0430\u043d",kl_GL:ja,km_KH:"\u1780\u1798\u17d2\u1796\u17bb\u1787\u17b6", 107kn_IN:"\u0cad\u0cbe\u0cb0\u0ca4",ko_KP:mb,ko_KR:"\ub300\ud55c\ubbfc\uad6d",kok_IN:W,kos_FM:x,kpe_GN:"Guin\u00e9e",kpe_LR:"Lib\u00e9ria",ks_IN:W,ku_IQ:"Irak",ku_IR:"\u0130ran",ku_Latn_IQ:"Irak",ku_Latn_IR:"\u0130ran",ku_Latn_SY:"Suriye",ku_Latn_TR:G,ku_SY:"Suriye",ku_TR:G,kw_GB:Aa,ky_Cyrl_KG:eb,ky_KG:"K\u0131rg\u0131zistan",la_VA:"Vaticano",lb_LU:la,ln_CD:Ca,ln_CG:"Kongo",lo_LA:"Laos",lt_LT:"Lietuva",lv_LV:"Latvija",mg_MG:ma,mh_MH:na,mi_NZ:qa,mk_MK:"\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0438\u0458\u0430", 108ml_IN:"\u0d07\u0d28\u0d4d\u0d24\u0d4d\u0d2f",mn_Cyrl_MN:"\u041c\u043e\u043d\u0433\u043e\u043b\u0438\u044f",mn_MN:"\u041c\u043e\u043d\u0433\u043e\u043b\u0438\u044f",mr_IN:W,ms_BN:"Brunei",ms_MY:"Malaysia",ms_SG:"Singapura",mt_MT:"Malta",my_MM:"Myanmar",na_NR:"Nauru",nb_NO:"Norge",nb_SJ:Ka,ne_NP:"\u0928\u0947\u092a\u093e\u0932",niu_NU:"Niue",nl_AN:pa,nl_AW:"Aruba",nl_BE:"Belgi\u00eb",nl_NL:"Nederland",nl_SR:"Suriname",nn_NO:"Noreg",nr_ZA:B,nso_ZA:B,ny_MW:"Malawi",om_ET:v,om_KE:"Keeniyaa",or_IN:"\u0b2d\u0b3e\u0b30\u0b24", 109pa_Arab_PK:V,pa_Guru_IN:"\u0a2d\u0a3e\u0a30\u0a24",pa_IN:"\u0a2d\u0a3e\u0a30\u0a24",pa_PK:V,pap_AN:pa,pau_PW:"Palau",pl_PL:"Polska",pon_FM:x,ps_AF:U,pt_AO:"Angola",pt_BR:"Brasil",pt_CV:"Cabo Verde",pt_GW:"Guin\u00e9 Bissau",pt_MZ:"Mo\u00e7ambique",pt_PT:"Portugal",pt_ST:Ma,pt_TL:Oa,qu_BO:k,qu_PE:"Per\u00fa",rm_CH:"Schweiz",rn_BI:"Burundi",ro_MD:oa,ro_RO:"Rom\u00e2nia",ru_BY:db,ru_KG:eb,ru_KZ:"\u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d",ru_RU:"\u0420\u043e\u0441\u0441\u0438\u044f",ru_UA:"\u0423\u043a\u0440\u0430\u0438\u043d\u0430", 110rw_RW:A,sa_IN:W,sd_Deva_IN:W,sd_IN:W,se_FI:"Finland",se_NO:"Norge",sg_CF:Ba,sh_BA:"Bosnia and Herzegovina",sh_CS:Ga,si_LK:"Sri Lanka",sid_ET:v,sk_SK:Ia,sl_SI:"Slovenija",sm_AS:b,sm_WS:"Samoa",so_DJ:"Jabuuti",so_ET:"Itoobiya",so_KE:"Kiiniya",so_SO:"Soomaaliya",sq_AL:"Shqip\u00ebria",sr_BA:"\u0411\u043e\u0441\u043d\u0430 \u0438 \u0425\u0435\u0440\u0446\u0435\u0433\u043e\u0432\u0438\u043d\u0430",sr_CS:"\u0421\u0440\u0431\u0438\u0458\u0430 \u0438 \u0426\u0440\u043d\u0430 \u0413\u043e\u0440\u0430",sr_Cyrl_BA:"\u0411\u043e\u0441\u043d\u0438\u044f", 111sr_Cyrl_CS:"\u0421\u0435\u0440\u0431\u0438\u044f \u0438 \u0427\u0435\u0440\u043d\u043e\u0433\u043e\u0440\u0438\u044f",sr_Cyrl_ME:"\u0427\u0435\u0440\u043d\u043e\u0433\u043e\u0440\u0438\u044f",sr_Cyrl_RS:"\u0421\u0435\u0440\u0431\u0438\u044f",sr_Latn_BA:p,sr_Latn_CS:"Srbija i Crna Gora",sr_Latn_ME:"Crna Gora",sr_Latn_RS:"Srbija",sr_ME:"\u0426\u0440\u043d\u0430 \u0413\u043e\u0440\u0430",sr_RS:"\u0421\u0440\u0431\u0438\u0458\u0430",ss_SZ:La,ss_ZA:B,st_LS:"Lesotho",st_ZA:B,su_ID:u,sv_AX:"\u00c5land", 112sv_FI:"Finland",sv_SE:"Sverige",sw_KE:"Kenya",sw_TZ:Na,sw_UG:"Uganda",swb_KM:lb,syr_SY:"Syria",ta_IN:"\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe",ta_LK:"\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8",ta_SG:"\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd",te_IN:"\u0c2d\u0c3e\u0c30\u0c24 \u0c26\u0c47\u0c33\u0c02",tet_TL:Oa,tg_Cyrl_TJ:"\u0422\u0430\u0434\u0436\u0438\u043a\u0438\u0441\u0442\u0430\u043d",tg_TJ:"\u062a\u0627\u062c\u06a9\u0633\u062a\u0627\u0646",th_TH:"\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22", 113ti_ER:"\u12a4\u122d\u1275\u122b",ti_ET:X,tig_ER:"\u12a4\u122d\u1275\u122b",tk_TM:"\u062a\u0631\u06a9\u0645\u0646\u0633\u062a\u0627\u0646",tkl_TK:E,tn_BW:q,tn_ZA:B,to_TO:"Tonga",tpi_PG:z,tr_CY:"G\u00fcney K\u0131br\u0131s Rum Kesimi",tr_TR:G,ts_ZA:B,tt_RU:"\u0420\u043e\u0441\u0441\u0438\u044f",tvl_TV:F,ty_PF:wa,uk_UA:"\u
1130423\u043a\u0440\u0430\u0457\u043d\u0430",uli_FM:x,und_ZZ:Ua,ur_IN:"\u0628\u06be\u0627\u0631\u062a",ur_PK:V,uz_AF:"Afganistan",uz_Arab_AF:U,uz_Cyrl_UZ:"\u0423\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u0430\u043d", 114uz_Latn_UZ:"O\u02bfzbekiston",uz_UZ:"\u040e\u0437\u0431\u0435\u043a\u0438\u0441\u0442\u043e\u043d",ve_ZA:B,vi_VN:"Vi\u1ec7t Nam",wal_ET:X,wo_Arab_SN:"\u0627\u0644\u0633\u0646\u063a\u0627\u0644",wo_Latn_SN:C,wo_SN:C,xh_ZA:B,yap_FM:x,yo_NG:y,zh_CN:"\u4e2d\u56fd",zh_HK:"\u9999\u6e2f",zh_Hans_CN:"\u4e2d\u56fd",zh_Hans_SG:"\u65b0\u52a0\u5761",zh_Hant_HK:"\u4e2d\u83ef\u4eba\u6c11\u5171\u548c\u570b\u9999\u6e2f\u7279\u5225\u884c\u653f\u5340",zh_Hant_MO:"\u6fb3\u9580",zh_Hant_TW:"\u81fa\u7063",zh_MO:"\u6fb3\u95e8", 115zh_SG:"\u65b0\u52a0\u5761",zh_TW:"\u53f0\u6e7e",zu_ZA:B},LANGUAGE:{aa:"afar",ab:"\u0430\u0431\u0445\u0430\u0437\u0441\u043a\u0438\u0439",ace:"Aceh",ach:"Acoli",ada:"Adangme",ady:"\u0430\u0434\u044b\u0433\u0435\u0439\u0441\u043a\u0438\u0439",ae:"Avestan",af:"Afrikaans",afa:"Afro-Asiatic Language",afh:"Afrihili",ain:"Ainu",ak:"Akan",akk:"Akkadian",ale:"Aleut",alg:"Algonquian Language",alt:"Southern Altai",am:"\u12a0\u121b\u122d\u129b",an:"Aragonese",ang:"Old English",anp:"Angika",apa:"Apache Language", 116ar:"\u0627\u0644\u0639\u0631\u0628\u064a\u0629",arc:"Aramaic",arn:"Araucanian",arp:"Arapaho",art:"Artificial Language",arw:"Arawak",as:"\u0985\u09b8\u09ae\u09c0\u09af\u09bc\u09be",ast:"asturiano",ath:"Athapascan Language",aus:"Australian Language",av:"\u0430\u0432\u0430\u0440\u0441\u043a\u0438\u0439",awa:"Awadhi",ay:"aimara",az:"az\u0259rbaycanca",az_Arab:"\u062a\u0631\u06a9\u06cc \u0622\u0630\u0631\u0628\u0627\u06cc\u062c\u0627\u0646\u06cc",az_Cyrl:"\u0410\u0437\u04d9\u0440\u0431\u0430\u0458\u04b9\u0430\u043d", 117az_Latn:"Azerice",ba:"\u0431\u0430\u0448\u043a\u0438\u0440\u0441\u043a\u0438\u0439",bad:"Banda",bai:"Bamileke Language",bal:"\u0628\u0644\u0648\u0686\u06cc",ban:"Balin",bas:"Basa",bat:"Baltic Language",be:"\u0431\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f",bej:"Beja",bem:"Bemba",ber:"Berber",bg:"\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",bh:"\u092c\u093f\u0939\u093e\u0930\u0940",bho:"Bhojpuri",bi:"bichelamar ; bislama",bik:"Bikol",bin:"Bini",bla:"Siksika",bm:"bambara",bn:"\u09ac\u09be\u0982\u09b2\u09be", 118bnt:"Bantu",bo:"\u0f54\u0f7c\u0f51\u0f0b\u0f66\u0f90\u0f51\u0f0b",br:"breton",bra:"Braj",bs:"Bosanski",btk:"Batak",bua:"Buriat",bug:"Bugis",byn:"\u1265\u120a\u1295",ca:"catal\u00e0",cad:"Caddo",cai:"Central American Indian Language",car:"Carib",cau:"Caucasian Language",cch:"Atsam",ce:"\u0447\u0435\u0447\u0435\u043d\u0441\u043a\u0438\u0439",ceb:"Cebuano",cel:"Celtic Language",ch:"Chamorro",chb:"Chibcha",chg:"Chagatai",chk:"Chuukese",chm:"\u043c\u0430\u0440\u0438\u0439\u0441\u043a\u0438\u0439 (\u0447\u0435\u0440\u0435\u043c\u0438\u0441\u0441\u043a\u0438\u0439)", 119chn:"Chinook Jargon",cho:"Choctaw",chp:"Chipewyan",chr:"Cherokee",chy:"Cheyenne",cmc:"Chamic Language",co:"corse",cop:"\u0642\u0628\u0637\u064a\u0629",cop_Arab:"\u0642\u0628\u0637\u064a\u0629",cpe:"English-based Creole or Pidgin",cpf:"French-based Creole or Pidgin",cpp:"Portuguese-based Creole or Pidgin",cr:"Cree",crh:"Crimean Turkish",crp:"Creole or Pidgin",cs:"\u010de\u0161tina",csb:"Kashubian",cu:"Church Slavic",cus:"Cushitic Language",cv:"\u0447\u0443\u0432\u0430\u0448\u0441\u043a\u0438\u0439", 120cy:"Cymraeg",da:"dansk",dak:"Dakota",dar:"\u0434\u0430\u0440\u0433\u0432\u0430",day:"Dayak",de:"Deutsch",del:"Delaware",den:"Slave",dgr:"Dogrib",din:"Dinka",doi:"\u0627\u0644\u062f\u0648\u062c\u0631\u0649",dra:"Dravidian Language",dsb:"Lower Sorbian",dua:"Duala",dum:"Middle Dutch",dv:"Divehi",dyu:"dioula",dz:"\u0f62\u0fab\u0f7c\u0f44\u0f0b\u0f41",ee:"Ewe",efi:"Efik",egy:"Ancient Egyptian",eka:"Ekajuk",el:"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",elx:"Elamite",en:"English",enm:"Middle English", 121eo:"esperanto",es:"espa\u00f1ol",et:"eesti",eu:"euskara",ewo:"Ewondo",fa:"\u0641\u0627\u0631\u0633\u06cc",fan:"fang",fat:"Fanti",ff:"Fulah",fi:"suomi",fil:"Filipino",fiu:"Finno-Ugrian Language",fj:"Fijian",fo:"f\u00f8royskt",fon:"Fon",fr:"fran\u00e7ais",frm:"Middle French",fro:"Old French",frr:"Northern Frisian",frs:"Eastern Frisian",fur:"friulano",fy:"Fries",ga:"Gaeilge",gaa:"Ga",gay:"Gayo",gba:"Gbaya",gd:"Scottish Gaelic",gem:"Germanic Language",gez:"\u130d\u12d5\u12dd\u129b",gil:"Gilbertese",gl:"galego", 122gmh:"Middle High German",gn:"guaran\u00ed",goh:"Old High German",gon:"Gondi",gor:"Gorontalo",got:"Gothic",grb:"Grebo",grc:"\u0391\u03c1\u03c7\u03b1\u03af\u03b1 \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",gsw:"Schweizerdeutsch",gu:"\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0",gv:"Gaelg",gwi:"Gwich\u02bcin",ha:"\u0627\u0644\u0647\u0648\u0633\u0627",ha_Arab:"\u0627\u0644\u0647\u0648\u0633\u0627",ha_Latn:"haoussa",hai:"Haida",haw:"\u02bb\u014dlelo Hawai\u02bbi",he:"\u05e2\u05d1\u05e8\u05d9\u05ea", 123hi:"\u0939\u093f\u0902\u0926\u0940",hil:"Hiligaynon",him:"Himachali",hit:"Hittite",hmn:"Hmong",ho:"Hiri Motu",hr:"hrvatski",hsb:"Upper Sorbian",ht:"ha\u00eftien",hu:"magyar",hup:"Hupa",hy:"\u0540\u0561\u0575\u0565\u0580\u0567\u0576",hz:"Herero",ia:"interlingvao",iba:"Iban",id:"Bahasa Indonesia",ie:"Interlingue",ig:"Igbo",ii:"\ua188\ua320\ua259",ijo:"Ijo",ik:"Inupiaq",ilo:"Iloko",inc:"Indic Language",ine:"Indo-European Language",inh:"\u0438\u043d\u0433\u0443\u0448\u0441\u043a\u0438\u0439",io:"Ido", 124ira:"Iranian Language",iro:"Iroquoian Language",is:"\u00edslenska",it:"italiano",iu:"Inuktitut",ja:"\u65e5\u672c\u8a9e",jbo:"Lojban",jpr:"Judeo-Persian",jrb:"Judeo-Arabic",jv:"Jawa",ka:"\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8",kaa:"\u043a\u0430\u0440\u0430\u043a\u0430\u043b\u043f\u0430\u043a\u0441\u043a\u0438\u0439",kab:"kabyle",kac:"Kachin",kaj:"Jju",kam:"Kamba",kar:"Karen",kaw:"Kawi",kbd:"\u043a\u0430\u0431\u0430\u0440\u0434\u0438\u043d\u0441\u043a\u0438\u0439",kcg:"Tyap",kfo:"koro",kg:"Kongo", 125kha:"Khasi",khi:"Khoisan Language",kho:"Khotanese",ki:"Kikuyu",kj:"Kuanyama",kk:"\u049a\u0430\u0437\u0430\u049b",kl:"kalaallisut",km:"\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a",kmb:"quimbundo",kn:"\u0c95\u0ca8\u0ccd\u0ca8\u0ca1",ko:"\ud55c\uad6d\uc5b4",kok:"\u0915\u094b\u0902\u0915\u0923\u0940",kos:"Kosraean",kpe:"kpell\u00e9",kr:"Kanuri",krc:"\u043a\u0430\u0440\u0430\u0447\u0430\u0435\u0432\u043e-\u0431\u0430\u043b\u043a\u0430\u0440\u0441\u043a\u0438\u0439",krl:"\u043a\u0430\u0440\u0435\u043b\u044c\u0441\u043a\u0438\u0439", 126kro:"Kru",kru:"Kurukh",ks:"\u0915\u093e\u0936\u094d\u092e\u093f\u0930\u0940",ku:"K\u00fcrt\u00e7e",ku_Arab:"\u0627\u0644\u0643\u0631\u062f\u064a\u0629",ku_Latn:"K\u00fcrt\u00e7e",kum:"\u043a\u0443\u043c\u044b\u043a\u0441\u043a\u0438\u0439",kut:"Kutenai",kv:"Komi",kw:"kernewek",ky:"K\u0131rg\u0131zca",ky_Arab:"\u0627\u0644\u0642\u064a\u0631\u063a\u0633\u062a\u0627\u0646\u064a\u0629",ky_Cyrl:"\u043a\u0438\u0440\u0433\u0438\u0437\u0441\u043a\u0438\u0439",la:"latino",lad:"\u05dc\u05d3\u05d9\u05e0\u05d5", 127lah:"\u0644\u0627\u0647\u0646\u062f\u0627",lam:"Lamba",lb:"luxembourgeois",lez:"\u
127043b\u0435\u0437\u0433\u0438\u043d\u0441\u043a\u0438\u0439",lg:"Ganda",li:"Limburgs",ln:"lingala",lo:"Lao",lol:"mongo",loz:"Lozi",lt:"lietuvi\u0173",lu:"luba-katanga",lua:"luba-lulua",lui:"Luiseno",lun:"Lunda",luo:"Luo",lus:"Lushai",lv:"latvie\u0161u",mad:"Madura",mag:"Magahi",mai:"Maithili",mak:"Makassar",man:"Mandingo",map:"Austronesian",mas:"Masai",mdf:"\u043c\u043e\u043a\u0448\u0430",mdr:"Mandar",men:"Mende",mg:"malgache", 128mga:"Middle Irish",mh:"Marshallese",mi:"Maori",mic:"Micmac",min:"Minangkabau",mis:"Miscellaneous Language",mk:"\u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438",mkh:"Mon-Khmer Language",ml:"\u0d2e\u0d32\u0d2f\u0d3e\u0d33\u0d02",mn:fb,mn_Cyrl:fb,mn_Mong:fb,mnc:"Manchu",mni:"Manipuri",mno:"Manobo Language",mo:"Moldavian",moh:"Mohawk",mos:"mor\u00e9 ; mossi",mr:"\u092e\u0930\u093e\u0920\u0940",ms:"Bahasa Melayu",mt:"Malti",mul:"Multiple Languages",mun:"Munda Language",mus:"Creek",mwl:"Mirandese", 129mwr:"Marwari",my:"Burmese",myn:"Mayan Language",myv:"\u044d\u0440\u0437\u044f",na:"Nauru",nah:"Nahuatl",nai:"North American Indian Language",nap:"napoletano",nb:"norsk bokm\u00e5l",nd:"North Ndebele",nds:"Low German",ne:"\u0928\u0947\u092a\u093e\u0932\u0940","new":"Newari",ng:"Ndonga",nia:"Nias",nic:"Niger-Kordofanian Language",niu:"Niuean",nl:"Nederlands",nn:"nynorsk",no:"Norwegian",nog:"\u043d\u043e\u0433\u0430\u0439\u0441\u043a\u0438\u0439",non:"Old Norse",nqo:"N\u2019Ko",nr:"South Ndebele",nso:"Northern Sotho", 130nub:"Nubian Language",nv:"Navajo",nwc:"Classical Newari",ny:"nianja; chicheua; cheua",nym:"Nyamwezi",nyn:"Nyankole",nyo:"Nyoro",nzi:"Nzima",oc:"occitan",oj:"Ojibwa",om:"Oromoo",or:"\u0b13\u0b21\u0b3c\u0b3f\u0b06",os:"\u043e\u0441\u0435\u0442\u0438\u043d\u0441\u043a\u0438\u0439",osa:"Osage",ota:"Ottoman Turkish",oto:"Otomian Language",pa:"\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40",pa_Arab:"\u067e\u0646\u062c\u0627\u0628",pa_Guru:"\u0a2a\u0a70\u0a1c\u0a3e\u0a2c\u0a40",paa:"Papuan Language",pag:"Pangasinan", 131pal:"Pahlavi",pam:"Pampanga",pap:"Papiamento",pau:"Palauan",peo:"Old Persian",phi:"Philippine Language",phn:"Phoenician",pi:"\u0e1a\u0e32\u0e25\u0e35",pl:"polski",pon:"Pohnpeian",pra:"Prakrit Language",pro:"Old Proven\u00e7al",ps:"\u067e\u069a\u062a\u0648",pt:"portugu\u00eas",qu:"quechua",raj:"Rajasthani",rap:"Rapanui",rar:"Rarotongan",rm:"R\u00e4toromanisch",rn:"roundi",ro:"rom\u00e2n\u0103",roa:"Romance Language",rom:"Romany",ru:"\u0440\u0443\u0441\u0441\u043a\u0438\u0439",rup:"Aromanian",rw:"rwanda", 132sa:"\u0938\u0902\u0938\u094d\u0915\u0943\u0924 \u092d\u093e\u0937\u093e",sad:"Sandawe",sah:"\u044f\u043a\u0443\u0442\u0441\u043a\u0438\u0439",sai:"South American Indian Language",sal:"Salish
132an Language",sam:"\u05d0\u05e8\u05de\u05d9\u05ea \u05e9\u05d5\u05de\u05e8\u05d5\u05e0\u05d9\u05ea",sas:"Sasak",sat:"Santali",sc:"Sardinian",scn:"siciliano",sco:"Scots",sd:"\u0938\u093f\u0928\u094d\u0927\u0940",sd_Arab:"\u0633\u0646\u062f\u06cc",sd_Deva:"\u0938\u093f\u0928\u094d\u0927\u0940",se:"nordsamiska",sel:"\u0441\u0435\u043b\u044c\u043a\u0443\u043f\u0441\u043a\u0438\u0439", 133sem:"Semitic Language",sg:"sangho",sga:"Old Irish",sgn:"Sign Language",sh:"Serbo-Croatian",shn:"Shan",si:"Sinhalese",sid:"Sidamo",sio:"Siouan Language",sit:"Sino-Tibetan Language",sk:"slovensk\u00fd",sl:"sloven\u0161\u010dina",sla:"Slavic Language",sm:"Samoan",sma:"sydsamiska",smi:"Sami Language",smj:"lulesamiska",smn:"Inari Sami",sms:"Skolt Sami",sn:"Shona",snk:"sonink\u00e9",so:"Soomaali",sog:"Sogdien",son:"Songhai",sq:"shqipe",sr:"\u0421\u0440\u043f\u0441\u043a\u0438",sr_Cyrl:"\u0441\u0435\u0440\u0431\u0441\u043a\u0438\u0439", 134sr_Latn:"Srpski",srn:"Sranantongo",srr:"s\u00e9r\u00e8re",ss:"Swati",ssa:"Nilo-Saharan Language",st:"Sesotho",su:"Sundan",suk:"Sukuma",sus:"soussou",sux:"Sumerian",sv:"svenska",sw:"Kiswahili",syc:"Classical Syriac",syr:"Syriac",ta:"\u0ba4\u0bae\u0bbf\u0bb4\u0bcd",tai:"Tai Language",te:"\u0c24\u0c46\u0c32\u0c41\u0c17\u0c41",tem:"Timne",ter:"Tereno",tet:"t\u00e9tum",tg:"\u062a\u0627\u062c\u06a9",tg_Arab:"\u062a\u0627\u062c\u06a9",tg_Cyrl:"\u0442\u0430\u0434\u0436\u0438\u043a\u0441\u043a\u0438\u0439", 135th:"\u0e44\u0e17\u0e22",ti:"\u1275\u130d\u122d\u129b",tig:"\u1275\u130d\u1228",tiv:"Tiv",tk:"\u062a\u0631\u06a9\u0645\u0646\u06cc",tkl:E,tl:"Tagalog",tlh:"Klingon",tli:"Tlingit",tmh:"tamacheq",tn:"Tswana",to:"Tonga",tog:"Nyasa Tonga",tpi:"Tok Pisin",tr:"T\u00fcrk\u00e7e",ts:"Tsonga",tsi:"Tsimshian",tt:"\u0442\u0430\u0442\u0430\u0440\u0441\u043a\u0438\u0439",tum:"Tumbuka",tup:"Tupi Language",tut:"\u0430\u043b\u0442\u0430\u0439\u0441\u043a\u0438\u0435 (\u0434\u0440\u0443\u0433\u0438\u0435)",tvl:F,tw:"Twi", 136ty:"tahitien",tyv:"\u0442\u0443\u0432\u0438\u043d\u0441\u043a\u0438\u0439",udm:"\u0443\u0434\u043c\u0443\u0440\u0442\u0441\u043a\u0438\u0439",ug:"\u0443\u0439\u0433\u0443\u0440\u0441\u043a\u0438\u0439",uga:"Ugaritic",uk:"\u0443\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",umb:"umbundu",und:"English",ur:"\u0627\u0631\u062f\u0648",uz:"\u040e\u0437\u0431\u0435\u043a",uz_Arab:"\u0627\u06c9\u0632\u0628\u06d0\u06a9",uz_Cyrl:"\u0443\u0437\u0431\u0435\u043a\u0441\u043a\u0438\u0439",uz_Latn:"o'zbekcha", 137vai:"Vai",ve:"Venda",vi:"Ti\u1ebfng Vi\u1ec7t",vo:"volapuko",vot:"Votic",wa:"Wallonisch",wak:"Wakashan Language",wal:"Walamo",war:"Waray",was:"Washo",wen:"Sorbian Language",wo:"wolof",wo_Arab:"\u0627\u0644\u0648\u0644\u0648\u0641",wo_Latn:"wolof",xal:"\u043a\u0430\u043b\u043c\u044b\u0446\u043a\u0438\u0439",xh:"Xhosa",yao:"iao",yap:"Yapese",yi:"\u05d9\u05d9\u05d3\u05d9\u05e9",yo:"Yoruba",ypk:"Yupik Language",za:"Zhuang",zap:"Zapotec",zen:"Zenaga",zh:"\u4e2d\u6587",zh_Hans:"\u4e2d\u6587",zh_Hant:"\u4e2d\u6587", 138znd:"Zande",zu:"Zulu",zun:"Zuni",zxx:"No linguistic content",zza:"Zaza"}};Z.locale.hg=function(a){a=a.replace(/-/g,"_");Z.locale.M=a};Z.locale.Ea=function(){Z.locale.M||(Z.locale.M="en");return Z.locale.M};Z.locale.H={Gd:"DateTimeConstants",Od:"NumberFormatConstants",ic:"TimeZoneConstants",Yb:ka,jc:"TimeZoneSelectedIds",lc:"TimeZoneSelectedShortNames",kc:"TimeZoneSelectedLongNames",hc:"TimeZoneAllLongNames"};Z.locale.Da=function(a){return(a=a.match(/^\w{2,3}([-_]|$)/))?a[0].replace(/[_-]/g,""):""}; 139Z.locale.ob=function(a){return(a=a.match(/[-_]([a-zA-Z]{2}|\d{3})([-_]|$)/))?a[0].replace(/[_-]/g,""):""};Z.locale.Ze=function(a){a=a.split(/[-_]/g);return 1<a.length&&a[1].match(/^[a-zA-Z]{4}$/)?a[1]:""};Z.locale.$e=function(a){return(a=a.match(/[-_]([a-z]{2,})/))?a[1]:""};Z.locale.Ve=function(a){var c=Z.locale.Da(a)+"_"+Z.locale.ob(a);return c in Z.locale.J.COUNTRY?Z.locale.J.COUNTRY[c]:a};Z.locale.Re=function(a,c){var d=Z.locale.ob(a);c=Z.locale.Lc(d,c);return c==d?a:c}; 140Z.locale.Lc=function(a,c){c||(c=Z.locale.pb());
140return a in c.COUNTRY?c.COUNTRY[a]:a};Z.locale.We=function(a){if(a in Z.locale.J.LANGUAGE)return Z.locale.J.LANGUAGE[a];var c=Z.locale.Da(a);return c in Z.locale.J.LANGUAGE?Z.locale.J.LANGUAGE[c]:a};Z.locale.Se=function(a,c){c||(c=Z.locale.pb());if(a in c.LANGUAGE)return c.LANGUAGE[a];var d=Z.locale.Da(a);return d in c.LANGUAGE?c.LANGUAGE[d]:a};Z.locale.K=function(a,c,d){Z.locale.m[c]||(Z.locale.m[c]={});Z.locale.m[c][d]=a;Z.locale.M||(Z.locale.M=d)}; 141Z.locale.uf=function(a,c){return a in Z.locale.m&&c in Z.locale.m[a]};Z.locale.m={};Z.locale.Sf=function(a,c){Z.locale.K(a,Z.locale.H.ic,c)};Z.locale.Qf=function(a,c){Z.locale.K(a,Z.locale.H.Yb,c)};Z.locale.Tf=function(a,c){Z.locale.K(a,Z.locale.H.jc,c)};Z.locale.Vf=function(a,c){Z.locale.K(a,Z.locale.H.lc,c)};Z.locale.Uf=function(a,c){Z.locale.K(a,Z.locale.H.kc,c)};Z.locale.Rf=function(a,c){Z.locale.K(a,Z.locale.H.hc,c)};Z.locale.pb=function(){var a=Z.locale.Ea(),a=a?a:Z.locale.Ea();if(ka in Z.locale.m)return Z.locale.m.LocaleNameConstants[a]}; 142Z.locale.Ye=function(a,c){c=c?c:Z.locale.Ea();if(a in Z.locale.m){if(c in Z.locale.m[a])return Z.locale.m[a][c];c=c.split("_");return 1<c.length&&c[0]in Z.locale.m[a]?Z.locale.m[a][c[0]]:Z.locale.m[a].en}};var google={a:{}};google.a.c={}; 143google.a.c.languages={af:!0,am:!0,az:!0,ar:!0,arb:"ar",bg:!0,bn:!0,ca:!0,cs:!0,cmn:"zh",da:!0,de:!0,el:!0,en:!0,en_gb:!0,es:!0,es_419:!0,et:!0,eu:!0,fa:!0,fi:!0,fil:!0,fr:!0,fr_ca:!0,gl:!0,ka:!0,gu:!0,he:"iw",hi:!0,hr:!0,hu:!0,hy:!0,id:!0,"in":"id",is:!0,it:!0,iw:!0,ja:!0,ji:"yi",jv:!1,jw:"jv",km:!0,kn:!0,ko:!0,lo:!0,lt:!0,lv:!0,ml:!0,mn:!0,mo:"ro",mr:!0,ms:!0,nb:"no",ne:!0,nl:!0,no:!0,pl:!0,pt:"pt_br",pt_br:!0,pt_pt:!0,ro:!0,ru:!0,si:!0,sk:!0,sl:!0,sr:!0,sv:!0,sw:!0,swh:"sw",ta:!0,te:!0,th:!0,tl:"fil", 144tr:!0,uk:!0,ur:!0,vi:!0,yi:!1,zh:"zh_cn",zh_cn:!0,zh_hk:!0,zh_tw:!0,zsm:"ms",zu:!0};google.a.c.yd={1:"1.0","1.0":"current","1.1":"upcoming",current:"45.1",upcoming:"45.1",41:"top",42:"top",43:"top",44:"top"};google.a.c.R={};google.a.c.I="unknown";google.a.c.log=Y();google.a.c.error=Y();google.a.c.Z=!1;google.a.c.window=window; 145google.a.c.Eb={gstatic:{prefix:"https://www.gstatic.com/charts",debug:"{prefix}/debug/{version}/jsapi_debug_{package}_module.js",compiled:"{prefix}/{version}/js/jsapi_compiled_{package}_module.js",i18n:"{prefix}/{version}/i18n/jsapi_compiled_i18n_{package}_module__{language}.js",css_prefix:"{prefix}/{version}/css",css:Za,css_debug:Za,third_party:ab,third_party_gen:ab}};google.a.c.i=google.a.c.Eb.gstatic; 146google.a.c.Ec={format:[],"default":["format"],ui:["default"],ui_base:["default"],annotatedtimeline:[Q],annotationchart:[Q,"controls",L,"table"],areachart:[Q,J],bar:[Q,M,S],barchart:[Q,J],browserchart:[Q],calendar:[Q],charteditor:[Q,L,O,Wa,"gauge","motionchart","orgchart","table"],charteditor_base:[R,L,O,Wa,"gauge","motionchart","orgchart","table_base"],columnchart:[Q,J],controls:[Q],controls_base:[R],corechart:[Q],gantt:[Q,M],gauge:[Q],geochart:[Q],geomap:[Q],geomap_base:[R],helloworld:[Q],imageareachart:[Q, 147O],imagebarchart:[Q,O],imagelinechart:[Q,O],imagechart:[Q],imagepiechart:[Q,O],imagesparkline:[Q,O],intensitymap:[Q],line:[Q,M,S],linechart:[Q,J],map:[Q],motionchart:[Q],orgchart:[Q],overtimecharts:[Q,L],piechart:[Q,J],sankey:["d3","d3.sankey",Q],scatter:[Q,M,S],scatterchart:[Q,J],table:[Q],table_base:[R],timeline:[Q,M],treemap:[Q],wordtree:[Q]};google.a.c.td={d3:"d3/d3.js","d3.sankey":"d3/d3.sankey.js",webfontloader:"webfontloader/webfont.js"};google.a.c.Fb={dygraph:"dygraphs/dygraph-tickers-combined.js"}; 148google.a.c.Bc={annotatedtimeline:"/annotatedtimeline/annotatedtimeline.css",annotationchart:"annotationchart/annotationchart.css",charteditor:"charteditor/charteditor.css",charteditor_base:"charteditor/charteditor_base.css",controls:"controls/controls.css",imagesparkline:"imagesparkline/imagesparkline.css",intensitymap:"intensitymap/intensitymap.css",orgchart:"orgchart/orgchart.css",table:"table/table.css",table_base:"table/table_base.css",ui:["util/util.css","core/tooltip.css"],ui_base:"util/util_base.css"}; 149google.a.c.ua=function(a,c){c=c||{};for(var d=[],e=0;e<a.length;e++){var f=a[e];if(!c[f]){c[f]=!0;var g=google.a.c.Ec[f]||[];0<g.length&&(d=d.concat(google.a.c.ua(g,c)));d.push(f)}}return d};google.a.c.Kc=function(a){for(var c={},d=[],e=0;e<a.length;e++){var f=google.a.c.Bc[a[e]];Z.isArray(f)||(f=[f]);for(var g=0;g<f.length;g++){var h=f[g];h&&!c[h]&&(c[h]=!0,d.push(h))}}return d}; 150google.a.c.md=function(a,c){if(c)if("undefined"===typeof a.onload){var d=!1;a.onreadystatechange=function(){d||(a.readyState&&a.readyState!==K?google.a.c.window.setTimeout(a.onreadystatechange,100):(d=!0,a.onreadystatechange=Y(),google.a.c.window.setTimeout(c,0)))}}else a.onload=c}; 151google.a.c.zb=function(a,c,d){google.a.c.log("loadScript: "+a);var e=c.createElement("script");e.type=Ya;e.language="javascript";e.async=!1;e.defer=!1;c=c.body||c.head||c.getElementsByTagName("HEAD").item(0)||c.documentElement;c.insertBefore(e,c.lastChild);d&&google.a.c.md(e,d);e.src=a;google.a.c.log("end loadScript: "+a)}; 152google.a.c.Zc=function(a,c){a=google.a.c.ua(a);for(var d=[],e=0;e<a.length;e++){var f=a[e];google.a.c.R[f]||d.push(f)}a=d;if(0===a.length)c();else{google.a.c.log("Load packages + dependencies - previous: "+a);var g=google.a.c.i.prefix,h=google.a.c.i.debug,l=google.a.c.i.compiled,m=google.a.c.i.i18n,n=google.a.c.I,T=google.a.c.Na;"en"===T&&(T=null);var D={},ya=a.length,ob=function(){for(var d=[],e=0;e<a.length;e++)d.push(D[a[e]]);eval("0,(function(){"+d.join("")+"})")();google.a.c.window.setTimeout(c, 1530)};google.a.c.ed=function(a,c){google.a.c.log("callback after loading "+a);D[a]=c;google.a.c.R[a]=!0;ya--;0===ya&&ob()};var nb=function(c){var d=google.a.c.Fc,e=a[c++];if(e){var f=e,D=google.a.c.td[e];D?(f=D,e===S&&(d=window.document),e=google.a.c.i.third_party):google.a.c.Fb[e]?(f=google.a.c.Fb[e],e=google.a.c.i.third_party_gen):e=google.a.c.Z?h:T?m:l;f=e.replace($a,g).replace(bb,n).replace("{language}",T).replace("{package}",f);google.a.c.zb(f,d);nb(c)}};nb(0)}}; 154google.a.c.W=function(a){function c(){g=!0;for(var a=e.length,c=0;c<a;c++)e[c]()}function d(){h=!0;for(var a=f.length,c=0;c<a;c++)f[c]()}var e=[],f=[],g=!1,h=!1;google.a.c.W.count||(google.a.c.W.count=0);var l="load-css-"+google.a.c.W.count++,m={done:function(a){e.push(a);g&&a();return m},Ba:function(a){f.push(a);h&&a();return m}},n=document.createElement("link");n.setAttribute("id",l);n.setAttribute("rel","stylesheet");n.setAttribute("type","text/css");"undefined"!==typeof n.addEventListener?(n.addEventListener("load", 155c,!1),n.addEventListener("error",d,!1)):"undefined"!==typeof n.attachEvent&&n.attachEvent("onload",function(){var a,e=document.styleSheets.length;try{for(;e--;)if(a=document.styleSheets[e],a.id===l){c();return}}catch(ya){}g||d()});document.getElementsByTagName("head")[0].appendChild(n);n.setAttribute("href",a);return m};google.a.c.Vc=function(a,c){google.a.c.log("loadCSSFile: "+a);google.a.c.W(a).done(c).Ba(function(){google.a.c.error("loading css failed: "+a)})}; 156google.a.c.Wc=function(a,c){a=google.a.c.ua(a);var d=google.a.c.Kc(a);if(null===d||0===d.length)c();else{google.a.c.log("Loading css files: "+d.join(", "));var e=google.a.c.i.prefix,f=google.a.c.i.css;google.a.c.Z&&(f=google.a.c.i.css_debug||f);var g=google.a.c.I,h=function(a){var m=d[a],l;l=a<d.length-1?function(){h(a+1)}:c;google.a.c.R[m]?(google.a.c.log("Already loaded "+m),google.a.c.window.setTimeout(l,0)):(google.a.c.R[m]=!0,m=f.replace("{css_prefix}",google.a.c.i.css_prefix).replace($a,e).replace(bb, 157g).replace("{cssFile}",m),google.a.c.Vc(m,l))};h(0)}};google.a.c.Cb=function(a){for(var c=a.replace(/-/g,"_").toLowerCase();Z.h(c);)a=c,c=google.a.c.languages[c],c===a&&(c=!1);c||(a.match(/_[^_]+$/)?(a=a.replace(/_[^_]+$/,""),a=google.a.c.Cb
157(a)):a="en");return a}; 158google.a.c.jd=function(a,c){c.log&&(google.a.c.log=c.log);c.error&&(google.a.c.error=c.error);var d=c.debug,e=c.language||"",e=google.a.c.Cb(e);a||(a=c.version||"unknown");if(google.a.c.I&&google.a.c.I!==a||google.a.c.Na&&google.a.c.Na!==e||google.a.c.Z!==d)google.a.c.R={};google.a.c.I=a;google.a.c.Na=e;google.a.c.Z=d};google.a.c.ea=!0;google.a.c.S=!1; 159google.a.c.load=function(a,c){if(google.a.c.S)google.a.c.U(function(){google.a.c.load(a,c)});else{var d;d=a.match(/^(testing\/)?(.*)/);var e=d[1]||"";for(a=d[2];;){d=google.a.c.yd[a];if(null==d||"top"===d)break;a=d}google.a.c.i=google.a.c.Eb.gstatic;a=e+a;google.a.c.S=!0;var f=function(){google.a.c.S=!1;google.a.c.Oa()};if(null==d)e=function(){var d=Z.N("google.charts.loader.publicLoad")||Z.N("google.charts.versionSpecific.load"),e=Z.N("google.charts.loader.publicSetOnLoadCallback")||Z.N("google.charts.versionSpecific.setOnLoadCallback"); 160d(a,c);e(f)},google.a.c.ea?(google.a.c.ea=!1,google.a.c.zb(google.a.c.i.prefix+"/"+a+"/loader.js",window.document,e)):e();else{if(!google.a.c.ea)throw Error("google.charts.load() cannot be called more than once with version 44 or earlier.");google.a.c.ea=!1;google.a.c.jd(a,c);google.a.c.log("google.charts.load version "+a);window.google=window.google||{};google.visualization=google.visualization||{};google.visualization.ModulePath=google.a.c.i.prefix;google.visualization.CssPath=google.a.c.i.css_prefix.replace($a, 161google.a.c.i.prefix).replace(bb,google.a.c.I);google.a.c.window=window;google.a.c.Fc=document;var g=c.packages;g&&0!==g.length||(g=["default"]);google.a.c.U(c.callback);google.a.c.Wc(g,function(){google.a.c.Zc(g,f)})}}};google.a.c.od=function(a){if(window.addEventListener)window.addEventListener("load",a,!1);else if(window.attachEvent)window.attachEvent("onload",a);else{var c=window.onload;window.onload=function(d){c&&c(d);a()}}};google.a.c.Jb=document&&document.readyState===K; 162google.a.c.od(function(){google.a.c.Jb=!0;google.a.c.Oa()});google.a.c.Oa=function(){!google.a.c.S&&google.a.c.Jb&&google.a.c.xc()};google.a.c.Ca=[];google.a.c.U=function(a){a&&google.a.c.Ca.push(a);google.a.c.S||google.a.c.Oa()};google.a.c.xc=function(){var a=google.a.c.Ca;for(google.a.c.Ca=[];0<a.length;)a.shift()()};google.a.c.Ra=function(a,c){google.a.c.ed(a,c)};if(Z.N(Xa))throw Error("Google Charts loader.js can only be loaded once.");google.a.load=function(){var a=0;"visualization"===arguments[a]&&a++;var c="current";Z.h(arguments[a])&&(c=arguments[a],a++);var d={};arguments.length>a&&(d=arguments[a]);google.a.c.load(c,d)};google.a.U=function(a){google.a.c.U(a)};google.a.Ra=function(a,c){google.a.c.Ra(a,c)};Z.Aa(Xa,google.a.load);Z.Aa("google.charts.setOnLoadCallback",google.a.U);Z.Aa("google.charts.packageLoadedCallback",google.a.Ra);}).call(this); 163 164google.charts.load('current', {packages: ['corechart']}); 165/** 166 * @fileOverview Renders KML on the Google Maps JavaScript API Version 3 167 * @name GeoXML3 168 * @author Sterling Udell, Larry Ross, Brendan Byrd 169 * @see http://code.google.com/p/geoxml3/ 170 * 171 * geoxml3.js 172 * 173 * Renders KML on the Google Maps JavaScript API Version 3 174 * http://code.google.com/p/geoxml3/ 175 * 176 * Copyright 2010 Sterling Udell, Larry Ross 177 * 178 * Licensed under the Apache License, Version 2.0 (the "License"); 179 * you may not use this file except in compliance with the License. 180 * You may obtain a copy of the License at 181 * 182 * http://www.apache.org/licenses/LICENSE-2.0 183 * 184 * Unless required by applicable law or agreed to in writing, software 185 * distributed under the License is distributed on an "AS IS" BASIS, 186 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 187 * See the License for the specific language governing permissions and 188 * limitations under the License. 189 * 190 */ 191/** 192 * A MultiGeometry object that will allow multiple polylines in a MultiGeometry 193 * containing LineStrings to be treated as a single object 194 * 195 * @param {MutiGeometryOptions} anonymous object. Available properties: 196 * map: The map on which to attach the MultiGeometry 197 * paths: the individual polylines 198 * polylineOptions: options to use when constructing all the polylines 199 * 200 * @constructor 201 */ 202// only if Google Maps API included 203if (!!window.google && !! google.maps) { 204 function MultiGeometry(multiGeometryOptions) { 205 function createPolyline(polylineOptions, mg) { 206 var polyline = new google.maps.Polyline(polylineOptions); 207 google.maps.event.addListener(polyline,'click', function(evt) { google.maps.event.trigger(mg,'click',evt);}); 208 google.maps.event.addListener(polyline,'dblclick', function(evt) { google.maps.event.trigger(mg, 'dblclick', evt);}); 209 google.maps.event.addListener(polyline,'mousedown', function(evt) { google.maps.event.trigger(mg, 'mousedown', evt);}); 210 google.maps.event.addListener(polyline,'mousemove', function(evt) { google.maps.event.trigger(mg, 'mousemove', evt);}); 211 google.maps.event.addListener(polyline,'mouseout', function(evt) { google.maps.event.trigger(mg, 'mouseout', evt);}); 212 google.maps.event.addListener(polyline,'mouseover', function(evt) { google.maps.event.trigger(mg, 'mouseover', evt);}); 213 google.maps.event.addListener(polyline,'mouseup', function(evt) { google.maps.event.trigger(mg, 'mouseup', evt);}); 214 google.maps.event.addListener(polyline,'rightclick', function(evt) { google.maps.event.trigger(mg, 'rightclick', evt);}); 215 return polyline; 216 } 217 this.setValues(multiGeometryOptions); 218 this.polylines = []; 219 220 for (i=0; i<this.paths.length;i++) { 221 var polylineOptions = multiGeometryOptions; 222 polylineOptions.path = this.paths[i]; 223 var polyline = createPolyline(polylineOptions,this); 224 // Bind the polyline properties to the MultiGeometry properties 225 this.polylines.push(polyline); 226 } 227 } 228 MultiGeometry.prototype = new google.maps.MVCObject(); 229 MultiGeometry.prototype.changed = function(key) { 230 // alert(key+" changed"); 231 if (this.polylines) { 232 for (var i=0; i<this.polylines.length; i++) { 233 this.polylines[i].set(key,this.get(key)); 234 } 235 } 236 }; 237 MultiGeometry.prototype.setMap = function(map) { this.set('map',map); }; 238 MultiGeometry.prototype.getMap = function() { return this.get('map'); }; 239} 240 241// Extend the global String object with a method to remove leading and trailing whitespace 242if (!String.prototype.trim) { 243 /** 244 * Remove leading and trailing whitespace. 245 * 246 * @augments String 247 * @return {String} 248 */ 249 String.prototype.trim = function () { 250 return this.replace(/^\s+|\s+$/g, ''); 251 }; 252} 253 254/** 255 * @namespace The GeoXML3 namespace. 256 */ 257geoXML3 = window.geoXML3 || {instances: []}; 258 259/** 260 * Constructor for the root KML parser object. 261 * 262 * <p>All top-level objects and functions are declared under a namespace of geoXML3. 263 * The core object is geoXML3.parser; typically, you'll instantiate a one parser 264 * per map.</p> 265 * 266 * @class Main XML parser. 267 * @param {geoXML3.parserOptions} options 268 */ 269geoXML3.parser = function (options) { 270 // Inherit from Google MVC Object to include event handling 271 google.maps.MVCObject.call(this); 272 273 // Private variables 274 var parserOptions = new geoXML3.parserOptions(options); 275 var docs = []; // Individual KML documents 276 var docsByUrl = {}; // Same docs as an hash by cleanURL 277 var kmzMetaData = {}; // Extra files from KMZ data 278 var styles = {}; // Global list of styles 279 var lastPlacemark; 280 var parserName; 281 if (!parserOptions.infoWindow && parserOptions.singleInfoWindow) 282 parserOptions.infoWindow = new google.maps.InfoWindow(); 283 284 var parseKmlString = function (kmlString, docSet) { 285 // Internal values for the set of documents as a whole 286 var internals = { 287 parser: this, 288 docSet: docSet || [], 289 remaining: 1, 290 parseOnly: !(parserOptions.afterParse || parserOptions.processStyles) 291 }; 292 thisDoc = new Object(); 293 thisDoc.internals = internals; 294 internals.docSet.push(thisDoc); 295 render(geoXML3.xmlParse(kmlString),thisDoc); 296 } 297 298 var parse = function (urls, docSet) { 299 // Process one or more KML documents 300 if (!parserName) { 301 parserName = 'geoXML3.instances[' + (geoXML3.instances.push(this) - 1) + ']'; 302 } 303 304 if (typeof urls === 'string') { 305 // Single KML document 306 urls = [urls]; 307 } 308 309 // Internal values for the set of documents as a whole 310 var internals = { 311 parser: this, 312 docSet: docSet || [], 313 remaining: urls.length, 314 parseOnly: !(parserOptions.afterParse || parserOptions.processStyles) 315 }; 316 var thisDoc, j; 317 for (var i = 0; i < urls.length; i++) { 318 var baseUrl = cleanURL(defileURL(location.pathname), urls[i]); 319 if (docsByUrl[baseUrl]) { 320 // Reloading an existing document 321 thisDoc = docsByUrl[baseUrl]; 322 thisDoc.reload = true; 323 } 324 else { 325 thisDoc = new Object(); 326 thisDoc.baseUrl = baseUrl; 327 internals.docSet.push(thisDoc); 328 } 329 thisDoc.url = urls[i]; 330 thisDoc.internals = internals; 331 fetchDoc(thisDoc.url, thisDoc); 332 } 333 }; 334 335 function fetchDoc(url, doc, resFunc) { 336 resFunc = resFunc || function (responseXML) { render(responseXML, doc); }; 337 338 if (typeof ZipFile === 'function' && typeof JSIO === 'object' && typeof JSIO.guessFileType === 'function') { // KMZ support requires these modules loaded 339 // if url is a data URI scheme, do not guess type based on extension. 340 if (/^data:[^,]*(kmz)/.test(doc.baseUrl)) { 341 contentType = JSIO.FileType.Binary; 342 } else if (/^data:[^,]*(kml|xml)/.test(doc.baseUrl)) { 343 contentType = JSIO.FileType.XML; 344 } else if (/^data:/.test(doc.baseUrl)) { 345 contentType = JSIO.FileType.Unknown; 346 } else { 347 contentType = JSIO.guessFileType(doc.baseUrl); 348 } 349 if (contentType == JSIO.FileType.Binary || contentType == JSIO.FileType.Unknown) { 350 doc.isCompressed = true; 351 doc.baseDir = doc.baseUrl + '/'; 352 geoXML3.fetchZIP(url, resFunc, doc.internals.parser); 353 return; 354 } 355 } 356 doc.isCompressed = false;
357 doc.baseDir = defileURL(doc.baseUrl); 358 geoXML3.fetchXML(url, resFunc); 359 } 360 361 var hideDocument = function (doc) { 362 if (!doc) doc = docs[0]; 363 // Hide the map objects associated with a document 364 var i; 365 if (!!doc.markers) { 366 for (i = 0; i < doc.markers.length; i++) { 367 if(!!doc.markers[i].infoWindow) doc.markers[i].infoWindow.close(); 368 doc.markers[i].setVisible(false); 369 } 370 } 371 if (!!doc.ggroundoverlays) { 372 for (i = 0; i < doc.ggroundoverlays.length; i++) { 373 doc.ggroundoverlays[i].setOpacity(0); 374 } 375 } 376 if (!!doc.gpolylines) { 377 for (i=0;i<doc.gpolylines.length;i++) { 378 if(!!doc.gpolylines[i].infoWindow) doc.gpolylines[i].infoWindow.close(); 379 doc.gpolylines[i].setMap(null); 380 } 381 } 382 if (!!doc.gpolygons) { 383 for (i=0;i<doc.gpolygons.length;i++) { 384 if(!!doc.gpolygons[i].infoWindow) doc.gpolygons[i].infoWindow.close(); 385 doc.gpolygons[i].setMap(null); 386 } 387 } 388 }; 389 390 var showDocument = function (doc) { 391 if (!doc) doc = docs[0]; 392 // Show the map objects associated with a document 393 var i; 394 if (!!doc.markers) { 395 for (i = 0; i < doc.markers.length; i++) { 396 doc.markers[i].setVisible(true); 397 } 398 } 399 if (!!doc.ggroundoverlays) { 400 for (i = 0; i < doc.ggroundoverlays.length; i++) { 401 doc.ggroundoverlays[i].setOpacity(doc.ggroundoverlays[i].percentOpacity_); 402 } 403 } 404 if (!!doc.gpolylines) { 405 for (i=0;i<doc.gpolylines.length;i++) { 406 doc.gpolylines[i].setMap(parserOptions.map); 407 } 408 } 409 if (!!doc.gpolygons) { 410 for (i=0;i<doc.gpolygons.length;i++) { 411 doc.gpolygons[i].setMap(parserOptions.map); 412 } 413 } 414 }; 415 416 var defaultStyle = { 417 balloon: { 418 bgColor: 'ffffffff', 419 textColor: 'ff000000', 420 text: "<h3>$[name]</h3>\n<div>$[description]</div>\n<div>$[geDirections]</div>", 421 displayMode: 'default' 422 }, 423 icon: { 424 scale: 1.0, 425 dim: { 426 x: 0, 427 y: 0, 428 w: -1, 429 h: -1 430 }, 431 hotSpot: { 432 x: 0.5, 433 y: 0.5, 434 xunits: 'fraction', 435 yunits: 'fraction' 436 } 437 }, 438 line: { 439 color: 'ffffffff', // white (KML default) 440 colorMode: 'normal', 441 width: 1.0 442 }, 443 poly: { 444 color: 'ffffffff', // white (KML default) 445 colorMode: 'normal', 446 fill: true, 447 outline: true 448 } 449 }; 450 451 var kmlNS = 'http://www.opengis.net/kml/2.2'; 452 var gxNS = 'http://www.google.com/kml/ext/2.2'; 453 var nodeValue = geoXML3.nodeValue; 454 var getBooleanValue = geoXML3.getBooleanValue; 455 var getElementsByTagNameNS = geoXML3.getElementsByTagNameNS; 456 var getElementsByTagName = geoXML3.getElementsByTagName; 457 458 function processStyleUrl(node) { 459 var styleUrlStr = nodeValue(getElementsByTagName(node, 'styleUrl')[0]); 460 if (!!styleUrlStr && styleUrlStr.indexOf('#') != -1) 461 var styleUrl = styleUrlStr.split('#'); 462 else var styleUrl = ["",""]; 463 return styleUrl; 464 } 465 466 function processStyle(thisNode, baseUrl, styleID, baseDir) { 467 var style = (baseUrl === '{inline}') ? clone(defaultStyle) : (styles[baseUrl][styleID] = styles[baseUrl][styleID] || clone(defaultStyle)); 468 469 var styleNodes = getElementsByTagName(thisNode, 'BalloonStyle'); 470 if (!!styleNodes && styleNodes.length > 0) { 471 style.balloon.bgColor = nodeValue(getElementsByTagName(styleNodes[0], 'bgColor')[0], style.balloon.bgColor); 472 style.balloon.textColor = nodeValue(getElementsByTagName(styleNodes[0], 'textColor')[0], style.balloon.textColor); 473 style.balloon.text = nodeValue(getElementsByTagName(styleNodes[0], 'text')[0], style.balloon.text); 474 style.balloon.displayMode = nodeValue(getElementsByTagName(styleNodes[0], 'displayMode')[0], style.balloon.displayMode); 475 } 476 477 // style.list = (unsupported; doesn't make sense in Google Maps) 478 479 var styleNodes = getElementsByTagName(thisNode, 'IconStyle'); 480 if (!!styleNodes && styleNodes.length > 0) { 481 var icon = style.icon; 482 483 icon.scale = parseFloat(nodeValue(getElementsByTagName(styleNodes[0], 'scale')[0], icon.scale)); 484 // style.icon.heading = (unsupported; not supported in API) 485 // style.icon.color = (unsupported; not supported in API) 486 // style.icon.colorMode = (unsupported; not supported in API) 487 488 styleNodes = getElementsByTagName(styleNodes[0], 'hotSpot'); 489 if (!!styleNodes && styleNodes.length > 0) { 490 icon.hotSpot = { 491 x: styleNodes[0].getAttribute('x'), 492 y: styleNodes[0].getAttribute('y'), 493 xunits: styleNodes[0].getAttribute('xunits'), 494 yunits: styleNodes[0].getAttribute('yunits') 495 }; 496 } 497 498 styleNodes = getElementsByTagName(thisNode, 'Icon'); 499 if (!!styleNodes && styleNodes.length > 0) { 500 icon.href = nodeValue(getElementsByTagName(styleNodes[0], 'href')[0]); 501 icon.url = cleanURL(baseDir, icon.href); 502 // Detect images buried in KMZ files (and use a base64 encoded URL) 503 if (kmzMetaData[icon.url]) icon.url = kmzMetaData[icon.url].dataUrl; 504
505 // Support for icon palettes and exact size dimensions 506 icon.dim = { 507 x: parseInt(nodeValue(getElementsByTagNameNS(styleNodes[0], gxNS, 'x')[0], icon.dim.x)), 508 y: parseInt(nodeValue(getElementsByTagNameNS(styleNodes[0], gxNS, 'y')[0], icon.dim.y)), 509 w: parseInt(nodeValue(getElementsByTagNameNS(styleNodes[0], gxNS, 'w')[0], icon.dim.w)), 510 h: parseInt(nodeValue(getElementsByTagNameNS(styleNodes[0], gxNS, 'h')[0], icon.dim.h)) 511 }; 512 513 // certain occasions where we need the pixel size of the image (like the default settings...) 514 // (NOTE: Scale is applied to entire image, not just the section of the icon palette. So, 515 // if we need scaling, we'll need the img dimensions no matter what.) 516 if (true /* (icon.dim.w < 0 || icon.dim.h < 0) && (icon.xunits != 'pixels' || icon.yunits == 'fraction') || icon.scale != 1.0 */) { 517 // (hopefully, this will load by the time we need it...) 518 icon.img = new Image(); 519 icon.img.onload = function() { 520 if (icon.dim.w < 0 || icon.dim.h < 0) { 521 icon.dim.w = this.width; 522 icon.dim.h = this.height; 523 } else { 524 icon.dim.th = this.height; 525 } 526 }; 527 icon.img.src = icon.url; 528 529 // sometimes the file is already cached and it never calls onLoad 530 if (icon.img.width > 0) { 531 if (icon.dim.w < 0 || icon.dim.h < 0) { 532 icon.dim.w = icon.img.width; 533 icon.dim.h = icon.img.height; 534 } else { 535 icon.dim.th = icon.img.height; 536 } 537 } 538 } 539 } 540 } 541 542 // style.label = (unsupported; may be possible but not with API) 543 544 styleNodes = getElementsByTagName(thisNode, 'LineStyle'); 545 if (!!styleNodes && styleNodes.length > 0) { 546 style.line.color = nodeValue(getElementsByTagName(styleNodes[0], 'color')[0], style.line.color); 547 style.line.colorMode = nodeValue(getElementsByTagName(styleNodes[0], 'colorMode')[0], style.line.colorMode); 548 style.line.width = nodeValue(getElementsByTagName(styleNodes[0], 'width')[0], style.line.width); 549 // style.line.outerColor = (unsupported; not supported in API) 550 // style.line.outerWidth = (unsupported; not supported in API) 551 // style.line.physicalWidth = (unsupported; unneccesary in Google Maps) 552 // style.line.labelVisibility = (unsupported; possible to implement) 553 } 554 555 styleNodes = getElementsByTagName(thisNode, 'PolyStyle'); 556 if (!!styleNodes && styleNodes.length > 0) { 557 style.poly.color = nodeValue( getElementsByTagName(styleNodes[0], 'color')[0], style.poly.color); 558 style.poly.colorMode = nodeValue( getElementsByTagName(styleNodes[0], 'colorMode')[0], style.poly.colorMode); 559 style.poly.outline = getBooleanValue(getElementsByTagName(styleNodes[0], 'outline')[0], style.poly.outline); 560 style.poly.fill = getBooleanValue(getElementsByTagName(styleNodes[0], 'fill')[0], style.poly.fill); 561 } 562 return style; 563 } 564 565 // from http://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-clone-a-javascript-object 566 // http://keithdevens.com/weblog/archive/2007/Jun/07/javascript.clone 567 function clone(obj){ 568 if(obj == null || typeof(obj) != 'object') return obj; 569 if (obj.cloneNode) return obj.cloneNode(true); 570 var temp = new obj.constructor(); 571 for(var key in obj) temp[key] = clone(obj[key]); 572 return temp; 573 } 574 575 function processStyleMap(thisNode, baseUrl, styleID, baseDir) { 576 var pairs = getElementsByTagName(thisNode, 'Pair'); 577 var map = new Object(); 578 579 // add each key to the map 580 for (var pr=0;pr<pairs.length;pr++) { 581 var pairKey = nodeValue(getElementsByTagName(pairs[pr], 'key')[0]); 582 var pairStyle = nodeValue(getElementsByTagName(pairs[pr], 'Style')[0]); 583 var pairStyleUrl = processStyleUrl(pairs[pr]); 584 var pairStyleBaseUrl = pairStyleUrl[0] ? cleanURL(baseDir, pairStyleUrl[0]) : baseUrl; 585 var pairStyleID = pairStyleUrl[1]; 586 587 if (!!pairStyle) { 588 map[pairKey] = processStyle(pairStyle, pairStyleBaseUrl, pairStyleID); 589 } else if (!!pairStyleID && !!styles[pairStyleBaseUrl][pairStyleID]) { 590 map[pairKey] = clone(styles[pairStyleBaseUrl][pairStyleID]); 591 } 592 } 593 if (!!map["normal"]) { 594 styles[baseUrl][styleID] = clone(map["normal"]); 595 } else { 596 styles[baseUrl][styleID] = clone(defaultStyle); 597 } 598 if (!!map["highlight"] && !!parserOptions.processStyles) { 599 processStyleID(map["highlight"]); 600 } 601 styles[baseUrl][styleID].map = clone(map); 602 } 603 604 function processPlacemarkCoords(node, tag) { 605 var parent = getElementsByTagName(node, tag); 606 var coordListA = []; 607 for (var i=0; i<parent.length; i++) {
608 var coordNodes = getElementsByTagName(parent[i], 'coordinates'); 609 if (!coordNodes) { 610 if (coordListA.length > 0) { 611 break; 612 } else { 613 return [{coordinates: []}]; 614 } 615 } 616 617 for (var j=0; j<coordNodes.length;j++) { 618 var coords = nodeValue(coordNodes[j]).trim(); 619 coords = coords.replace(/,\s+/g, ','); 620 var path = coords.split(/\s+/g); 621 var pathLength = path.length; 622 var coordList = []; 623 for (var k = 0; k < pathLength; k++) { 624 coords = path[k].split(','); 625 if (!isNaN(coords[0]) && !isNaN(coords[1])) { 626 coordList.push({ 627 lat: parseFloat(coords[1]), 628 lng: parseFloat(coords[0]), 629 alt: parseFloat(coords[2]) 630 }); 631 } 632 } 633 coordListA.push({coordinates: coordList}); 634 } 635 } 636 return coordListA; 637 } 638 639 var render = function (responseXML, doc) { 640 // Callback for retrieving a KML document: parse the KML and display it on the map 641 if (!responseXML || responseXML == "failed parse") { 642 // Error retrieving the data 643 geoXML3.log('Unable to retrieve ' + doc.url); 644 if (parserOptions.failedParse) parserOptions.failedParse(doc); 645 doc.failed = true; 646 return; 647 } else if (responseXML.parseError && responseXML.parseError.errorCode != 0) { 648 // IE parse error 649 var err = responseXML.parseError; 650 var msg = 'Parse error in line ' + err.line + ', col ' + err.linePos + ' (error code: ' + err.errorCode + ")\n" + 651 "\nError Reason: " + err.reason + 652 'Error Line: ' + err.srcText; 653 654 geoXML3.log('Unable to retrieve ' + doc.url + ': ' + msg); 655 if (parserOptions.failedParse) parserOptions.failedParse(doc); 656 doc.failed = true; 657 return; 658 } else if (responseXML.documentElement && responseXML.documentElement.nodeName == 'parsererror') { 659 // Firefox parse error 660 geoXML3.log('Unable to retrieve ' + doc.url + ': ' + responseXML.documentElement.childNodes[0].nodeValue); 661 if (parserOptions.failedParse) parserOptions.failedParse(doc); 662 doc.failed = true; 663 return; 664 } else if (!doc) { 665 throw 'geoXML3 internal error: render called with null document'; 666 } else { //no errors 667 var i; 668 doc.placemarks = []; 669 doc.groundoverlays = []; 670 doc.ggroundoverlays = []; 671 doc.networkLinks = []; 672 doc.gpolygons = []; 673 doc.gpolylines = []; 674 675 // Check for dependent KML files 676 var nodes = getElementsByTagName(responseXML, 'styleUrl'); 677 var docSet = doc.internals.docSet; 678 679 for (var i = 0; i < nodes.length; i++) { 680 var url = nodeValue(nodes[i]).split('#')[0]; 681 if (!url) continue; // #id (inside doc) 682 var rUrl = cleanURL( doc.baseDir, url ); 683 if (rUrl === doc.baseUrl) continue; // self 684 if (docsByUrl[rUrl]) continue; // already loaded 685 686 var thisDoc; 687 var j = docSet.indexOfObjWithItem('baseUrl', rUrl); 688 if (j != -1) { 689 // Already listed to be loaded, but probably in the wrong order. 690 // Load it right away to immediately resolve dependency. 691 thisDoc = docSet[j]; 692 if (thisDoc.failed) continue; // failed to load last time; don't retry it again 693 } 694 else { 695 // Not listed at all; add it in 696 thisDoc = new Object(); 697 thisDoc.url = rUrl; // url can't be trusted inside KMZ files, since it may .. outside of the archive 698 thisDoc.baseUrl = rUrl; 699 thisDoc.internals = doc.internals; 700 701 doc.internals.docSet.push(thisDoc); 702 doc.internals.remaining++; 703 } 704 705 // render dependent KML first then re-run renderer 706 fetchDoc(rUrl, thisDoc, function (thisResXML) { 707 render(thisResXML, thisDoc); 708 render(responseXML, doc); 709 }); 710 711 // to prevent cross-dependency issues, just load the one 712 // file first and re-check the rest later 713 return; 714 } 715 716 // Parse styles 717 doc.styles = styles[doc.baseUrl] = styles[doc.baseUrl] || {}; 718 var styleID, styleNodes; 719 nodes = getElementsByTagName(responseXML, 'Style'); 720 nodeCount = nodes.length; 721 for (i = 0; i < nodeCount; i++) { 722 thisNode = nodes[i]; 723 var styleID = thisNode.getAttribute('id'); 724 if (!!styleID) processStyle(thisNode, doc.baseUrl, styleID, doc.baseDir); 725 } 726 // Parse StyleMap nodes 727 nodes = getElementsByTagName(responseXML, 'StyleMap'); 728 for (i = 0; i < nodes.length; i++) { 729 thisNode = nodes[i]; 730 var styleID = thisNode.getAttribute('id'); 731 if (!!styleID) processStyleMap(thisNode, doc.baseUrl, styleID, doc.baseDir); 732 } 733 734 if (!!parserOptions.processStyles || !parserOptions.createMarker) { 735 // Convert parsed styles into GMaps equivalents 736 processStyles(doc); 737 } 738 739 // Parse placemarks 740 if (!!doc.reload && !!doc.markers) { 741 for (i = 0; i < doc.markers.length; i++) { 742 doc.markers[i].active = false;
743 } 744 } 745 var placemark, node, coords, path, marker, poly; 746 var pathLength, marker, polygonNodes, coordList; 747 var placemarkNodes = getElementsByTagName(responseXML, 'Placemark'); 748 for (pm = 0; pm < placemarkNodes.length; pm++) { 749 // Init the placemark object 750 node = placemarkNodes[pm]; 751 var styleUrl = processStyleUrl(node); 752 placemark = { 753 name: nodeValue(getElementsByTagName(node, 'name')[0]), 754 description: nodeValue(getElementsByTagName(node, 'description')[0]), 755 styleUrl: styleUrl.join('#'), 756 styleBaseUrl: styleUrl[0] ? cleanURL(doc.baseDir, styleUrl[0]) : doc.baseUrl, 757 styleID: styleUrl[1], 758 visibility: getBooleanValue(getElementsByTagName(node, 'visibility')[0], true), 759 balloonVisibility: getBooleanValue(getElementsByTagNameNS(node, gxNS, 'balloonVisibility')[0], !parserOptions.suppressInfoWindows), 760 id: node.getAttribute('id') 761 }; 762 placemark.style = (styles[placemark.styleBaseUrl] && styles[placemark.styleBaseUrl][placemark.styleID]) || clone(defaultStyle); 763 // inline style overrides shared style 764 var inlineStyles = getElementsByTagName(node, 'Style'); 765 if (inlineStyles && (inlineStyles.length > 0)) { 766 var style = processStyle(node, '{inline}', '{inline}'); 767 processStyleID(style); 768 if (style) placemark.style = style; 769 } 770 771 if (/^https?:\/\//.test(placemark.description)) { 772 placemark.description = ['<a href="', placemark.description, '">', placemark.description, '</a>'].join(''); 773 } 774 775 // record list of variables for substitution 776 placemark.vars = { 777 display: { 778 name: 'Name', 779 description: 'Description', 780 address: 'Street Address', 781 id: 'ID', 782 Snippet: 'Snippet', 783 geDirections: 'Directions' 784 }, 785 val: { 786 name: placemark.name || '', 787 description: placemark.description || '', 788 address: nodeValue(getElementsByTagName(node, 'address')[0], ''), 789 id: node.getAttribute('id') || '', 790 Snippet: nodeValue(getElementsByTagName(node, 'Snippet')[0], '') 791 }, 792 directions: [ 793 'f=d', 794 'source=GeoXML3' 795 ] 796 }; 797 798 // add extended data to variables 799 var extDataNodes = getElementsByTagName(node, 'ExtendedData'); 800 if (!!extDataNodes && extDataNodes.length > 0) { 801 var dataNodes = getElementsByTagName(extDataNodes[0], 'Data'); 802 for (var d = 0; d < dataNodes.length; d++) { 803 var dn = dataNodes[d]; 804 var name = dn.getAttribute('name'); 805 if (!name) continue; 806 var dName = nodeValue(getElementsByTagName(dn, 'displayName')[0], name); 807 var val = nodeValue(getElementsByTagName(dn, 'value')[0]); 808 809 placemark.vars.val[name] = val; 810 placemark.vars.display[name] = dName; 811 } 812 } 813 814 // process MultiGeometry 815 var GeometryNodes = getElementsByTagName(node, 'coordinates'); 816 var Geometry = null; 817 if (!!GeometryNodes && (GeometryNodes.length > 0)) { 818 for (var gn=0;gn<GeometryNodes.length;gn++) { 819 if (GeometryNodes[gn].parentNode && 820 GeometryNodes[gn].parentNode.nodeName) { 821 var GeometryPN = GeometryNodes[gn].parentNode; 822 Geometry = GeometryPN.nodeName; 823 824 // Extract the coordinates 825 // What sort of placemark? 826 switch(Geometry) { 827 case "Point": 828 placemark.Point = processPlacemarkCoords(node, "Point")[0]; 829 placemark.latlng = new google.maps.LatLng(placemark.Point.coordinates[0].lat, placemark.Point.coordinates[0].lng); 830 pathLength = 1; 831 break; 832 case "LinearRing": 833 // Polygon/line 834 polygonNodes = getElementsByTagName(node, 'Polygon'); 835 // Polygon 836 if (!placemark.Polygon) 837 placemark.Polygon = [{ 838 outerBoundaryIs: {coordinates: []}, 839 innerBoundaryIs: [{coordinates: []}] 840 }]; 841 for (var pg=0;pg<polygonNodes.length;pg++) { 842 placemark.Polygon[pg] = { 843 outerBoundaryIs: {coordinates: []}, 844 innerBoundaryIs: [{coordinates: []}] 845 } 846 placemark.Polygon[pg].outerBoundaryIs = processPlacemarkCoords(polygonNodes[pg], "outerBoundaryIs"); 847 placemark.Polygon[pg].innerBoundaryIs = processPlacemarkCoords(polygonNodes[pg], "innerBoundaryIs"); 848 } 849 coordList = placemark.Polygon[0].outerBoundaryIs; 850 break; 851 852 case "LineString": 853 pathLength = 0; 854 placemark.LineString = processPlacemarkCoords(node,"LineString"); 855 break; 856 857 default: 858 break; 859 } 860 } 861 } 862 } 863 864 // parse MultiTrack/Track 865 var TrackNodes = getElementsByTagNameNS(node,gxNS,"Track"); 866 var coordListA = []; 867 if (TrackNodes.length > 0) { 868 for (var i=0; i<TrackNodes.length; i++) { 869 var coordNodes = getElementsByTagNameNS(TrackNodes[i],gxNS,"coord"); 870 var coordList = []; 871 for (var j=0; j<coordNodes.length;j++) { 872 var coords = geoXML3.nodeValue(coordNodes[j]).trim(); 873 coords = coords.split(/\s+/g); 874 if (!isNaN(coords[0]) && !isNaN(coords[1])) { 875 coordList.push({ 876 lat: parseFloat(coords[1]), 877 lng: parseFloat(coords[0]), 878 alt: parseFloat(coords[2]) 879 }); 880 } 881 } 882 coordListA.push({coordinates:coordList}); 883 } 884 placemark.Track = coordListA; 885 } 886 887 // call the custom placemark parse function if it is defined 888 if (!!parserOptions.pmParseFn) parserOptions.pmParseFn(node, placemark); 889 doc.placemarks.push(placemark); 890 891 // single marker 892 if (placemark.Point) { 893 if (!!google.maps) { 894 doc.bounds = doc.bounds || new google.maps.LatLngBounds(); 895 doc.bounds.extend(placemark.latlng); 896 } 897 898 // Potential user-defined marker handler 899 var pointCreateFunc = parserOptions.createMarker || createMarker; 900 var found = false;
901 if (!parserOptions.createMarker) { 902 // Check to see if this marker was created on a previous load of this document 903 if (!!doc) { 904 doc.markers = doc.markers || []; 905 if (doc.reload) { 906 for (var j = 0; j < doc.markers.length; j++) { 907 if ((doc.markers[j].id == placemark.id) || 908 // if no id, check position 909 (!doc.markers[j].id && 910 (doc.markers[j].getPosition().equals(placemark.latlng)))) { 911 found = doc.markers[j].active = true; 912 break; 913 } 914 } 915 } 916 } 917 } 918 if (!found) { 919 // Call the marker creator 920 var marker = pointCreateFunc(placemark, doc); 921 if (marker) { 922 marker.active = placemark.visibility; 923 marker.id = placemark.id; 924 } 925 } 926 } 927 // polygon/line 928 var poly, line; 929 if (!!doc) { 930 if (placemark.Polygon) doc.gpolygons = doc.gpolygons || []; 931 if (placemark.LineString) doc.gpolylines = doc.gpolylines || []; 932 if (placemark.Track) doc.gpolylines = doc.gpolylines || []; 933 } 934 935 var polyCreateFunc = parserOptions.createPolygon || createPolygon; 936 var lineCreateFunc = parserOptions.createLineString || createPolyline; 937 if (placemark.Polygon) { 938 poly = polyCreateFunc(placemark,doc); 939 if (poly) poly.active = placemark.visibility; 940 } 941 if (placemark.LineString) { 942 line = lineCreateFunc(placemark,doc); 943 if (line) line.active = placemark.visibility; 944 } 945 if (placemark.Track) { // gx:Track polyline 946 line = lineCreateFunc(placemark,doc); 947 if (line) line.active = placemark.visibility; 948 } 949 if (!!google.maps) { 950 doc.bounds = doc.bounds || new google.maps.LatLngBounds(); 951 if (poly) doc.bounds.union(poly.bounds); 952 if (line) doc.bounds.union(line.bounds); 953 } 954 955 } // placemark loop 956 957 if (!!doc.reload && !!doc.markers) { 958 for (i = doc.markers.length - 1; i >= 0 ; i--) { 959 if (!doc.markers[i].active) { 960 if (!!doc.markers[i].infoWindow) { 961 doc.markers[i].infoWindow.close(); 962 } 963 doc.markers[i].setMap(null); 964 doc.markers.splice(i, 1); 965 } 966 } 967 } 968 969 var overlayCreateFunc = parserOptions.createOverlay || createOverlay; 970 // Parse ground overlays 971 if (!!doc.reload && !!doc.groundoverlays) { 972 for (i = 0; i < doc.groundoverlays.length; i++) { 973 doc.groundoverlays[i].active = false; 974 } 975 } 976 977 if (!!doc) { 978 doc.groundoverlays = doc.groundoverlays || []; 979 } 980 // doc.groundoverlays =[]; 981 var groundOverlay, color, transparency, overlay; 982 var groundNodes = getElementsByTagName(responseXML, 'GroundOverlay'); 983 for (i = 0; i < groundNodes.length; i++) { 984 node = groundNodes[i]; 985 986 // Detect images buried in KMZ files (and use a base64 encoded URL) 987 var gnUrl = cleanURL( doc.baseDir, nodeValue(getElementsByTagName(node, 'href')[0]) ); 988 if (kmzMetaData[gnUrl]) gnUrl = kmzMetaData[gnUrl].dataUrl; 989 990 // Init the ground overlay object 991 groundOverlay = { 992 name: nodeValue(getElementsByTagName(node, 'name')[0]), 993 description: nodeValue(getElementsByTagName(node, 'description')[0]), 994 icon: { href: gnUrl }, 995 latLonBox: { 996 north: parseFloat(nodeValue(getElementsByTagName(node, 'north')[0])), 997 east: parseFloat(nodeValue(getElementsByTagName(node, 'east')[0])), 998 south: parseFloat(nodeValue(getElementsByTagName(node, 'south')[0])), 999 west: parseFloat(nodeValue(getElementsByTagName(node, 'west')[0])) 1000 }, 1001 rotation: -1 * parseFloat(nodeValue(getElementsByTagName(node, 'rotation')[0])) 1002 }; 1003 if (!!google.maps) { 1004 doc.bounds = doc.bounds || new google.maps.LatLngBounds(); 1005 doc.bounds.union(new google.maps.LatLngBounds( 1006 new google.maps.LatLng(groundOverlay.latLonBox.south, groundOverlay.latLonBox.west), 1007 new google.maps.LatLng(groundOverlay.latLonBox.north, groundOverlay.latLonBox.east) 1008 )); 1009 } 1010 1011 // Opacity is encoded in the color node 1012 var colorNode = getElementsByTagName(node, 'color'); 1013 if (colorNode && colorNode.length > 0) { 1014 groundOverlay.opacity = geoXML3.getOpacity(nodeValue(colorNode[0])); 1015 } else { 1016 groundOverlay.opacity = 1.0; // KML default 1017 } 1018 1019 doc.groundoverlays.push(groundOverlay); 1020 // Check to see if this overlay was created on a previous load of this document 1021 var found = false;
1022 if (!!doc) { 1023 doc.groundoverlays = doc.groundoverlays || []; 1024 if (doc.reload) { 1025 overlayBounds = new google.maps.LatLngBounds( 1026 new google.maps.LatLng(groundOverlay.latLonBox.south, groundOverlay.latLonBox.west), 1027 new google.maps.LatLng(groundOverlay.latLonBox.north, groundOverlay.latLonBox.east) 1028 ); 1029 var overlays = doc.groundoverlays; 1030 for (i = overlays.length; i--;) { 1031 if ((overlays[i].bounds().equals(overlayBounds)) && 1032 (overlays.url_ === groundOverlay.icon.href)) { 1033 found = overlays[i].active = true; 1034 break; 1035 } 1036 } 1037 } 1038 1039 if (!found) { 1040 overlay = overlayCreateFunc(groundOverlay, doc); 1041 overlay.active = true; 1042 } 1043 } 1044 if (!!doc.reload && !!doc.groundoverlays && !!doc.groundoverlays.length) { 1045 var overlays = doc.groundoverlays; 1046 for (i = overlays.length; i--;) { 1047 if (!overlays[i].active) { 1048 overlays[i].remove(); 1049 overlays.splice(i, 1); 1050 } 1051 } 1052 doc.groundoverlays = overlays; 1053 } 1054 } 1055 1056 // Parse network links 1057 var networkLink; 1058 var docPath = document.location.pathname.split('/'); 1059 docPath = docPath.splice(0, docPath.length - 1).join('/'); 1060 var linkNodes = getElementsByTagName(responseXML, 'NetworkLink'); 1061 for (i = 0; i < linkNodes.length; i++) { 1062 node = linkNodes[i]; 1063 1064 // Init the network link object 1065 networkLink = { 1066 name: nodeValue(getElementsByTagName(node, 'name')[0]), 1067 link: { 1068 href: nodeValue(getElementsByTagName(node, 'href')[0]), 1069 refreshMode: nodeValue(getElementsByTagName(node, 'refreshMode')[0]) 1070 } 1071 }; 1072 1073 // Establish the specific refresh mode 1074 if (!networkLink.link.refreshMode) { 1075 networkLink.link.refreshMode = 'onChange'; 1076 } 1077 if (networkLink.link.refreshMode === 'onInterval') { 1078 networkLink.link.refreshInterval = parseFloat(nodeValue(getElementsByTagName(node, 'refreshInterval')[0])); 1079 if (isNaN(networkLink.link.refreshInterval)) { 1080 networkLink.link.refreshInterval = 0; 1081 } 1082 } else if (networkLink.link.refreshMode === 'onChange') { 1083 networkLink.link.viewRefreshMode = nodeValue(getElementsByTagName(node, 'viewRefreshMode')[0]); 1084 if (!networkLink.link.viewRefreshMode) { 1085 networkLink.link.viewRefreshMode = 'never'; 1086 } 1087 if (networkLink.link.viewRefreshMode === 'onStop') { 1088 networkLink.link.viewRefreshTime = nodeValue(getElementsByTagName(node, 'refreshMode')[0]); 1089 networkLink.link.viewFormat = nodeValue(getElementsByTagName(node, 'refreshMode')[0]); 1090 if (!networkLink.link.viewFormat) { 1091 networkLink.link.viewFormat = 'BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]'; 1092 } 1093 } 1094 } 1095 1096 if (!/^[\/|http]/.test(networkLink.link.href)) { 1097 // Fully-qualify the HREF 1098 networkLink.link.href = docPath + '/' + networkLink.link.href; 1099 } 1100 1101 // Apply the link 1102 if ((networkLink.link.refreshMode === 'onInterval') && 1103 (networkLink.link.refreshInterval > 0)) { 1104 // Reload at regular intervals 1105 setInterval(parserName + '.parse("' + networkLink.link.href + '")', 1106 1000 * networkLink.link.refreshInterval); 1107 } else if (networkLink.link.refreshMode === 'onChange') { 1108 if (networkLink.link.viewRefreshMode === 'never') { 1109 // Load the link just once 1110 doc.internals.parser.parse(networkLink.link.href, doc.internals.docSet); 1111 } else if (networkLink.link.viewRefreshMode === 'onStop') { 1112 // Reload when the map view changes 1113 1114 } 1115 } 1116 } 1117 } 1118 1119 if (!!doc.bounds) { 1120 doc.internals.bounds = doc.internals.bounds || new google.maps.LatLngBounds(); 1121 doc.internals.bounds.union(doc.bounds); 1122 } 1123 if (!!doc.markers || !!doc.groundoverlays || !!doc.gpolylines || !!doc.gpolygons) { 1124 doc.internals.parseOnly = false; 1125 } 1126 1127 if (!doc.internals.parseOnly) { 1128 // geoXML3 is not being used only as a real-time parser, so keep the processed documents around 1129 if (doc.baseUrl){ // handle case from parseKmlString (no doc.baseUrl) 1130 if (!docsByUrl[doc.baseUrl]) { 1131 docs.push(doc); 1132 docsByUrl[doc.baseUrl] = doc; 1133 } else { 1134 // internal replacement, which keeps the same memory ref loc in docs and docsByUrl 1135 for (var i in docsByUrl[doc.baseUrl]) { 1136 docsByUrl[doc.baseUrl][i] = doc[i]; 1137 } 1138 } 1139 } 1140 } 1141 1142 doc.internals.remaining--; 1143 if (doc.internals.remaining === 0) { 1144 // We're done processing this set of KML documents 1145 // Options that get invoked after parsing completes 1146 if (parserOptions.zoom && !!doc.internals.bounds && 1147 !doc.internals.bounds.isEmpty() && !!parserOptions.map) { 1148 parserOptions.map.fitBounds(doc.internals.bounds); 1149 } 1150 if (parserOptions.afterParse) { 1151 parserOptions.afterParse(doc.internals.docSet); 1152 } 1153 google.maps.event.trigger(doc.internals.parser, 'parsed'); 1154 } 1155 }; 1156 1157 var kmlColor = function (kmlIn, colorMode) { 1158 var kmlColor = {}; 1159 kmlIn = kmlIn || 'ffffffff'; // white (KML 2.2 default) 1160 1161 var aa = kmlIn.substr(0,2); 1162 var bb = kmlIn.substr(2,2); 1163 var gg = kmlIn.substr(4,2); 1164 var rr = kmlIn.substr(6,2); 1165 1166 kmlColor.opacity = parseInt(aa, 16) / 256; 1167 kmlColor.color = (colorMode === 'random') ? randomColor(rr, gg, bb) : '#' + rr + gg + bb; 1168 return kmlColor; 1169 }; 1170 1171 // Implemented per KML 2.2 <ColorStyle> specs 1172 var randomColor = function(rr, gg, bb) { 1173 var col = { rr: rr, gg: gg, bb: bb }; 1174 for (var k in col) { 1175 var v = col[k]; 1176 if (v == null) v = 'ff'; 1177 1178 // RGB values are limiters for random numbers (ie: 7f would be a random value between 0 and 7f) 1179 v = Math.round(Math.random() * parseInt(rr, 16)).toString(16); 1180 if (v.length === 1) v = '0' + v; 1181 col[k] = v; 1182 } 1183 1184 return '#' + col.rr + col.gg + col.bb; 1185 }; 1186 1187 var processStyleID = function (style) { 1188 var icon = style.icon; 1189 if (!icon || !icon.href) return; 1190 1191 if (icon.img && !icon.img.complete && (icon.dim.w < 0) && (icon.dim.h < 0) ) { 1192 // we're still waiting on the image loading (probably because we've been blocking since the declaration) 1193 // so, let's queue this function on the onload stack 1194 icon.markerBacklog = []; 1195 icon.img.onload = function() { 1196 if (icon.dim.w < 0 || icon.dim.h < 0) { 1197 icon.dim.w = this.width; 1198 icon.dim.h = this.height; 1199 } else { 1200 icon.dim.th = this.height; 1201 } 1202 processStyleID(style); 1203 1204 // we will undoubtedly get some createMarker queuing, so set this up in advance 1205 for (var i = 0; i < icon.markerBacklog.length; i++) { 1206 var p = icon.markerBacklog[i][0]; 1207 var d = icon.markerBacklog[i][1]; 1208 createMarker(p, d); 1209 if (p.marker) p.marker.active = true; 1210 } 1211 delete icon.markerBacklog; 1212 }; 1213 return; 1214 } 1215 else { //if (icon.dim.w < 0 || icon.dim.h < 0) { 1216 if (icon.img && icon.img.complete) { 1217 // sometimes the file is already cached and it never calls onLoad 1218 if (icon.dim.w < 0 || icon.dim.h < 0) { 1219 icon.dim.w = icon.img.width; 1220 icon.dim.h = icon.img.height; 1221 } else { 1222 icon.dim.th = icon.img.height; 1223 } 1224 } 1225 else { 1226 // settle for a default of 32x32 1227 icon.dim.whGuess = true; 1228 icon.dim.w = 32; 1229 icon.dim.h = 32; 1230 icon.dim.th = 32; 1231 } 1232 } 1233 1234 // pre-scaled variables 1235 var rnd = Math.round; 1236 var y = icon.dim.y; 1237 if (typeof icon.dim.th !== 'undefined' && icon.dim.th != icon.dim.h) { // palette - reverse kml y for maps 1238 y = Math.abs(y - (icon.dim.th - icon.dim.h)); 1239 } 1240 1241 var scaled = { 1242 x: icon.dim.x * icon.scale, 1243 y: y * icon.scale, 1244 w: icon.dim.w * icon.scale, 1245 h: icon.dim.h * icon.scale, 1246 aX:icon.hotSpot.x * icon.scale, 1247 aY:icon.hotSpot.y * icon.scale, 1248 iW:(icon.img ? icon.img.width : icon.dim.w) * icon.scale, 1249 iH:(icon.img ? icon.img.height : icon.dim.h) * icon.scale 1250 }; 1251
1252 // Figure out the anchor spot 1253 // Origins, anchor positions and coordinates of the marker increase in the X direction to the right and in 1254 // the Y direction down. 1255 var aX, aY; 1256 switch (icon.hotSpot.xunits) { 1257 case 'fraction': aX = rnd(scaled.aX * icon.dim.w); break; 1258 case 'insetPixels': aX = rnd(icon.dim.w * icon.scale - scaled.aX); break; 1259 default: aX = rnd(scaled.aX); break; // already pixels 1260 } 1261 switch(icon.hotSpot.yunits) { 1262 case 'fraction': aY = scaled.h - rnd(icon.dim.h * scaled.aY); break; 1263 case 'insetPixels': aY = rnd(scaled.aY); break; 1264 default: aY = rnd(icon.dim.h * icon.scale - scaled.aY); break; 1265 } 1266 var iconAnchor = new google.maps.Point(aX, aY); 1267 1268 // Sizes 1269 // (NOTE: Scale is applied to entire image, not just the section of the icon palette.) 1270 var iconSize = icon.dim.whGuess ? null : new google.maps.Size(rnd(scaled.w), rnd(scaled.h)); 1271 var iconScale = icon.scale == 1.0 ? null : 1272 icon.dim.whGuess ? new google.maps.Size(rnd(scaled.w), rnd(scaled.h)) 1273 : new google.maps.Size(rnd(scaled.iW), rnd(scaled.iH)); 1274 var iconOrigin = new google.maps.Point(rnd(scaled.x), rnd(scaled.y)); 1275 1276 // Detect images buried in KMZ files (and use a base64 encoded URL) 1277 if (kmzMetaData[icon.url]) icon.url = kmzMetaData[icon.url].dataUrl; 1278 1279 // Init the style object with the KML icon 1280 icon.marker = { 1281 url: icon.url, // url 1282 size: iconSize, // size 1283 origin: iconOrigin, // origin 1284 anchor: iconAnchor, // anchor 1285 scaledSize: iconScale // scaledSize 1286 }; 1287 1288 // Look for a predictable shadow 1289 var stdRegEx = /\/(red|blue|green|yellow|lightblue|purple|pink|orange)(-dot)?\.png/; 1290 var shadowSize = new google.maps.Size(59, 32); 1291 var shadowPoint = new google.maps.Point(16, 32); 1292 if (stdRegEx.test(icon.href)) { 1293 // A standard GMap-style marker icon 1294 icon.shadow = { 1295 url: 'http://maps.google.com/mapfiles/ms/micons/msmarker.shadow.png', // url 1296 size: shadowSize, // size 1297 origin: null, // origin 1298 anchor: shadowPoint, // anchor 1299 scaledSize: shadowSize // scaledSize 1300 }; 1301 } else if (icon.href.indexOf('-pushpin.png') > -1) { 1302 // Pushpin marker icon 1303 icon.shadow = { 1304 url: 'http://maps.google.com/mapfiles/ms/micons/pushpin_shadow.png', // url 1305 size: shadowSize, // size 1306 origin: null, // origin 1307 anchor: shadowPoint, // anchor 1308 scaledSize: shadowSize // scaledSize 1309 }; 1310 } /* else { 1311 // Other MyMaps KML standard icon 1312 icon.shadow = new google.maps.MarkerImage( 1313 icon.href.replace('.png', '.shadow.png'), // url 1314 shadowSize, // size 1315 null, // origin 1316 anchorPoint, // anchor 1317 shadowSize // scaledSize 1318 ); 1319 } */ 1320 } 1321 1322 var processStyles = function (doc) { 1323 for (var styleID in doc.styles) { 1324 processStyleID(doc.styles[styleID]); 1325 } 1326 }; 1327 1328 var createMarker = function (placemark, doc) { 1329 // create a Marker to the map from a placemark KML object 1330 var icon = placemark.style.icon; 1331 1332 if ( !icon.marker && icon.img ) { 1333 // yay, single point of failure is holding up multiple markers... 1334 icon.markerBacklog = icon.markerBacklog || []; 1335 icon.markerBacklog.push([placemark, doc]); 1336 return; 1337 } 1338 1339 // Load basic marker properties 1340 var markerOptions = geoXML3.combineOptions(parserOptions.markerOptions, { 1341 map: parserOptions.map, 1342 position: new google.maps.LatLng(placemark.Point.coordinates[0].lat, placemark.Point.coordinates[0].lng), 1343 title: placemark.name, 1344 zIndex: Math.round(placemark.Point.coordinates[0].lat * -100000)<<5, 1345 icon: icon.marker, 1346 shadow: icon.shadow, 1347 flat: !icon.shadow, 1348 visible: placemark.visibility 1349 }); 1350 1351 // Create the marker on the map 1352 var marker = new google.maps.Marker(markerOptions); 1353 if (!!doc) doc.markers.push(marker); 1354 1355 // Set up and create the infowindow if it is not suppressed 1356 createInfoWindow(placemark, doc, marker); 1357 placemark.marker = marker; 1358 return marker; 1359 }; 1360 1361 var createOverlay = function (groundOverlay, doc) { 1362 // Add a ProjectedOverlay to the map from a groundOverlay KML object 1363 1364 if (!window.ProjectedOverlay) { 1365 throw 'geoXML3 error: ProjectedOverlay not found while rendering GroundOverlay from KML'; 1366 } 1367 1368 var bounds = new google.maps.LatLngBounds( 1369 new google.maps.LatLng(groundOverlay.latLonBox.south, groundOverlay.latLonBox.west), 1370 new google.maps.LatLng(groundOverlay.latLonBox.north, groundOverlay.latLonBox.east) 1371 );
1372 var overlayOptions = geoXML3.combineOptions(parserOptions.overlayOptions, { 1373 percentOpacity: groundOverlay.opacity*100, 1374 rotation: groundOverlay.rotation 1375 }); 1376 var overlay = new ProjectedOverlay(parserOptions.map, groundOverlay.icon.href, bounds, overlayOptions); 1377 1378 if (!!doc) { 1379 doc.ggroundoverlays = doc.ggroundoverlays || []; 1380 doc.ggroundoverlays.push(overlay); 1381 } 1382 1383 return overlay; 1384 }; 1385 1386 // Create Polyline 1387 var createPolyline = function(placemark, doc) { 1388 var paths = []; 1389 var bounds = new google.maps.LatLngBounds(); 1390 if (placemark.LineString) { 1391 for (var j=0; j<placemark.LineString.length; j++) { 1392 var path = []; 1393 var coords = placemark.LineString[j].coordinates; 1394 for (var i=0;i<coords.length;i++) { 1395 var pt = new google.maps.LatLng(coords[i].lat, coords[i].lng); 1396 path.push(pt); 1397 bounds.extend(pt); 1398 } 1399 paths.push(path); 1400 } 1401 } else if (placemark.Track) { 1402 for (var j=0; j<placemark.Track.length; j++) { 1403 var path = []; 1404 var coords = placemark.Track[j].coordinates; 1405 for (var i=0;i<coords.length;i++) { 1406 var pt = new google.maps.LatLng(coords[i].lat, coords[i].lng); 1407 path.push(pt); 1408 bounds.extend(pt); 1409 } 1410 paths.push(path); 1411 } 1412 } 1413 // point to open the infowindow if triggered 1414 var point = paths[0][Math.floor(path.length/2)]; 1415 // Load basic polyline properties 1416 var kmlStrokeColor = kmlColor(placemark.style.line.color, placemark.style.line.colorMode); 1417 var polyOptions = geoXML3.combineOptions(parserOptions.polylineOptions, { 1418 map: parserOptions.map, 1419 path: path, 1420 strokeColor: kmlStrokeColor.color, 1421 strokeWeight: placemark.style.line.width, 1422 strokeOpacity: kmlStrokeColor.opacity, 1423 title: placemark.name, 1424 visible: placemark.visibility 1425 }); 1426 if (paths.length > 1) { 1427 polyOptions.paths = paths; 1428 var p = new MultiGeometry(polyOptions); 1429 } else { 1430 polyOptions.path = paths[0]; 1431 var p = new google.maps.Polyline(polyOptions); 1432 } 1433 p.bounds = bounds; 1434 1435 // setup and create the infoWindow if it is not suppressed 1436 createInfoWindow(placemark, doc, p); 1437 if (!!doc) doc.gpolylines.push(p); 1438 placemark.polyline = p; 1439 return p; 1440 } 1441 1442 // Create Polygon 1443 var createPolygon = function(placemark, doc) { 1444 var bounds = new google.maps.LatLngBounds(); 1445 var pathsLength = 0; 1446 var paths = []; 1447 for (var polygonPart=0;polygonPart<placemark.Polygon.length;polygonPart++) { 1448 for (var j=0; j<placemark.Polygon[polygonPart].outerBoundaryIs.length; j++) { 1449 var coords = placemark.Polygon[polygonPart].outerBoundaryIs[j].coordinates; 1450 var path = []; 1451 for (var i=0;i<coords.length;i++) { 1452 var pt = new google.maps.LatLng(coords[i].lat, coords[i].lng); 1453 path.push(pt); 1454 bounds.extend(pt); 1455 } 1456 paths.push(path); 1457 pathsLength += path.length; 1458 } 1459 for (var j=0; j<placemark.Polygon[polygonPart].innerBoundaryIs.length; j++) { 1460 var coords = placemark.Polygon[polygonPart].innerBoundaryIs[j].coordinates; 1461 var path = []; 1462 for (var i=0;i<coords.length;i++) { 1463 var pt = new google.maps.LatLng(coords[i].lat, coords[i].lng); 1464 path.push(pt); 1465 bounds.extend(pt); 1466 } 1467 paths.push(path); 1468 pathsLength += path.length; 1469 } 1470 } 1471 1472 // Load basic polygon properties 1473 var kmlStrokeColor = kmlColor(placemark.style.line.color, placemark.style.line.colorMode); 1474 var kmlFillColor = kmlColor(placemark.style.poly.color, placemark.style.poly.colorMode); 1475 if (!placemark.style.poly.fill) kmlFillColor.opacity = 0.0; 1476 var strokeWeight = placemark.style.line.width; 1477 if (!placemark.style.poly.outline) { 1478 strokeWeight = 0; 1479 kmlStrokeColor.opacity = 0.0; 1480 } 1481 var polyOptions = geoXML3.combineOptions(parserOptions.polygonOptions, { 1482 map: parserOptions.map, 1483 paths: paths, 1484 title: placemark.name, 1485 strokeColor: kmlStrokeColor.color, 1486 strokeWeight: strokeWeight, 1487 strokeOpacity: kmlStrokeColor.opacity, 1488 fillColor: kmlFillColor.color, 1489 fillOpacity: kmlFillColor.opacity, 1490 visible: placemark.visibility 1491 }); 1492 var p = new google.maps.Polygon(polyOptions); 1493 p.bounds = bounds; 1494 1495 createInfoWindow(placemark, doc, p); 1496 if (!!doc) doc.gpolygons.push(p); 1497 placemark.polygon = p; 1498 return p; 1499 } 1500 1501 var createInfoWindow = function(placemark, doc, gObj) { 1502 var bStyle = placemark.style.balloon; 1503 var vars = placemark.vars; 1504 1505 if (!placemark.balloonVisibility || bStyle.displayMode === 'hide') return; 1506 1507 // define geDirections 1508 if (placemark.latlng && 1509 (!parserOptions.suppressDirections || !parserOptions.suppressDirections)) { 1510 vars.directions.push('sll=' + placemark.latlng.toUrlValue()); 1511 1512 var url = 'http://maps.google.com/maps?' + vars.directions.join('&'); 1513 var address = encodeURIComponent( vars.val.address || placemark.latlng.toUrlValue() ).replace(/\%20/g, '+'); 1514 1515 vars.val.geDirections = '<a href="' + url + '&daddr=' + address + '" target=_blank>To Here</a> - <a href="' + url + '&saddr=' + address + '" target=_blank>From Here</a>'; 1516 } 1517 else vars.val.geDirections = ''; 1518 1519 // add in the variables 1520 var iwText = bStyle.text.replace(/\$\[(\w+(\/displayName)?)\]/g, function(txt, n, dn) { return dn ? vars.display[n] : vars.val[n]; }); 1521 var classTxt = 'geoxml3_infowindow geoxml3_style_' + placemark.styleID; 1522 1523 // color styles 1524 var styleArr = []; 1525 if (bStyle.bgColor != 'ffffffff') styleArr.push('background: ' + kmlColor(bStyle.bgColor ).color + ';'); 1526 if (bStyle.textColor != 'ff000000') styleArr.push('color: '
1526+ kmlColor(bStyle.textColor).color + ';'); 1527 var styleProp = styleArr.length ? ' style="' + styleArr.join(' ') + '"' : ''; 1528 1529 var infoWindowOptions = geoXML3.combineOptions(parserOptions.infoWindowOptions, { 1530 content: '<div class="' + classTxt + '"' + styleProp + '>' + iwText + '</div>', 1531 pixelOffset: new google.maps.Size(0, 2) 1532 }); 1533 1534 gObj.infoWindow = parserOptions.infoWindow || new google.maps.InfoWindow(infoWindowOptions); 1535 gObj.infoWindowOptions = infoWindowOptions; 1536 1537 // Info Window-opening event handler 1538 google.maps.event.addListener(gObj, 'click', function(e) { 1539 var iW = this.infoWindow; 1540 iW.close(); 1541 iW.setOptions(this.infoWindowOptions); 1542 1543 if (e && e.latLng) iW.setPosition(e.latLng); 1544 else if (this.bounds) iW.setPosition(this.bounds.getCenter()); 1545 1546 iW.setContent("<div id='geoxml3_infowindow'>"+iW.getContent()+"</div>"); 1547 google.maps.event.addListenerOnce(iW, "domready", function() { 1548 var node = document.getElementById('geoxml3_infowindow'); 1549 var imgArray = node.getElementsByTagName('img'); 1550 for (var i = 0; i < imgArray.length; i++) 1551 { 1552 var imgUrlIE = imgArray[i].getAttribute("src"); 1553 var imgUrl = cleanURL(doc.baseDir, imgUrlIE); 1554 1555 if (kmzMetaData[imgUrl]) { 1556 imgArray[i].src = kmzMetaData[imgUrl].dataUrl; 1557 } else if (kmzMetaData[imgUrlIE]) { 1558 imgArray[i].src = kmzMetaData[imgUrlIE].dataUrl; 1559 } 1560 } 1561 }); 1562 iW.open(this.map, this.bounds ? null : this); 1563 }); 1564 1565 } 1566 1567 return { 1568 // Expose some properties and methods 1569 1570 options: parserOptions, 1571 docs: docs, 1572 docsByUrl: docsByUrl, 1573 kmzMetaData: kmzMetaData, 1574 1575 parse: parse, 1576 render: render, 1577 parseKmlString: parseKmlString, 1578 hideDocument: hideDocument, 1579 showDocument: showDocument, 1580 processStyles: processStyles, 1581 createMarker: createMarker, 1582 createOverlay: createOverlay, 1583 createPolyline: createPolyline, 1584 createPolygon: createPolygon 1585 }; 1586}; 1587// End of KML Parser 1588 1589// Helper objects and functions 1590geoXML3.getOpacity = function (kmlColor) { 1591 // Extract opacity encoded in a KML color value. Returns a number between 0 and 1. 1592 if (!!kmlColor && 1593 (kmlColor !== '') && 1594 (kmlColor.length == 8)) { 1595 var transparency = parseInt(kmlColor.substr(0, 2), 16); 1596 return transparency / 255; 1597 } else { 1598 return 1; 1599 } 1600}; 1601 1602// Log a message to the debugging console, if one exists 1603geoXML3.log = function(msg) { 1604 if (!!window.console) { 1605 console.log(msg); 1606 } else { alert("log:"+msg); } 1607}; 1608 1609/** 1610 * Creates a new parserOptions object. 1611 * @class GeoXML3 parser options. 1612 * @param {Object} overrides Any options you want to declare outside of the defaults should be included here. 1613 * @property {google.maps.Map} map The API map on which geo objects should be rendered. 1614 * @property {google.maps.MarkerOptions} markerOptions If the parser is adding Markers to the map itself, any options specified here will be applied to them. 1615 * @property {google.maps.InfoWindowOptions} infoWindowOptions If the parser is adding Markers to the map itself, any options specified here will be applied to their attached InfoWindows. 1616 * @property {ProjectedOverlay.options} overlayOptions If the parser is adding ProjectedOverlays to the map itself, any options specified here will be applied to them. 1617 */ 1618geoXML3.parserOptions = function (overrides) { 1619 this.map = null, 1620 /** If true, the parser will automatically move the map to a best-fit of the geodata after parsing of a KML document completes. 1621 * @type Boolean 1622 * @default true 1623 */ 1624 this.zoom = true, 1625 /**#@+ @type Boolean 1626 * @default false */ 1627 /** If true, only a single Marker created by the parser will be able to have its InfoWindow open at once (simulating the behavior of GMaps API v2). */ 1628 this.singleInfoWindow = false, 1629 /** If true, suppresses the rendering of info windows. */ 1630 this.suppressInfoWindows = false, 1631 /** 1632 * Control whether to process styles now or later. 1633 * 1634 * <p>By default, the parser only processes KML <Style> elements into their GMaps equivalents 1635 * if it will be creating its own Markers (the createMarker option is null). Setting this option 1636 * to true will force such processing to happen anyway, useful if you're going to be calling parser.createMarker 1637 * yourself later. OTOH, leaving this option false removes runtime dependency on the GMaps API, enabling 1638 * the use of geoXML3 as a standalone KML parser.</p> 1639 */ 1640 this.processStyles = false, 1641 /**#@-*/ 1642 1643 this.markerOptions = {}, 1644 this.infoWindowOptions = {}, 1645 this.overlayOptions = {}, 1646 1647 /**#@+ @event */ 1648 /** This function will be called when parsing of a KML document is complete. 1649 * @param {geoXML3.parser#docs} doc Parsed KML data. */ 1650 this.afterParse = null, 1651 /** This function will be called when parsing of a KML document is complete. 1652 * @param {geoXML3.parser#docs} doc Parsed KML data. */ 1653 this.failedParse = null, 1654 /** 1655 * If supplied, this function will be called once for each marker <Placemark> in the KML document, instead of the parser adding its own Marker to the map. 1656 * @param {geoXML3.parser.render#placemark} placemark Placemark object. 1657 * @param {geoXML3.parser#docs} doc Parsed KML data. 1658 */ 1659 this.createMarker = null, 1660 /** 1661 * If supplied, this function will be called once for each <GroundOverlay> in the KML document, instead of the parser adding its own ProjectedOverlay to the map. 1662 * @param {geoXML3.parser.render#groundOverlay} groundOverlay GroundOverlay object. 1663 * @param {geoXML3.parser#docs} doc Parsed KML data. 1664 */ 1665 this.createOverlay = null 1666 /**#@-*/ 1667 1668 if (overrides) { 1669 for (var prop in overrides) { 1670 if (overrides.hasOwnProperty(prop)) this[prop] = overrides[prop]; 1671 } 1672 } 1673 return this; 1674}; 1675 1676/** 1677 * Combine two options objects: a set of default values and a set of override values. 1678 * 1679 * @deprecated This has been replaced with {@link geoXML3.parserOptions#combineOptions}. 1680 * @param {geoXML3.parserOptions|Object} overrides Override values. 1681 * @param {geoXML3.parserOptions|Object} defaults Default values. 1682 * @return {geoXML3.parserOptions} Combined result. 1683 */
1684geoXML3.combineOptions = function (overrides, defaults) { 1685 var result = {}; 1686 if (!!overrides) { 1687 for (var prop in overrides) { 1688 if (overrides.hasOwnProperty(prop)) result[prop] = overrides[prop]; 1689 } 1690 } 1691 if (!!defaults) { 1692 for (prop in defaults) { 1693 if (defaults.hasOwnProperty(prop) && result[prop] === undefined) result[prop] = defaults[prop]; 1694 } 1695 } 1696 return result; 1697}; 1698 1699/** 1700 * Combine two options objects: a set of default values and a set of override values. 1701 * 1702 * @function 1703 * @param {geoXML3.parserOptions|Object} overrides Override values. 1704 * @param {geoXML3.parserOptions|Object} defaults Default values. 1705 * @return {geoXML3.parserOptions} Combined result. 1706 */ 1707geoXML3.parserOptions.prototype.combineOptions = geoXML3.combineOptions; 1708 1709// Retrieve an XML document from url and pass it to callback as a DOM document 1710geoXML3.fetchers = []; 1711 1712/** 1713 * Parses a XML string. 1714 * 1715 * <p>Parses the given XML string and returns the parsed document in a 1716 * DOM data structure. This function will return an empty DOM node if 1717 * XML parsing is not supported in this browser.</p> 1718 * 1719 * @param {String} str XML string. 1720 * @return {Element|Document} DOM. 1721 */ 1722geoXML3.xmlParse = function (str) { 1723 if ((typeof ActiveXObject != 'undefined') || ("ActiveXObject" in window)) { 1724 var doc = new ActiveXObject('Microsoft.XMLDOM'); 1725 doc.loadXML(str); 1726 return doc; 1727 } 1728 1729 if (typeof DOMParser != 'undefined') { 1730 return (new DOMParser()).parseFromString(str, 'text/xml'); 1731 } 1732 1733 return document.createElement('div', null); 1734} 1735 1736/** 1737 * Checks for XML parse error. 1738 * 1739 * @param {xmlDOM} XML DOM. 1740 * @return boolean. 1741 */ 1742// from http://stackoverflow.com/questions/11563554/how-do-i-detect-xml-parsing-errors-when-using-javascripts-domparser-in-a-cross 1743geoXML3.isParseError = function(parsedDocument) { 1744 if ((typeof ActiveXObject != 'undefined') || ("ActiveXObject" in window)) 1745 return false; 1746 // parser and parsererrorNS could be cached on startup for efficiency 1747 var p = new DOMParser(), 1748 errorneousParse = p.parseFromString('<', 'text/xml'), 1749 parsererrorNS = errorneousParse.getElementsByTagName("parsererror")[0].namespaceURI; 1750 1751 if (parsererrorNS === 'http://www.w3.org/1999/xhtml') { 1752 // In PhantomJS the parseerror element doesn't seem to have a special namespace, so we are just guessing here :( 1753 return parsedDocument.getElementsByTagName("parsererror").length > 0; 1754 } 1755 1756 return parsedDocument.getElementsByTagNameNS(parsererrorNS, 'parsererror').length > 0; 1757}; 1758 1759/** 1760 * Fetches a XML document. 1761 * 1762 * <p>Fetches/parses the given XML URL and passes the parsed document (in a 1763 * DOM data structure) to the given callback. Documents are downloaded 1764 * and parsed asynchronously.</p> 1765 * 1766 * @param {String} url URL of XML document. Must be uncompressed XML only. 1767 * @param {Function(Document)} callback Function to call when the document is processed. 1768 */ 1769geoXML3.fetchXML = function (url, callback) { 1770 function timeoutHandler() { callback(); }; 1771 1772 var xhrFetcher = new Object(); 1773 if (!!geoXML3.fetchers.length) xhrFetcher = geoXML3.fetchers.pop(); 1774 else if (!!window.XMLHttpRequest) xhrFetcher.fetcher = new window.XMLHttpRequest(); // Most browsers 1775 else if (!!window.ActiveXObject) { // Some IE 1776 // the many versions of IE's XML fetchers 1777 var AXOs = [ 1778 'MSXML2.XMLHTTP.6.0', 1779 'MSXML2.XMLHTTP.5.0', 1780 'MSXML2.XMLHTTP.4.0', 1781 'MSXML2.XMLHTTP.3.0', 1782 'MSXML2.XMLHTTP', 1783 'Microsoft.XMLHTTP', 1784 'MSXML.XMLHTTP' 1785 ]; 1786 for (var i = 0; i < AXOs.length; i++) { 1787 try { xhrFetcher.fetcher = new ActiveXObject(AXOs[i]); break; } 1788 catch(e) { continue; } 1789 } 1790 if (!xhrFetcher.fetcher) { 1791 geoXML3.log('Unable to create XHR object'); 1792 callback(null); 1793 return null; 1794 } 1795 } 1796 1797 xhrFetcher.fetcher.open('GET', url, true); 1798 if (!!xhrFetcher.fetcher.overrideMimeType) xhrFetcher.fetcher.overrideMimeType('text/xml'); 1799 xhrFetcher.fetcher.onreadystatechange = function () { 1800 if (xhrFetcher.fetcher.readyState === 4) { 1801 // Retrieval complete 1802 if (!!xhrFetcher.xhrtimeout) clearTimeout(xhrFetcher.xhrtimeout); 1803 if (xhrFetcher.fetcher.status >= 400) { 1804 geoXML3.log('HTTP error ' + xhrFetcher.fetcher.status + ' retrieving ' + url); 1805 callback(); 1806 } 1807 // Returned successfully 1808 else { 1809 if (xhrFetcher.fetcher.responseXML) { 1810 // Sometimes IE will get the data, but won't bother loading it as an XML doc 1811 var xml = xhrFetcher.fetcher.responseXML; 1812 if (xml && !xml.documentElement && !xml.ownerElement) { 1813 xml.loadXML(xhrFetcher.fetcher.responseText); 1814 } 1815 } else {// handle valid xml sent with wrong MIME type 1816 xml=geoXML3.xmlParse(xhrFetcher.fetcher.responseText); 1817 } 1818 // handle parse errors 1819 if (xml.parseError && (xml.parseError.errorCode != 0)) { 1820 geoXML3.log("XML parse error "+xml.parseError.errorCode+", "+xml.parseError.reason+"\
1820nLine:"+xml.parseError.line+", Position:"+xml.parseError.linepos+", srcText:"+xml.parseError.srcText); 1821 xml = "failed parse" 1822 } else if (geoXML3.isParseError(xml)) { 1823 geoXML3.log("XML parse error"); 1824 xml = "failed parse" 1825 } 1826 callback(xml); 1827 } 1828 // We're done with this fetcher object 1829 geoXML3.fetchers.push(xhrFetcher); 1830 } 1831 }; 1832 1833 xhrFetcher.xhrtimeout = setTimeout(timeoutHandler, 60000); 1834 xhrFetcher.fetcher.send(null); 1835 return null; 1836}; 1837 1838var IEversion = function() { 1839 // http://msdn.microsoft.com/workshop/author/dhtml/overview/browserdetection.asp 1840 // Returns the version of Internet Explorer or a -1 1841 // (indicating the use of another browser). 1842 var rv = -1; // Return value assumes failure 1843 if (navigator.appName == 'Microsoft Internet Explorer') { 1844 var ua = navigator.userAgent; 1845 var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})"); 1846 if (re.exec(ua) != null) { 1847 rv = parseFloat( RegExp.$1 ); 1848 } 1849 } 1850 return rv; 1851}; 1852 1853/** 1854 * Fetches a KMZ document. 1855 * 1856 * <p>Fetches/parses the given ZIP URL, parses each image file, and passes 1857 * the parsed KML document to the given callback. Documents are downloaded 1858 * and parsed asynchronously, though the KML file is always passed after the 1859 * images have been processed, in case the callback requires the image data.</p> 1860 * 1861 * @requires ZipFile.complete.js 1862 * @param {String} url URL of KMZ document. Must be a valid KMZ/ZIP archive. 1863 * @param {Function(Document)} callback Function to call when the document is processed. 1864 * @param {geoXML3.parser} parser A geoXML3.parser object. This is used to populate the KMZ image data. 1865 * @author Brendan Byrd 1866 * @see http://code.google.com/apis/kml/documentation/kmzarchives.html 1867 */ 1868geoXML3.fetchZIP = function (url, callback, parser) { 1869 // Just need a single 'new' declaration with a really long function... 1870 var zipFile = new ZipFile(url, function (zip) { 1871 // Retrieval complete 1872 1873 // Check for ERRORs in zip.status 1874 for (var i = 0; i < zip.status.length; i++) { 1875 var msg = zip.status[i]; 1876 if (msg.indexOf("ERROR") == 0) { 1877 geoXML3.log('HTTP/ZIP error retrieving ' + url + ': ' + msg); 1878 callback(); 1879 return; 1880 } 1881 else if (msg.indexOf("EXCEPTION") == 0) { 1882 geoXML3.log('HTTP/ZIP exception retrieving ' + url + ': ' + msg); 1883 callback(); 1884 return; 1885 } else if (msg.indexOf("WARNING") == 0) { // non-fatal, but still might be useful 1886 geoXML3.log('HTTP/ZIP warning retrieving ' + url + ': ' + msg); 1887 } else if (msg.indexOf("INFO") == 0) { // non-fatal, but still might be useful 1888 geoXML3.log('HTTP/ZIP info retrieving ' + url + ': ' + msg); 1889 } 1890 } 1891
1892 // Make sure KMZ structure is according to spec (with a single KML file in the root dir) 1893 var KMLCount = 0; 1894 var KML; 1895 for (var i = 0; i < zip.entries.length; i++) { 1896 var name = zip.entries[i].name; 1897 if (!/\.kml$/.test(name)) continue; 1898 1899 KMLCount++; 1900 if (KMLCount == 1) KML = i; 1901 else { 1902 geoXML3.log('KMZ warning retrieving ' + url + ': found extra KML "' + name + '" in KMZ; discarding...'); 1903 } 1904 } 1905 1906 // Returned successfully, but still needs extracting 1907 var baseUrl = cleanURL(defileURL(url), url) + '/'; 1908 var kmlProcessing = { // this is an object just so it gets passed properly 1909 timer: null, 1910 extractLeft: 0, 1911 timerCalls: 0 1912 }; 1913 var extractCb = function(entry, entryContent) { 1914 var mdUrl = cleanURL(baseUrl, entry.name); 1915 var ext = entry.name.substring(entry.name.lastIndexOf(".") + 1).toLowerCase(); 1916 kmlProcessing.extractLeft--; 1917 1918 if ((typeof entryContent.description == "string") && (entryContent.name == "Error")) { 1919 geoXML3.log('KMZ error extracting ' + mdUrl + ': ' + entryContent.description); 1920 callback(); 1921 return; 1922 } 1923 1924 // MIME types that can be used in KML 1925 var mime; 1926 if (ext === 'jpg') ext = 'jpeg'; 1927 if (/^(gif|jpeg|png)$/.test(ext)) mime = 'image/' + ext; 1928 else if (ext === 'mp3') mime = 'audio/mpeg'; 1929 else if (ext === 'm4a') mime = 'audio/mp4'; 1930 else if (ext === 'm4a') mime = 'audio/MP4-LATM'; 1931 else mime = 'application/octet-stream'; 1932 1933 parser.kmzMetaData[mdUrl] = {}; 1934 parser.kmzMetaData[mdUrl].entry = entry; 1935 // data:image/gif;base64,R0lGODlhEAAOALMA... 1936 parser.kmzMetaData[mdUrl].dataUrl = 'data:' + mime + ';base64,' + base64Encode(entryContent); 1937 // IE cannot handle GET requests beyond 2071 characters, even if it's an inline image 1938 if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) 1939 { 1940 if (((IEversion() < 8.0) && 1941 (parser.kmzMetaData[mdUrl].dataUrl.length > 2071)) || 1942 ((IEversion < 9.0) && 1943 (parser.kmzMetaData[mdUrl].dataUrl.length > 32767))) { 1944 parser.kmzMetaData[mdUrl].dataUrl = 1945 // this is a simple IE icon; to hint at the problem... 1946 'data:image/gif;base64,R0lGODlhDwAQAOMPADBPvSpQ1Dpoyz1p6FhwvU2A6ECP63CM04CWxYCk+V6x+UK++Jao3rvC3fj7+v///yH5BAEKAA8ALAAAAAAPABAAAASC8Mk5mwCAUMlWwcLRHEelLA' + 1947 'oGDMgzSsiyGCAhCETDPMh5XQCBwYBrNBIKWmg0MCQHj8MJU5IoroYCY6AAAgrDIbbQDGIK6DR5UPhlNo0JAlSUNAiDgH7eNAxEDWAKCQM2AAFheVxYAA0AIk
1947FOJ1gBcQQaUQKKA5w7LpcEBwkJaKMUEQA7'; 1948 } 1949 } 1950 parser.kmzMetaData[internalSrc(entry.name)]=parser.kmzMetaData[mdUrl]; 1951 1952 }; 1953 var kmlExtractCb = function(entry, entryContent) { 1954 if ((typeof entryContent.description == "string") && (entryContent.name == "Error")) { 1955 geoXML3.log('KMZ error extracting ' + entry.name + ': ' + entryContent.description); 1956 callback(); 1957 return; 1958 } 1959 1960 // check to see if the KML is the last file extracted 1961 clearTimeout(kmlProcessing.timer); 1962 if (kmlProcessing.extractLeft <= 1) { 1963 kmlProcessing.extractLeft--; 1964 callback(geoXML3.xmlParse(entryContent)); 1965 return; 1966 } 1967 else { 1968 // KML file isn't last yet; it may need to use those files, so wait a bit (100ms) 1969 kmlProcessing.timerCalls++; 1970 if (kmlProcessing.timerCalls < 100) { 1971 kmlProcessing.timer = setTimeout(function() { kmlExtractCb(entry, entryContent); }, 100); 1972 } 1973 else { 1974 geoXML3.log('KMZ warning extracting ' + url + ': entire ZIP has not been extracted after 10 seconds; running through KML, anyway...'); 1975 kmlProcessing.extractLeft--; 1976 callback(geoXML3.xmlParse(entryContent)); 1977 } 1978 } 1979 return; 1980 }; 1981 for (var i = 0; i < zip.entries.length; i++) { 1982 var entry = zip.entries[i]; 1983 var ext = entry.name.substring(entry.name.lastIndexOf(".") + 1).toLowerCase(); 1984 if (!/^(gif|jpe?g|png|kml)$/.test(ext)) continue; // not going to bother to extract files we don't support 1985 if (ext === "kml" && i != KML) continue; // extra KMLs get discarded 1986 if (!parser && ext != "kml") continue; // cannot store images without a parser object 1987 1988 // extract asynchronously 1989 kmlProcessing.extractLeft++; 1990 if (ext === "kml") entry.extract(kmlExtractCb); 1991 else entry.extract(extractCb); 1992 } 1993 }); //,3 for most verbose logging 1994 1995}; 1996 1997/** 1998 * Extract the text value of a DOM node, with leading and trailing whitespace trimmed. 1999 * 2000 * @param {Element} node XML node/element. 2001 * @param {Any} delVal Default value if the node doesn't exist. 2002 * @return {String|Null} 2003 */ 2004geoXML3.nodeValue = function(node, defVal) { 2005 var retStr=""; 2006 if (!node) { 2007 return (typeof defVal === 'undefined' || defVal === null) ? null : defVal; 2008 } 2009 if(node.nodeType==3||node.nodeType==4||node.nodeType==2){ 2010 retStr+=node.nodeValue; 2011 }else if(node.nodeType==1||node.nodeType==9||node.nodeType==11){ 2012 for(var i=0;i<node.childNodes.length;++i){ 2013 retStr+=arguments.callee(node.childNodes[i]); 2014 } 2015 } 2016 return retStr; 2017}; 2018 2019/** 2020 * Loosely translate various values of a DOM node to a boolean. 2021 * 2022 * @param {Element} node XML node/element. 2023 * @param {Boolean} delVal Default value if the node doesn't exist. 2024 * @return {Boolean|Null} 2025 */ 2026geoXML3.getBooleanValue = function(node, defVal) { 2027 var nodeContents = geoXML3.nodeValue(node); 2028 if (nodeContents === null) return defVal || false; 2029 nodeContents = parseInt(nodeContents); 2030 if (isNaN(nodeContents)) return true; 2031 if (nodeContents == 0) return false; 2032 else return true; 2033} 2034 2035/** 2036 * Browser-normalized version of getElementsByTagNameNS. 2037 * 2038 * <p>Required because IE8 doesn't define it.</p> 2039 * 2040 * @param {Element|Document} node DOM object. 2041 * @param {String} namespace Full namespace URL to search against. 2042 * @param {String} tagname XML local tag name. 2043 * @return {Array of Elements} 2044 * @author Brendan Byrd 2045 */ 2046geoXML3.getElementsByTagNameNS = function(node, namespace, tagname) { 2047 if (node && typeof node.getElementsByTagNameNS != 'undefined') return node.getElementsByTagNameNS(namespace, tagname); 2048 if (!node) return []; 2049 2050 var root = node.documentElement || node.ownerDocument && node.ownerDocument.documentElement; 2051 if (!root || !root.attributes) return []; 2052 2053 // search for namespace prefix 2054 for (var i = 0; i < root.attributes.length; i++) { 2055 var attr = root.attributes[i]; 2056 if (attr.prefix === 'xmlns' && attr.nodeValue === namespace) return node.getElementsByTagName(attr.baseName + ':' + tagname); 2057 else if (attr.nodeName === 'xmlns' && attr.nodeValue === namespace) { 2058 // default namespace 2059 if (typeof node.selectNodes != 'undefined') { 2060 // Newer IEs have the SelectionNamespace property that can be used with selectNodes 2061 if (!root.ownerDocument.getProperty('SelectionNamespaces')) 2062 root.ownerDocument.setProperty('SelectionNamespaces', "xmlns:defaultNS='" + namespace + "'"); 2063 return node.selectNodes('.//defaultNS:' + tagname); 2064 } 2065 else { 2066 // Otherwise, you can still try to tack on the 'xmlns' attribute to root 2067 root.setAttribute('xmlns:defaultNS', namespace); 2068 return node.getElementsByTagName('defaultNS:' + tagname); 2069 } 2070 } 2071 } 2072 return geoXML3.getElementsByTagName(node, tagname); // try the unqualified version 2073}; 2074 2075/** 2076 * Browser-normalized version of getElementsByTagName. 2077 * 2078 * <p>Required because MSXML 6.0 will treat this function as a NS-qualified function, 2079 * despite the missing NS parameter.</p> 2080 * 2081 * @param {Element|Document} node DOM object. 2082 * @param {String} tagname XML local tag name. 2083 * @return {Array of Elements} 2084 * @author Brendan Byrd 2085 */ 2086geoXML3.getElementsByTagName = function(node, tagname) { 2087 if (node && typeof node.getElementsByTagNameNS != 'undefined') return node.getElementsByTagName(tagname); // if it has both functions, it should be accurate 2088// if (node && typeof node.selectNodes != 'undefined') return node.selectNodes(".//*[local-name()='" + tagname + "']"); 2089 return node.getElementsByTagName(tagname); // hope for the best... 2090} 2091 2092/** 2093 * Turn a directory + relative URL into an absolute one. 2094 * 2095 * @private 2096 * @param {String} d Base directory. 2097 * @param {String} s Relative URL. 2098 * @return {String} Absolute URL. 2099 * @author Brendan Byrd 2100 */ 2101var toAbsURL = function (d, s) { 2102 var p, f, i; 2103 var h = location.protocol + "://" + location.host; 2104 2105 if (!s.length) return ''; 2106 if (/^\w+:/.test(s)) return s; 2107 if (s.indexOf('/') == 0) return h + s; 2108 2109 p = d.replace(/\/[^\/]*$/, ''); 2110 f = s.match(/\.\.\//g); 2111 if (f) { 2112 s = s.substring(f.length * 3); 2113 for (i = f.length; i--;) { p = p.substring(0, p.lastIndexOf('/')); } 2114 } 2115 2116 return h + p + '/' + s; 2117} 2118 2119var internalSrc = function(src) { 2120 //this gets the full url 2121 var url = document.location.href; 2122 //this removes everything after the last slash in the path 2123 url = url.substring(0,url.lastIndexOf("/") + 1); 2124 var internalPath= url+src; 2125 return internalPath; 2126} 2127 2128/** 2129 * Remove current host from URL 2130 * 2131 * @private 2132 * @param {String} s Absolute or relative URL. 2133 * @return {String} Root-based relative URL. 2134 * @author Brendan Byrd 2135 */ 2136var dehostURL = function (s) { 2137 var h = location.protocol + "://" + location.host; 2138 h = h.replace(/([\.\\\+\*\?\[\^\]\$\(\)])/g, '\\$1'); // quotemeta 2139 return s.replace(new RegExp('^' + h, 'i'), ''); 2140} 2141 2142/** 2143 * Removes all query strings, #IDs, '../' references, and 2144 * hosts from a URL. 2145 * 2146 * @private 2147 * @param {String} d Base directory. 2148 * @param {String} s Absolute or relative URL. 2149 * @return {String} Root-based relative URL. 2150 * @author Brendan Byrd 2151 */ 2152var cleanURL = function (d, s) { return dehostURL(toAbsURL(d ? d.split('#')[0].split('?')[0] : defileURL(location.pathname), s ? s.split('#')[0].split('?')[0] : '')); } 2153/** 2154 * Remove filename from URL 2155 * 2156 * @private 2157 * @param {String} s Relative URL. 2158 * @return {String} Base directory. 2159 * @author Brendan Byrd 2160 */ 2161var defileURL = function (s) { return s ? s.substr(0, s.lastIndexOf('/') + 1) : '/'; } 2162 2163 2164// Some extra Array subs for ease of use 2165// http://stackoverflow.com/questions/143847/best-way-to-find-an-item-in-a-javascript-array 2166Array.prototype.hasObject = ( 2167 !Array.indexOf ? function (obj) { 2168 var l = this.length + 1; 2169 while (l--) { 2170 if (this[l - 1] === obj) return true; 2171 } 2172 return false;
2173 } : function (obj) { 2174 return (this.indexOf(obj) !== -1); 2175 } 2176); 2177Array.prototype.hasItemInObj = function (name, item) { 2178 var l = this.length + 1; 2179 while (l--) { 2180 if (this[l - 1][name] === item) return true; 2181 } 2182 return false; 2183}; 2184if (!Array.prototype.indexOf) { 2185 Array.prototype.indexOf = function (obj, fromIndex) { 2186 if (fromIndex == null) { 2187 fromIndex = 0; 2188 } else if (fromIndex < 0) { 2189 fromIndex = Math.max(0, this.length + fromIndex); 2190 } 2191 for (var i = fromIndex, j = this.length; i < j; i++) { 2192 if (this[i] === obj) return i; 2193 } 2194 return -1; 2195 }; 2196} 2197Array.prototype.indexOfObjWithItem = function (name, item, fromIndex) { 2198 if (fromIndex == null) { 2199 fromIndex = 0; 2200 } else if (fromIndex < 0) { 2201 fromIndex = Math.max(0, this.length + fromIndex); 2202 } 2203 for (var i = fromIndex, j = this.length; i < j; i++) { 2204 if (this[i][name] === item) return i; 2205 } 2206 return -1; 2207}; 2208 2209/** 2210 * Borrowed from jquery.base64.js, with some "Array as input" corrections 2211 * 2212 * @private 2213 * @param {Array of charCodes} input An array of byte ASCII codes (0-255). 2214 * @return {String} A base64-encoded string. 2215 * @author Brendan Byrd 2216 */ 2217var base64Encode = function(input) { 2218 var keyString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; 2219 var output = ""; 2220 var chr1, chr2, chr3, enc1, enc2, enc3, enc4; 2221 var i = 0; 2222 while (i < input.length) { 2223 chr1 = input[i++]; 2224 chr2 = input[i++]; 2225 chr3 = input[i++]; 2226 enc1 = chr1 >> 2; 2227 enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); 2228 enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); 2229 enc4 = chr3 & 63; 2230 2231 if (chr2 == undefined) enc3 = enc4 = 64; 2232 else if (chr3 == undefined) enc4 = 64; 2233 2234 output = output + keyString.charAt(enc1) + keyString.charAt(enc2) + keyString.charAt(enc3) + keyString.charAt(enc4); 2235 } 2236 return output; 2237}; 2238!function(e,d,n,a){"use strict";var t,o,c,u;function p(e,t,o){n?n(e).on(t,o):a?e.addEvent(t,o):e.addEventListener(t,o,!1)}function m(e,t){n?n(window).trigger(n.Event(e,t)):a?window.fireEvent(e,t):window.dispatchEvent(new CustomEvent(e,t))}function f(e){return n?n(e).serialize():a?e.toQueryString():formToQueryString(e)}function s(e){var t=d.getElementById(e.formId);t&&t.parentNode&&!function s(i,r){var e,t,o=new XMLHttpRequest,n=i.getElementsByTagName("form")[0];if(!n)return;o.open(n.getAttribute("method").toUpperCase(),n.getAttribute("action")||location.href);o.setRequestHeader("Content-Type","application/x-www-form-urlencoded");o.setRequestHeader("X-Requested-With","XMLHttpRequest");o.onload=function(){200===o.status?a(o.responseText):200!==o.status&&Isotope.hideBox()};function a(e){for(var t=d.createElement("div"),n="",o=(e=e.replace(/<script([^>]*)>([\s\S]*?)<\/script>/gi,function(e,t,o){t=t.match(/type=['"]?([^"']+)/);return null!==t&&"text/javascript"!==t[1]?e:(n+=o+"\n","")}),t.innerHTML=e,0),a=t.getElementsByTagName("p");o<a.length;)-1!==a[o].className.search(/(^| )error( |$)/)?a[o].parentNode.removeChild(a[o]):o++;for(i.innerHTML="";0<t.childNodes.length;)i.appendChild(t.childNodes[0]);s(i,r),Isotope.hideBox(),n&&((e=d.createElement("script")).text=n,d.head.appendChild(e),d.head.removeChild(e)),m("isotopeProductReload",{detail:r})}function l(){1<o.readyState&&o.abort(),Isotope.displayBox(c),o.send(f(n))}if(r.attributes)for(e=0;e<r.attributes.length;e++)(t=d.getElementById("ctrl_"+r.attributes[e]+"_"+r.formId))&&p(t,"change",l);u[r.formId]=l}(t.parentNode,e)}n||a||((t=d.createElement("script")).src="system/modules/isotope/assets/js/polyfills.min.js",(o=d.getElementsByTagName("script")[0]).parentNode.insertBefore(t,o)),e.Isotope=e.Isotope||{toggleAddressFields:function(e,t){"0"==e.value&&e.checked?d.getElementById(t).style.display="":d.getElementById(t).style.display="none"},displayBox:function(e,t){var o=d.getElementById("iso_ajaxBox"),n=d.getElementById("iso_ajaxOverlay");n||((n=d.createElement("div")).setAttribute("id","iso_ajaxOverlay"),d.body.appendChild(n)),o||((o=d.createElement("div")).setAttribute("id","iso_ajaxBox"),d.body.appendChild(o)),t&&(p(n,"click",Isotope.hideBox),p(o,"click",Isotope.hideBox),-1!=!o.className.search(/btnClose/)&&(o.className=o.className+" btnClose")),n.style.display="block",o.innerHTML=e,o.style.display="block"},hideBox:function(){var e=d.getElementById("iso_ajaxBox"),t=d.getElementById("iso_ajaxOverlay");t&&(t.style.display="none",t.removeEventListener("click",Isotope.hideBox,!1)),e&&(e.style.display="none",e.removeEventListener("click",Isotope.hideBox,!1),e.className=e.className.replace(/ ?btnClose/,""))},inlineGallery:function(e,t){for(var o=e.parentNode,n=o.parentNode.children,a=0;a<n.length;a++)"gallery"==n[a].getAttribute("data-type")&&n[a].getAttribute("data-uid")==t&&-1!=n[a].getAttribute("class").search(/(^| )active($| )/)&&n[a].setAttribute("class",n[a].getAttribute("class").replace(/ ?active/,""));return o.setAttribute("class",o.getAttribute("class")+" active"),d.getElementById(t).src=e.href,e.dataset.lightboxUrl&&(d.getElementById(t).parentNode.href=e.dataset.lightboxUrl),!1},elevateZoom:function(e,t){return Isotope.inlineGallery(e,t),n("#"+t).data("elevateZoom").swaptheimage(e.getAttribute("href"),e.getAttribute("data-zoom-image")),!1},checkoutButton:function(e){function t(e){try{document.getElementsByName(e)[0].className=document.getElementsByName(e)[0].className+" disabled",document.getElementsByName(e)[0].onclick=function(){return!1}}catch(e){}}p(e,"submit",function(){t("nextStep"),t("previousStep"),setTimeout(function(){window.location.reload()},3e4)})},initAwesomplete:function(o,n){var a=!1;p(n,"focus",function(){if(a)return!1;a=!0;var e=window.location.href+(document.location.search?"&":"?")+"&iso_autocomplete="+o,t=new XMLHttpRequest;t.open("GET",encodeURI(e)),t.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.onload=function(){200===t.status&&(new Awesomplete(n,{list:JSON.parse(t.responseText)}),n.focus())},t.send()})}},e.IsotopeProducts=(c="Loading product data â¦",u={},{attach:function(e){var t;if("[object Array]"===Object.prototype.toString.call(e)&&0<e.length)for(t=0;t<e.length;t++)s(e[t])}
2238,setLoadMessage:function(e){c=e||"Loading product data â¦"},submit:function(e){if(!u.hasOwnProperty(e))throw'Form "'+e+'" does not exist.';u[e]()}})}(window,document,window.jQuery,window.MooTools); 2239let ContaoCookiebar=function(){"use strict";return function(e){let c={},r={},t={selector:".contao-cookiebar",token:"ccb_contao_token",configId:null,pageId:null,hideOnInit:!1,blocking:!1,focusTrap:!0,version:null,lifetime:63072e3,consentLog:!1,cookies:null,configs:null,doNotTrack:!1,currentPageId:0,excludedPageIds:null,texts:{acceptAndDisplay:"Accept"},classes:{onSave:"cc-saved",onShow:"cc-active",onGroupToggle:"cc-active",onGroupSplitSelection:"cc-group-half"}};function i(e){var t=N();t.cookies.includes(e)||(t.cookies.push(parseInt(e)),O(t),r.settings.cookies["_"+e].confirmed=!0,p())}function n(e,t){let o=[];for(var n in r.settings.cookies){var s,c=parseInt(n.replace("_",""));r.settings.cookies.hasOwnProperty(n)&&(s=!!r.settings.cookies[n].confirmed!==(c=e.includes(c))&&!c,r.settings.cookies[n].confirmed=c,!0===t)&&s&&null!==(c=r.settings.cookies[n].token)&&c.forEach(function(e){o.push(e)})}var i;!0===t&&o.length&&((i=new XMLHttpRequest).open("POST","/cookiebar/delete",!0),i.send(I({tokens:o})))}function s(){let e;for(e in r.settings.configs)if(r.settings.configs.hasOwnProperty(e)){let o=r.settings.configs[e],n=k(o.cookies);null!==o.resources&&o.resources.forEach(function(e,t){!(1===e.mode&&n||2===e.mode&&!n||3===e.mode)||v(b(o,t),"config_resource")||m(e)}),null!==o.scripts&&o.scripts.forEach(function(e,t){1===e.mode!==n&&2===e.mode!=!n&&3!==e.mode||v(b(o,t),"config_script")||h(e)})}}function a(){let e;for(e in r.settings.cookies)if(r.settings.cookies.hasOwnProperty(e)){let o=r.settings.cookies[e];null!==o.resources&&o.resources.forEach(function(e,t){!(1===e.mode&&o.confirmed||2===e.mode&&!o.confirmed||3===e.mode)||v(b(o,t),"resource")||m(e)}),null!==o.scripts&&o.scripts.forEach(function(e,t){1===e.mode!==o.confirmed&&2===e.mode!=!o.confirmed&&3!==e.mode||v(b(o,t),"script")||h(e)})}}function l(e){var t=document.querySelectorAll('.cc-module[data-ccb-id="'+e+'"]');t&&t.forEach(function(e){e.parentNode.removeChild(e)}),r.modules["_"+e].forEach(function(e){e()}),delete r.modules["_"+e],u()}function d(e){(e=document.querySelectorAll('iframe[data-ccb-id="'+e+'"]')).length&&e.forEach(function(e){e.src=e.src,e.removeAttribute("data-ccb-id")}),u()}function u(e){var t=N();let o=[];if(r.show||!0===e){if(t.cookies&&t.cookies.length)o=t.cookies;else if(-1===t.version)for(var n in r.settings.cookies){var s=parseInt(n.replace("_",""));r.settings.cookies[n].checked&&o.push(s)}o.length&&o.forEach(function(e,t){e=r.dom.querySelector('[id="c'+e+'"]');e&&(e.checked=!0)});e=r.dom.querySelectorAll('input[name="group[]"]');e&&e.forEach(function(e){if(!e.disabled){e.checked=!1,e.classList.remove(r.settings.classes.onGroupSplitSelection);var o=e.parentElement.querySelectorAll('input[name="cookie[]"]');let t=[];o&&(o.forEach(function(e){e.disabled||t.push(!!e.checked)}),-1===t.indexOf(!1)?e.checked=!0:-1!==t.indexOf(!0)&&-1!==t.indexOf(!1)&&e.classList.add(r.settings.classes.onGroupSplitSelection))}})}}function f(t){r.settings.blocking&&r.dom?.parentElement.querySelectorAll(":scope >:not(script):not(.contao-cookiebar)")?.forEach(e=>{t?e.setAttribute("inert",""):e.removeAttribute("inert")}),r.settings.focusTrap&&(t?(document.addEventListener("keydown",E),r.dom.querySelector(".cc-inner").onanimationend=()=>{r.focused=!1,r.firstFocus?.classList.add("cc-hide-focus"),r.firstFocus?.focus({preventScroll:!0})}):document.removeEventListener("keydown",E))}function o(){r.show?(r.dom.classList.remove(r.settings.classes.onSave),r.dom.classList.add(r.settings.classes.onShow),f(!0)):(r.dom.classList.remove(r.settings.classes.onShow),f(!1))}function p(){var e,t;r.settings.consentLog&&(e=new XMLHttpRequest,t={referrer:window.location.pathname,configId:r.settings.configId,pageId:r.settings.pageId,cookies:N().cookies},e.open("GET","/cookiebar/log?"+I(t),!0),e.send())}const g=function(e){let t=[];e=e.currentTarget;let o=0;e.hasAttribute("data-accept-all")?o=1:e.hasAttribute("data-deny-all")&&(o=2),f(!1),r.inputs.forEac
2239h(function(e){2===o?e.checked=!1:1!==o&&!e.checked||(t.push(parseInt(e.value)),e.checked=!0)}),O({configId:r.settings.configId,pageId:r.settings.pageId,version:r.settings.version,saved:T(),cookies:t}),n(t,!0),s(),a(),p(),t.length&&t.forEach(function(e){r.settings.cookies.hasOwnProperty("_"+e)&&"iframe"===r.settings.cookies["_"+e].type&&d(e),r.modules.hasOwnProperty("_"+e)&&l(e)}),r.dom.classList.add(r.settings.classes.onSave);e=new CustomEvent("cookiebar_save",{detail:{cookiebar:r}});window.dispatchEvent(e),u(!0)},h=function(e){e.script=function(e){let t=document.createElement("script");return t.type="text/javascript",t.innerHTML=e,t}(e.script);var t=e.script;switch(e.position){case 1:document.body.append(t);break;case 2:document.body.prepend(t);break;case 3:document.head.append(t)}},m=function(e){try{var t=document.querySelectorAll("script[src]"),o=function(e){let t=e.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);return t&&t[1]}(e.src);for(let e=t.length;e--;)if(-1!==t[e].src.indexOf(o)&&o!==window.location.host)return!1}catch(e){}let n=document.createElement("script");n.type="text/javascript",n.src=e.src,n.onload=()=>{r.loadedResources.push(e.src),r.resourcesEvents.length&&r.resourcesEvents.forEach(function(e,t){if(-1===r.loadedResources.indexOf(e.src))return!1;e.callback(),delete r.resourcesEvents[t]})},null!==e.flags&&e.flags.length&&e.flags.forEach(function(e){"object"==typeof e?n.setAttribute(e[0],e[1]):n[e]=!0}),document.head.append(n)},k=function(e){let t=!1,o;for(o in e)if(r.settings.cookies.hasOwnProperty(o))if(r.settings.cookies[o].confirmed){t=!0;break}return t},v=function(e,t){return r.cache[t]||(r.cache[t]=[]),-1!==r.cache[t].indexOf(e)||(r.cache[t].push(e),!1)},b=function(e,t){return e.id+""+t},y=function(t){t.addEventListener("click",function(e){e.preventDefault(),c.show(t.classList.contains("ccb-prefill"))})},E=function(e){"Tab"!==e.key&&9!==e.keyCode||(r.focused||(r.focused=!0,r.firstFocus?.classList.remove("cc-hide-focus")),document.activeElement!==r.lastFocus||e.shiftKey||(e.preventDefault(),r.firstFocus?.focus()),document.activeElement===r.firstFocus&&e.shiftKey&&(e.preventDefault(),r.lastFocus?.focus()),document.activeElement!==r.toggleOpener)||function(e){for(;e;){if("none"===window.getComputedStyle(e).display)return!1;e=e.parentElement}return!0}(r.lastFocus)||"false"!==r.toggleOpener.ariaExpanded||e.shiftKey||(e.preventDefault(),r.firstFocus?.focus())},w=function(){let o=this.checked;var e=this.parentElement.querySelectorAll('input[name="cookie[]"]');e&&e.forEach(function(e,t){e.disabled||(e.checked=o)}),this.classList.remove(r.settings.classes.onGroupSplitSelection)},S=function(){let o=!this.classList.contains(r.settings.classes.onGroupToggle);this.setAttribute("aria-expanded",o?"true":"false");try{var e=this.parentElement.querySelectorAll(":scope > .toggle-group");e&&e.forEach(function(e,t){e.style.display=o?"block":"none"})}catch(e){this.parentElement.querySelector("[data-toggle-group] ~ .toggle-group").style.display=o?"block":"none"}this.classList.toggle(r.settings.classes.onGroupToggle)};function O(e){localStorage.setItem(A(),JSON.stringify(e))}const I=function(e,t){let o=[],n;for(n in e){var s,c;e.hasOwnProperty(n)&&(s=t?t+"["+n+"]":n,c=e[n],o.push(null!==c&&"object"==typeof c?I(c,s):encodeURIComponent(s)+"="+encodeURIComponent(c)))}return o.join("&")},L=function(){let e={},t=!1,o=0;var n=arguments.length;for("[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(t=arguments[0],o++);o<n;o++){var s,c=arguments[o],i=(s=void 0,c);for(s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t&&"[object Object]"===Object.prototype.toString.call(i[s])?e[s]=L(!0,e[s],i[s]):e[s]=i[s])}return e},A=function(){return r.settings.token+"_"+r.settings.configId},N=function(){let e=localStorage.getItem(A());return null===e?(e={configId:r.settings.configId,pageId:r.settings.pageId,version:-1,saved:-1,cookies:[]},localStorage.setItem(A(),JSON.stringify(e))):e=JSON.parse(e),e},T=function(){return Math.floor(+new Date/1e3)};function x(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var o=document.createEvent("CustomEvent");return o.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),o}c.get=function(){return r},c.getStorage=function(){return N()},c.issetCookie=function(e){let t;var o=N();if(!o.cookies)return!1;if("number"==typeof e)return-1!==o.cookies.indexOf(e);for(t in r.settings.cookies)if(null!==r.settings.cookies[t].token&&-1!==r.settings.cookies[t].token.indexOf(e))return-1!==o.cookies.indexOf(r.settings.cookies[t].id);return-1!==o.cookies.indexOf(e.toString())},c.unblock=function(e,t,o){"iframe"===e.tagName.toLowerCase()?e.src=o:e.tagName.toLowerCase()&&(window.location.href=o),i(t),d(t)},c.addModule=function(t,o,n){var s;if(s=t,o=o,r.modules.hasOwnProperty("_"+s)?r.modules["_"+s].push(o):r.modules["_"+s]=[o],c.issetCookie(t))return l(t),!1;if(n&&"object"==typeof n&&n.selector){let e=null;(e="string"==typeof n.selector?document.querySelector(n.selector):n.selector)&&((s=document.createElement("div")).setAttribute("data-ccb-id",t),s.classList.add("cc-module"),n.message&&(s.innerHTML="<p>"+n.message+"</p>"),"object"==typeof n.button&&!0===n.button.show&&((o=document.createElement("button")).innerHTML=n.button.text||r.settings.texts.acceptAndDisplay,o.type=n.button.type||"button",n.button.classes&&(o.className=n.button.classes),o.addEventListener("click",function(){i(t),l(t)}),s.append(o)),e.appendChild(s))}},c.onResourceLoaded=function(e,t){var o;return r.settings.cookies.hasOwnProperty(e)?r.settings.cookies[e].resources.length?(o=r.settings.cookies[e].resources[0].src,void(-1!==r.loadedResources.indexOf(o)?t():r.resourcesEvents.push({src:o,callback:t}))):(console.warn(`The cookie ID ${e} does not contain any resources.`),!1):(console.warn(`Cookie ID ${e} does not exists.`),!1)},c.show=function(e){r.show=!0,o(),e&&u()},c.hide=function(){r.show=!1,o()},window.document.documentMode&&(window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),[Element.prototype,Document.prototype,DocumentFragment.prototype].forEach(function(e){e.hasOwnProperty("append")||Object.defineProperty(e,"append",{configurable:!0,enumerable:!0,writable:!0,value:function(){var e=Array.prototype.slice.call(arguments),o=document.createDocumentFragment();e.forEach(function(e){var t=e instanceof Node;o.appendChild(t?e:document.createTextNode(String(e)))}),this.appendChild(o)}})}),[Element.prototype,Document.prototype,DocumentFragment.prototype].forEach(function(e){e.hasOwnProperty("prepend")||Object.defineProperty(e,"prepend",{configurable:!0,enumerable:!0,writable:!0,value:function(){var e=Array.prototype.slice.call(arguments),o=document.createDocumentFragment();e.forEach(function(e){var t=e instanceof Node;o.appendChild(t?e:document.createTextNode(String(e)))}),this.insertBefore(o,this.firstChild)}})}),"function"!=typeof window.CustomEvent)&&(x.prototype=window.Event.prototype,window.CustomEvent=x),r.settings=L(!0,t,e),r.dom=document.querySelector(r.settings.selector),r.cache={},r.modules={},r.loadedResources=[],r.resourcesEvents=[],r.show=!1;var e=N(),C=(r.settings.hideOnInit||parseInt(e.version)===parseInt(r.settings.version)&&parseInt(e.configId)===parseInt(r.settings.configId)&&!function(e){let t=parseInt(e),o=parseInt(r.settings.lifetime);if(isNaN(t)||t===-1||o===0)return false;return t+o<T()}(e.saved)||r.settings.doNotTrack&&(window.doNotTrack||navigator.doNotTrack||navigator.msDoNotTrack)&&("1"==window.doNotTrack||"yes"==navigator.doNotTrack||"1"==navigator.doNotTrack||"1"==navigator.msDoNotTrack)||r.settings.currentPageId&&r.settings.excludedPageIds&&-1!==r.settings.excludedPageIds.indexOf(r.settings.currentPageId)||(r.show=!0),r.inputs=[],r.dom.querySelectorAll('input[name="cookie[]"]').forEach(function(e,t){e.disabled||r.inputs.push(e)}),r.dom.querySelectorAll("[data-toggle-cookies]")),q=r.dom.querySelectorAll("[data-toggle-group]"),P=r.dom.querySelectorAll("[data-save],[data-accept-all],[data-deny-all]"),P=(P.length&&P.forEach(function(e){e.addEventListener("click",g)}
2239),C.length&&C.forEach(function(e){e.addEventListener("click",w)}),q.length&&q.forEach(function(e){e.addEventListener("click",S)}),document.querySelectorAll("a.ccb-trigger, strong.ccb-trigger").forEach(function(e){y(e)}),new MutationObserver(function(e){for(const t of e)"childList"===t.type&&t.addedNodes.forEach(function(e){e.matches&&e.matches("a.ccb-trigger, strong.ccb-trigger")&&y(e)})}).observe(document,{attributes:!1,childList:!0,subtree:!0}),r.settings.focusTrap&&(_=r.dom.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), input[type="checkbox"]:not([disabled])'),r.toggleOpener=r.dom.querySelector("[data-ft-opener]"),r.firstFocus=_[0],r.lastFocus=_[_.length-1]),r.settings.blocking&&new MutationObserver(e=>{for(const t of e)"childList"===t.type&&0<t.addedNodes.length&&t.addedNodes.forEach(e=>{!r.show||e.nodeType!==Node.ELEMENT_NODE||e.classList.contains(".contao-cookiebar")||e.hasAttribute("inert")||e.setAttribute("inert","")})}).observe(r.dom,{childList:!0,subtree:!1}),Object.entries(r.settings.cookies??{}).sort(([,e],[,t])=>t.priority-e.priority)),_=(r.settings.cookies=Array.from(P).reduce((e,[t,o])=>Object.assign(e,{["_"+t]:o}),{}),n(e.cookies),o(),s(),a(),u(),new CustomEvent("cookiebar_init",{detail:{visibility:r.show,cookiebar:r}}));return window.dispatchEvent(_),c}}();
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.