1// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/jquery.min.js
vendor: 89,476 bytes, lines 2-3
2/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ 3!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(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.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:u,sort:t.sort,splice:t.splice},S.extend=S.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||m(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&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+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]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(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},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},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(p(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:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=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))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(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&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(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&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(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 ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);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&&E){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=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,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(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===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]||se.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]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(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(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(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=se.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(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(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:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?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=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!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 J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(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]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(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 Te(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 Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(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=[be(we(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 Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[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?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(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=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=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]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(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&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.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(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.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 S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.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&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.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){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.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},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.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 S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(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,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.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=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(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},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(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[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(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(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.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&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.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=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.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=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.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 ue={};function le(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]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={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 ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(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"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.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<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(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)ke(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=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.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),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.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)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.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=S.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=((S.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<S(i,this).index(l):S.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(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(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[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,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&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.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:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(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=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(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=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.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 Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(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&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(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&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=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},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(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%",re.appendChild(u).appendChild(l);var e=C.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),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{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=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[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}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!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,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.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=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.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=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.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):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.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=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),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:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.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=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.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=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(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),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.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&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._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--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.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]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.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=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(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?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.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=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.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));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.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})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.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=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(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(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.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=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.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)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.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||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.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]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(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)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.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 $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,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":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),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=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.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=Ht.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||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.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]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(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=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.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&&C.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<S.inArray("script",v.dataTypes)&&(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"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.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]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(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 m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!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(_t[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&&C.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()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.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 S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<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)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.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),m(t)&&(t=t.call(e,n,S.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):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.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"===S.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"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(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)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(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?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.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.mouseenter(e).mouseleave(t||e)}}),S.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){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
4// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/jquery-ui.min.js
vendor: 66,595 bytes, lines 5-12
5/*! jQuery UI - v1.12.1 - 2016-09-14 6* http://jqueryui.com 7* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js 8* Copyright jQuery Foundation and other contributors; Licensed MIT */ 9 10(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(m.inline?m.dpDiv.parent()[0]:m.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.1";var h=0,l=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=l.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=l.call(arguments,1),r=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):r=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),I=e(k.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=I[0],D.top+=I[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+I[0],u[1]+I[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-l,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}});var c="ui-effects-",u="ui-effects-style",d="ui-effects-animated",p=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(p),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(d)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(c+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(c+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(u,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(u)||"",t.removeData(u)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(c+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=c+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(d),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(h)&&h.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[l](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===l:"show"===l)?(r[l](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",h=s.complete,l=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||o;i.data(d,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?l?this[l](s.duration,h):this.each(function(){h&&h.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n) 11}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var f=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,h=r||"horizontal"===a,l=r||"vertical"===a;s=o.cssClip(),n.clip={top:l?(s.bottom-s.top)/2:s.top,right:h?(s.right-s.left)/2:s.right,bottom:l?(s.bottom-s.top)/2:s.bottom,left:h?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",h="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,l=a-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?l*_:0),top:h+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:l*_),top:h+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var f;t.uiBackCompat!==!1&&(f=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)})),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,.\/:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t("<span>"),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=h?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()<e.index()),c=this.options.animate||{},u=l&&c.down||c,d=function(){a._toggleComplete(i)};return"number"==typeof u&&(o=u),"string"==typeof u&&(n=u),n=n||u.easing||c.easing,o=o||u.duration||c.duration,e.length?t.length?(s=t.show().outerHeight(),e.animate(this.hideProps,{duration:o,easing:n,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(this.showProps,{duration:o,easing:n,complete:d,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==a.options.heightStyle&&(i.now=Math.round(s-e.outerHeight()-r),r=0)}}),void 0):e.animate(this.hideProps,o,n,d):t.animate(this.showProps,o,n,d)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,h=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=h.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=h.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n; 12this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value(
vendor: 4,123 bytes, line 12
12)},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))}
vendor: 31,520 bytes, lines 12-13
12,_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var g=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(h[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(g,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t("<span>"),this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,e=this._super()||{};return this.isInput=this.element.is("input"),t=this.element[0].disabled,null!=t&&(e.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(e.label=this.originalLabel),e},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(e){e.keyCode===t.ui.keyCode.SPACE&&(e.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(e,i){var s="iconPosition"!==e,n=s?this.options.iconPosition:i,o="top"===n||"bottom"===n;this.icon?s&&this._removeClass(this.icon,null,this.options.icon):(this.icon=t("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),s&&this._addClass(this.icon,null,i),this._attachIcon(n),o?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(n))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var e=void 0===t.showLabel?this.options.showLabel:t.showLabel,i=void 0===t.icon?this.options.icon:t.icon;e||i||(t.showLabel=!0),this._super(t)},_setOption:function(t,e){"icon"===t&&(e?this._updateIcon(t,e):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===t&&this._updateIcon(t,e),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!e),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(e):(this.element.html(e),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,e),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",e),this.element[0].disabled=e,e&&this.element.blur())},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),t.uiBackCompat!==!1&&(t.widget("ui.button",t.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,e){return"text"===t?(this._super("showLabel",e),void 0):("showLabel"===t&&(this.options.text=e),"icon"===t&&(this.options.icons.primary=e),"icons"===t&&(e.primary?(this._super("icon",e.primary),this._super("iconPosition","beginning")):e.secondary&&(this._super("icon",e.secondary),this._super("iconPosition","end"))),this._superApply(arguments),void 0)}}),t.fn.button=function(e){return function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?e.apply(this,arguments):(t.ui.checkboxradio||t.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}}(t.fn.button),t.fn.buttonset=function(){return t.ui.controlgroup||t.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),t.ui.button,t.extend(t.ui,{datepicker:{version:"1.12.1"}});var m;t.extend(s.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return a(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var s=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?n(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var r,h,l,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),a(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+c,l/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),m===n&&(m=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,o,r,h,l=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):l?"all"===i?t.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),o=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),a(l.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,r)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),l),this._autoSize(l),this._setDate(l,o),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var s,n,o,r,h,l,c;s=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),o=n?n.apply(e,[e,s]):{},o!==!1&&(a(s.settings,o),s.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),h={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),h=t.datepicker._checkOffset(s,h,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),s.inline||(l=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",i(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[l]?s.dpDiv.show(l,t.datepicker._get(s,"showOptions"),c):s.dpDiv[l||"show"](l?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s)) 13}},_updateDatepicker:function(e){this.maxRows=4,m=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[
vendor: 6,249 bytes, line 13
13i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(h).match(o);if(!a)throw"Missing number at position "+h;return h+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],h+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+h},x=function(){if(i.charAt(h)!==e.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>h&&(a=i.substr(h),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null}
vendor: 24,689 bytes, lines 13-14
13,_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,L,R=new Date,B=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&Q>e?Q:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":q?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":q?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",T="",X){if(T+="<div class='ui-datepicker-group",U[1]>1)switch(C){case 0:T+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left");break;case U[1]-1:T+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:T+=" ui-datepicker-group-middle",I=""}T+="'>"}for(T+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+I+"'>"+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,Q,J,k>0||C>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",P=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)M=(w+c)%7,P+="<th scope='col'"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[M]+"'>"+p[M]+"</span></th>";for(T+=P+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(te,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=X?this.maxRows>z?this.maxRows:z:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(te,Z,1-H)),N=0;O>N;N++){for(T+="<tr>",W=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(A)+"</td>":"",w=0;7>w;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],F=A.getMonth()!==Z,L=F&&!v||!E[0]||Q&&Q>A||J&&A>J,W+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(A.getTime()===D.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===A.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!_?"":" "+E[1]+(A.getTime()===G.getTime()?" "+this._currentClass:"")+(A.getTime()===B.getTime()?" ui-datepicker-today":""))+"'"+(F&&!_||!E[2]?"":" title='"+E[2].replace(/'/g,"'")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+A.getMonth()+"' data-year='"+A.getFullYear()+"'")+">"+(F&&!_?" ":L?"<span class='ui-state-default'>"+A.getDate()+"</span>":"<a class='ui-state-default"+(A.getTime()===B.getTime()?" ui-state-highlight":"")+(A.getTime()===G.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+A.getDate()+"</a>")+"</td>",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+"</tr>"}Z++,Z>11&&(Z=0,te++),T+="</tbody></table>"+(X?"</div>"+(U[0]>0&&C===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=T}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var _=!1;t(document).on("mouseup",function(){_=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!_){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),_=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,_=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blurActiveElement(e),this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())} 14},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>
vendor: 4,136 bytes, line 14
14i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}
vendor: 8,104 bytes, line 14
14),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY<n.scrollSensitivity?a.scrollTop=o=a.scrollTop+n.scrollSpeed:e.pageY-s.overflowOffset.top<n.scrollSensitivity&&(a.scrollTop=o=a.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+a.offsetWidth-e.pageX<n.scrollSensitivity?a.scrollLeft=o=a.scrollLeft+n.scrollSpeed:e.pageX-s.overflowOffset.left<n.scrollSensitivity&&(a.scrollLeft=o=a.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(e.pageY-t(r).scrollTop()<n.scrollSensitivity?o=t(r).scrollTop(t(r).scrollTop()-n.scrollSpeed):t(window).height()-(e.pageY-t(r).scrollTop())<n.scrollSensitivity&&(o=t(r).scrollTop(t(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(e.pageX-t(r).scrollLeft()<n.scrollSensitivity?o=t(r).scrollLeft(t(r).scrollLeft()-n.scrollSpeed):t(window).width()-(e.pageX-t(r).scrollLeft())<n.scrollSensitivity&&(o=t(r).scrollLeft(t(r).scrollLeft()+n.scrollSpeed)))),o!==!1&&t.ui.ddmanager&&!n.dropBehaviour&&t.ui.ddmanager.prepareOffsets(s,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,i,s){var n=s.options;s.snapElements=[],t(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var e=t(this),i=e.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:i.top,left:i.left})})},drag:function(e,i,s){var n,o,a,r,h,l,c,u,d,p,f=s.options,g=f.snapTolerance,m=i.offset.left,_=m+s.helperProportions.width,v=i.offset.top,b=v+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)h=s.snapElements[d].left-s.margins.left,l=h+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,h-g>_||m>l+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(h-_),r=g>=Math.abs(l-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(h-m),r=g>=Math.abs(l-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n
vendor: 12,186 bytes, line 14
14/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left
vendor: 27,543 bytes, lines 14-15
14:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog 15},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]),i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),void 0;if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("<button type='button'></button>").button({label:t("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this._removeClass(this.uiDialog,"ui-dialog-buttons"),void 0):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("<button></button>",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){var a=o.offset.left-i.document.scrollLeft(),r=o.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" "+"top"+(r>=0?"+":"")+r,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){var a=i.uiDialog.offset(),r=a.left-i.document.scrollLeft(),h=a.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("<a>").text(""+this.options.closeText).html()}),"draggable"===e&&(s=o.is(":data(ui-draggable)"),s&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(n=o.is(":data(ui-resizable)"),n&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||i===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],void 0):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;t.length>e;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var e=t.ui.ddmanager.droppables[this.options.scope];this._splice(e)},_setOption:function(e,i){if("accept"===e)this.accept=t.isFunction(i)?i:function(t){return t.is(i)};else if("scope"===e){var s=t.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(e,i)},_activate:function(e){var i=t.ui.ddmanager.current;this._addActiveClass(),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this._removeActiveClass(),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=t(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&v(s,t.extend(i,{offset:i.element.offset()}),i.options.tolerance,e)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var v=t.ui.intersect=function(){function t(t,e,i){return t>=e&&e+i>t}return function(e,i,s,n){if(!i.offset)return!1;var o=(e.positionAbs||e.position.absolute).left+e.margins.left,a=(e.positionAbs||e.position.absolute).top+e.margins.top,r=o+e.helperProportions.width,h=a+e.helperProportions.height,l=i.offset.left,c=i.offset.top,u=l+i.proportions().width,d=c+i.proportions().height;switch(s){case"fit":return o>=l&&u>=r&&a>=c&&d>=h;case"intersect":return o+e.helperProportions.width/2>l&&u>r-e.helperProportions.width/2&&a+e.helperProportions.height/2>c&&d>h-e.helperProportions.height/2;case"pointer":return t(n.pageY,c,i.proportions().height)&&t(n.pageX,l,i.proportions().width);case"touch":return(a>=c&&d>=a||h>=c&&d>=h||c>a&&h>d)&&(o>=l&&u>=o||r>=l&&u>=r||l>o&&r>u);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions().height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions({width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&v(e,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").on("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=v(e,this,this.options.tolerance,i),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options.scope===n}),o.length&&(s=t(o[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").off("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}},t.uiBackCompat!==!1&&t.widget("ui.droppable",t.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),t.ui.droppable,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||o>c.right||c.top>h||a>c.bottom):"fit"===n.tolerance&&(l=c.left>o&&r>c.right&&c.top>a&&h>c.bottom),l?(i.selected&&(s._removeClass(i.$element,"ui-selected"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui-unselecting"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,s._addClass(i.$element,"ui-selected"),i.selected=!0):(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui-selected"),i.selected=!1,s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-selecting")._addClass(s.$element,"ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),t.widget("ui.selectmenu",[t.ui.formResetMixin,{version:"1.12.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"}
vendor: 4,710 bytes, line 15
15,width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("<span>").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),this.options.width!==!1&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("<span>");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,function(i,o){var a;o.optgroup!==n&&(a=t("<li>",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("<li>"),n=t("<div>",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0),s.length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")}
vendor: 15,052 bytes, lines 15-16
15,_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?(t=window.getSelection(),t.removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection(),t.rangeCount&&(this.range=t.getRangeAt(0))):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;return t===!1?(this.button.css("width",""),void 0):(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t),void 0)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each(function(e,n){s.push(i._parseOption(t(n),e))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1 16},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),h=o.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-o.width()/2,top:e.pageY-h.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null}
vendor: 5,429 bytes, line 16
16,_isOverAxis:function(t,e,i){return t>=e&&e+i>t},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var e=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),t.each(this.items,function(){e._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):void 0}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-this.document.scrollTop()<a.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-a.scrollSpeed):this.window.height()-(e.pageY-this.document.scrollTop())<a.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+a.scrollSpeed)),e.pageX-this.document.scrollLeft()<a.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-a.scrollSpeed):this.window.width()-(e.pageX-this.document.scrollLeft())<a.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if
vendor: 4,213 bytes, line 16
16(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var e,i,s="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),o=s&&n;return o?(e=this._getDragVerticalDirection(),i=this._getDragHorizontalDirection(),this.floating?"right"===i||"down"===e?2:1:e&&("down"===e?2:1)):!1},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;
vendor: 2,278 bytes, line 16
16return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s],this.document[0]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i],this.document[0]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);
vendor: 1,142 bytes, line 16
16if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("<tr>",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHe
vendor: 5,526 bytes, line 16
16ight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t("<td> </td>",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,c=d.floating||this._isFloating(this.currentItem),a=c?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(e[u]-h)&&(n=Math.abs(e[u]-h),o=this.items[s],this.direction=l?"up":"down"));if(!o&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;o?this._rearrange(e,o,null,!0):this._rearrange(e,null,this.containers[p].element,!0),this._trigger("change",e,this._uiHash()),this.containers[p]._trigger("change",e,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),
vendor: 6,309 bytes, lines 16-17
1610)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter; 17this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}}),t.widget("ui.spinner",{version:"1.12.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e}
vendor: 5,966 bytes, line 17
17,_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var e=this.element[0]===t.ui.safeActiveElement(this.document[0]);e||(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i,s,n;return"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i)),void 0):(("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(s=this.buttons.first().find(".ui-icon"),this._removeClass(s,null,this.options.icons.up),this._addClass(s,null,e.up),n=this.buttons.last().find(".ui-icon"),this._removeClass(n,null,this.options.icons.down),this._addClass(n,null,e.down)),this._super(t,e),void 0)},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:r(function(t){this._super(t)}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null===t?!1:t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:r(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:r(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:r(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(r(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}
vendor: 17,899 bytes, line 17
17),t.uiBackCompat!==!1&&t.widget("ui.spinner",t.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=h.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){l.of=t,a.is(":hidden")||a.position(l)}var o,a,r,h,l=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),h=t("<div>").html(a.find(".ui-tooltip-content").html()),h.removeAttr("name").find("[name]").removeAttr("name"),h.removeAttr("id").find("[id]").removeAttr("id"),h.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(l.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("<div>").attr("role","tooltip"),s=t("<div>").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip});
vendor: 2,253 bytes, lines 17-31
17 18// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../../../../wp-includes/js/jquery/ui/core.min.js 19/*! jQuery UI - v1.14.2 - 2026-07-15 20* https://jqueryui.com 21* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js 22* Copyright OpenJS Foundation and other contributors; Licensed MIT */ 23!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";x.ui=x.ui||{};x.ui.version="1.14.2"; 24/*! 25 * jQuery UI Widget 1.14.2 26 * https://jqueryui.com 27 * 28 * Copyright OpenJS Foundation and other contributors 29 * Released under the MIT license. 30 * https://jquery.org/license 31 */var o,n,W,C,s,r,l,a,h,i,f=0,c=Array.prototype.hasOwnProperty,u=Array.prototype.slice;x.cleanData=(o=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");o(t)}),x.widget=function(t,i,e){var n,o,s,r,l={},a=t.split(".")[0];return"__proto__"===(t=t.split(".")[1])||"constructor"===t?x.error("Invalid widget name: "+t):(r=a+"-"+t,e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[r.toLowerCase()]=function(t){return!!x.data(t,r)},x[a]=x[a]||{},n=x[a][t],o=x[a][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}l[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},l,{constructor:o,namespace:a,widgetName:t,widgetFullName:r}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o)}
vendor: 47,700 bytes, lines 31-99
31,x.widget.extend=function(t){for(var e,i,n=u.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],c.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=u.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=f++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=r.classesElementLookup[t[n]]||x(),i=o.add?(function(){var i=[];o.element.each(function(t,e){x.map(r.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),r._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(o.element.get())))):x(i.not(o.element).get()),r.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=x.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;x.each(n.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(n.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,e={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return e.element.toggleClass(this._classes(e),n),this},_on:function(o,s,t){var r,l=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=r=x(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,r=this.widget()),x.each(t,function(t,e){function i(){if(o||!0!==l.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?l[e]:e).apply(l,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),n=t[1]+l.eventNamespace,t=t[2];t?r.on(n,t,i):s.on(n,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(s,r){x.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||r:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&x.effects&&x.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){x(this)[s](),i&&i.call(e[0]),t()})}}),x.widget;function E(t,e,i){return[parseFloat(t[0])*(h.test(t[0])?e/100:1),parseFloat(t[1])*(h.test(t[1])?i/100:1)]}function P(t,e){return parseInt(x.css(t,e),10)||0}function H(t){return null!=t&&t===t.window} 32/*! 33 * jQuery UI Position 1.14.2 34 * https://jqueryui.com 35 * 36 * Copyright OpenJS Foundation and other contributors 37 * Released under the MIT license. 38 * https://jquery.org/license 39 * 40 * https://api.jqueryui.com/position/ 41 */ 42W=Math.max,C=Math.abs,s=/left|center|right/,r=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,a=/^\w+/,h=/%$/,i=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==n?n:(i=(e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=H(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(c){var u,d,p,g,m,v,w,y,b,_,t,e;return c&&c.of?(v="string"==typeof(c=x.extend({},c)).of?x(document).find(c.of):x(c.of),w=x.position.getWithinInfo(c.within),y=x.position.getScrollInfo(w),b=(c.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:H(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},v[0].preventDefault&&(c.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(c[this]||"").split(" ");(i=1===i.length?s.test(i[0])?i.concat(["center"]):r.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=s.test(i[0])?i[0]:"center",i[1]=r.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],c[this]=[a.exec(i[0])[0],a.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===c.at[0]?m.left+=d:"center"===c.at[0]&&(m.left+=d/2),"bottom"===c.at[1]?m.top+=p:"center"===c.at[1]&&(m.top+=p/2),u=E(_.at,d,p),m.left+=u[0],m.top+=u[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=P(this,"marginLeft"),n=P(this,"marginTop"),o=l+e+P(this,"marginRight")+y.width,s=a+n+P(this,"marginBottom")+y.height,h=x.extend({},m),f=E(_.my,r.outerWidth(),r.outerHeight());"right"===c.my[0]?h.left-=l:"center"===c.my[0]&&(h.left-=l/2),"bottom"===c.my[1]?h.top-=a:"center"===c.my[1]&&(h.top-=a/2),h.left+=f[0],h.top+=f[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[u[0]+f[0],u[1]+f[1]],my:c.my,at:c.at,within:w,elem:r})}),c.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",c.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})):i.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;n<e.collisionWidth?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;o<e.collisionHeight?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+h+e.collisionHeight-o-n)<0||o<C(r))&&(t.top+=l+a+h):0<s&&(0<(n=t.top-e.collisionPosition.marginTop+l+a+h-i)||C(n)<s)&&(t.top+=l+a+h)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}};var t,e; 43/*! 44 * jQuery UI :data 1.14.2 45 * https://jqueryui.com 46 * 47 * Copyright OpenJS Foundation and other contributors 48 * Released under the MIT license. 49 * https://jquery.org/license 50 */x.ui.position,x.extend(x.expr.pseudos,{data:x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}})}),x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}), 51/*! 52 * jQuery UI Focusable 1.14.2 53 * https://jqueryui.com 54 * 55 * Copyright OpenJS Foundation and other contributors 56 * Released under the MIT license. 57 * https://jquery.org/license 58 */ 59x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&"visible"===x(t).css("visibility"))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.ui.focusable,x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=x(this.element.prop("form")),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}}, 60/*! 61 * jQuery UI Legacy jQuery Core patches 1.14.2 62 * https://jqueryui.com 63 * 64 * Copyright OpenJS Foundation and other contributors 65 * Released under the MIT license. 66 * https://jquery.org/license 67 * 68 */ 69x.escapeSelector||(x.escapeSelector=function(t){return CSS.escape(t+"")}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+CSS.escape(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),x.fn.extend({uniqueId:(e=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}});x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}}}); 70// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../../../../wp-includes/js/jquery/ui/mouse.min.js 71/*! 72 * jQuery UI Mouse 1.14.2 73 * https://jqueryui.com 74 * 75 * Copyright OpenJS Foundation and other contributors 76 * Released under the MIT license. 77 * https://jquery.org/license 78 */ 79!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","../version","../widget"],e):e(jQuery)}(function(o){"use strict";var n=!1;return o(document).on("mouseup",function(){n=!1}),o.widget("ui.mouse",{version:"1.14.2",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).on("click."+this.widgetName,function(e){if(!0===o.data(e.target,t.widgetName+".preventClickEvent"))return o.removeData(e.target,t.widgetName+".preventClickEvent"),e.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){var t,s,i;if(!n)return this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),s=1===(this._mouseDownEvent=e).which,i="string"==typeof(t=this).options.cancel&&o(e.target).closest(this.options.cancel).length,s&&!i&&this._mouseCapture(e)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){t.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?e.preventDefault():(!0===o.data(e.target,this.widgetName+".preventClickEvent")&&o.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return t._mouseMove(e)},this._mouseUpDelegate=function(e){return t._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0)),!0},_mouseMove:function(e){if(this._mouseMoved&&!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e);return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&o.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}); 80// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../../../../wp-includes/js/jquery/ui/draggable.min.js 81/*! 82 * jQuery UI Draggable 1.14.2 83 * https://jqueryui.com 84 * 85 * Copyright OpenJS Foundation and other contributors 86 * Released under the MIT license. 87 * https://jquery.org/license 88 */ 89!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../data","../plugin","../scroll-parent","../version","../widget"],t):t(jQuery)}(function(P){"use strict";return P.widget("ui.draggable",P.ui.mouse,{version:"1.14.2",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(t){var e=this.options;return!(this.helper||e.disabled||0<P(t.target).closest(".ui-resizable-handle").length||(this.handle=this._getHandle(t),!this.handle)||(this._blurActiveElement(t),this._blockFrames(!0===e.iframeFix?"iframe":e.iframeFix),0))},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=P(this);return P("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var e=this.document[0].activeElement;P(t.target).closest(e).length||P(e).trigger("blur")},_mouseStart:function(t){var e=this.options;return this.helper=this._createHelper(t),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),P.ui.ddmanager&&(P.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=0<this.helper.parents().filter(function(){return"fixed"===P(this).css("position")}).length,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this._setContainment(),!1===this._trigger("start",t)?(this._clear(),!1):(this._cacheHelperProportions(),P.ui.ddmanager&&!e.dropBehaviour&&P.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),P.ui.ddmanager&&P.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(t,e){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!e){e=this._uiHash();if(!1===this._trigger("drag",t,e))return this._mouseUp(new P.Event("mouseup",t)),!1;this.position=e.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",P.ui.ddmanager&&P.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var e=this,s=!1;return P.ui.ddmanager&&!this.options.dropBehaviour&&(s=P.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,s)?P(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==e._trigger("stop",t)&&e._clear()}):!1!==this._trigger("stop",t)&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),P.ui.ddmanager&&P.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.trigger("focus"),P.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new P.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(t){return!this.options.handle||!!P(t.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(t){var e=this.options,s="function"==typeof e.helper,t=s?P(e.helper.apply(this.element[0],[t])):"clone"===e.helper?this.element.clone().removeAttr("id"):this.element;return t.parents("body").length||t.appendTo("parent"===e.appendTo?this.element[0].parentNode:e.appendTo),s&&t[0]===this.element[0]&&this._setPositionRelative(),t[0]===this.element[0]||/(fixed|absolute)/.test(t.css("position"))||t.css("position","absolute"),t},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),"left"in(t=Array.isArray(t)?{left:+t[0],top:+t[1]||0}:t)&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),e=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==e&&P.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this._isRootNode(this.offsetParent[0])?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){var t,e;return"relative"!==this.cssPosition?{top:0,left:0}:(t=this.element.position(),e=this._isRootNode(this.scrollParent[0]),{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())})},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,e=this.options,s=this.document[0];this.relativeContainer=null,e.containment?"window"===e.containment?this.containment=[P(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,P(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,P(window).scrollLeft()+P(window).width()-this.helperProportions.width-this.margins.left,P(window).scrollTop()+(P(window).height()||s.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:"document"===e.containment?this.containment=[0,0,P(s).width()-this.helperProportions.width-this.margins.left,(P(s).height()||s.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:e.containment.constructor===Array?this.containment=e.containment:("parent"===e.containment&&(e.containment=this.helper[0].parentNode),(e=(s=P(e.containment))[0])&&(t=/(scroll|auto)/.test(s.css("overflow")),this.containment=[(parseInt(s.css("borderLeftWidth"),10)||0)+(parseInt(s.css("paddingLeft"),10)||0),(parseInt(s.css("borderTopWidth"),10)||0)+(parseInt(s.css("paddingTop"),10)||0),(t?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(s.css("borderRightWidth"),10)||0)-(parseInt(s.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(s.css("borderBottomWidth"),10)||0)-(parseInt(s.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=s)):this.containment=null},_convertPositionTo:function(t,e){e=e||this.position;var t="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*t+this.offset.parent.top*t-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*t,left:e.left+this.offset.relative.left*t+this.offset.parent.left*t-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*t}},_generatePosition:function(t,e){var s,i=this.options,o=this._isRootNode(this.scrollParent[0]),n=t.pageX,r=t.pageY;return o&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),{top:(r=e&&(this.containment&&(s=this.relativeContainer?(e=this.relativeContainer.offset(),[this.containment[0]+e.left,this.containment[1]+e.top,this.containment[2]+e.left,this.containment[3]+e.top]):this.containment,t.pageX-this.offset.click.left<s[0]&&(n=s[0]+this.offset.click.left),t.pageY-this.offset.click.top<s[1]&&(r=s[1]+this.offset.click.top),t.pageX-this.offset.click.left>s[2]&&(n=s[2]+this.offset.click.left),t.pageY-this.offset.click.top>s[3])&&(r=s[3]+this.offset.click.top),i.grid&&(e=i.grid[1]?this.originalPageY+Math.round((r-this.originalPageY)/i.grid[1])*i.grid[1]:this.originalPageY,r=!s||e-this.offset.click.top>=s[1]||e-this.offset.click.top>s[3]?e:e-this.offset.click.top>=s[1]?e-i.grid[1]:e+i.grid[1],t=i.grid[0]?this.originalPageX+Math.round((n-this.originalPageX)/i.grid[0])*i.grid[0]:this.originalPageX,n=!s||t-this.offset.click.left>=s[0]||t-this.offset.click.left>s[2]?t:t-this.offset.click.left>=s[0]?t-i.grid[0]:t+i.grid[0]),"y"===i.axis&&(n=this.originalPageX),"x"===i.axis)?this.originalPageY:r)-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:o?0:this.offset.scroll.top),left:n-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:o?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(t,e,s){return s=s||this._uiHash(),P.ui.plugin.call(this,t,[e,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),P.Widget.prototype._trigger.call(this,t,e,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),P.ui.plugin.add("draggable","connectToSortable",{start:function(e,t,s){var i=P.extend({},t,{item:s.element});s.sortables=[],P(s.options.connectToSortable).each(function(){var t=P(this).sortable("instance");t&&!t.options.disabled&&(s.sortables.push(t),t.refreshPositions(),t._trigger("activate",e,i))})},stop:function(e,t,s){var i=P.extend({},t,{item:s.element});s.cancelHelperRemoval=!1,P.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,i))})},drag:function(s,i,o){P.each(o.sortables,function(){var t=!1,e=this;e.positionAbs=o.positionAbs,e.helperProportions=o.helperProportions,e.offset.click=o.offset.click,e._intersectsWith(e.containerCache)&&(t=!0,P.each(o.sortables,function(){return this.positionAbs=o.positionAbs,this.helperProportions=o.helperProportions,this.offset.click=o.offset.click,t=this!==e&&this._intersectsWith(this.containerCache)&&P.contains(e.element[0],this.element[0])?!1:t})),t?(e.isOver||(e.isOver=1,o._parent=i.helper.parent(),e.currentItem=i.helper.appendTo(e.element).data("ui-sortable-item",!0),e.options._helper=e.options.helper,e.options.helper=function(){return i.helper[0]},s.target=e.currentItem[0],e._mouseCapture(s,!0),e._mouseStart(s,!0,!0),e.offset.click.top=o.offset.click.top,e.offset.click.left=o.offset.click.left,e.offset.parent.left-=o.offset.parent.left-e.offset.parent.left,e.offset.parent.top-=o.offset.parent.top-e.offset.parent.top,o._trigger("toSortable",s),o.dropped=e.element,P.each(o.sortables,function(){this.refreshPositions()}),o.currentItem=o.element,e.fromOutside=o),e.currentItem&&(e._mouseDrag(s),i.position=e.position)):e.isOver&&(e.isOver=0,e.cancelHelperRemoval=!0,e.options._revert=e.options.revert,e.options.revert=!1,e._trigger("out",s,e._uiHash(e)),e._mouseStop(s,!0),e.options.revert=e.options._revert,e.options.helper=e.options._helper,e.placeholder&&e.placeholder.remove(),i.helper.appendTo(o._parent),o._refreshOffsets(s),i.position=o._generatePosition(s,!0),o._trigger("fromSortable",s),o.dropped=!1,P.each(o.sortables,function(){this.refreshPositions()}))})}}),P.ui.plugin.add("draggable","cursor",{start:function(t,e,s){var i=P("body"),s=s.options;i.css("cursor")&&(s._cursor=i.css("cursor")),i.css("cursor",s.cursor)},stop:function(t,e,s){s=s.options;s._cursor&&P("body").css("cursor",s._cursor)}}),P.ui.plugin.add("draggable","opacity",{start:function(t,e,s){e=P(e.helper),s=s.options;e.css("opacity")&&(s._opacity=e.css("opacity")),e.css("opacity",s.opacity)},stop:function(t,e,s){s=s.options;s._opacity&&P(e.helper).css("opacity",s._opacity)}}),P.ui.plugin.add("draggable","scroll",{start:function(t,e,s){s.scrollParentNotHidden||(s.scrollParentNotHidden=s.helper.scrollParent(!1)),s.scrollParentNotHidden[0]!==s.document[0]&&"HTML"!==s.scrollParentNotHidden[0].tagName&&(s.overflowOffset=s.scrollParentNotHidden.offset())},drag:function(t,e,s){var i=s.options,o=!1,n=s.scrollParentNotHidden[0],r=s.document[0];n!==r&&"HTML"!==n.tagName?(i.axis&&"x"===i.axis||(s.overflowOffset.top+n.offsetHeight-t.pageY<i.scrollSensitivity?n.scrollTop=o=n.scrollTop+i.scrollSpeed:t.pageY-s.overflowOffset.top<i.scrollSensitivity&&(n.scrollTop=o=n.scrollTop-i.scrollSpeed)),i.axis&&"y"===i.axis||(s.overflowOffset.left+n.offsetWidth-t.pageX<i.scrollSensitivity?n.scrollLeft=o=n.scrollLeft+i.scrollSpeed:t.pageX-s.overflowOffset.left<i.scrollSensitivity&&(n.scrollLeft=o=n.scrollLeft-i.scrollSpeed))):(i.axis&&"x"===i.axis||(t.pageY-P(r).scrollTop()<i.scrollSensitivity?o=P(r).scrollTop(P(r).scrollTop()-i.scrollSpeed):P(window).height()-(t.pageY-P(r).scrollTop())<i.scrollSensitivity&&(o=P(r).scrollTop(P(r).scrollTop()+i.scrollSpeed))),i.axis&&"y"===i.axis||(t.pageX-P(r).scrollLeft()<i.scrollSensitivity?o=P(r).scrollLeft(P(r).scrollLeft()-i.scrollSpeed):P(window).width()-(t.pageX-P(r).scrollLeft())<i.scrollSensitivity&&(o=P(r).scrollLeft(P(r).scrollLeft()+i.scrollSpeed)))),!1!==o&&P.ui.ddmanager&&!i.dropBehaviour&&P.ui.ddmanager.prepareOffsets(s,t)}}),P.ui.plugin.add("draggable","snap",{start:function(t,e,s){var i=s.options;s.snapElements=[],P(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var t=P(this),e=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:e.top,left:e.left})})},drag:function(t,e,s){for(var i,o,n,r,l,a,h,p,c,f=s.options,d=f.snapTolerance,g=e.offset.left,u=g+s.helperProportions.width,m=e.offset.top,v=m+s.helperProportions.height,_=s.snapElements.length-1;0<=_;_--)a=(l=s.snapElements[_].left-s.margins.left)+s.snapElements[_].width,p=(h=s.snapElements[_].top-s.margins.top)+s.snapElements[_].height,u<l-d||a+d<g||v<h-d||p+d<m||!P.contains(s.snapElements[_].item.ownerDocument,s.snapElements[_].item)?(s.snapElements[_].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,P.extend(s._uiHash(),{snapItem:s.snapElements[_].item})),s.snapElements[_].snapping=!1):("inner"!==f.snapMode&&(i=Math.abs(h-v)<=d,o=Math.abs(p-m)<=d,n=Math.abs(l-u)<=d,r=Math.abs(a-g)<=d,i&&(e.position.top=s._convertPositionTo("relative",{top:h-s.helperProportions.height,left:0}).top),o&&(e.position.top=s._convertPositionTo("relative",{top:p,left:0}).top),n&&(e.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left),r)&&(e.position.left=s._convertPositionTo("relative",{top:0,left:a}).left),c=i||o||n||r,"outer"!==f.snapMode&&(i=Math.abs(h-m)<=d,o=Math.abs(p-v)<=d,n=Math.abs(l-g)<=d,r=Math.abs(a-u)<=d,i&&(e.position.top=s._convertPositionTo("relative",{top:h,left:0}).top),o&&(e.position.top=s._convertPositionTo("relative",{top:p-s.helperProportions.height,left:0}).top),n&&(e.position.left=s._convertPositionTo("relative",{top:0,left:l}).left),r)&&(e.position.left=s._convertPositionTo("relative",{top:0,left:a-s.helperProportions.width}).left),!s.snapElements[_].snapping&&(i||o||n||r||c)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,P.extend(s._uiHash(),{snapItem:s.snapElements[_].item})),s.snapElements[_].snapping=i||o||n||r||c)}}),P.ui.plugin.add("draggable","stack",{start:function(t,e,s){var i,s=s.options,s=P.makeArray(P(s.stack)).sort(function(t,e){return(parseInt(P(t).css("zIndex"),10)||0)-(parseInt(P(e).css("zIndex"),10)||0)});s.length&&(i=parseInt(P(s[0]).css("zIndex"),10)||0,P(s).each(function(t){P(this).css("zIndex",i+t)}),this.css("zIndex",i+s.length))}}),P.ui.plugin.add("draggable","zIndex",{start:function(t,e,s){e=P(e.helper),s=s.options;e.css("zIndex")&&(s._zIndex=e.css("zIndex")),e.css("zIndex",s.zIndex)},stop:function(t,e,s){s=s.options;s._zIndex&&P(e.helper).css("zIndex",s._zIndex)}}),P.ui.draggable}); 90// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../../../../wp-includes/js/jquery/ui/resizable.min.js 91/*! 92 * jQuery UI Resizable 1.14.2 93 * https://jqueryui.com 94 * 95 * Copyright OpenJS Foundation and other contributors 96 * Released under the MIT license. 97 * https://jquery.org/license 98 */ 99!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../disable-selection","../plugin","../version","../widget"],t):t(jQuery)}(function(z){"use strict";return z.widget("ui.resizable",z.ui.mouse,{version:"1.14.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(t,e){var i=!1,s=z(t).css("overflow");if("hidden"===s)return!1;if("scroll"===s)return!0;if(0<t[s=e&&"left"===e?"scrollLeft":"scrollTop"])return!0;try{t[s]=1,i=0<t[s],t[s]=0}catch(t){}return i},_create:function(){var t,e=this.options,i=this;this._addClass("ui-resizable"),z.extend(this,{_aspectRatio:!!e.aspectRatio,aspectRatio:e.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:e.helper||e.ghost||e.animate?e.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(z("<div class='ui-wrapper'></div>").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this._proportionallyResize()),this._setupHandles(),e.autoHide&&z(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){z(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,h,n=this.options,o=this;if(this.handles=n.handles||(z(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=z(),this._addedHandles=z(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e<i.length;e++)s="ui-resizable-"+(t=String.prototype.trim.call(i[e])),h=z("<div>"),this._addClass(h,"ui-resizable-handle "+s),h.css({zIndex:n.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(h),this._addedHandles=this._addedHandles.add(h));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=z(this.handles[e]),this._on(this.handles[e],{mousedown:o._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=z(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?s.outerHeight():s.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){o.resizing||(this.className&&(h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=h&&h[1]?h[1]:"se")}),n.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=z(this.handles[e])[0])!==t.target&&!z.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s,h=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),h.containment&&(e+=z(h.containment).scrollLeft()||0,i+=z(h.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this._helper||(s=this._calculateAdjustedElementDimensions(n)),this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:s.width,height:s.height},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:s.width,height:s.height},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof h.aspectRatio?h.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=z(".ui-resizable-"+this.axis).css("cursor"),z("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(i=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),z.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,h=this.options,n=this;return this._helper&&(i=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:n.sizeDiff.height,e=e?0:n.sizeDiff.width,e={width:n.helper.width()-e,height:n.helper.height()-i},i=parseFloat(n.element.css("left"))+(n.position.left-n.originalPosition.left)||null,s=parseFloat(n.element.css("top"))+(n.position.top-n.originalPosition.top)||null,h.animate||this.element.css(z.extend(e,{top:s,left:i})),n.helper.height(n.size.height),n.helper.width(n.size.width),this._helper)&&!h.animate&&this._proportionallyResize(),z("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.helper.css(t),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px",this.helper.width(t.width)),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px",this.helper.height(t.height)),t},_updateVirtualBoundaries:function(t){var e,i,s,h=this.options,h={minWidth:this._isNumber(h.minWidth)?h.minWidth:0,maxWidth:this._isNumber(h.maxWidth)?h.maxWidth:1/0,minHeight:this._isNumber(h.minHeight)?h.minHeight:0,maxHeight:this._isNumber(h.maxHeight)?h.maxHeight:1/0};(this._aspectRatio||t)&&(t=h.minHeight*this.aspectRatio,i=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,s=h.maxWidth/this.aspectRatio,h.minWidth<t&&(h.minWidth=t),h.minHeight<i&&(h.minHeight=i),e<h.maxWidth&&(h.maxWidth=e),s<h.maxHeight)&&(h.maxHeight=s),this._vBoundaries=h},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left
vendor: 5,172 bytes, line 99
99=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,h=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,n=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,o=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,l=this.originalPosition.top+this.originalSize.height,r=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return n&&(t.width=e.minWidth),o&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),h&&(t.height=e.maxHeight),n&&r&&(t.left=a-e.minWidth),s&&r&&(t.left=a-e.maxWidth),o&&i&&(t.top=l-e.minHeight),h&&i&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],h=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(h[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_calculateAdjustedElementDimensions:function(t){var e,i,s=t.get(0);return"content-box"!==t.css("box-sizing")||!this._hasScroll(s)&&!this._hasScroll(s,"left")?{height:parseFloat(t.css("height")),width:parseFloat(t.css("width"))}:(e=parseFloat(s.style.width),s=parseFloat(s.style.height),i=this._getPaddingPlusBorderDimensions(t),e=isNaN(e)?this._getElementTheoreticalSize(t,i,"width"):e,{height:isNaN(s)?this._getElementTheoreticalSize(t,i,"height"):s,width:e})},_getElementTheoreticalSize:function(t,e,i){return Math.max(0,Math.ceil(t.get(0)["offset"+i[0].toUpperCase()+i.slice(1)]-e[i]-.5))||0},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e<this._proportionallyResizeElements.length;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,e=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||z("<div></div>").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return z.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return z.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return z.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return z.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){z.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),z.ui.plugin.add("resizable","animate",{stop:function(e){var i=z(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,h=s.length&&/textarea/i.test(s[0].nodeName),n=h&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=h?0:i.sizeDiff.width,h={width:i.size.width-h,height:i.size.height-n},n=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(z.extend(h,o&&n?{top:o,left:n}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&z(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),z.ui.plugin.add("resizable","containment",{start:function(){var i,s,t,e,h=z(this).resizable("instance"),n=h.options,o=h.element,n=n.
vendor: 3,247 bytes, line 99
99containment,o=n instanceof z?n.get(0):/parent/.test(n)?o.parent().get(0):n;o&&(h.containerElement=z(o),/document/.test(n)||n===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:z(document),left:0,top:0,width:z(document).width(),height:z(document).height()||document.body.parentNode.scrollHeight}):(i=z(o),s=[],z(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=h._num(i.css("padding"+e))}),h.containerOffset=i.offset(),h.containerPosition=i.position(),h.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=h.containerOffset,e=h.containerSize.height,t=h.containerSize.width,t=h._hasScroll(o,"left")?o.scrollWidth:t,e=h._hasScroll(o)?o.scrollHeight:e,h.parentData={element:o,left:n.left,top:n.top,width:t,height:e}))},resize:function(t){var e=z(this).resizable("instance"),i=e.options,s=e.containerOffset,h=e.position,t=e._aspectRatio||t.shiftKey,n={top:0,left:0},o=e.containerElement,a=!0;o[0]!==document&&/static/.test(o.css("position"))&&(n=s),h.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-n.left),t&&(e.size.height=e.size.width/e.aspectRatio,a=!1),e.position.left=i.helper?s.left:0),h.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),t&&(e.size.width=e.size.height*e.aspectRatio,a=!1),e.position.top=e._helper?s.top:0),o=e.containerElement.get(0)===e.element.parent().get(0),i=/relative|absolute/.test(e.containerElement.css("position")),o&&i?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),h=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-n.left:e.offset.left-s.left)),o=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-n.top:e.offset.top-s.top)),h+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-h,t)&&(e.size.height=e.size.width/e.aspectRatio,a=!1),o+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-o,t)&&(e.size.width=e.size.height*e.aspectRatio,a=!1),a||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=z(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,h=t.containerElement,n=z(t.helper),o=n.offset(),a=n.outerWidth()-t.sizeDiff.width,n=n.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(h.css("position"))&&z(this).css({left:o.left-s.left-i.left,width:a,height:n}),t._helper&&!e.animate&&/static/.test(h.css("position"))&&z(this).css({left:o.left-s.left-i.left,width:a,height:n})}}),z.ui.plugin.add("resizable","alsoResize",{start:function(){var i=z(this).resizable("instance"),t=i.options;z(t.alsoResize).each(function(){var t=z(this),e=i._calculateAdjustedElementDimensions(t);t.data("ui-resizable-alsoresize",{width:e.width,height:e.height,left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=z(this).resizable("instance"),s=e.options,h=e.originalSize,n=e.originalPosition,o={height:e.size.height-h.height||0,width:e.size.width-h.width||0,top:e.position.top-n.top||0,left
99:e.position.left-n.left||0};z(s.alsoResize).each(function(){var t=z(this),s=z(this).data("ui-resizable-alsoresize"),h={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];z.each(e,function(t,e){var i=(s[e]||0)+(o[e]||0);i&&0<=i&&(h[e]=i||null)}),t.css(h)})},stop:function(){z(this).removeData("ui-resizable-alsoresize")}}),z.ui.plugin.add("resizable","ghost",{start:function(){var t=z(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!0===z.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=z(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=z(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),z.ui.plugin.add("resizable","grid",{resize:function(){var t,e=z(this).resizable("instance"),i=e.options,s=e.size,h=e.originalSize,n=e.originalPosition,o=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,l=a[0]||1,r=a[1]||1,p=Math.round((s.width-h.width)/l)*l,s=Math.round((s.height-h.height)/r)*r,d=h.width+p,g=h.height+s,u=i.maxWidth&&i.maxWidth<d,c=i.maxHeight&&i.maxHeight<g,f=i.minWidth&&i.minWidth>d,m=i.minHeight&&i.minHeight>g;i.grid=a,f&&(d+=l),m&&(g+=r),u&&(d-=l),c&&(g-=r),/^(se|s|e)$/.test(o)?(e.size.width=d,e.size.height=g):/^(ne)$/.test(o)?(e.size.width=d,e.size.height=g,e.position.top=n.top-s):/^(sw)$/.test(o)?(e.size.width=d,e.size.height=g,e.position.left=n.left-p):((g-r<=0||d-l<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0<g-r?(e.size.height=g,e.position.top=n.top-s):(g=r-t.height,e.size.height=g,e.position.top=n.top+h.height-g),0<d-l?(e.size.width=d,e.position.left=n.left-p):(d=l-t.width,e.size.width=d,e.position.left=n.left+h.width-d))}}),z.ui.resizable}); 100// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/select2.full.min.js 101/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ 102!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,b;function w(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&b.test(e[s])&&(e[s]=e[s].replace(b,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),--u;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;--u){if(r=n.slice(0,u).join("/"),h)for(d=h.length;0<d;--d)if(i=(i=f[h.slice(0,d).join("/")])&&i[r]){o=i,a=u;break}if(o)break;!l&&g&&g[r]&&(l=g[r],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(w(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!w(m,e)&&!w(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},i=Object.prototype.hasOwnProperty,a=[].slice,b=/\.js$/,f=function(e,t){var n,r,i=c(e),o=i[0],s=t[1];return e=i[1],o&&(n=D(o=l(o,s))),o?e=n&&n.normalize?n.normalize(e,(r=s,function(e){return l(e,r)})):l(e,s):(o=(i=c(e=l(e,s)))[0],e=i[1],o&&(n=D(o))),{f:o?o+"!"+e:e,n:e,pr:o,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:(t=e,function(){return y&&y.config&&y.c
102onfig[t]||{}})};var t}},o=function(e,t,n,r){var i,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(r=r||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)i=d[l]=g.module(e);else if(w(m,o)||w(v,o)||w(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(r,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(i&&i.exports!==h&&i.exports!==m[e]?m[e]=i.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,r,i){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=r,r=i),r?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(r=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),w(m,e)||w(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=r),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var i={};function u(e){var t=e.prototype,n=[];for(var r in t){"function"==typeof t[r]&&"constructor"!==r&&n.push(r)}return n}i.Extend=function(e,t){var n={}.hasOwnProperty;function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},i.Decorate=function(r,i){var e=u(i),t=u(r);function o(){var e=Array.prototype.unshift,t=i.prototype.constructor.length,n=r.prototype.constructor;0<t&&(e.call(arguments,r.prototype.constructor),n=i.prototype.constructor),n.apply(this,arguments)}i.displayName=r.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=r.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=i.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,r=e.length;n<r;n++)e[n].apply(this,t)},i.Observable=e,i.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},i.bind=function(e,t){return function(){e.apply(t,arguments)}},i._convertData=function(e){for(var t in e){var n=t.split("-"),r=e;if(1!==n.length){for(var i=0;i<n.length;i++){var o=n[i];(o=o.substring(0,1).toLowerCase()+o.substring(1))in r||(r[o]={}),i==n.length-1&&(r[o]=e[t]),r=r[o]}delete e[t]}}return e},i.hasScroll=function(e,t){var n=o(t),r=t.style.overflowX,i=t.style.overflowY;return(r!==i||"hidden"!==i&&"visible"!==i)&&("scroll"===r||"scroll"===i||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},i.escapeMarkup=function(e){var t={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);
102return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t],e.removeAttribute("data-select2-id")},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var r=e.results[n],i=this.option(r);t.push(i)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},r.prototype.position=function(e,t){t.find(".select2-results").append(e)},r.prototype.sort=function(e){return this.options.get("sorter")(e)},r.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},r.prototype.setClasses=function(){var t=this;this.data.current(function(e){var r=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,r)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},r.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},r.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},r.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},r=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var i in(null!=e.element&&r.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}
102),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):i<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,r=0<e.deltaY&&t-e.deltaY<=0,i=e.deltaY<0&&n<=l.$results.height();r?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):i&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},r.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},r.prototype.destroy=function(){this.$results.remove()},r.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,r=e.offset().top,i=this.$results.scrollTop()+(r-n),o=r-n;i-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","fal
102se"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("<span></span>")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r);var i=t.title||t.text;i?n.attr("title",i):n.removeAttr("title")}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.isDisabled()){var t=i(this).parent(),n=l.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=this.selectionContainer(),o=this.display(r,i);i.append(o);var s=r.title||r.text;
102s&&i.attr("title",s),l.StoreData(i[0],"data",r),t.push(i)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var r=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(i,r,a){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){r._handleClear(e)}),t.on("keypress",function(e){r._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var r=a.GetData(n[0],"data"),i=this.$element.val();this.$element.val(this.placeholder.id);var o={data:r};if(this.trigger("clear",o),o.prevented)this.$element.val(i);else{for(var s=0;s<r.length;s++)if(o={data:r[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(i);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=r.DELETE&&t.which!=r.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),r=i('<span class="select2-selection__clear" title="'+n()+'">×</span>');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),t.on("open",function(){r.$search.attr("aria-controls",i),r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");r.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){r.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&r.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var r=this,i=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,i)){t=t||{};var n=s.Event("select2:"+e,{params:t});r.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function r(e){this.dict=e||{}}return r.prototype.all=function(){return this.dict},r.prototype.get=function(e){return this.dict[e]},r.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},r._cache={},r.loadPath=function(e){if(!(e in r._cache)){var t=n(e);r._cache[e]=t}return new r(r._cache[e])},r}),e.define("select2/diacritics",[],function(){return{"â¶":"A","A":"A","Ã":"A","Ã":"A","Ã":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ä":"A","Ä":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ç ":"A","Ã":"A","Ç":"A","Ả":"A","Ã
":"A","Ǻ":"A","Ç":"A","È":"A","È":"A","Ạ":"A","Ậ":"A","Ặ":"A","á¸":"A","Ä":"A","Ⱥ":"A","Ɐ":"A","ê²":"AA","Ã":"AE","Ǽ":"AE","Ç¢":"AE","ê´":"AO","ê¶":"AU","ê¸":"AV","êº":"AV","ê¼":"AY","â·":"B","ï¼¢":"B","á¸":"B","á¸":"B","á¸":"B","É":"B","Æ":"B","Æ":"B","â¸":"C","ï¼£":"C","Ä":"C","Ä":"C","Ä":"C","Ä":"C","Ã":"C","á¸":"C","Æ":"C","È»":"C","ê¾":"C","â¹":"D","D":"D","á¸":"D","Ä":"D","á¸":"D","á¸":"D","á¸":"D","á¸":"D","Ä":"D","Æ":"D","Æ":"D","Æ":"D","ê¹":"D","DZ":"DZ","Ç":"DZ","Dz":"Dz","Ç
":"Dz","âº":"E","ï¼¥":"E","Ã":"E","Ã":"E","Ã":"E","á»":"E","Ế":"E","á»":"E","á»":"E","Ẽ":"E","Ä":"E","á¸":"E","á¸":"E","Ä":"E","Ä":"E","Ã":"E","Ẻ":"E","Ä":"E","È":"E","È":"E","Ẹ":"E","á»":"E","Ȩ":"E","á¸":"E","Ä":"E","á¸":"E","á¸":"E","Æ":"E","Æ":"E","â»":"F","F":"F","á¸":"F","Æ":"F","ê»":"F","â¼":"G","ï¼§":"G","Ç´":"G","Ä":"G","Ḡ":"G","Ä":"G","Ä ":"G","Ǧ":"G","Ä¢":"G","Ǥ":"G","Æ":"G","ê ":"G","ê½":"G","ê¾":"G","â½":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","È":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","â±§":"H","â±µ":"H","ê":"H","â¾":"I","I":"I","Ã":"I","Ã":"I","Ã":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ã":"I","Ḯ":"I","á»":"I","Ç":"I","È":"I","È":"I","á»":"I","Ä®":"I","Ḭ":"I","Æ":"I","â¿":"J","J":"J","Ä´":"J","É":"J","â":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Æ":"K","Ⱪ":"K","ê":"K","ê":"K","ê":"K","ê¢":"K","â":"L","L":"L","Ä¿":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ä»":"L","Ḽ":"L","Ḻ":"L","Å":"L","Ƚ":"L","â±¢":"L","â± ":"L","ê":"L","ê":"L","ê":"L","Ç":"LJ","Ç":"Lj","â":"M","ï¼":"M","Ḿ":"M","á¹":"M","á¹":"M","â±®":"M","Æ":"M","â":"N","ï¼®":"N","Ǹ":"N","Å":"N","Ã":"N","á¹":"N","Å":"N","á¹":"N","Å
":"N","á¹":"N","á¹":"N","È ":"N","Æ":"N","ê":"N","ê¤":"N","Ç":"NJ","Ç":"Nj","â":"O","O":"O","Ã":"O","Ã":"O","Ã":"O","á»":"O","á»":"O","á»":"O","á»":"O","Ã":"O","á¹":"O","Ȭ":"O","á¹":"O","Å":"O","á¹":"O","á¹":"O","Å":"O","È®":"O","Ȱ":"O","Ã":"O","Ȫ":"O","á»":"O","Å":"O","Ç":"O","È":"O","È":"O","Æ ":"O","á»":"O","á»":"O","á» ":"O","á»":"O","Ợ":"O","á»":"O","á»":"O","Ǫ":"O","Ǭ":"O","Ã":"O","Ǿ":"O","Æ":"O","Æ":"O","ê":"O","ê":"O","Å":"OE","Æ¢":"OI","ê":"OO","È¢":"OU","â
":"P","ï¼°":"P","á¹":"P","á¹":"P","Ƥ":"P","â±£":"P","ê":"P","ê":"P","ê":"P","â":"Q","ï¼±":"Q","ê":"Q","ê":"Q","É":"Q","â":"R","ï¼²":"R","Å":"R","á¹":"R","Å":"R","È":"R","È":"R","á¹":"R","á¹":"R","Å":"R","á¹":"R","É":"R","Ɽ":"R","ê":"R","ê¦":"R","ê":"R","â":"S","ï¼³":"S","áº":"S","Å":"S","Ṥ":"S","Å":"S","á¹ ":"S","Å ":"S","Ṧ":"S","á¹¢":"S","Ṩ":"S","È":"S","Å":"S","â±¾":"S","ê¨":"S","ê":"S","â":"T","ï¼´":"T","Ṫ":"T","Ť":"T","Ṭ":"T","È":"T","Å¢":"T","á¹°":"T","á¹®":"T","Ŧ":"T","Ƭ":"T","Æ®":"T","Ⱦ":"T","ê":"T","ê¨":"TZ","â":"U","ï¼µ":"U","Ã":"U","Ã":"U","Ã":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ã":"U","Ç":"U","Ç":"U","Ç":"U","Ç":"U","Ủ":"U","Å®":"U","Ű":"U","Ç":"U","È":"U","È":"U","Ư":"U","Ừ":"U","Ứ":"U","á»®":"U","Ử":"U","á»°":"U","Ụ":"U","á¹²":"U","Ų":"U","á¹¶":"U","á¹´":"U","É":"U","â":"V","ï¼¶":"V","á¹¼":"V","á¹¾":"V","Ʋ":"
102V","ê":"V","É
":"V","ê ":"VY","â":"W","ï¼·":"W","áº":"W","áº":"W","Å´":"W","áº":"W","áº":"W","áº":"W","â±²":"W","â":"X","X":"X","áº":"X","áº":"X","â":"Y","ï¼¹":"Y","Ỳ":"Y","Ã":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","áº":"Y","Ÿ":"Y","á»¶":"Y","á»´":"Y","Ƴ":"Y","É":"Y","Ỿ":"Y","â":"Z","Z":"Z","Ź":"Z","áº":"Z","Å»":"Z","Ž":"Z","áº":"Z","áº":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","ê¢":"Z","â":"a","ï½":"a","áº":"a","à ":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","Ä":"a","Ä":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","Ç¡":"a","ä":"a","Ç":"a","ả":"a","Ã¥":"a","Ç»":"a","Ç":"a","È":"a","È":"a","ạ":"a","áº":"a","ặ":"a","á¸":"a","Ä
":"a","â±¥":"a","É":"a","ê³":"aa","æ":"ae","ǽ":"ae","Ç£":"ae","êµ":"ao","ê·":"au","ê¹":"av","ê»":"av","ê½":"ay","â":"b","ï½":"b","á¸":"b","á¸
":"b","á¸":"b","Æ":"b","Æ":"b","É":"b","â":"c","ï½":"c","Ä":"c","Ä":"c","Ä":"c","Ä":"c","ç":"c","á¸":"c","Æ":"c","ȼ":"c","ê¿":"c","â":"c","â":"d","ï½":"d","á¸":"d","Ä":"d","á¸":"d","á¸":"d","á¸":"d","á¸":"d","Ä":"d","Æ":"d","É":"d","É":"d","êº":"d","dz":"dz","Ç":"dz","â":"e","ï½
":"e","è":"e","é":"e","ê":"e","á»":"e","ế":"e","á»
":"e","á»":"e","ẽ":"e","Ä":"e","á¸":"e","á¸":"e","Ä":"e","Ä":"e","ë":"e","ẻ":"e","Ä":"e","È
":"e","È":"e","ẹ":"e","á»":"e","È©":"e","á¸":"e","Ä":"e","á¸":"e","á¸":"e","É":"e","É":"e","Ç":"e","â":"f","ï½":"f","á¸":"f","Æ":"f","ê¼":"f","â":"g","ï½":"g","ǵ":"g","Ä":"g","ḡ":"g","Ä":"g","Ä¡":"g","ǧ":"g","Ä£":"g","Ç¥":"g","É ":"g","ê¡":"g","áµ¹":"g","ê¿":"g","â":"h","ï½":"h","Ä¥":"h","ḣ":"h","ḧ":"h","È":"h","ḥ":"h","ḩ":"h","ḫ":"h","áº":"h","ħ":"h","ⱨ":"h","â±¶":"h","É¥":"h","Æ":"hv","â":"i","ï½":"i","ì":"i","Ã":"i","î":"i","Ä©":"i","Ä«":"i","Ä":"i","ï":"i","ḯ":"i","á»":"i","Ç":"i","È":"i","È":"i","á»":"i","į":"i","á¸":"i","ɨ":"i","ı":"i","â":"j","ï½":"j","ĵ":"j","ǰ":"j","É":"j","â":"k","ï½":"k","ḱ":"k","Ç©":"k","ḳ":"k","Ä·":"k","ḵ":"k","Æ":"k","ⱪ":"k","ê":"k","ê":"k","ê
":"k","ê£":"k","â":"l","ï½":"l","Å":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","Å¿":"l","Å":"l","Æ":"l","É«":"l","ⱡ":"l","ê":"l","ê":"l","ê":"l","Ç":"lj","â":"m","ï½":"m","ḿ":"m","á¹":"m","á¹":"m","ɱ":"m","ɯ":"m","â":"n","ï½":"n","ǹ":"n","Å":"n","ñ":"n","á¹
":"n","Å":"n","á¹":"n","Å":"n","á¹":"n","á¹":"n","Æ":"n","ɲ":"n","Å":"n","ê":"n","ê¥":"n","Ç":"nj","â":"o","ï½":"o","ò":"o","ó":"o","ô":"o","á»":"o","á»":"o","á»":"o","á»":"o","õ":"o","á¹":"o","È":"o","á¹":"o","Å":"o","á¹":"o","á¹":"o","Å":"o","ȯ":"o","ȱ":"o","ö":"o","È«":"o","á»":"o","Å":"o","Ç":"o","È":"o","È":"o","Æ¡":"o","á»":"o","á»":"o","ỡ":"o","á»":"o","ợ":"o","á»":"o","á»":"o","Ç«":"o","Ç":"o","ø":"o","Ç¿":"o","É":"o","ê":"o","ê":"o","ɵ":"o","Å":"oe","Æ£":"oi","È£":"ou","ê":"oo","â":"p","ï½":"p","á¹":"p","á¹":"p","Æ¥":"p","áµ½":"p","ê":"p","ê":"p","ê":"p","â ":"q","ï½":"q","É":"q","ê":"q","ê":"q","â¡":"r","ï½":"r","Å":"r","á¹":"r","Å":"r","È":"r","È":"r","á¹":"r","á¹":"r","Å":"r","á¹":"r","É":"r","ɽ":"r","ê":"r","ê§":"r","ê":"r","â¢":"s","ï½":"s","Ã":"s","Å":"s","á¹¥":"s","Å":"s","ṡ":"s","Å¡":"s","á¹§":"s","á¹£":"s","ṩ":"s","È":"s","Å":"s","È¿":"s","ê©":"s","ê
":"s","áº":"s","â£":"t","ï½":"t","ṫ":"t","áº":"t","Å¥":"t","á¹":"t","È":"t","Å£":"t","á¹±":"t","ṯ":"t","ŧ":"t","Æ":"t","Ê":"t","ⱦ":"t","ê":"t","ê©":"tz","â¤":"u","ï½":"u","ù":"u","ú":"u","û":"u","Å©":"u","á¹¹":"u","Å«":"u","á¹»":"u","Å":"u","ü":"u","Ç":"u","Ç":"u","Ç":"u","Ç":"u","á»§":"u","ů":"u","ű":"u","Ç":"u","È":"u","È":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","á»":"u","á»±":"u","ụ":"u","á¹³":"u","ų":"u","á¹·":"u","á¹µ":"u","Ê":"u","â¥":"v","ï½":"v","á¹½":"v","ṿ":"v","Ê":"v","ê":"v","Ê":"v","ê¡":"vy","â¦":"w","ï½":"w","áº":"w","áº":"w","ŵ":"w","áº":"w","áº
":"w","áº":"w","áº":"w","â±³":"w","â§":"x","ï½":"x","áº":"x","áº":"x","â¨":"y","ï½":"y","ỳ":"y","ý":"y","Å·":"y","ỹ":"y","ȳ":"y","áº":"y","ÿ":"y","á»·":"y","áº":"y","ỵ":"y","Æ´":"y","É":"y","ỿ":"y","â©":"z","ï½":"z","ź":"z","áº":"z","ż":"z","ž":"z","áº":"z","áº":"z","ƶ":"z","È¥":"z","É":"z","ⱬ":"z","ê£":"z","Î":"Î","Î":"Î","Î":"Î","Î":"Î","Ϊ":"Î","Î":"Î","Î":"Î¥","Ϋ":"Î¥","Î":"Ω","ά":"α","Î":"ε","ή":"η","ί":"ι","Ï":"ι","Î":"ι","Ï":"ο","Ï":"Ï
","Ï":"Ï
","ΰ":"Ï
","Ï":"Ï","Ï":"Ï","â":"'"}}),e.define("select2/data/base",["../utils"],function(r){function n(e,t){n.__super__.constructor.call(this)}return r.Extend(n,r.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=r.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+r.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],r=this;this.$element.find(":selected").each(function(){var e=l(this),t=r.item(e);n.push(t)}),e(n)},n.prototype.select=function(i){var o=this;if(i.selected=!0,l(i.element).is("option"))return i.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(i=[i]).push.apply(i,e);for(var n=0;n<i.length;n++){var r=i[n].id;-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")});else{var e=i.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(i){var o=this;if(this.$element.prop("multiple")){if(i.selected=!1,l(i.element).is("option"))return i.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].id;r!==i.id&&-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(r,e){var i=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(r,t);null!==n&&i.push(n)}}),e({results:i})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),r=this._normalizeItem(e);return r.element=t,a.StoreData(t,"data",r),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),r=[],i=0;i<n.length;i++){var o=l(n[i]),s=this.item(o);r.push(s)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function r(e,t){this._dataToConvert=t.get("data")||[],r.__super__.constructor.call(this,e,t)}return f.Extend(r,e),r.prototype.bind=function(e,t){r.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},r.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),r=n.map(function(){return t.item(g(this)).id}).get(),i=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,r)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}i.push(p)}}return i},r}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var r=o.ajax(e);return r.then(t),r.fail(n),r}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,r){var i=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=i.processResults(e,n);i.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),r(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||i.trigger("results:message",{message:"errorLoading"})});i._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var r=n.get("tags"),i=n.get("createTag");void 0!==i&&(this.createTag=i);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(r))for(var s=0;s<r.length;
102s++){var a=r[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var r=t.results,i=0;i<r.length;i++){var o=r[i],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=r,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(r,a)}t.results=r,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var r=n.get("tokenizer");void 0!==r&&(this.tokenizer=r),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var i=this;t.term=t.term||"";var r=this.tokenizer(t,this.options,function(e){var t,n=i._normalizeItem(e);if(!i.$element.find("option").filter(function(){return d(this).val()===n.id}).length){var r=i.option(n);r.attr("data-select2-tag",!0),i._removeOldTags(),i.addOptions([r])}t=n,i.trigger("select",{data:t})});r.term!==t.term&&(this.$search.length&&(this.$search.val(r.term),this.$search.trigger("focus")),t.term=r.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,r){for(var i=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,i)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(r(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(){r._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var r=this;this._checkIfMaximumSelected(function(){e.call(r,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var r=this;this.current(function(e){var t=null!=e?e.length:0;0<r.maximumSelectionLength&&t>=r.maximumSelectionLength?r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.attr("aria-controls",i),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),r._bindContainerResultHandlers(t)}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.
102select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<i.top-s,u=l>i.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];i.children?n+=e(i.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("close",function(e){r._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var r=this.getHighlightedResults();if(!(r.length<1)){var i=o.GetData(r[0],"data");null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(e){r._selectTriggered(e)}),t.on("unselect",function(e){r._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more resultsâ¦"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searchingâ¦"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,$,b,w,A,x,D,S,E,C,O,T,q,L,I,j,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=b:null!=e.data?e.dataAdapter=$:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,w)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,I))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=E;else{var r=y.Decorate(E,C);e.dropdownAdapter=r}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,L)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var i=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,i)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptC
102ontainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var r=c.extend(!0,{},n),i=n.children.length-1;0<=i;i--)null==e(t,n.children[i])&&r.children.splice(i,1);return 0<r.children.length?r:e(t,r)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,r=this.defaults.language,i=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(i),this._resolveLanguage(n),this._resolveLanguage(r),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],r=0;r<t.length;r++)if(n.push(t[r]),"string"==typeof t[r]&&0<t[r].indexOf("-")){var i=t[r].split("-")[0];n.push(i)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,r=0;r<e.length;r++){var i=new s,o=e[r];if("string"==typeof o)try{i=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,i=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else i=c.isPlainObject(o)?new s(o):o;n.extend(i)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var r=y._convertData(n);c.extend(!0,this.defaults,r)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(r,d,i,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=i.applyFromElement(this.options,t)),this.options=i.apply(this.options),t&&t.is("input")){var n=r(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function r(e,t){return t.toUpperCase()}for(var i=0;i<e[0].attributes.length;i++){var o=e[0].attributes[i].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,r)]=l}}
102d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,u,r){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var i=this.render();this._placeContainer(i);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,i);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,i);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var r=this._resolveWidth(e,"style");return null!=r?r:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return i<=0?"auto":i+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){t._syncA(),t._syncS(null,e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,r=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,r)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===r.ESC||t===r.TAB||t===r.UP&&e.altKey?(n.close(e),e.preventDefault()):t===r.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===r.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===r.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===r.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===r.ENTER||t===r.SPACE||t===r.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e,t){var n=!1,r=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var i=0;i<t.addedNodes.length;i++){t.addedNodes[i].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length?n=!0:o.isArray(t)&&o.each(t,function(e,t){if(r._isChangeMutation(e,t))return!(n=!0)});else n=!0;return n}},d.prototype._syncSubtree=function(e,t){var n=this._isChangeMutation(e,t),r=this;n&&this.dataAdapter.current(function(e){r.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,r={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in r){var i=r[e],o={prevented:!1,name:e,args:t};if(n.call(this,i,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")}
102,d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1<i.inArray(t,a)?this:n}}return null==i.fn.select2.defaults&&(i.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t}); 103// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/sprintf.min.js 104/*! sprintf-js v1.1.2 | Copyright (c) 2007-present, Alexandru MÄrÄÈteanu <[email protected]> | BSD-3-Clause */ 105!function(){"use strict";var g={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function y(e){return function(e,t){var r,n,i,s,a,o,p,c,l,u=1,f=e.length,d="";for(n=0;n<f;n++)if("string"==typeof e[n])d+=e[n];
vendor: 4,102 bytes, lines 105-148
105else if("object"==typeof e[n]){if((s=e[n]).keys)for(r=t[u],i=0;i<s.keys.length;i++){if(null==r)throw new Error(y('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[i],s.keys[i-1]));r=r[s.keys[i]]}else r=s.param_no?t[s.param_no]:t[u++];if(g.not_type.test(s.type)&&g.not_primitive.test(s.type)&&r instanceof Function&&(r=r()),g.numeric_arg.test(s.type)&&"number"!=typeof r&&isNaN(r))throw new TypeError(y("[sprintf] expecting number but found %T",r));switch(g.number.test(s.type)&&(c=0<=r),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}g.json.test(s.type)?d+=r:(!g.number.test(s.type)||c&&!s.sign?l="":(l=c?"+":"-",r=r.toString().replace(g.sign,"")),o=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",p=s.width-(l+r).length,a=s.width&&0<p?o.repeat(p):"",d+=s.align?l+r+a:"0"===o?l+a+r:a+l+r)}return d}(function(e){if(p[e])return p[e];var t,r=e,n=[],i=0;for(;r;){if(null!==(t=g.text.exec(r)))n.push(t[0]);else if(null!==(t=g.modulo.exec(r)))n.push("%");else{if(null===(t=g.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var s=[],a=t[2],o=[];if(null===(o=g.key.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(o[1]);""!==(a=a.substring(o[0].length));)if(null!==(o=g.key_access.exec(a)))s.push(o[1]);else{if(null===(o=g.index_access.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(o[1])}t[2]=s}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return p[e]=n}(e),arguments)}function e(e,t){return y.apply(null,[e].concat(t||[]))}var p=Object.create(null);"undefined"!=typeof exports&&(exports.sprintf=y,exports.vsprintf=e),"undefined"!=typeof window&&(window.sprintf=y,window.vsprintf=e,"function"==typeof define&&define.amd&&define(function(){return{sprintf:y,vsprintf:e}}))}(); 106//# sourceMappingURL=sprintf.min.js.map 107// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/wp_actions_filters.js 108if ( typeof window.WPDK_FILTERS === 'undefined' ) { 109 110 // List of filters 111 window.WPDK_FILTERS = {}; 112 113 // List of actions 114 window.WPDK_ACTIONS = {}; 115 116 /** 117 * Used to add an action or filter. Internal use only. 118 * 119 * @param {string} type Type of hook, 'action' or 'filter'. 120 * @param {string} tag Name of action or filter. 121 * @param {Function} function_to_add Function hook. 122 * @param {integer} priority Priority. 123 * 124 * @since 1.6.1 125 */ 126 window._wpdk_add = function( type, tag, function_to_add, priority ) 127 { 128 var lists = ( 'filter' == type ) ? WPDK_FILTERS : WPDK_ACTIONS; 129 130 // Defaults 131 priority = ( priority || 10 ); 132 133 if( !( tag in lists ) ) { 134 lists[ tag ] = []; 135 } 136 137 if( !( priority in lists[ tag ] ) ) { 138 lists[ tag ][ priority ] = []; 139 } 140 141 lists[ tag ][ priority ].push( { 142 func : function_to_add, 143 pri : priority 144 } ); 145 146 }; 147 148 /**
149 * Hook a function or method to a specific filter action. 150 * 151 * WPDK offers filter hooks to allow plugins to modify various types of internal data at runtime in a similar 152 * way as php `add_filter()` 153 * 154 * The following example shows how a callback function is bound to a filter hook. 155 * Note that $example is passed to the callback, (maybe) modified, then returned: 156 * 157 * <code> 158 * function example_callback( example ) { 159 * // Maybe modify $example in some way 160 * return example; 161 * } 162 * add_filter( 'example_filter', example_callback ); 163 * </code> 164 * 165 * @param {string} tag The name of the filter to hook the function_to_add callback to. 166 * @param {Function} function_to_add The callback to be run when the filter is applied. 167 * @param {integer} priority Optional. Used to specify the order in which the functions 168 * associated with a particular action are executed. Default 10. 169 * Lower numbers correspond with earlier execution, 170 * and functions with the same priority are executed 171 * in the order in which they were added to the action. 172 * @return {boolean} 173 */ 174 window.wpdk_add_filter = function( tag, function_to_add, priority ) 175 { 176 _wpdk_add( 'filter', tag, function_to_add, priority ); 177 }; 178 179 /** 180 * Hooks a function on to a specific action. 181 * 182 * Actions are the hooks that the WPDK core launches at specific points during execution, or when specific 183 * events occur. Plugins can specify that one or more of its Javascript functions are executed at these points, 184 * using the Action API. 185 * 186 * @since 1.6.1 187 * 188 * @uses _wpdk_add() Adds an action. Parameter list and functionality are the same. 189 * 190 * @param {string} tag The name of the action to which the $function_to_add is hooked. 191 * @param {Function} function_to_add The name of the function you wish to be called. 192 * @param {integer} priority Optional. Used to specify the order in which the functions associated with a 193 * particular action are executed. Default 10. 194 * Lower numbers correspond with earlier execution, and functions with the same 195 * priority are executed in the order in which they were added to the action. 196 * 197 * @return bool Will always return true. 198 */ 199 window.wpdk_add_action = function( tag, function_to_add, priority ) 200 { 201 _wpdk_add( 'action', tag, function_to_add, priority ); 202 }; 203 204 /** 205 * Do an action or apply filters. 206 * 207 * @param {string} type Type of "do" to do 'action' or 'filter'. 208 * @param {Array} args Optional. Original list of arguments. This array could be empty for 'action'. 209 * @returns {*} 210 */ 211 window._wpdk_do = function( type, args ) 212 { 213 var hook, lists = ( 'action' == type ) ? WPDK_ACTIONS : WPDK_FILTERS; 214 var tag = args[ 0 ]; 215 216 if( !( tag in lists ) ) { 217 return args[ 1 ]; 218 } 219 220 // Remove the first argument 221 [].shift.apply( args ); 222 223 for( var pri in lists[ tag ] ) { 224 225 hook = lists[ tag ][ pri ]; 226 227 if( typeof hook !== 'undefined' ) { 228 229 for( var f in hook ) { 230 var func = hook[ f ].func; 231 232 if( typeof func === "function" ) { 233 234 if( 'filter' === type ) { 235 args[ 0 ] = func.apply( null, args ); 236 } 237 else { 238 func.apply( null, args ); 239 } 240 } 241 } 242 } 243 } 244 245 if( 'filter' === type ) { 246 return args[ 0 ]; 247 } 248 249 }; 250 251 /** 252 * Call the functions added to a filter hook and the filtered value after all hooked functions are applied to it. 253 * 254 * The callback functions attached to filter hook $tag are invoked by calling this function. This function can be 255 * used to create a new filter hook by simply calling this function with the name of the new hook specified using 256 * the tag parameter. 257 * 258 * The function allows for additional arguments to be added and passed to hooks. 259 * <code> 260 * // Our filter callback function 261 * function example_callback( my_string, arg1, arg2 ) { 262 * // (maybe) modify my_string 263 * return my_string; 264 * } 265 * wpdk_add_filter( 'example_filter', example_callback, 10 ); 266 * 267 * // Apply the filters by calling the 'example_callback' function we 268 * // "hooked" to 'example_filter' using the wpdk_add_filter() function above. 269 * // - 'example_filter' is the filter hook tag 270 * // - 'filter me' is the value being filtered 271 * // - arg1 and arg2 are the additional arguments passed to the callback. 272 * 273 * var value = wpdk_apply_filters( 'example_filter', 'filter me', arg1, arg2 ); 274 * </code> 275 * 276 * @param {string} tag The name of the filter hook. 277 * @param {*} value The value on which the filters hooked to <tt>tag</tt> are applied on. 278 * @param {...*} varargs Optional. Additional variables passed to the functions hooked to <tt>tag</tt>. 279 * 280 * @return {*} 281 */ 282 window.wpdk_apply_filters = function( tag, value, varargs ) 283 { 284 return _wpdk_do( 'filter', arguments ); 285 }; 286 287 /** 288 * Execute functions hooked on a specific action hook. 289 * 290 * This function invokes all functions attached to action hook tag. It is possible to create new action hooks by 291 * simply calling this function, specifying the name of the new hook using the <tt>tag</tt> parameter. 292 * 293 * You can pass extra arguments to the hooks, much like you can with wpdk_apply_filters(). 294 * 295 * @since 1.6.1 296 * 297 * @param {string} tag The name of the action to be executed. 298 * @param {...*} args Optional. Additional arguments which are passed on to the functions hooked to the action. 299 * Default empty. 300 * 301 */ 302 window.wpdk_do_action = function( tag, args ) 303 { 304 _wpdk_do( 'action', arguments ); 305 }; 306} 307// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/base64.min.js 308 309 310// 311// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND! 312// 313;(function(global, factory) { 314 typeof exports === 'object' && typeof module !== 'undefined' 315 ? module.exports = factory() 316 : typeof define === 'function' && define.amd 317 ? define(factory) : 318 // cf. https://github.com/dankogai/js-base64/issues/119 319 (function() { 320 // existing version for noConflict() 321 const _Base64 = global.Base64; 322 const gBase64 = factory(); 323 gBase64.noConflict = () => { 324 global.Base64 = _Base64; 325 return gBase64; 326 }; 327 if (global.Meteor) { // Meteor.js 328 Base64 = gBase64; 329 } 330 global.Base64 = gBase64; 331 })(); 332}((typeof self !== 'undefined' ? self 333 : typeof window !== 'undefined' ? window 334 : typeof global !== 'undefined' ? global 335 : this 336), function() { 337 'use strict'; 338 339/** 340 * base64.ts 341 * 342 * Licensed under the BSD 3-Clause License. 343 * http://opensource.org/licenses/BSD-3-Clause 344 * 345 * References: 346 * http://en.wikipedia.org/wiki/Base64 347 * 348 * @author Dan Kogai (https://github.com/dankogai) 349 */ 350const version = '3.4.5'; 351/** 352 * @deprecated use lowercase `version`. 353 */ 354const VERSION = version; 355const _hasatob = typeof atob === 'function'; 356const _hasbtoa = typeof btoa === 'function'; 357const _hasBuffer = typeof Buffer === 'function'; 358const b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
358+/='; 359const b64chs = [...b64ch]; 360const b64tab = ((a) => { 361 let tab = {}; 362 a.forEach((c, i) => tab[c] = i); 363 return tab; 364})(b64chs); 365const b64re = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/; 366const _fromCC = String.fromCharCode.bind(String); 367const _U8Afrom = typeof Uint8Array.from === 'function' 368 ? Uint8Array.from.bind(Uint8Array) 369 : (it, fn = (x) => x) => new Uint8Array(Array.prototype.slice.call(it, 0).map(fn)); 370const _mkUriSafe = (src) => src 371 .replace(/[+\/]/g, (m0) => m0 == '+' ? '-' : '_') 372 .replace(/=+$/m, ''); 373const _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\+\/]/g, ''); 374/** 375 * polyfill version of `btoa` 376 */ 377const btoaPolyfill = (bin) => { 378 // console.log('polyfilled'); 379 let u32, c0, c1, c2, asc = ''; 380 const pad = bin.length % 3; 381 for (let i = 0; i < bin.length;) { 382 if ((c0 = bin.charCodeAt(i++)) > 255 || 383 (c1 = bin.charCodeAt(i++)) > 255 || 384 (c2 = bin.charCodeAt(i++)) > 255) 385 throw new TypeError('invalid character found'); 386 u32 = (c0 << 16) | (c1 << 8) | c2; 387 asc += b64chs[u32 >> 18 & 63] 388 + b64chs[u32 >> 12 & 63] 389 + b64chs[u32 >> 6 & 63] 390 + b64chs[u32 & 63]; 391 } 392 return pad ? asc.slice(0, pad - 3) + "===".substring(pad) : asc; 393}; 394/** 395 * does what `window.btoa` of web browsers do. 396 * @param {String} bin binary string 397 * @returns {string} Base64-encoded string 398 */ 399const _btoa = _hasbtoa ? (bin) => btoa(bin) 400 : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64') 401 : btoaPolyfill; 402const _fromUint8Array = _hasBuffer 403 ? (u8a) => Buffer.from(u8a).toString('base64') 404 : (u8a) => { 405 // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326 406 const maxargs = 0x1000; 407 let strs = []; 408 for (let i = 0, l = u8a.length; i < l; i += maxargs) { 409 strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs))); 410 } 411 return _btoa(strs.join('')); 412 }; 413/** 414 * converts a Uint8Array to a Base64 string. 415 * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5 416 * @returns {string} Base64 string 417 */ 418const fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a); 419/** 420 * @deprecated should have been internal use only. 421 * @param {string} src UTF-8 string 422 * @returns {string} UTF-16 string 423 */ 424const utob = (src) => unescape(encodeURIComponent(src)); 425// 426const _encode = _hasBuffer 427 ? (s) => Buffer.from(s, 'utf8').toString('base64') 428 : (s) => _btoa(utob(s)); 429/** 430 * converts a UTF-8-encoded string to a Base64 string. 431 * @param {boolean} [urlsafe] if `true` make the result URL-safe 432 * @returns {string} Base64 string 433 */ 434const encode = (src, urlsafe = false) => urlsafe 435 ? _mkUriSafe(_encode(src)) 436 : _encode(src); 437/** 438 * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5. 439 * @returns {string} Base64 string 440 */ 441const encodeURI = (src) => encode(src, true); 442/** 443 * @deprecated should have been internal use only. 444 * @param {string} src UTF-16 string 445 * @returns {string} UTF-8 string 446 */ 447const btou = (src) => decodeURIComponent(escape(src)); 448/** 449 * polyfill version of `atob` 450 */ 451const atobPolyfill = (asc) => { 452 // console.log('polyfilled'); 453 asc = asc.replace(/\s+/g, ''); 454 if (!b64re.test(asc)) 455 throw new TypeError('malformed base64.'); 456 asc += '=='.slice(2 - (asc.length & 3)); 457 let u24, bin = '', r1, r2; 458 for (let i = 0; i < asc.length;) { 459 u24 = b64tab[asc.charAt(i++)] << 18 460 | b64tab[asc.charAt(i++)] << 12 461 | (r1 = b64tab[asc.charAt(i++)]) << 6 462 | (r2 = b64tab[asc.charAt(i++)]); 463 bin += r1 === 64 ? _fromCC(u24 >> 16 & 255) 464 : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255) 465 : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255); 466 } 467 return bin; 468}; 469/** 470 * does what `window.atob` of web browsers do. 471 * @param {String} asc Base64-encoded string 472 * @returns {string} binary string 473 */ 474const _atob = _hasatob ? (asc) => atob(_tidyB64(asc)) 475 : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary') 476 : atobPolyfill; 477const _decode = _hasBuffer 478 ? (a) => Buffer.from(a, 'base64').toString('utf8') 479 : (a) => btou(_atob(a)); 480const _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/')); 481/** 482 * converts a Base64 string to a UTF-8 string. 483 * @param {String} src Base64 string. Both normal and URL-safe are supported 484 * @returns {string} UTF-8 string 485 */ 486const decode = (src) => _decode(_unURI(src)); 487/** 488 * converts a Base64 string to a Uint8Array. 489 */ 490const toUint8Array = _hasBuffer 491 ? (a) => _U8Afrom(Buffer.from(_unURI(a), 'base64')) 492 : (a) => _U8Afrom(_atob(_unURI(a)), c =>
492 c.charCodeAt(0)); 493const _noEnum = (v) => { 494 return { 495 value: v, enumerable: false, writable: true, configurable: true 496 }; 497}; 498/** 499 * extend String.prototype with relevant methods 500 */ 501const extendString = function () { 502 const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body)); 503 _add('fromBase64', function () { return decode(this); }); 504 _add('toBase64', function (urlsafe) { return encode(this, urlsafe); }); 505 _add('toBase64URI', function () { return encode(this, true); }); 506 _add('toBase64URL', function () { return encode(this, true); }); 507 _add('toUint8Array', function () { return toUint8Array(this); }); 508}; 509/** 510 * extend Uint8Array.prototype with relevant methods 511 */ 512const extendUint8Array = function () { 513 const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); 514 _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); }); 515 _add('toBase64URI', function () { return fromUint8Array(this, true); }); 516 _add('toBase64URL', function () { return fromUint8Array(this, true); }); 517}; 518/** 519 * extend Builtin prototypes with relevant methods 520 */ 521const extendBuiltins = () => { 522 extendString(); 523 extendUint8Array(); 524}; 525const gBase64 = { 526 version: version, 527 VERSION: VERSION, 528 atob: _atob, 529 atobPolyfill: atobPolyfill, 530 btoa: _btoa, 531 btoaPolyfill: btoaPolyfill, 532 fromBase64: decode, 533 toBase64: encode, 534 encode: encode, 535 encodeURI: encodeURI, 536 encodeURL: encodeURI, 537 utob: utob, 538 btou: btou, 539 decode: decode, 540 fromUint8Array: fromUint8Array, 541 toUint8Array: toUint8Array, 542 extendString: extendString, 543 extendUint8Array: extendUint8Array, 544 extendBuiltins: extendBuiltins, 545}; 546 547 // 548 // export Base64 to the namespace 549 // 550 // ES5 is yet to have Object.assign() that may make transpilers unhappy. 551 // gBase64.Base64 = Object.assign({}, gBase64); 552 gBase64.Base64 = {}; 553 Object.keys(gBase64).forEach(k => gBase64.Base64[k] = gBase64[k]); 554 return gBase64; 555})); 556 557 558// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/moment-with-locales.min.js 559!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";var e,n;function M(){return e.apply(null,arguments)}function i(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function _(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function h(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function o(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var a in e)if(h(e,a))return;return 1}function r(e){return void 0===e}function m(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function u(e,a){for(var t=[],s=0;s<e.length;++s)t.push(a(e[s],s));return t}function l(e,a){for(var t in a)h(a,t)&&(e[t]=a[t]);return h(a,"toString")&&(e.toString=a.toString),h(a,"valueOf")&&(e.valueOf=a.valueOf),e}function c(e,a,t,s){return Sa(e,a,t,s,!0).utc()}function L(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function Y(e){if(null==e._isValid){var a=L(e),t=n.call(a.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&a.overflow<0&&!a.empty&&!a.invalidEra&&!a.invalidMonth&&!a.invalidWeekday&&!a.weekdayMismatch&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a.meridiem||a.meridiem&&t);if(e._strict&&(s=s&&0===a.charsLeftOver&&0===a.unusedTokens.length&&void 0===a.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function y(e){var a=c(NaN);return null!=e?l(L(a),e):L(a).userInvalidated=!0,a}n=Array.prototype.some?Array.prototype.some:function(e){for(var a=Object(this),t=a.length>>>0,s=0;s<t;s++)if(s in a&&e.call(this,a[s],s,a))return!0;return!1};var f=M.momentProperties=[],a=!1;function p(e,a){var t,s,n;if(r(a._isAMomentObject)||(e._isAMomentObject=a._isAMomentObject),r(a._i)||(e._i=a._i),r(a._f)||(e._f=a._f),r(a._l)||(e._l=a._l),r(a._str
vendor: 15,141 bytes, line 559
559ict)||(e._strict=a._strict),r(a._tzm)||(e._tzm=a._tzm),r(a._isUTC)||(e._isUTC=a._isUTC),r(a._offset)||(e._offset=a._offset),r(a._pf)||(e._pf=L(a)),r(a._locale)||(e._locale=a._locale),0<f.length)for(t=0;t<f.length;t++)r(n=a[s=f[t]])||(e[s]=n);return e}function k(e){p(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===a&&(a=!0,M.updateOffset(this),a=!1)}function D(e){return e instanceof k||null!=e&&null!=e._isAMomentObject}function T(e){!1===M.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function t(n,r){var d=!0;return l(function(){if(null!=M.deprecationHandler&&M.deprecationHandler(null,n),d){for(var e,a,t=[],s=0;s<arguments.length;s++){if(e="","object"==typeof arguments[s]){for(a in e+="\n["+s+"] ",arguments[0])h(arguments[0],a)&&(e+=a+": "+arguments[0][a]+", ");e=e.slice(0,-2)}else e=arguments[s];t.push(e)}T(n+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack),d=!1}return r.apply(this,arguments)},r)}var s,g={};function w(e,a){null!=M.deprecationHandler&&M.deprecationHandler(e,a),g[e]||(T(a),g[e]=!0)}function v(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,a){var t,s=l({},e);for(t in a)h(a,t)&&(_(e[t])&&_(a[t])?(s[t]={},l(s[t],e[t]),l(s[t],a[t])):null!=a[t]?s[t]=a[t]:delete s[t]);for(t in e)h(e,t)&&!h(a,t)&&_(e[t])&&(s[t]=l({},s[t]));return s}function S(e){null!=e&&this.set(e)}M.suppressDeprecationWarnings=!1,M.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var a,t=[];for(a in e)h(e,a)&&t.push(a);return t};function H(e,a,t){var s=""+Math.abs(e),n=a-s.length;return(0<=e?t?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+s}var j=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,x=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,P={},O={};function W(e,a,t,s){var n="string"==typeof s?function(){return this[s]()}:s;e&&(O[e]=n),a&&(O[a[0]]=function(){return H(n.apply(this,arguments),a[1],a[2])}),t&&(O[t]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function A(e,a){return e.isValid()?(a=E(a,e.localeData()),P[a]=P[a]||function(s){for(var e,n=s.match(j),a=0,r=n.length;a<r;a++)O[n[a]]?n[a]=O[n[a]]:n[a]=(e=n[a]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var a="",t=0;t<r;t++)a+=v(n[t])?n[t].call(e,s):n[t];return a}}(a),P[a](e)):e.localeData().invalidDate()}function E(e,a){var t=5;function s(e){return a.longDateFormat(e)||e}for(x.lastIndex=0;0<=t&&x.test(e);)e=e.replace(x,s),x.lastIndex=0,--t;return e}var F={};function z(e,a){var t=e.toLowerCase();F[t]=F[t+"s"]=F[a]=e}function N(e){return"string"==typeof e?F[e]||F[e.toLowerCase()]:void 0}function J(e){var a,t,s={};for(t in e)h(e,t)&&(a=N(t))&&(s[a]=e[t]);return s}var R={};function C(e,a){R[e]=a}function I(e){return e%4==0&&e%100!=0||e%400==0}function U(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function G(e){var a=+e,t=0;return 0!=a&&isFinite(a)&&(t=U(a)),t}function V(a,t){return function(e){return null!=e?(K(this,a,e),M.updateOffset(this,t),this):B(this,a)}}function B(e,a){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+a]():NaN}function K(e,a,t){e.isValid()&&!isNaN(t)&&("FullYear"===a&&I(e.year())&&1===e.month()&&29===e.date()?(t=G(t),e._d["set"+(e._isUTC?"UTC":"")+a](t,e.month(),Se(t,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+a](t))}var q,Z=/\d/,$=/\d\d/,Q=/\d{3}/,X=/\d{4}/,ee=/[+-]?\d{6}/,ae=/\d\d?/,te=/\d\d\d\d?/,se=/\d\d\d\d\d\d?/,ne=/\d{1,3}/,re=/\d{1,4}/,de=/[+-]?\d{1,6}/,ie=/\d+/,_e=/[+-]?\d+/,oe=/Z|[+-]\d\d:?\d\d/gi,me=/Z|[+-]\d\d(?::?\d\d)?/gi,ue=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function le(e,t,s){q[e]=v(t)?t:function(e,a){return e&&s?s:t}}function Me(e,a){return h(q,e)?q[e](a._strict,a._locale):new RegExp(he(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,a,t,s,n){return a||t||s||n})))}function he(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}q={};var ce={};function Le(e,t){var a,s=t;for("string"==typeof e&&(e=[e]),m(t)&&(s=function(e,a){a[t]=G(e)}),a=0;a<e.length;a++)ce[e[a]]=s}function Ye(e,n){Le(e,function(e,a,t,s){t._w=t._w||{},n(e,t._w,t,s)})}var ye,fe=0,pe=1,ke=2,De=3,Te=4,ge=5,we=6,ve=7,be=8;function Se(e,a){if(isNaN(e)||isNaN(a))return NaN;var t,s=(a%(t=12)+t)%t;return e+=(a-s)/12,1==s?I(e)?29:28:31-s%7%2}ye=Array.prototype.indexOf?Array.prototype.indexOf:function(e){for(var a=0;a<this.length;++a)if(this[a]===e)return a;return-1},W("M",["MM",2],"Mo",function(){return this.month()+1}),W("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),W("MMMM",0,0,function(e){return this.localeData().months(this,e)}),z("month","M"),C("month",8),le("M",ae),le("MM",ae,$),le("MMM",function(e,a){return a.monthsShortRegex(e)}),le("MMMM",function(e,a){return a.monthsRegex(e)}),Le(["M","MM"],function(e,a){a[pe]=G(e)-1}),Le(["MMM","MMMM"],function(e,a,t,s){var n=t._locale.monthsParse(e,s,t._strict);null!=n?a[pe]=n:L(t).invalidMonth=e});var He="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),je="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),xe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Pe=ue,Oe=ue;function We(e,a){var t;if(!e.isValid())return e;if("string"==typeof a)if(/^\d+$/.test(a))a=G(a);else if(!m(a=e.localeData().monthsParse(a)))return e;return t=Math.min(e.date(),Se(e.year(),a)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](a,t),e}function Ae(e){return null!=e?(We(this,e),M.updateOffset(this,!0),this):B(this,"Month")}function Ee(){function e(e,a){return a.length-e.length}for(var a,t=[],s=[],n=[],r=0;r<12;r++)a=c([2e3,r]),t.push(this.monthsShort(a,"")),s.push(this.months(a,"")),n.push(this.months(a,"")),n.push(this.monthsShort(a,""));for(t.sort(e),s.sort(e),n.sort(e),r=0;r<12;r++)t[r]=he(t[r]),s[r]=he(s[r]);for(r=0;r<24;r++)n[r]=he(n[r]);this._monthsRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+t.join("|")+")","i")}function Fe(e){return I(e)?366:365}W("Y",0,0,function(){var e=this.year();return e<=9999?H(e,4):"+"+e}),W(0,["YY",2],0,function(){return this.year()%100}),W(0,["YYYY",4],0,"year"),W(0,["YYYYY",5],0,"year"),W(0,["YYYYYY",6,!0],0,"year"),z("year","y"),C("year",1),le("Y",_e),le("YY",ae,$),le("YYYY",re,X),le("YYYYY",de,ee),le("YYYYYY",de,ee),Le(["YYYYY","YYYYYY"],fe),Le("YYYY",function(e,a){a[fe]=2===e.length?M.parseTwoDigitYear(e):G(e)}),Le("YY",function(e,a){a[fe]=M.parseTwoDigitYear(e)}),Le("Y",function(e,a){a[fe]=parseInt(e,10)}),M.parseTwoDigitYear=function(e){return G(e)+(68<G(e)?1900:2e3)};var ze=V("FullYear",!0);function Ne(e){var a,t;return e<100&&0<=e?((t=Array.prototype.slice.call(arguments))[0]=e+400,a=new Date(Date.UTC.apply(null,t)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(e)):a=new Date(Date.UTC.apply(null,arguments)),a}function Je(e,a,t){var s=7+a-t;return s-(7+Ne(e,0,s).getUTCDay()-a)%7-1}function Re(e,a,t,s,n){var r,d=1+7*(a-1)+(7+t-s)%7+Je(e,s,n),i=d<=0?Fe(r=e-1)+d:d>Fe(e)?(r=e+1,d-Fe(e)):(r=e,d);return{year:r,dayOfYear:i}}function Ce(e,a,t){var s,n,r=Je(e.year(),a,t),d=Math.floor((e.dayOfYear()-r-1)/7)+1;return d<1?s=d+Ie(n=e.year()-1,a,t):d>Ie(e.year(),a,t)?(s=d-Ie(e.year(),a,t),n=e.year()+1):(n=e.year(),s=d),{week:s,year:n}}function Ie(e,a,t){var s=Je(e,a,t),n=Je(e+1,a,t);return(Fe(e)-s+n)/7}W("w",["ww",2],"wo","week"),W("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),C("week",5),C("isoWeek",5),le("w",ae),le("ww",ae,$),le("W",ae),le("WW",ae,$),Ye(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0,1)]=G(e)});function Ue(e,a){return e.slice(a,7).concat(e.slice(0,a))}W("d",0,"do","day"),W("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),W("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),W("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),W("e",0,0,"weekday"),W("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),C("day",11),C("weekday",11),C("isoWeekday",11),le("d",ae),le("e",ae),le("E",ae),le("dd",function(e,a){return a.weekdaysMinRegex(e)}),le("ddd",function(e,a){return a.weekdaysShortRegex(e)}),le("dddd",function(e,a){return a.weekdaysRegex(e)}),Ye(["dd","ddd","dddd"],function(e,a,t,s){var n=t._locale.weekdaysParse(e,s,t._strict);null!=n?a.d=n:L(t).invalidWeekday=e}),Ye(["d","e","E"],function(e,a,t,s){a[s]=G(e)});var Ge="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ve="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Be="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ke=ue,qe=ue,Ze=ue;function $e(){function e(e,a){return a.length-e.length}for(var a,t,s,n,r=[],d=[],i=[],_=[],o=0;o<7;o++)a=c([2e3,1]).day(o),t=he(this.weekdaysMin(a,"")),s=he(this.weekdaysShort(a,"")),n=he(this.weekdays(a,"")),r.push(t),d.push(s),i.push(n),_.push(t),_.push(s),_.push(n);r.sort(e),d.sort(e),i.sort(e),_.sort(e),this._weekdaysRegex=new RegExp("^("+_.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Qe(){return this.hours()%12||12}function Xe(e,a){W(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function ea(e,a){return a._meridiemParse}W("H",["HH",2],0,"hour"),W("h",["hh",2],0,Qe),W("k",["kk",2],0,function(){return this.hours()||24}),W("hmm",0,0,function(){return""+Qe.apply(this)+H(this.minutes(),2)}),W("hmmss",0,0,function(){return""+Qe.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),W("Hmm",0,0,function(){return""+this.hours()+H(this.minutes(),2)}),W("Hmmss",0,0,function(){return""+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),Xe("a",!0),Xe("A",!1),z("hour","h"),C("hour",13),le("a",ea),le("A",ea),le("H",ae),le("h",ae),le("k",ae),le("HH",ae,$),le("hh",ae,$),le("kk",ae,$),le("hmm",te),le("hmmss",se),le("Hmm",te),le("Hmmss",se),Le(["H","HH"],De),Le(["k","kk"],function(e,a,t){var s=G(e);a[De]=24===s?0:s}),Le(["a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),Le(["h","hh"],function(e,a,t){a[De]=G(e),L(t).bigHour=!0}),Le("hmm",function(e,a,t){var s=e.length-2;a[De]=G(e.substr(0,s)),a[Te]=G(e.substr(s)),L(t).bigHour=!0}),Le("hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[De]=G(e.substr(0,s)),a[Te]=G(e.substr(s,2)),a[ge]=G(e.substr(n)),L(t).bigHour=!0}),Le("Hmm",function(e,a,t){var s=e.length-2;a[De]=G(e.substr(0,s)),a[Te]=G(e.substr(s))}),Le("Hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[De]=G(e.substr(0,s)),a[Te]=G(e.substr(s,2)),a[ge]=G(e.substr(n))});var aa=V("Hours",!0);var ta,sa={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:He,monthsShort:je,week:{dow:0,doy:6},weekdays:Ge,weekdaysMin:Be,weekdaysShort:Ve,meridiemParse:/[ap]\.?m?\.?/i},na={},ra={};function da(e){return e?e.toLowerCase().replace("_","-"):e}function ia(e){for(var a,t,s,n,r=0;r<e.length;){for(a=(n=da(e[r]).split("-")).length,t=(t=da(e[r+1]))?t.split("-"):null;0<a;){if(s=_a(n.slice(0,a).join("-")))return s;if(t&&t.length>=a&&function(e,a){for(var t=Math.min(e.length,a.length),s=0;s<t;s+=1)if(e[s]!==a[s])return s;return t}(n,t)>=a-1)break;a--}r++}return ta}function _a(a){var e;if(void 0===na[a]&&"undefined"!=typeof module&&module&&module.exports)try{e=ta._abbr,require("./locale/"+a),oa(e)}catch(e){na[a]=null}return na[a]}function oa(e,a){var t;return e&&((t=r(a)?ua(e):ma(e,a))?ta=t:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),ta._abbr}function ma(e,a){if(null===a)return delete na[e],null;var t,s=sa;if(a.abbr=e,null!=na[e])w("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=na[e]._config;else if(null!=a.parentLocale)if(null!=na[a.parentLocale])s=na[a.parentLocale]._config;else{if(null==(t=_a(a.parentLocale)))return ra[a.parentLocale]||(ra[a.parentLocale]=[]),ra[a.parentLocale].push({name:e,config:a}),null;s=t._config}return na[e]=new S(b(s,a)),ra[e]&&ra[e].forEach(function(e){ma(e.name,e.config)}),oa(e),na[e]}function ua(e){var a;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return ta;if(!i(e)){if(a=_a(e))return a;e=[e]}return ia(e)}function la(e){var a,t=e._a;return t&&-2===L(e).overflow&&(a=t[pe]<0||11<t[pe]?pe:t[ke]<1||t[ke]>Se(t[fe],t[pe])?ke:t[De]<0||24<t[De]||24===t[De]&&(0!==t[Te]||0!==t[ge]||0!==t[we])?De:t[Te]<0||59<t[Te]?Te:t[ge]<0||59<t[ge]?ge:t[we]<0||999<t[we]?we:-1,L(e)._overflowDayOfYear&&(a<fe||ke<a)&&(a=ke),L(e)._overflowWeeks&&-1===a&&(a=ve),L(e)._overflowWeekday&&-1===a&&(a=be),L(e).overflow=a),e}var Ma=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ha=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ca=/Z|[+-]\d\d(?::?\d\d)?/,La=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Ya=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],ya=/^\/?Date\((-?\d+)/i,fa=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,pa={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ka(e){var a,t,s,n,r,d,i=e._i,_=Ma.exec(i)||ha.exec(i);if(_){for(L(e).iso=!0,a=0,t=La.length;a<t;
vendor: 4,302 bytes, line 559
559a++)if(La[a][1].exec(_[1])){n=La[a][0],s=!1!==La[a][2];break}if(null==n)return void(e._isValid=!1);if(_[3]){for(a=0,t=Ya.length;a<t;a++)if(Ya[a][1].exec(_[3])){r=(_[2]||" ")+Ya[a][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(_[4]){if(!ca.exec(_[4]))return void(e._isValid=!1);d="Z"}e._f=n+(r||"")+(d||""),va(e)}else e._isValid=!1}function Da(e,a,t,s,n,r){var d=[function(e){var a=parseInt(e,10);{if(a<=49)return 2e3+a;if(a<=999)return 1900+a}return a}(e),je.indexOf(a),parseInt(t,10),parseInt(s,10),parseInt(n,10)];return r&&d.push(parseInt(r,10)),d}function Ta(e){var a,t,s,n,r=fa.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(r){if(a=Da(r[4],r[3],r[2],r[5],r[6],r[7]),t=r[1],s=a,n=e,t&&Ve.indexOf(t)!==new Date(s[0],s[1],s[2]).getDay()&&(L(n).weekdayMismatch=!0,!void(n._isValid=!1)))return;e._a=a,e._tzm=function(e,a,t){if(e)return pa[e];if(a)return 0;var s=parseInt(t,10),n=s%100;return 60*((s-n)/100)+n}(r[8],r[9],r[10]),e._d=Ne.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),L(e).rfc2822=!0}else e._isValid=!1}function ga(e,a,t){return null!=e?e:null!=a?a:t}function wa(e){var a,t,s,n,r,d,i,_=[];if(!e._d){for(d=e,i=new Date(M.now()),s=d._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()],e._w&&null==e._a[ke]&&null==e._a[pe]&&function(e){var a,t,s,n,r,d,i,_,o;null!=(a=e._w).GG||null!=a.W||null!=a.E?(r=1,d=4,t=ga(a.GG,e._a[fe],Ce(Ha(),1,4).year),s=ga(a.W,1),((n=ga(a.E,1))<1||7<n)&&(_=!0)):(r=e._locale._week.dow,d=e._locale._week.doy,o=Ce(Ha(),r,d),t=ga(a.gg,e._a[fe],o.year),s=ga(a.w,o.week),null!=a.d?((n=a.d)<0||6<n)&&(_=!0):null!=a.e?(n=a.e+r,(a.e<0||6<a.e)&&(_=!0)):n=r);s<1||s>Ie(t,r,d)?L(e)._overflowWeeks=!0:null!=_?L(e)._overflowWeekday=!0:(i=Re(t,s,n,r,d),e._a[fe]=i.year,e._dayOfYear=i.dayOfYear)}(e),null!=e._dayOfYear&&(r=ga(e._a[fe],s[fe]),(e._dayOfYear>Fe(r)||0===e._dayOfYear)&&(L(e)._overflowDayOfYear=!0),t=Ne(r,0,e._dayOfYear),e._a[pe]=t.getUTCMonth(),e._a[ke]=t.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=_[a]=s[a];for(;a<7;a++)e._a[a]=_[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[De]&&0===e._a[Te]&&0===e._a[ge]&&0===e._a[we]&&(e._nextDay=!0,e._a[De]=0),e._d=(e._useUTC?Ne:function(e,a,t,s,n,r,d){var i;return e<100&&0<=e?(i=new Date(e+400,a,t,s,n,r,d),isFinite(i.getFullYear())&&i.setFullYear(e)):i=new Date(e,a,t,s,n,r,d),i}).apply(null,_),n=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[De]=24),e._w&&void 0!==e._w.d&&e._w.d!==n&&(L(e).weekdayMismatch=!0)}}function va(e){if(e._f!==M.ISO_8601)if(e._f!==M.RFC_2822){e._a=[],L(e).empty=!0;for(var a,t,s,n,r,d,i,_=""+e._i,o=_.length,m=0,u=E(e._f,e._locale).match(j)||[],l=0;l<u.length;l++)t=u[l],(a=(_.match(Me(t,e))||[])[0])&&(0<(s=_.substr(0,_.indexOf(a))).length&&L(e).unusedInput.push(s),_=_.slice(_.indexOf(a)+a.length),m+=a.length),O[t]?(a?L(e).empty=!1:L(e).unusedTokens.push(t),r=t,i=e,null!=(d=a)&&h(ce,r)&&ce[r](d,i._a,i,r)):e._strict&&!a&&L(e).unusedTokens.push(t);L(e).charsLeftOver=o-m,0<_.length&&L(e).unusedInput.push(_),e._a[De]<=12&&!0===L(e).bigHour&&0<e._a[De]&&(L(e).bigHour=void 0),L(e).parsedDateParts=e._a.slice(0),L(e).meridiem=e._meridiem,e._a[De]=function(e,a,t){var s;if(null==t)return a;return null!=e.meridiemHour?e.meridiemHour(a,t):(null!=e.isPM&&((s=e.isPM(t))&&a<12&&(a+=12),s||12!==a||(a=0)),a)}(e._locale,e._a[De],e._meridiem),null!==(n=L(e).era)&&(e._a[fe]=e._locale.erasConvertYear(n,e._a[fe])),wa(e),la(e)}else Ta(e);else ka(e)}function ba(e){var a,t,s=e._i,n=e._f;return e._locale=e._locale||ua(e._l),null===s||void 0===n&&""===s?y({nullInput:!0}):("string"==typeof s&&(e._i=s=e._locale.preparse(s)),D(s)?new k(la(s)):(d(s)?e._d=s:i(n)?function(e){var a,t,s,n,r,d,i=!1;if(0===e._f.length)return L(e).invalidFormat=!0,e._d=new Date(NaN);for(n=0;n<e._f.length;n++)r=0,d=!1,a=p({},e),null!=e._useUTC&&(a._useUTC=e._useUTC),a._f=e._f[n],va(a),Y(a)&&(d=!0),r+=L(a).charsLeftOver,r+=10*L(a).unusedTokens.length,L(a).score=r,i?r<s&&(s=r,t=a):(null==s||r<s||d)&&(s=r,t=a,d&&(i=!0));l(e,t||a)}(e):n?va(e):r(t=(a=e)._i)?a._d=new Date(M.now()):d(t)?a._d=new Date(t.valueOf()):"string"==typeof t?function(e){var a=ya.exec(e._i);
vendor: 17,640 bytes, line 559
559null===a?(ka(e),!1===e._isValid&&(delete e._isValid,Ta(e),!1===e._isValid&&(delete e._isValid,e._strict?e._isValid=!1:M.createFromInputFallback(e)))):e._d=new Date(+a[1])}(a):i(t)?(a._a=u(t.slice(0),function(e){return parseInt(e,10)}),wa(a)):_(t)?function(e){var a,t;e._d||(t=void 0===(a=J(e._i)).day?a.date:a.day,e._a=u([a.year,a.month,t,a.hour,a.minute,a.second,a.millisecond],function(e){return e&&parseInt(e,10)}),wa(e))}(a):m(t)?a._d=new Date(t):M.createFromInputFallback(a),Y(e)||(e._d=null),e))}function Sa(e,a,t,s,n){var r,d={};return!0!==a&&!1!==a||(s=a,a=void 0),!0!==t&&!1!==t||(s=t,t=void 0),(_(e)&&o(e)||i(e)&&0===e.length)&&(e=void 0),d._isAMomentObject=!0,d._useUTC=d._isUTC=n,d._l=t,d._i=e,d._f=a,d._strict=s,(r=new k(la(ba(d))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function Ha(e,a,t,s){return Sa(e,a,t,s,!1)}M.createFromInputFallback=t("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),M.ISO_8601=function(){},M.RFC_2822=function(){};var ja=t("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Ha.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:y()}),xa=t("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Ha.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:y()});function Pa(e,a){var t,s;if(1===a.length&&i(a[0])&&(a=a[0]),!a.length)return Ha();for(t=a[0],s=1;s<a.length;++s)a[s].isValid()&&!a[s][e](t)||(t=a[s]);return t}var Oa=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Wa(e){var a=J(e),t=a.year||0,s=a.quarter||0,n=a.month||0,r=a.week||a.isoWeek||0,d=a.day||0,i=a.hour||0,_=a.minute||0,o=a.second||0,m=a.millisecond||0;this._isValid=function(e){var a,t,s=!1;for(a in e)if(h(e,a)&&(-1===ye.call(Oa,a)||null!=e[a]&&isNaN(e[a])))return!1;for(t=0;t<Oa.length;++t)if(e[Oa[t]]){if(s)return!1;parseFloat(e[Oa[t]])!==G(e[Oa[t]])&&(s=!0)}return!0}(a),this._milliseconds=+m+1e3*o+6e4*_+1e3*i*60*60,this._days=+d+7*r,this._months=+n+3*s+12*t,this._data={},this._locale=ua(),this._bubble()}function Aa(e){return e instanceof Wa}function Ea(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Fa(e,t){W(e,0,0,function(){var e=this.utcOffset(),a="+";return e<0&&(e=-e,a="-"),a+H(~~(e/60),2)+t+H(~~e%60,2)})}Fa("Z",":"),Fa("ZZ",""),le("Z",me),le("ZZ",me),Le(["Z","ZZ"],function(e,a,t){t._useUTC=!0,t._tzm=Na(me,e)});var za=/([\+\-]|\d\d)/gi;function Na(e,a){var t,s,n=(a||"").match(e);return null===n?null:0===(s=60*(t=((n[n.length-1]||[])+"").match(za)||["-",0,0])[1]+G(t[2]))?0:"+"===t[0]?s:-s}function Ja(e,a){var t,s;return a._isUTC?(t=a.clone(),s=(D(e)||d(e)?e.valueOf():Ha(e).valueOf())-t.valueOf(),t._d.setTime(t._d.valueOf()+s),M.updateOffset(t,!1),t):Ha(e).local()}function Ra(e){return-Math.round(e._d.getTimezoneOffset())}function Ca(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}M.updateOffset=function(){};var Ia=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Ua=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ga(e,a){var t,s,n,r=e,d=null;return Aa(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:m(e)||!isNaN(+e)?(r={},a?r[a]=+e:r.milliseconds=+e):(d=Ia.exec(e))?(t="-"===d[1]?-1:1,r={y:0,d:G(d[ke])*t,h:G(d[De])*t,m:G(d[Te])*t,s:G(d[ge])*t,ms:G(Ea(1e3*d[we]))*t}):(d=Ua.exec(e))?(t="-"===d[1]?-1:1,r={y:Va(d[2],t),M:Va(d[3],t),w:Va(d[4],t),d:Va(d[5],t),h:Va(d[6],t),m:Va(d[7],t),s:Va(d[8],t)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(n=function(e,a){var t;if(!e.isValid()||!a.isValid())return{milliseconds:0,months:0};a=Ja(a,e),e.isBefore(a)?t=Ba(e,a):((t=Ba(a,e)).milliseconds=-t.milliseconds,t.months=-t.months);return t}(Ha(r.from),Ha(r.to)),(r={}).ms=n.milliseconds,r.M=n.months),s=new Wa(r),Aa(e)&&h(e,"_locale")&&(s._locale=e._locale),Aa(e)&&h(e,"_isValid")&&(s._isValid=e._isValid),s}function Va(e,a){var t=e&&parseFloat(e.replace(",","."));return(isNaN(t)?0:t)*a}function Ba(e,a){var t={};return t.months=a.month()-e.month()+12*(a.year()-e.year()),e.clone().add(t.months,"M").isAfter(a)&&--t.months,t.milliseconds=a-e.clone().add(t.months,"M"),t}function Ka(s,n){return function(e,a){var t;return null===a||isNaN(+a)||(w(n,"moment()."+n+"(period, number) is deprecated. Please use moment()."+n+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),t=e,e=a,a=t),qa(this,Ga(e,a),s),this}}function qa(e,a,t,s){var n=a._milliseconds,r=Ea(a._days),d=Ea(a._months);e.isValid()&&(s=null==s||s,d&&We(e,B(e,"Month")+d*t),r&&K(e,"Date",B(e,"Date")+r*t),n&&e._d.setTime(e._d.valueOf()+n*t),s&&M.updateOffset(e,r||d))}Ga.fn=Wa.prototype,Ga.invalid=function(){return Ga(NaN)};var Za=Ka(1,"add"),$a=Ka(-1,"subtract");function Qa(e){return"string"==typeof e||e instanceof String}function Xa(e){return D(e)||d(e)||Qa(e)||m(e)||function(a){var e=i(a),t=!1;e&&(t=0===a.filter(function(e){return!m(e)&&Qa(a)}).length);return e&&t}(e)||function(e){var a,t,s=_(e)&&!o(e),n=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(a=0;a<r.length;a+=1)t=r[a],n=n||h(e,t);return s&&n}(e)||null==e}function et(e,a){if(e.date()<a.date())return-et(a,e);var t=12*(a.year()-e.year())+(a.month()-e.month()),s=e.clone().add(t,"months"),n=a-s<0?(a-s)/(s-e.clone().add(t-1,"months")):(a-s)/(e.clone().add(1+t,"months")-s);return-(t+n)||0}function at(e){var a;return void 0===e?this._locale._abbr:(null!=(a=ua(e))&&(this._locale=a),this)}M.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",M.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var tt=t("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function st(){return this._locale}var nt=126227808e5;function rt(e,a){return(e%a+a)%a}function dt(e,a,t){return e<100&&0<=e?new Date(e+400,a,t)-nt:new Date(e,a,t).valueOf()}function it(e,a,t){return e<100&&0<=e?Date.UTC(e+400,a,t)-nt:Date.UTC(e,a,t)}function _t(e,a){return a.erasAbbrRegex(e)}function ot(){for(var e=[],a=[],t=[],s=[],n=this.eras(),r=0,d=n.length;r<d;++r)a.push(he(n[r].name)),e.push(he(n[r].abbr)),t.push(he(n[r].narrow)),s.push(he(n[r].name)),s.push(he(n[r].abbr)),s.push(he(n[r].narrow));this._erasRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+a.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+t.join("|")+")","i")}function mt(e,a){W(0,[e,e.length],0,a)}function ut(e,a,t,s,n){var r;return null==e?Ce(this,s,n).year:((r=Ie(e,s,n))<a&&(a=r),function(e,a,t,s,n){var r=Re(e,a,t,s,n),d=Ne(r.year,0,r.dayOfYear);return this.year(d.getUTCFullYear()),this.month(d.getUTCMonth()),this.date(d.getUTCDate()),this}.call(this,e,a,t,s,n))}W("N",0,0,"eraAbbr"),W("NN",0,0,"eraAbbr"),W("NNN",0,0,"eraAbbr"),W("NNNN",0,0,"eraName"),W("NNNNN",0,0,"eraNarrow"),W("y",["y",1],"yo","eraYear"),W("y",["yy",2],0,"eraYear"),W("y",["yyy",3],0,"eraYear"),W("y",["yyyy",4],0,"eraYear"),le("N",_t),le("NN",_t),le("NNN",_t),le("NNNN",function(e,a){return a.erasNameRegex(e)}),le("NNNNN",function(e,a){return a.erasNarrowRegex(e)}),Le(["N","NN","NNN","NNNN","NNNNN"],function(e,a,t,s){var n=t._locale.erasParse(e,s,t._strict);n?L(t).era=n:L(t).invalidEra=e}),le("y",ie),le("yy",ie),le("yyy",ie),le("yyyy",ie),le("yo",function(e,a){return a._eraYearOrdinalRegex||ie}),Le(["y","yy","yyy","yyyy"],fe),Le(["yo"],function(e,a,t,s){var n;t._locale._eraYearOrdinalRegex&&(n=e.match(t._locale._eraYearOrdinalRegex)),t._locale.eraYearOrdinalParse?a[fe]=t._locale.eraYearOrdinalParse(e,n):a[fe]=parseInt(e,10)}),W(0,["gg",2],0,function(){return this.weekYear()%100}),W(0,["GG",2],0,function(){return this.isoWeekYear()%100}),mt("gggg","weekYear"),mt("ggggg","weekYear"),mt("GGGG","isoWeekYear"),mt("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),C("weekYear",1),C("isoWeekYear",1),le("G",_e),le("g",_e),le("GG",ae,$),le("gg",ae,$),le("GGGG",re,X),le("gggg",re,X),le("GGGGG",de,ee),le("ggggg",de,ee),Ye(["gggg","ggggg","GGGG","GGGGG"],function(e,a,t,s){a[s.substr(0,2)]=G(e)}),Ye(["gg","GG"],function(e,a,t,s){a[s]=M.parseTwoDigitYear(e)}),W("Q",0,"Qo","quarter"),z("quarter","Q"),C("quarter",7),le("Q",Z),Le("Q",function(e,a){a[pe]=3*(G(e)-1)}),W("D",["DD",2],"Do","date"),z("date","D"),C("date",9),le("D",ae),le("DD",ae,$),le("Do",function(e,a){return e?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),Le(["D","DD"],ke),Le("Do",function(e,a){a[ke]=G(e.match(ae)[0])});var lt=V("Date",!0);W("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),C("dayOfYear",4),le("DDD",ne),le("DDDD",Q),Le(["DDD","DDDD"],function(e,a,t){t._dayOfYear=G(e)}),W("m",["mm",2],0,"minute"),z("minute","m"),C("minute",14),le("m",ae),le("mm",ae,$),Le(["m","mm"],Te);var Mt=V("Minutes",!1);W("s",["ss",2],0,"second"),z("second","s"),C("second",15),le("s",ae),le("ss",ae,$),Le(["s","ss"],ge);var ht,ct,Lt=V("Seconds",!1);for(W("S",0,0,function(){return~~(this.millisecond()/100)}),W(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),W(0,["SSS",3],0,"millisecond"),W(0,["SSSS",4],0,function(){return 10*this.millisecond()}),W(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),W(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),W(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),W(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),W(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),C("millisecond",16),le("S",ne,Z),le("SS",ne,$),le("SSS",ne,Q),ht="SSSS";ht.length<=9;ht+="S")le(ht,ie);function Yt(e,a){a[we]=G(1e3*("0."+e))}for(ht="S";ht.length<=9;ht+="S")Le(ht,Yt);ct=V("Milliseconds",!1),W("z",0,0,"zoneAbbr"),W("zz",0,0,"zoneName");var yt=k.prototype;function ft(e){return e}yt.add=Za,yt.calendar=function(e,a){1===arguments.length&&(arguments[0]?Xa(arguments[0])?(e=arguments[0],a=void 0):function(e){for(var a=_(e)&&!o(e),t=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],n=0;n<s.length;n+=1)t=t||h(e,s[n]);return a&&t}(arguments[0])&&(a=arguments[0],e=void 0):a=e=void 0);var t=e||Ha(),s=Ja(t,this).startOf("day"),n=M.calendarFormat(this,s)||"sameElse",r=a&&(v(a[n])?a[n].call(this,t):a[n]);return this.format(r||this.localeData().calendar(n,this,Ha(t)))},yt.clone=function(){return new k(this)},yt.diff=function(e,a,t){var s,n,r;if(!this.isValid())return NaN;if(!(s=Ja(e,this)).isValid())return NaN;switch(n=6e4*(s.utcOffset()-this.utcOffset()),a=N(a)){case"year":r=et(this,s)/12;break;case"month":r=et(this,s);break;case"quarter":r=et(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-n)/864e5;break;case"week":r=(this-s-n)/6048e5;break;default:r=this-s}return t?r:U(r)},yt.endOf=function(e){var a,t;if(void 0===(e=N(e))||"millisecond"===e||!this.isValid())return this;switch(t=this._isUTC?it:dt,e){case"year":a=t(this.year()+1,0,1)-1;break;case"quarter":a=t(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":a=t(this.year(),this.month()+1,1)-1;break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":a=t(this.year(),this.month(),this.date()+1)-1;break;case"hour":a=this._d.valueOf(),a+=36e5-rt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":a=this._d.valueOf(),a+=6e4-rt(a,6e4)-1;break;case"second":a=this._d.valueOf(),a+=1e3-rt(a,1e3)-1;break}return this._d.setTime(a),M.updateOffset(this,!0),this},yt.format=function(e){e=e||(this.isUtc()?M.defaultFormatUtc:M.defaultFormat);var a=A(this,e);return this.localeData().postformat(a)},yt.from=function(e,a){return this.isValid()&&(D(e)&&e.isValid()||Ha(e).isValid())?Ga({to:this,from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},yt.fromNow=function(e){return this.from(Ha(),e)},yt.to=function(e,a){return this.isValid()&&(D(e)&&e.isValid()||Ha(e).isValid())?Ga({from:this,to:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},yt.toNow=function(e){return this.to(Ha(),e)},yt.get=function(e){return v(this[e=N(e)])?this[e]():this},yt.invalidAt=function(){return L(this).overflow},yt.isAfter=function(e,a){var t=D(e)?e:Ha(e);return!(!this.isValid()||!t.isValid())&&("millisecond"===(a=N(a)||"millisecond")?this.valueOf()>t.valueOf():t.valueOf()<this.clone().startOf(a).valueOf())},yt.isBefore=function(e,a){var t=D(e)?e:Ha(e);return!(!this.isValid()||!t.isValid())&&("millisecond"===(a=N(a)||"millisecond")?this.valueOf()<t.valueOf():this.clone().endOf(a).valueOf()<t.valueOf())},yt.isBetween=function(e,a,t,s){var n=D(e)?e:Ha(e),r=D(a)?a:Ha(a);return!!(this.isValid()&&n.isValid()&&r.isValid())&&(("("===(s=s||"()")[0]?this.isAfter(n,t):!this.isBefore(n,t))&&(")"===s[1]?this.isBefore(r,t):!this.isAfter(r,t)))},yt.isSame=function(e,a){var t,s=D(e)?e:Ha(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(a=N(a)||"millisecond")?this.valueOf()===s.valueOf():(t=s.valueOf(),this.clone().startOf(a).valueOf()<=t&&t<=this.clone().endOf(a).valueOf()))},yt.isSameOrAfter=function(e,a){return this.isSame(e,a)||this.isAfter(e,a)},yt.isSameOrBefore=function(e,a){return this.isSame(e,a)||this.isBefore(e,a)},yt.isValid=function(){return Y(this)},yt.lang=tt,yt.locale=at,yt.localeData=st,yt.max=xa,yt.min=ja,yt.parsingFlags=function(){return l({},L(this))},yt.set=function(e,a){if("object"==typeof e)for(var t=function(e){var a,t=[];for(a in e)h(e,a)&&t.push({unit:a,priority:R[a]});return t.sort(function(e,a){return e.priority-a.priority}),t}(e=J(e)),s=0;s<t.length;s++)this[t[s].unit](e[t[s].unit]);else if(v(this[e=N(e)]))return this[e](a);return this},yt.startOf=function(e){var a,t;if(void 0===(e=N(e))||"millisecond"===e||!this.isValid())return this;switch(t=this._isUTC?it:dt,e){case"year":a=t(this.year(),0,1);break;case"quarter":a=t(this.year(),this.month()-this.month()%3,1);break;case"month":a=t(this.year(),this.month(),1);break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":a=t(this.year(),this.month(),this.date());break;case"hour":a=this._d.valueOf(),a-=rt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":a=this._d.valueOf(),a-=rt(a,6e4);break;case"second":a=this._d.valueOf(),a-=rt(a,1e3);break}return this._d.setTime(a),M.updateOffset(this,!0),this},yt.subtract=$a,yt.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},yt.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},yt.toDate=function(){return new Date(this.valueOf())},yt.toISOString=function(e){if(!this.isValid())return null;var a=!0!==e,t=a?this.clone().utc():this;return t.year()<0||9999<t.year()?A(t,a?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):v(Date.prototype.toISOString)?a?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",A(t,"Z")):A(t,a?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},yt.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,a,t,s="moment",n="";return this.isLocal()||(s=0===this.utcOffset()?"moment.utc":"moment.parseZone",n="Z"),e="["+s+'("]',a=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",t=n+'[")]',this.format(e+a+"-MM-DD[T]HH:mm:ss.SSS"+t)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(yt[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),yt.toJSON=function(){return this.isValid()?this.toISOString():null},yt.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},yt.unix=function(){return Math.floor(this.valueOf()/1e3)},yt.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},yt.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},yt.eraName=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].name;if(a[t].until<=e&&e<=a[t].since)return a[t].name}return""},yt.eraNarrow=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].narrow;if(a[t].until<=e&&e<=a[t].since)return a[t].narrow}return""},yt.eraAbbr=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].abbr;if(a[t].until<=e&&e<=a[t].since)return a[t].abbr}return""},yt.eraYear=function(){for(var e,a,t=this.localeData().eras(),s=0,n=t.length;s<n;++s)if(e=t[s].since<=t[s].until?1:-1,a=this.clone().startOf("day").valueOf(),t[s].since<=a&&a<=t[s].until||t[
vendor: 4,528 bytes, line 559
559s].until<=a&&a<=t[s].since)return(this.year()-M(t[s].since).year())*e+t[s].offset;return this.year()},yt.year=ze,yt.isLeapYear=function(){return I(this.year())},yt.weekYear=function(e){return ut.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},yt.isoWeekYear=function(e){return ut.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},yt.quarter=yt.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},yt.month=Ae,yt.daysInMonth=function(){return Se(this.year(),this.month())},yt.week=yt.weeks=function(e){var a=this.localeData().week(this);return null==e?a:this.add(7*(e-a),"d")},yt.isoWeek=yt.isoWeeks=function(e){var a=Ce(this,1,4).week;return null==e?a:this.add(7*(e-a),"d")},yt.weeksInYear=function(){var e=this.localeData()._week;return Ie(this.year(),e.dow,e.doy)},yt.weeksInWeekYear=function(){var e=this.localeData()._week;return Ie(this.weekYear(),e.dow,e.doy)},yt.isoWeeksInYear=function(){return Ie(this.year(),1,4)},yt.isoWeeksInISOWeekYear=function(){return Ie(this.isoWeekYear(),1,4)},yt.date=lt,yt.day=yt.days=function(e){if(!this.isValid())return null!=e?this:NaN;var a,t,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(a=e,t=this.localeData(),e="string"!=typeof a?a:isNaN(a)?"number"==typeof(a=t.weekdaysParse(a))?a:null:parseInt(a,10),this.add(e-s,"d")):s},yt.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var a=(this.day()+7-this.localeData()._week.dow)%7;return null==e?a:this.add(e-a,"d")},yt.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var a,t,s=(a=e,t=this.localeData(),"string"==typeof a?t.weekdaysParse(a)%7||7:isNaN(a)?null:a);return this.day(this.day()%7?s:s-7)},yt.dayOfYear=function(e){var a=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?a:this.add(e-a,"d")},yt.hour=yt.hours=aa,yt.minute=yt.minutes=Mt,yt.second=yt.seconds=Lt,yt.millisecond=yt.milliseconds=ct,yt.utcOffset=function(e,a,t){var s,n=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?n:Ra(this);if("string"==typeof e){if(null===(e=Na(me,e)))return this}else Math.abs(e)<16&&!t&&(e*=60);return!this._isUTC&&a&&(s=Ra(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),n!==e&&(!a||this._changeInProgress?qa(this,Ga(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,M.updateOffset(this,!0),this._changeInProgress=null)),this},yt.utc=function(e){return this.utcOffset(0,e)},yt.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Ra(this),"m")),this},yt.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=Na(oe,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},yt.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Ha(e).utcOffset():0,(this.utcOffset()-e)%60==0)},yt.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},yt.isLocal=function(){return!!this.isValid()&&!this._isUTC},yt.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},yt.isUtc=Ca,yt.isUTC=Ca,yt.zoneAbbr=function(){return this._isUTC?"UTC":""},yt.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},yt.dates=t("dates accessor is deprecated. Use date instead.",lt),yt.months=t("months accessor is deprecated. Use month instead",Ae),yt.years=t("years accessor is deprecated. Use year instead",ze),yt.zone=t("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,a){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,a),this):-this.utcOffset()}),yt.isDSTShifted=t("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e,a={};return p(a,this),(a=ba(a))._a?(e=(a._isUTC?c:Ha)(a._a),this._isDSTShifted=this.isValid()&&0<function(e,a,t){for(var s=Math.min(e.length,a.length),n=Math.abs(e.length-a.length),r=0,d=0;d<s;d++)(t&&e[d]!==a[d]||!t&&G(e[d])!==G(a[d]))&&r++;return r+n}(a._a,e.toArray())):this._isDSTShifted=!1,this._isDSTShifted});var pt=S.prototype;function kt(e,a,t,s){var n=ua(),r=c().set(s,a);return n[t](r,e)}function Dt(e,a,t){if(m(e)&&(a=e,e=void 0),e=e||"",null!=a)return kt(e,a,t,"month");for(var s=[],n=0;n<12;n++)s[n]=kt(e,n,t,"month");return s}
vendor: 11,692 bytes, line 559
559function Tt(e,a,t,s){a=("boolean"==typeof e?m(a)&&(t=a,a=void 0):(a=e,e=!1,m(t=a)&&(t=a,a=void 0)),a||"");var n,r=ua(),d=e?r._week.dow:0,i=[];if(null!=t)return kt(a,(t+d)%7,s,"day");for(n=0;n<7;n++)i[n]=kt(a,(n+d)%7,s,"day");return i}pt.calendar=function(e,a,t){var s=this._calendar[e]||this._calendar.sameElse;return v(s)?s.call(a,t):s},pt.longDateFormat=function(e){var a=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return a||!t?a:(this._longDateFormat[e]=t.match(j).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},pt.invalidDate=function(){return this._invalidDate},pt.ordinal=function(e){return this._ordinal.replace("%d",e)},pt.preparse=ft,pt.postformat=ft,pt.relativeTime=function(e,a,t,s){var n=this._relativeTime[t];return v(n)?n(e,a,t,s):n.replace(/%d/i,e)},pt.pastFuture=function(e,a){var t=this._relativeTime[0<e?"future":"past"];return v(t)?t(a):t.replace(/%s/i,a)},pt.set=function(e){var a,t;for(t in e)h(e,t)&&(v(a=e[t])?this[t]=a:this["_"+t]=a);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},pt.eras=function(e,a){for(var t,s=this._eras||ua("en")._eras,n=0,r=s.length;n<r;++n){switch(typeof s[n].since){case"string":t=M(s[n].since).startOf("day"),s[n].since=t.valueOf();break}switch(typeof s[n].until){case"undefined":s[n].until=1/0;break;case"string":t=M(s[n].until).startOf("day").valueOf(),s[n].until=t.valueOf();break}}return s},pt.erasParse=function(e,a,t){var s,n,r,d,i,_=this.eras();for(e=e.toUpperCase(),s=0,n=_.length;s<n;++s)if(r=_[s].name.toUpperCase(),d=_[s].abbr.toUpperCase(),i=_[s].narrow.toUpperCase(),t)switch(a){case"N":case"NN":case"NNN":if(d===e)return _[s];break;case"NNNN":if(r===e)return _[s];break;case"NNNNN":if(i===e)return _[s];break}else if(0<=[r,d,i].indexOf(e))return _[s]},pt.erasConvertYear=function(e,a){var t=e.since<=e.until?1:-1;return void 0===a?M(e.since).year():M(e.since).year()+(a-e.offset)*t},pt.erasAbbrRegex=function(e){return h(this,"_erasAbbrRegex")||ot.call(this),e?this._erasAbbrRegex:this._erasRegex},pt.erasNameRegex=function(e){return h(this,"_erasNameRegex")||ot.call(this),e?this._erasNameRegex:this._erasRegex},pt.erasNarrowRegex=function(e){return h(this,"_erasNarrowRegex")||ot.call(this),e?this._erasNarrowRegex:this._erasRegex},pt.months=function(e,a){return e?i(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||xe).test(a)?"format":"standalone"][e.month()]:i(this._months)?this._months:this._months.standalone},pt.monthsShort=function(e,a){return e?i(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[xe.test(a)?"format":"standalone"][e.month()]:i(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},pt.monthsParse=function(e,a,t){var s,n,r;if(this._monthsParseExact)return function(e,a,t){var s,n,r,d=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=c([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return t?"MMM"===a?-1!==(n=ye.call(this._shortMonthsParse,d))?n:null:-1!==(n=ye.call(this._longMonthsParse,d))?n:null:"MMM"===a?-1!==(n=ye.call(this._shortMonthsParse,d))||-1!==(n=ye.call(this._longMonthsParse,d))?n:null:-1!==(n=ye.call(this._longMonthsParse,d))||-1!==(n=ye.call(this._shortMonthsParse,d))?n:null}.call(this,e,a,t);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(n=c([2e3,s]),t&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),t||this._monthsParse[s]||(r="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),t&&"MMMM"===a&&this._longMonthsParse[s].test(e))return s;if(t&&"MMM"===a&&this._shortMonthsParse[s].test(e))return s;if(!t&&this._monthsParse[s].test(e))return s}},pt.monthsRegex=function(e){return this._monthsParseExact?(h(this,"_monthsRegex")||Ee.call(this),e?this._monthsStrictRegex:this._monthsRegex):(h(this,"_monthsRegex")||(this._monthsRegex=Oe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},pt.monthsShortRegex=function(e){return this._monthsParseExact?(h(this,"_monthsRegex")||Ee.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(h(this,"_monthsShortRegex")||(this._monthsShortRegex=Pe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},pt.week=function(e){return Ce(e,this._week.dow,this._week.doy).week},pt.firstDayOfYear=function(){return this._week.doy},pt.firstDayOfWeek=function(){return this._week.dow},pt.weekdays=function(e,a){var t=i(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(a)?"format":"standalone"];return!0===e?Ue(t,this._week.dow):e?t[e.day()]:t},pt.weekdaysMin=function(e){return!0===e?Ue(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},pt.weekdaysShort=function(e){return!0===e?Ue(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},pt.weekdaysParse=function(e,a,t){var s,n,r;if(this._weekdaysParseExact)return function(e,a,t){var s,n,r,d=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=c([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return t?"dddd"===a?-1!==(n=ye.call(this._weekdaysParse,d))?n:null:"ddd"===a?-1!==(n=ye.call(this._shortWeekdaysParse,d))?n:null:-1!==(n=ye.call(this._minWeekdaysParse,d))?n:null:"dddd"===a?-1!==(n=ye.call(this._weekdaysParse,d))||-1!==(n=ye.call(this._shortWeekdaysParse,d))||-1!==(n=ye.call(this._minWeekdaysParse,d))?n:null:"ddd"===a?-1!==(n=ye.call(this._shortWeekdaysParse,d))||-1!==(n=ye.call(this._weekdaysParse,d))||-1!==(n=ye.call(this._minWeekdaysParse,d))?n:null:-1!==(n=ye.call(this._minWeekdaysParse,d))||-1!==(n=ye.call(this._weekdaysParse,d))||-1!==(n=ye.call(this._shortWeekdaysParse,d))?n:null}.call(this,e,a,t);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(n=c([2e3,1]).day(s),t&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),t&&"dddd"===a&&this._fullWeekdaysParse[s].test(e))return s;if(t&&"ddd"===a&&this._shortWeekdaysParse[s].test(e))return s;if(t&&"dd"===a&&this._minWeekdaysParse[s].test(e))return s;if(!t&&this._weekdaysParse[s].test(e))return s}},pt.weekdaysRegex=function(e){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||$e.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=Ke),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},pt.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||$e.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=qe),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},pt.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||$e.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ze),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},pt.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},pt.meridiem=function(e,a,t){return 11<e?t?"pm":"PM":t?"am":"AM"},oa("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1===G(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),M.lang=t("moment.lang is deprecated. Use moment.locale instead.",oa),M.langData=t("moment.langData is deprecated. Use moment.localeData instead.",ua);var gt=Math.abs;function wt(e,a,t,s){var n=Ga(a,t);return e._milliseconds+=s*n._milliseconds,e._days+=s*n._days,e._months+=s*n._months,e._bubble()}function vt(e){return e<0?Math.floor(e):Math.ceil(e)}function bt(e){return 4800*e/146097}function St(e){return 146097*e/4800}function Ht(e){return function(){return this.as(e)}}var jt=Ht("ms"),xt=Ht("s"),Pt=Ht("m"),Ot=Ht("h"),Wt=Ht("d"),At=Ht("w"),Et=Ht("M"),Ft=Ht("Q"),zt=Ht("y");function Nt(e){return function(){return this.isValid()?this._data[e]:NaN}}var Jt=Nt("milliseconds"),Rt=Nt("seconds"),Ct=Nt("minutes"),It=Nt("hours"),Ut=Nt("days"),Gt=Nt("months"),Vt=Nt("years");var Bt=Math.round,Kt={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function qt(e,a,t,s){var n=Ga(e).abs(),r=Bt(n.as("s")),d=Bt(n.as("m")),i=Bt(n.as("h")),_=Bt(n.as("d")),o=Bt(n.as("M")),m=Bt(n.as("w")),u=Bt(n.as("y")),l=(r<=t.ss?["s",r]:r<t.s&&["ss",r])||d<=1&&["m"]||d<t.m&&["mm",d]||i<=1&&["h"]||i<t.h&&["hh",i]||_<=1&&["d"]||_<t.d&&["dd",_];return null!=t.w&&(l=l||m<=1&&["w"]||m<t.w&&["ww",m]),(l=l||o<=1&&["M"]||o<t.M&&["MM",o]||u<=1&&["y"]||["yy",u])[2]=a,l[3]=0<+e,l[4]=s,function(e,a,t,s,n){return n.relativeTime(a||1,!!t,e,s)}.apply(null,l)}var Zt=Math.abs;function $t(e){return(0<e)-(e<0)||+e}function Qt(){if(!this.isValid())return this.localeData().invalidDate();var e,a,t,s,n,r,d,i,_=Zt(this._milliseconds)/1e3,o=Zt(this._days),m=Zt(this._months),u=this.asSeconds();return u?(e=U(_/60),a=U(e/60),_%=60,e%=60,t=U(m/12),m%=12,s=_?_.toFixed(3).replace(/\.?0+$/,""):"",n=u<0?"-":"",r=$t(this._months)!==$t(u)?"-":"",d=$t(this._days)!==$t(u)?"-":"",i=$t(this._milliseconds)!==$t(u)?"-":"",n+"P"+(t?r+t+"Y":"")+(m?r+m+"M":"")+(o?d+o+"D":"")+(a||e||_?"T":"")+(a?i+a+"H":"")+(e?i+e+"M":"")+(_?i+s+"S":"")):"P0D"}var Xt=Wa.prototype;Xt.isValid=function(){return this._isValid},Xt.abs=function(){var e=this._data;return this._milliseconds=gt(this._milliseconds),this._days=gt(this._days),this._months=gt(this._months),e.milliseconds=gt(e.milliseconds),e.seconds=gt(e.seconds),e.minutes=gt(e.minutes),e.hours=gt(e.hours),e.months=gt(e.months),e.years=gt(e.years),this},Xt.add=function(e,a){return wt(this,e,a,1)},Xt.subtract=function(e,a){return wt(this,e,a,-1)},Xt.as=function(e){if(!this.isValid())return NaN;var a,t,s=this._milliseconds;if("month"===(e=N(e))||"quarter"===e||"year"===e)switch(a=this._days+s/864e5,t=this._months+bt(a),e){case"month":return t;case"quarter":return t/3;case"year":return t/12}else switch(a=this._days+Math.round(St(this._months)),e){case"week":return a/7+s/6048e5;case"day":return a+s/864e5;case"hour":return 24*a+s/36e5;case"minute":return 1440*a+s/6e4;case"second":return 86400*a+s/1e3;case"millisecond":return Math.floor(864e5*a)+s;default:throw new Error("Unknown unit "+e)}},Xt.asMilliseconds=jt,Xt.asSeconds=xt,Xt.asMinutes=Pt,Xt.asHours=Ot,Xt.asDays=Wt,Xt.asWeeks=At,Xt.asMonths=Et,Xt.asQuarters=
559Ft,Xt.asYears=zt,Xt.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*G(this._months/12):NaN},Xt._bubble=function(){var e,a,t,s,n,r=this._milliseconds,d=this._days,i=this._months,_=this._data;return 0<=r&&0<=d&&0<=i||r<=0&&d<=0&&i<=0||(r+=864e5*vt(St(i)+d),i=d=0),_.milliseconds=r%1e3,e=U(r/1e3),_.seconds=e%60,a=U(e/60),_.minutes=a%60,t=U(a/60),_.hours=t%24,d+=U(t/24),i+=n=U(bt(d)),d-=vt(St(n)),s=U(i/12),i%=12,_.days=d,_.months=i,_.years=s,this},Xt.clone=function(){return Ga(this)},Xt.get=function(e){return e=N(e),this.isValid()?this[e+"s"]():NaN},Xt.milliseconds=Jt,Xt.seconds=Rt,Xt.minutes=Ct,Xt.hours=It,Xt.days=Ut,Xt.weeks=function(){return U(this.days()/7)},Xt.months=Gt,Xt.years=Vt,Xt.humanize=function(e,a){if(!this.isValid())return this.localeData().invalidDate();var t,s,n=!1,r=Kt;return"object"==typeof e&&(a=e,e=!1),"boolean"==typeof e&&(n=e),"object"==typeof a&&(r=Object.assign({},Kt,a),null!=a.s&&null==a.ss&&(r.ss=a.s-1)),t=this.localeData(),s=qt(this,!n,r,t),n&&(s=t.pastFuture(+this,s)),t.postformat(s)},Xt.toISOString=Qt,Xt.toString=Qt,Xt.toJSON=Qt,Xt.locale=at,Xt.localeData=st,Xt.toIsoString=t("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Qt),Xt.lang=tt,W("X",0,0,"unix"),W("x",0,0,"valueOf"),le("x",_e),le("X",/[+-]?\d+(\.\d{1,3})?/),Le("X",function(e,a,t){t._d=new Date(1e3*parseFloat(e))}),Le("x",function(e,a,t){t._d=new Date(G(e))}),M.version="2.29.1",e=Ha,M.fn=yt,M.min=function(){return Pa("isBefore",[].slice.call(arguments,0))},M.max=function(){return Pa("isAfter",[].slice.call(arguments,0))},M.now=function(){return Date.now?Date.now():+new Date},M.utc=c,M.unix=function(e){return Ha(1e3*e)},M.months=function(e,a){return Dt(e,a,"months")},M.isDate=d,M.locale=oa,M.invalid=y,M.duration=Ga,M.isMoment=D,M.weekdays=function(e,a,t){return Tt(e,a,t,"weekdays")},M.parseZone=function(){return Ha.apply(null,arguments).parseZone()},M.localeData=ua,M.isDuration=Aa,M.monthsShort=function(e,a){return Dt(e,a,"monthsShort")},M.weekdaysMin=function(e,a,t){return Tt(e,a,t,"weekdaysMin")},M.defineLocale=ma,M.updateLocale=function(e,a){var t,s,n;return null!=a?(n=sa,null!=na[e]&&null!=na[e].parentLocale?na[e].set(b(na[e]._config,a)):(null!=(s=_a(e))&&(n=s._config),a=b(n,a),null==s&&(a.abbr=e),(t=new S(a)).parentLocale=na[e],na[e]=t),oa(e)):null!=na[e]&&(null!=na[e].parentLocale?(na[e]=na[e].parentLocale,e===oa()&&oa(e)):null!=na[e]&&delete na[e]),na[e]},M.locales=function(){return s(na)},M.weekdaysShort=function(e,a,t){return Tt(e,a,t,"weekdaysShort")},M.normalizeUnits=N,M.relativeTimeRounding=function(e){return void 0===e?Bt:"function"==typeof e&&(Bt=e,!0)},M.relativeTimeThreshold=function(e,a){return void 0!==Kt[e]&&(void 0===a?Kt[e]:(Kt[e]=a,"s"===e&&(Kt.ss=a-1),!0))},M.calendarFormat=function(e,a){var t=e.diff(a,"days",!0);return t<-6?"sameElse":t<-1?"lastWeek":t<0?"lastDay":t<1?"sameDay":t<2?"nextDay":t<7?"nextWeek":"sameElse"},M.prototype=yt,M.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},M.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"vm":"VM":t?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});function es(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function as(d){return function(e,a,t,s){var n=es(e),r=ts[d][es(e)];return 2===n&&(r=r[a?0:1]),r.replace(/%d/i,e)}}var ts={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]}
vendor: 14,432 bytes, line 559
559,ss=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];M.defineLocale("ar-dz",{months:ss,monthsShort:ss,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:as("s"),ss:as("s"),m:as("m"),mm:as("m"),h:as("h"),hh:as("h"),d:as("d"),dd:as("d"),M:as("M"),MM:as("M"),y:as("y"),yy:as("y")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:0,doy:4}}),M.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}});function ns(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function rs(d){return function(e,a,t,s){var n=ns(e),r=is[d][ns(e)];return 2===n&&(r=r[a?0:1]),r.replace(/%d/i,e)}}var ds={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},is={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},_s=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];M.defineLocale("ar-ly",{months:_s,monthsShort:_s,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:rs("s"),ss:rs("s"),m:rs("m"),mm:rs("m"),h:rs("h"),hh:rs("h"),d:rs("d"),dd:rs("d"),M:rs("M"),MM:rs("M"),y:rs("y"),yy:rs("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return ds[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),M.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}});var os={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},ms={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};M.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return ms[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return os[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),M.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u064
5591\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}});function us(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function ls(d){return function(e,a,t,s){var n=us(e),r=cs[d][us(e)];return 2===n&&(r=r[a?0:1]),r.replace(/%d/i,e)}}var Ms={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},hs={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},cs={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},Ls=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];M.defineLocale("ar",{months:Ls,monthsShort:Ls,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:ls("s"),ss:ls("s"),m:ls("m"),mm:ls("m"),h:ls("h"),hh:ls("h"),d:ls("d"),dd:ls("d"),M:ls("M"),MM:ls("M"),y:ls("y"),yy:ls("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return hs[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ms[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var Ys={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"};function ys(e,a,t){var s,n;return"m"===t?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===t?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(s=+e,n={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[t].split("_"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}M.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u
5590259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,t){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){if(0===e)return e+"-\u0131nc\u0131";var a=e%10;return e+(Ys[a]||Ys[e%100-a]||Ys[100<=e?100:null])},week:{dow:1,doy:7}}),M.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".
vendor: 7,259 bytes, line 559
559split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:ys,mm:ys,h:ys,hh:ys,d:"\u0434\u0437\u0435\u043d\u044c",dd:ys,M:"\u043c\u0435\u0441\u044f\u0446",MM:ys,y:"\u0433\u043e\u0434",yy:ys},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),M.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),M.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var fs={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},ps={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};M.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u
55909ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return ps[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return fs[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a?e<4?e:e+12:"\u09ad\u09cb\u09b0"===a||"\u09b8\u0995\u09be\u09b2"===a?e:"\u09a6\u09c1\u09aa\u09c1\u09b0"===a?3<=e?e:e+12:"\u09ac\u09bf\u0995\u09be\u09b2"===a||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<6?"\u09ad\u09cb\u09b0":e<12?"\u09b8\u0995\u09be\u09b2":e<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<18?"\u09ac\u09bf\u0995\u09be\u09b2":e<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}});var ks={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},Ds={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};M.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u
55909ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return Ds[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ks[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}});var Ts={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},gs={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function ws(e,a,t){var s;return e+" "+(s={mm:"munutenn",MM:"miz",dd:"devezh"}[t],2!==e?s:function(e){var a={m:"v",b:"v",d:"z"};return void 0!==a[e.charAt(0)]?a[e.charAt(0)]+e.substring(1):e}(s))}M.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u
5590f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return gs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ts[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}});var vs=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],bs=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,Ss=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];function Hs(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}M.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:Ss,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:Ss,monthsRegex:bs,monthsShortRegex:bs,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:vs,longMonthsParse:vs,shortMonthsParse:vs,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"}
vendor: 18,452 bytes, line 559
559,relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:ws,h:"un eur",hh:"%d eur",d:"un devezh",dd:ws,M:"ur miz",MM:ws,y:"ur bloaz",yy:function(e){switch(function e(a){if(9<a)return e(a%10);return a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(e){return"g.m."===e},meridiem:function(e,a,t){return e<12?"a.m.":"g.m."}}),M.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:Hs,m:Hs,mm:Hs,h:Hs,hh:Hs,d:"dan",dd:Hs,M:"mjesec",MM:Hs,y:"godinu",yy:Hs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),M.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}});var js="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),xs="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),Ps=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],Os=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function Ws(e){return 1<e&&e<5&&1!=~~(e/10)}function As(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?n+(Ws(e)?"sekundy":"sekund"):n+"sekundami";case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?n+(Ws(e)?"minuty":"minut"):n+"minutami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(Ws(e)?"hodiny":"hodin"):n+"hodinami";case"d":return a||s?"den":"dnem";case"dd":return a||s?n+(Ws(e)?"dny":"dn\xed"):n+"dny";case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?n+(Ws(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):n+"m\u011bs\xedci";case"y":return a||s?"rok":"rokem";case"yy":return a||s?n+(Ws(e)?"roky":"let"):n+"lety"}}function Es(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}function Fs(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}function zs(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}M.defineLocale("cs",{months:js,monthsShort:xs,monthsRegex:Os,monthsShortRegex:Os,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:Ps,longMonthsParse:Ps,shortMonthsParse:Ps,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:As,ss:As,m:As,mm:As,h:As,hh:As,d:As,dd:As,M:As,MM:As,y:As,yy:As},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),M.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),M.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:Es,mm:"%d Minuten",h:Es,hh:"%d Stunden",d:Es,dd:Es,w:Es,ww:"%d Wochen",M:Es,MM:Es,y:Es,yy:Es},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:Fs,mm:"%d Minuten",h:Fs,hh:"%d Stunden",d:Fs,dd:Fs,w:Fs,ww:"%d Wochen",M:Fs,MM:Fs,y:Fs,yy:Fs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:zs,mm:"%d Minuten",h:zs,hh:"%d Stunden",d:zs,dd:zs,w:zs,ww:"%d Wochen",M:zs,MM:zs,y:zs,yy:zs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Ns=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],Js=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];M.defineLocale("dv",{months:Ns,monthsShort:Ns,weekdays:Js,weekdaysShort:Js,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,t){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}
vendor: 4,689 bytes, line 559
559),M.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?"string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,t){return 11<e?t?"\u03bc\u03bc":"\u039c\u039c":t?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var t,s=this._calendarEl[e],n=a&&a.hours();return t=s,("undefined"!=typeof Function&&t instanceof Function||"[object Function]"===Object.prototype.toString.call(t))&&(s=s.apply(a)),s.replace("{}",n%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),M.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LT
559S:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:4}}),M.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),M.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),M.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LT
vendor: 3,522 bytes, line 559
559S:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:6}}),M.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_a\u016dg_sept_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"p.t.m.":"P.T.M.":t?"a.t.m."
vendor: 4,423 bytes, line 559
559:"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var Rs="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Cs="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Is=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Us=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;M.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Cs[e.month()]:Rs[e.month()]:Rs},monthsRegex:Us,monthsShortRegex:Us,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:Is,longMonthsParse:Is,shortMonthsParse:Is,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var Gs="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Vs="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Bs=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Ks=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;M.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Vs[e.month()]:Gs[e.month()]:Gs},monthsRegex:Ks,monthsShortRegex:Ks,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:Bs,longMonthsParse:Bs,shortMonthsParse:Bs,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%
559d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:4},invalidDate:"Fecha inv\xe1lida"});var qs="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Zs="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),$s=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Qs=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;M.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Zs[e.month()]:qs[e.month()]:qs},monthsRegex:Qs,monthsShortRegex:Qs,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:$s,longMonthsParse:$s,shortMonthsParse:$s,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}});var Xs="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),en="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),an=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],tn=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;function sn(e,a,t,s){var n={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?n[t][2]?n[t][2]:n[t][1]:s?n[t][0]:n[t][1]}M.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?en[e.month()]:Xs[e.month()]:Xs},monthsRegex:tn,monthsShortRegex:tn,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:an,longMonthsParse:an,shortMonthsParse:an,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%
559d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4},invalidDate:"Fecha inv\xe1lida"}),M.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:sn,ss:sn,m:sn,mm:sn,h:sn,hh:sn,d:sn,dd:"%d p\xe4eva",M:sn,MM:sn,y:sn,yy:sn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var nn={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},rn={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};M.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,t){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"}
vendor: 14,632 bytes, line 559
559,relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"%d \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return rn[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return nn[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}});var dn="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),_n=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",dn[7],dn[8],dn[9]];function on(e,a,t,s){var n,r,d="";switch(t){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":d=s?"sekunnin":"sekuntia";break;case"m":return s?"minuutin":"minuutti";case"mm":d=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":d=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":d=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":d=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":d=s?"vuoden":"vuotta";break}return r=s,d=((n=e)<10?r?_n[n]:dn[n]:n)+" "+d}M.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:on,ss:on,m:on,mm:on,h:on,hh:on,d:on,dd:on,M:on,MM:on,y:on,yy:on},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),M.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),M.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var mn=/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?|janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,un=[/^janv/i,/^f\xe9vr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^ao\xfbt/i,/^sept/i,/^oct/i,/^nov/i,/^d\xe9c/i];M.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsRegex:mn,monthsShortRegex:mn,monthsStrictRegex:/^(janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,monthsShortStrictRegex:/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?)/i,monthsParse:un,longMonthsParse:un,shortMonthsParse:un,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var ln="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),Mn="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");M.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Mn[e.month()]:ln[e.month()]:ln},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});M.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","Meitheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean","Feabh","M\xe1rt","Aib","Beal","Meith","I\xfail","L\xfan","M.F.","D.F.","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Sathairn"],weekdaysShort:["Domh","Luan","M\xe1irt","C\xe9ad","D\xe9ar","Aoine","Sath"],weekdaysMin:["Do","Lu","M\xe1","C\xe9","D\xe9","A","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xedonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function hn(e,a,t,s){var n={s:["\u0925\u094b\u0921\u092f\u093e \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940","\u0925\u094b\u0921\u0947 \u0938\u0945\u0915\u0902\u0921"],ss:[e+" \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940",e+" \u0938\u0945\u0915\u0902\u0921"],m:["\u090f\u0915\u093e \u092e\u093f\u0923\u091f\u093e\u0928","\u090f\u0915 \u092e\u093f\u0928\u0942\u091f"],mm:[e+" \u092e\u093f\u0923\u091f\u093e\u0902\u0928\u0940",e+" \u092e\u093f\u0923\u091f\u093e\u0902"],h:["\u090f\u0915\u093e \u0935\u0930\u093e\u0928","\u090f\u0915 \u0935\u0930"],hh:[e+" \u0935\u0930\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u093e\u0902"],d:["\u090f\u0915\u093e \u0926\u093f\u0938\u093e\u0928","\u090f\u0915 \u0926\u0940\u0938"],dd:[e+" \u0926\u093f\u0938\u093e\u0902\u0928\u0940",e+" \u0926\u0940\u0938"],M:["\u090f\u0915\u093e \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928","\u090f\u0915 \u092e\u094d\u0939\u092f\u0928\u094b"],MM:[e+" \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928\u0940",e+" \u092e\u094d\u0939\u092f\u0928\u0947"],y:["\u090f\u0915\u093e \u0935\u0930\u094d\u0938\u093e\u0928","\u090f\u0915 \u0935\u0930\u094d\u0938"],yy:[e+" \u0935\u0930\u094d\u0938\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u094d\u0938\u093e\u0902"]};return s?n[t][0]:n[t][1]}function cn(e,a,t,s){var n={s:["thoddea sekondamni","thodde sekond"],ss:[e+" sekondamni",e+" sekond"],m:["eka mintan","ek minut"],mm:[e+" mintamni",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voramni",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disamni",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineamni",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsamni",e+" vorsam"]};return s?n[t][0]:n[t][1]}M.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),M.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".
vendor: 4,317 bytes, line 559
559split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("gom-deva",{months:{standalone:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u092f_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),format:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092e\u093e\u0930\u094d\u091a\u093e\u091a\u094d\u092f\u093e_\u090f\u092a\u094d\u0930\u0940\u0932\u093e\u091a\u094d\u092f\u093e_\u092e\u0947\u092f\u093e\u091a\u094d\u092f\u093e_\u091c\u0942\u0928\u093e\u091a\u094d\u092f\u093e_\u091c\u0941\u0932\u092f\u093e\u091a\u094d\u092f\u093e_\u0911\u0917\u0938\u094d\u091f\u093e\u091a\u094d\u092f\u093e_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0911\u0915\u094d\u091f\u094b\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0921\u093f\u0938\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940._\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u092f\u0924\u093e\u0930_\u0938\u094b\u092e\u093e\u0930_\u092e\u0902\u0917\u0933\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u092c\u093f\u0930\u0947\u0938\u094d\u0924\u093e\u0930_\u0938\u0941\u0915\u094d\u0930\u093e\u0930_\u0936\u0947\u0928\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0906\u092f\u0924._\u0938\u094b\u092e._\u092e\u0902\u0917\u0933._\u092c\u0941\u0927._\u092c\u094d\u0930\u0947\u0938\u094d\u0924._\u0938\u0941\u0915\u094d\u0930._\u0936\u0947\u0928.".split("_"),weekdaysMin:"\u0906_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u092c\u094d\u0930\u0947_\u0938\u0941_\u0936\u0947".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LTS:"A h:mm:ss [\u0935\u093e\u091c\u0924\u093e\u0902]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",llll:"ddd, D MMM YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]"},calendar:{sameDay:"[\u0906\u092f\u091c] LT",nextDay:"[\u092b\u093e\u0932\u094d\u092f\u093e\u0902] LT",nextWeek:"[\u092b\u0941\u0921\u0932\u094b] dddd[,] LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092b\u093e\u091f\u0932\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s \u0906\u0926\u0940\u0902",s:hn,ss:hn,m:hn,mm:hn,h:hn,hh:hn,d:hn,dd:hn,M:hn,MM:hn,y:hn,yy:hn},dayOfMonthOrdinalParse:/\d{1,2}(\u0935\u0947\u0930)/,ordinal:function(e,a){switch(a){case"D":return e+"\u
5590935\u0947\u0930";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/\u0930\u093e\u0924\u0940|\u0938\u0915\u093e\u0933\u0940\u0902|\u0926\u0928\u092a\u093e\u0930\u093e\u0902|\u0938\u093e\u0902\u091c\u0947/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940\u0902"===a?e:"\u0926\u0928\u092a\u093e\u0930\u093e\u0902"===a?12<e?e:e+12:"\u0938\u093e\u0902\u091c\u0947"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924\u0940":e<12?"\u0938\u0915\u093e\u0933\u0940\u0902":e<16?"\u0926\u0928\u092a\u093e\u0930\u093e\u0902":e<20?"\u0938\u093e\u0902\u091c\u0947":"\u0930\u093e\u0924\u0940"}}),M.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:cn,ss:cn,m:cn,mm:cn,h:cn,hh:cn,d:cn,dd:cn,M:cn,MM:cn,y:cn,yy:cn},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokallim"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"rati":e<12?"sokallim":e<16?"donparam":e<20?"sanje":"rati"}});var Ln={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},Yn={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};M.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ab9\u0ac7\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%
559d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return Yn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ln[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),M.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u
55905d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,t){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?t?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?t?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}});var yn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},fn={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},pn=[/^\u091c\u0928/i,/^\u092b\u093c\u0930|\u092b\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924\u0902|\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935|\u0928\u0935\u0902/i,/^\u0926\u093f\u0938\u0902|\u0926\u093f\u0938/i];function kn(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}M.defineLocale("hi",{months:{format:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u
5590932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),standalone:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u0902\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u0902\u092c\u0930_\u0926\u093f\u0938\u0902\u092c\u0930".split("_")},monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},monthsParse:pn,longMonthsParse:pn,shortMonthsParse:[/^\u091c\u0928/i,/^\u092b\u093c\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935/i,/^\u0926\u093f\u0938/i],monthsRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsShortRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsStrictRegex:/^(\u091c\u0928\u0935\u0930\u0940?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908?|\u0905\u0917\u0938\u094d\u0924?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924?\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930?)/i,monthsShortStrictRegex:/^(\u091c\u0928\.?|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\.?|\u0905\u0917\.?|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\.?|\u0926\u093f\u0938\.?)/i,calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return fn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return yn[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u093
5596\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),M.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:return"[pro\u0161lu] [nedjelju] [u] LT";case 3:return"[pro\u0161lu] [srijedu] [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:kn,m:kn,mm:kn,h:kn,hh:kn,d:"dan",dd:kn,M:"mjesec",MM:kn,y:"godinu",yy:kn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Dn="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function Tn(e,a,t,s){var n=e;switch(t){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return n+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return n+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return n+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return n+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return n+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return n+(s||a?" \xe9v":" \xe9ve")}return""}function gn(e){return(e?"":"[m\xfalt] ")+"["+Dn[this.day()]+"] LT[-kor]"}function wn(e){return e%100==11||e%10!=1}function vn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return wn(e)?n+(a||s?"sek\xfandur":"sek\xfandum"):n+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return wn(e)?n+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?n+"m\xedn\xfata":n+"m\xedn\xfatu";case"hh":return wn(e)?n+(a||s?"klukkustundir":"klukkustundum"):n+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return wn(e)?a?n+"dagar":n+(s?"daga":"d\xf6gum"):a?n+"dagur":n+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return wn(e)?a?n+"m\xe1nu\xf0ir":n+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?n+"m\xe1nu\xf0ur":n+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return wn(e)?n+(a||s?"\xe1r":"\xe1rum"):n+(a||s?"\xe1r":"\xe1ri")}}M.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan._feb._m\xe1rc._\xe1pr._m\xe1j._j\xfan._j\xfal._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,t){return e<12?!0===t?"de":"DE":!0===t?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return gn.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return gn.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:Tn,ss:Tn,m:Tn,mm:Tn,h:Tn,hh:Tn,d:Tn,dd:Tn,M:Tn,MM:T
vendor: 7,120 bytes, line 559
559n,y:Tn,yy:Tn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),M.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}}),M.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:vn,ss:vn,m:vn,mm:vn,h:"klukkustund",hh:vn,d:vn,dd:vn,M:vn,MM:vn,y:vn,yy:vn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%
559d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"\u4ee4\u548c",narrow:"\u32ff",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"\u5e73\u6210",narrow:"\u337b",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"\u662d\u548c",narrow:"\u337c",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"\u5927\u6b63",narrow:"\u337d",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"\u660e\u6cbb",narrow:"\u337e",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"\u897f\u66a6",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"\u7d00\u5143\u524d",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(\u5143|\d+)\u5e74/,eraYearOrdinalParse:function(e,a){return"\u5143"===a[1]?1:parseInt(a[1]||e,10)},months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,t){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()!==this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()!==e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"y":return 1===e?"\u5143\u5e74":e+"\u5e74";case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),M.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}
vendor: 7,702 bytes, line 559
559),M.defineLocale("ka",{months:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return e.replace(/(\u10ec\u10d0\u10db|\u10ec\u10e3\u10d7|\u10e1\u10d0\u10d0\u10d7|\u10ec\u10d4\u10da|\u10d3\u10e6|\u10d7\u10d5)(\u10d8|\u10d4)/,function(e,a,t){return"\u10d8"===t?a+"\u10e8\u10d8":a+t+"\u10e8\u10d8"})},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):e},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var bn={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};M.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(bn[e]||bn[e%10]||bn[100<=e?100:null])},week:{dow:1,doy:7}});var Sn={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},Hn={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};M.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u
55917a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,t){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return Hn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Sn[e]})},week:{dow:1,doy:4}});var jn={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},xn={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};M.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%
559d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return xn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return jn[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),M.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,t){return e<12?"\uc624\uc804":"\uc624\ud6c4"}});var Pn={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},On={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Wn=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"];M.defineLocale("ku",{months:Wn,monthsShort:Wn,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,t){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return On[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Pn[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var An={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};function En(e,a,t,s){var n={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?n[t][0]:n[t][1]}function Fn(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;
vendor: 6,691 bytes, line 559
559if(e<10)return 4<=e&&e<=7;if(e<100){var a=e%10;return 0==a?Fn(e/10):Fn(a)}if(e<1e4){for(;10<=e;)e/=10;return Fn(e)}return Fn(e/=1e3)}M.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(An[e]||An[e%10]||An[100<=e?100:null])},week:{dow:1,doy:7}}),M.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return Fn(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return Fn(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:En,mm:"%d Minutten",h:En,hh:"%d Stonnen",d:En,dd:"%d Deeg",M:En,MM:"%d M\xe9int",y:En,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,t){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%
559d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var zn={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function Nn(e,a,t,s){return a?Rn(t)[0]:s?Rn(t)[1]:Rn(t)[2]}function Jn(e){return e%10==0||10<e&&e<20}function Rn(e){return zn[e].split("_")}function Cn(e,a,t,s){var n=e+" ";return 1===e?n+Nn(0,a,t[0],s):a?n+(Jn(e)?Rn(t)[1]:Rn(t)[0]):s?n+Rn(t)[1]:n+(Jn(e)?Rn(t)[1]:Rn(t)[2])}M.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,t,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:Cn,m:Nn,mm:Cn,h:Nn,hh:Cn,d:Nn,dd:Cn,M:Nn,MM:Cn,y:Nn,yy:Cn},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var In={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function Un(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function Gn(e,a,t){return e+" "+Un(In[t],e,a)}function Vn(e,a,t){return Un(In[t],e,a)}M.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:Gn,m:Vn,mm:Gn,h:Vn,hh:Gn,d:Vn,dd:Gn,M:Vn,MM:Gn,y:Vn,yy:Gn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Bn={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=Bn.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+Bn.correctGrammaticalCase(e,s)}};function Kn(e,a,t,s){switch(t){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}M.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:Bn.translate,m:Bn.translate,mm:Bn.translate,h:Bn.translate,hh:Bn.translate,d:"dan",dd:Bn.translate,M:"mjesec",MM:Bn.translate,y:"godinu",yy:Bn.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),M.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%
559d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u0435\u0434\u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0435\u0434\u0435\u043d \u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0435\u0434\u0435\u043d \u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),M.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%
559d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),M.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,t){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:Kn,ss:Kn,m:Kn,mm:Kn,h:Kn,hh:Kn,d:Kn,dd:Kn,M:Kn,MM:Kn,y:Kn,yy:Kn},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var qn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},Zn={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function $n(e,a,t,s){var n="";if(a)switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":n="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":n="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":n="%d \u0924\u093e\u0938";break;case"d":n="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":n="%d \u0926\u093f\u0935\u0938";break;case"M":n="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":n="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":n="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":n="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":n="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":n="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":n="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":n="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":n="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return n.replace(/%d/i,e)}M.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:$n,ss:$n,m:$n,mm:$n,h:$n,hh:$n,d:$n,dd:$n,M:$n,MM:$n,y:$n,yy:$n},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Zn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return qn[e]})},meridiemParse:/\u092a\u0939\u093e\u091f\u0947|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940|\u0930\u093e\u0924\u094d\u0930\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u092a\u0939\u093e\u091f\u0947"===a||"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a||"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a||"\u0930\u093e\u0924\u094d\u0930\u0940"===a?12<=e?e:e+12:void 0},meridiem:function(e,a,t){return 0<=e&&e<6?"\u092a\u0939\u093e\u091f\u0947":e<12?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),M.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),M.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),M.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var Qn={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},Xn={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};M.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u
5591010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return Xn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Qn[e]})},week:{dow:1,doy:4}}),M.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",w:"en uke",ww:"%d uker",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var er={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},ar={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};M.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return ar[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return er[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,t){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}});var tr="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),sr="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),nr=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],rr=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;M.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?sr[e.month()]:tr[e.month()]:tr},monthsRegex:rr,monthsShortRegex:rr,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:nr,longMonthsParse:nr,shortMonthsParse:nr,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});var dr="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),ir="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),_r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],or=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;M.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?ir[e.month()]:dr[e.month()]:dr},monthsRegex:or,monthsShortRegex:or,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:_r,longMonthsParse:_r,shortMonthsParse:_r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",w:"\xe9\xe9n week",ww:"%d weken",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),M.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._m\xe5._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("oc-lnc",{months:{standalone:"geni\xe8r_febri\xe8r_mar\xe7_abril_mai_junh_julhet_agost_setembre_oct\xf2bre_novembre_decembre".split("_"),format:"de geni\xe8r_de febri\xe8r_de mar\xe7_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'oct\xf2bre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dim\xe8cres_dij\xf2us_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[u\xe8i a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[i\xe8r a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%
559d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}});var mr={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},ur={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};M.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return ur[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return mr[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0}
vendor: 4,765 bytes, line 559
559,meridiem:function(e,a,t){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}});var lr="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),Mr="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_"),hr=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^pa\u017a/i,/^lis/i,/^gru/i];function cr(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function Lr(e,a,t){var s=e+" ";switch(t){case"ss":return s+(cr(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(cr(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(cr(e)?"godziny":"godzin");case"ww":return s+(cr(e)?"tygodnie":"tygodni");case"MM":return s+(cr(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(cr(e)?"lata":"lat")}}function Yr(e,a,t){return e+(20<=e%100||100<=e&&e%100==0?" de ":" ")+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"s\u0103pt\u0103m\xe2ni",MM:"luni",yy:"ani"}[t]}function yr(e,a,t){var s,n;return"m"===t?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(s=+e,n={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",ww:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043d\u0435\u0434\u0435\u043b\u0438_\u043d\u0435\u0434\u0435\u043b\u044c",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[t].split("_"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}M.defineLocale("pl",{months:function(e,a){return e?/D MMMM/.test(a)?Mr[e.month()]:lr[e.month()]:lr},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),monthsParse:hr,longMonthsParse:hr,shortMonthsParse:hr,weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:Lr,m:Lr,mm:Lr,h:Lr,hh:Lr,d:"1 dzie\u0144",dd:"%d dni",w:"tydzie\u0144",ww:Lr,M:"miesi\u0105c",MM:Lr,y:"rok",yy:Lr},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%
559d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",invalidDate:"Data inv\xe1lida"}),M.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),M.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:Yr,m:"un minut",mm:Yr,h:"o or\u0103",hh:Yr,d:"o zi",dd:Yr,w:"o s\u0103pt\u0103m\xe2n\u0103",ww:Yr,M:"o lun\u0103",MM:Yr,y:"un an",yy:Yr},week:{dow:1,doy:7}});var fr=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];M.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:fr,longMonthsParse:fr,shortMonthsParse:fr,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u
vendor: 16,384 bytes, line 559
559043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:yr,m:yr,mm:yr,h:"\u0447\u0430\u0441",hh:yr,d:"\u0434\u0435\u043d\u044c",dd:yr,w:"\u043d\u0435\u0434\u0435\u043b\u044f",ww:yr,M:"\u043c\u0435\u0441\u044f\u0446",MM:yr,y:"\u0433\u043e\u0434",yy:yr},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}});var pr=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],kr=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"];M.defineLocale("sd",{months:pr,monthsShort:pr,weekdays:kr,weekdaysShort:kr,weekdaysMin:kr,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),M.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,t){return 11<e?t?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":t?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}});var Dr="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),Tr="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function gr(e){return 1<e&&e<5}function wr(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?n+(gr(e)?"sekundy":"sek\xfand"):n+"sekundami";case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?n+(gr(e)?"min\xfaty":"min\xfat"):n+"min\xfatami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(gr(e)?"hodiny":"hod\xedn"):n+"hodinami";case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?n+(gr(e)?"dni":"dn\xed"):n+"d\u0148ami";case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?n+(gr(e)?"mesiace":"mesiacov"):n+"mesiacmi";case"y":return a||s?"rok":"rokom";case"yy":return a||s?n+(gr(e)?"roky":"rokov"):n+"rokmi"}}function vr(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return n+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return n+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return n+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return n+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return n+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return n+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}M.defineLocale("sk",{months:Dr,monthsShort:Tr,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:wr,ss:wr,m:wr,mm:wr,h:wr,hh:wr,d:wr,dd:wr,M:wr,MM:wr,y:wr,yy:wr},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:vr,ss:vr,m:vr,mm:vr,h:vr,hh:vr,d:vr,dd:vr,M:vr,MM:vr,y:vr,yy:vr},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),M.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,t){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var br={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=br.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+br.correctGrammaticalCase(e,s)}};M.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431
559\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:br.translate,m:br.translate,mm:br.translate,h:br.translate,hh:br.translate,d:"\u0434\u0430\u043d",dd:br.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:br.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:br.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Sr={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=Sr.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+Sr.correctGrammaticalCase(e,s)}};M.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:Sr.translate,m:Sr.translate,mm:Sr.translate,h:Sr.translate,hh:Sr.translate,d:"dan",dd:Sr.translate,M:"mesec",MM:Sr.translate,y:"godinu",yy:Sr.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),M.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LT
vendor: 18,962 bytes, line 559
559S:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,t){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),M.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(e){var a=e%10;return e+(1!=~~(e%100/10)&&(1==a||2==a)?":a":":e")},week:{dow:1,doy:4}}),M.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});var Hr={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},jr={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};M.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return jr[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Hr[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,t){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),M.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),M.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}});var xr={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};M.defineLocale("tg",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0430\u043b\u0438_\u043c\u0430\u0440\u0442\u0438_\u0430\u043f\u0440\u0435\u043b\u0438_\u043c\u0430\u0439\u0438_\u0438\u044e\u043d\u0438_\u0438\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442\u0438_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0438_\u043e\u043a\u0442\u044f\u0431\u0440\u0438_\u043d\u043e\u044f\u0431\u0440\u0438_\u0434\u0435\u043a\u0430\u0431\u0440\u0438".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_")},monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u0424\u0430\u0440\u0434\u043e \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(xr[e]||xr[e%10]||xr[100<=e?100:null])},week:{dow:1,doy:7}}),M.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,t){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",w:"1 \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",ww:"%d \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}});
559var Pr={1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'\xfcnji",4:"'\xfcnji",100:"'\xfcnji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"};M.defineLocale("tk",{months:"\xddanwar_Fewral_Mart_Aprel_Ma\xfd_I\xfdun_I\xfdul_Awgust_Sent\xfdabr_Okt\xfdabr_No\xfdabr_Dekabr".split("_"),monthsShort:"\xddan_Few_Mar_Apr_Ma\xfd_I\xfdn_I\xfdl_Awg_Sen_Okt_No\xfd_Dek".split("_"),weekdays:"\xddek\u015fenbe_Du\u015fenbe_Si\u015fenbe_\xc7ar\u015fenbe_Pen\u015fenbe_Anna_\u015eenbe".split("_"),weekdaysShort:"\xddek_Du\u015f_Si\u015f_\xc7ar_Pen_Ann_\u015een".split("_"),weekdaysMin:"\xddk_D\u015f_S\u015f_\xc7r_Pn_An_\u015en".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[d\xfc\xfdn] LT",lastWeek:"[ge\xe7en] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s so\u0148",past:"%s \xf6\u0148",s:"birn\xe4\xe7e sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir a\xfd",MM:"%d a\xfd",y:"bir \xfdyl",yy:"%d \xfdyl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'unjy";var t=e%10;return e+(Pr[t]||Pr[e%100-t]||Pr[100<=e?100:null])}},week:{dow:1,doy:7}}),M.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});var Or="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function Wr(e,a,t,s){var n=function(e){var a=Math.floor(e%1e3/100),t=Math.floor(e%100/10),s=e%10,n="";0<a&&(n+=Or[a]+"vatlh");0<t&&(n+=(""!==n?" ":"")+Or[t]+"maH");0<s&&(n+=(""!==n?" ":"")+Or[s]);return""===n?"pagh":n}(e);switch(t){case"ss":return n+" lup";case"mm":return n+" tup";case"hh":return n+" rep";case"dd":return n+" jaj";case"MM":return n+" jar";case"yy":return n+" DIS"}}M.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:Wr,m:"wa\u2019 tup",mm:Wr,h:"wa\u2019 rep",hh:Wr,d:"wa\u2019 jaj",dd:Wr,M:"wa\u2019 jar",MM:Wr,y:"wa\u2019 DIS",yy:Wr},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Ar={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function Er(e,a,t,s){var n={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s||a?n[t][0]:n[t][1]}function Fr(e,a,t){var s,n;return"m"===t?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===t?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(s=+e,n={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[t].split("_"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}
vendor: 2,708 bytes, line 559
559function zr(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}M.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),meridiem:function(e,a,t){return e<12?t?"\xf6\xf6":"\xd6\xd6":t?"\xf6s":"\xd6S"},meridiemParse:/\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/,isPM:function(e){return"\xf6s"===e||"\xd6S"===e},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'\u0131nc\u0131";var t=e%10;return e+(Ar[t]||Ar[e%100-t]||Ar[100<=e?100:null])}},week:{dow:1,doy:7}}),M.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"d'o":"D'O":t?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:Er,ss:Er,m:Er,mm:Er,h:Er,hh:Er,d:Er,dd:Er,M:Er,MM:Er,y:Er,yy:Er},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),M.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4
559wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),M.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),M.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"!==a&&"\u0643\u06d5\u0686"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":s<900?"\u0633\u06d5\u06be\u06d5\u0631":s<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":s<1230?"\u0686\u06c8\u0634":s<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%
559d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),M.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var t={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?t.nominative.slice(1,7).concat(t.nominative.slice(0,1)):e?t[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:t.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:zr("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:zr("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:zr("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:zr("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return zr("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return zr("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:Fr,m:Fr,mm:Fr,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:Fr,d:"\u0434\u0435\u043d\u044c",dd:Fr,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:Fr,y:"\u0440\u0456\u043a",yy:Fr},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});var Nr=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],Jr=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u064
5591\u062a\u06c1"];return M.defineLocale("ur",{months:Nr,monthsShort:Nr,weekdays:Jr,weekdaysShort:Jr,weekdaysMin:Jr,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),M.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),M.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),M.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)}
vendor: 4,234 bytes, line 559
559,meridiem:function(e,a,t){return e<12?t?"sa":"SA":t?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n tr\u01b0\u1edbc l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",w:"m\u1ed9t tu\u1ea7n",ww:"%d tu\u1ea7n",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),M.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),M.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}
vendor: 16,881 bytes, lines 559-906
559/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),M.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a||"\u4e0b\u5348"!==a&&"\u665a\u4e0a"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:function(e){return e.week()!==this.week()?"[\u4e0b]dddLT":"[\u672c]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(e){return this.week()!==e.week()?"[\u4e0a]dddLT":"[\u672c]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u540e",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),M.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1200?"\u4e0a\u5348":1200===s?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),M.defineLocale("zh-mo",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"D/M/YYYY",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),M.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),M.locale("en"),M}); 560//# sourceMappingURL=moment-with-locales.min.js.map 561// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/moment-timezone-with-data.js 562//! moment-timezone.js 563//! version : 0.5.34 564//! Copyright (c) JS Foundation and other contributors 565//! license : MIT 566//! github.com/moment/moment-timezone 567 568(function (root, factory) { 569 "use strict"; 570 571 /*global define*/ 572 if (typeof module === 'object' && module.exports) { 573 module.exports = factory(require('moment')); // Node 574 } else if (typeof define === 'function' && define.amd) { 575 define(['moment'], factory); // AMD 576 } else { 577 factory(root.moment); // Browser 578 } 579}(this, function (moment) { 580 "use strict"; 581 582 // Resolves es6 module loading issue 583 if (moment.version === undefined && moment.default) { 584 moment = moment.default; 585 } 586 587 // Do not load moment-timezone a second time. 588 // if (moment.tz !== undefined) { 589 // logError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion); 590 // return moment; 591 // } 592 593 var VERSION = "0.5.34", 594 zones = {}, 595 links = {}, 596 countries = {}, 597 names = {}, 598 guesses = {}, 599 cachedGuess; 600 601 if (!moment || typeof moment.version !== 'string') { 602 logError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/'); 603 } 604 605 var momentVersion = moment.version.split('.'), 606 major = +momentVersion[0], 607 minor = +momentVersion[1]; 608 609 // Moment.js version check 610 if (major < 2 || (major === 2 && minor < 6)) { 611 logError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com'); 612 } 613 614 /************************************ 615 Unpacking 616 ************************************/ 617 618 function charCodeToInt(charCode) { 619 if (charCode > 96) { 620 return charCode - 87; 621 } else if (charCode > 64) { 622 return charCode - 29; 623 } 624 return charCode - 48; 625 } 626 627 function unpackBase60(string) { 628 var i = 0, 629 parts = string.split('.'), 630 whole = parts[0], 631 fractional = parts[1] || '', 632 multiplier = 1, 633 num, 634 out = 0, 635 sign = 1; 636 637 // handle negative numbers 638 if (string.charCodeAt(0) === 45) { 639 i = 1; 640 sign = -1; 641 } 642 643 // handle digits before the decimal 644 for (i; i < whole.length; i++) { 645 num = charCodeToInt(whole.charCodeAt(i)); 646 out = 60 * out + num; 647 } 648 649 // handle digits after the decimal 650 for (i = 0; i < fractional.length; i++) { 651 multiplier = multiplier / 60; 652 num = charCodeToInt(fractional.charCodeAt(i)); 653 out += num * multiplier; 654 } 655 656 return out * sign; 657 } 658 659 function arrayToInt (array) { 660 for (var i = 0; i < array.length; i++) { 661 array[i] = unpackBase60(array[i]); 662 } 663 } 664 665 function intToUntil (array, length) { 666 for (var i = 0; i < length; i++) { 667 array[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds 668 } 669 670 array[length - 1] = Infinity; 671 } 672 673 function mapIndices (source, indices) { 674 var out = [], i; 675 676 for (i = 0; i < indices.length; i++) { 677 out[i] = source[indices[i]]; 678 } 679 680 return out; 681 } 682 683 function unpack (string) { 684 var data = string.split('|'), 685 offsets = data[2].split(' '), 686 indices = data[3].split(''), 687 untils = data[4].split(' '); 688 689 arrayToInt(offsets); 690 arrayToInt(indices); 691 arrayToInt(untils); 692 693 intToUntil(untils, indices.length); 694 695 return { 696 name : data[0], 697 abbrs : mapIndices(data[1].split(' '), indices), 698 offsets : mapIndices(offsets, indices), 699 untils : untils, 700 population : data[5] | 0 701 }; 702 } 703 704 /************************************ 705 Zone object 706 ************************************/ 707 708 function Zone (packedString) { 709 if (packedString) { 710 this._set(unpack(packedString)); 711 } 712 } 713 714 Zone.prototype = { 715 _set : function (unpacked) { 716 this.name = unpacked.name; 717 this.abbrs = unpacked.abbrs; 718 this.untils = unpacked.untils; 719 this.offsets = unpacked.offsets; 720 this.population = unpacked.population; 721 }, 722 723 _index : function (timestamp) { 724 var target = +timestamp, 725 untils = this.untils, 726 i; 727 728 for (i = 0; i < untils.length; i++) { 729 if (target < untils[i]) { 730 return i; 731 } 732 } 733 }, 734 735 countries : function () { 736 var zone_name = this.name; 737 return Object.keys(countries).filter(function (country_code) { 738 return countries[country_code].zones.indexOf(zone_name) !== -1; 739 }); 740 }, 741 742 parse : function (timestamp) { 743 var target = +timestamp, 744 offsets = this.offsets, 745 untils = this.untils, 746 max = untils.length - 1, 747 offset, offsetNext, offsetPrev, i; 748 749 for (i = 0; i < max; i++) { 750 offset = offsets[i]; 751 offsetNext = offsets[i + 1]; 752 offsetPrev = offsets[i ? i - 1 : i]; 753 754 if (offset < offsetNext && tz.moveAmbiguousForward) { 755 offset = offsetNext; 756 } else if (offset > offsetPrev && tz.moveInvalidForward) { 757 offset = offsetPrev; 758 } 759 760 if (target < untils[i] - (offset * 60000)) { 761 return offsets[i]; 762 } 763 } 764 765 return offsets[max]; 766 }, 767 768 abbr : function (mom) { 769 return this.abbrs[this._index(mom)]; 770 }, 771 772 offset : function (mom) { 773 logError("zone.offset has been deprecated in favor of zone.utcOffset"); 774 return this.offsets[this._index(mom)]; 775 }, 776 777 utcOffset : function (mom) { 778 return this.offsets[this._index(mom)]; 779 } 780 }; 781 782 /************************************ 783 Country object 784 ************************************/ 785 786 function Country (country_name, zone_names) { 787 this.name = country_name; 788 this.zones = zone_names; 789 } 790 791 /************************************ 792 Current Timezone 793 ************************************/ 794 795 function OffsetAt(at) { 796 var timeString = at.toTimeString(); 797 var abbr = timeString.match(/\([a-z ]+\)/i); 798 if (abbr && abbr[0]) { 799 // 17:56:31 GMT-0600 (CST) 800 // 17:56:31 GMT-0600 (Central Standard Time) 801 abbr = abbr[0].match(/[A-Z]/g); 802 abbr = abbr ? abbr.join('') : undefined; 803 } else { 804 // 17:56:31 CST 805 // 17:56:31 GMT+0800 (å°åæ¨æºæé) 806 abbr = timeString.match(/[A-Z]{3,5}/g); 807 abbr = abbr ? abbr[0] : undefined; 808 } 809 810 if (abbr === 'GMT') { 811 abbr = undefined; 812 } 813 814 this.at = +at; 815 this.abbr = abbr; 816 this.offset = at.getTimezoneOffset(); 817 } 818 819 function ZoneScore(zone) { 820 this.zone = zone; 821 this.offsetScore = 0; 822 this.abbrScore = 0; 823 } 824 825 ZoneScore.prototype.scoreOffsetAt = function (offsetAt) { 826 this.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset); 827 if (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) { 828 this.abbrScore++; 829 } 830 }; 831 832 function findChange(low, high) { 833 var mid, diff; 834 835 while ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) { 836 mid = new OffsetAt(new Date(low.at + diff)); 837 if (mid.offset === low.offset) { 838 low = mid; 839 } else { 840 high = mid; 841 } 842 } 843 844 return low; 845 } 846 847 function userOffsets() { 848 var startYear = new Date().getFullYear() - 2, 849 last = new OffsetAt(new Date(startYear, 0, 1)), 850 offsets = [last], 851 change, next, i; 852 853 for (i = 1; i < 48; i++) { 854 next = new OffsetAt(new Date(startYear, i, 1)); 855 if (next.offset !== last.offset) { 856 change = findChange(last, next); 857 offsets.push(change); 858 offsets.push(new OffsetAt(new Date(change.at + 6e4))); 859 } 860 last = next; 861 } 862 863 for (i = 0; i < 4; i++) { 864 offsets.push(new OffsetAt(new Date(startYear + i, 0, 1))); 865 offsets.push(new OffsetAt(new Date(startYear + i, 6, 1))); 866 } 867 868 return offsets; 869 } 870 871 function sortZoneScores (a, b) { 872 if (a.offsetScore !== b.offsetScore) { 873 return a.offsetScore - b.offsetScore; 874 } 875 if (a.abbrScore !== b.abbrScore) { 876 return a.abbrScore - b.abbrScore; 877 } 878 if (a.zone.population !== b.zone.population) { 879 return b.zone.population - a.zone.population; 880 } 881 return b.zone.name.localeCompare(a.zone.name); 882 } 883 884 function addToGuesses (name, offsets) { 885 var i, offset; 886 arrayToInt(offsets); 887 for (i = 0; i < offsets.length; i++) { 888 offset = offsets[i]; 889 guesses[offset] = guesses[offset] || {}; 890 guesses[offset][name] = true; 891 } 892 } 893 894 function guessesForUserOffsets (offsets) { 895 var offsetsLength = offsets.length, 896 filteredGuesses = {}, 897 out = [], 898 i, j, guessesOffset; 899 900 for (i = 0; i < offsetsLength; i++) { 901 guessesOffset = guesses[offsets[i].offset] || {}; 902 for (j in guessesOffset) { 903 if (guessesOffset.hasOwnProperty(j)) { 904 filteredGuesses[j] = true; 905 } 906 }
vendor: 4,401 bytes, lines 906-1109
906 907 } 908 909 for (i in filteredGuesses) { 910 if (filteredGuesses.hasOwnProperty(i)) { 911 out.push(names[i]); 912 } 913 } 914 915 return out; 916 } 917 918 function rebuildGuess () { 919 920 // use Intl API when available and returning valid time zone 921 try { 922 var intlName = Intl.DateTimeFormat().resolvedOptions().timeZone; 923 if (intlName && intlName.length > 3) { 924 var name = names[normalizeName(intlName)]; 925 if (name) { 926 return name; 927 } 928 logError("Moment Timezone found " + intlName + " from the Intl api, but did not have that data loaded."); 929 } 930 } catch (e) { 931 // Intl unavailable, fall back to manual guessing. 932 } 933 934 var offsets = userOffsets(), 935 offsetsLength = offsets.length, 936 guesses = guessesForUserOffsets(offsets), 937 zoneScores = [], 938 zoneScore, i, j; 939 940 for (i = 0; i < guesses.length; i++) { 941 zoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength); 942 for (j = 0; j < offsetsLength; j++) { 943 zoneScore.scoreOffsetAt(offsets[j]); 944 } 945 zoneScores.push(zoneScore); 946 } 947 948 zoneScores.sort(sortZoneScores); 949 950 return zoneScores.length > 0 ? zoneScores[0].zone.name : undefined; 951 } 952 953 function guess (ignoreCache) { 954 if (!cachedGuess || ignoreCache) { 955 cachedGuess = rebuildGuess(); 956 } 957 return cachedGuess; 958 } 959 960 /************************************ 961 Global Methods 962 ************************************/ 963 964 function normalizeName (name) { 965 return (name || '').toLowerCase().replace(/\//g, '_'); 966 } 967 968 function addZone (packed) { 969 var i, name, split, normalized; 970 971 if (typeof packed === "string") { 972 packed = [packed]; 973 } 974 975 for (i = 0; i < packed.length; i++) { 976 split = packed[i].split('|'); 977 name = split[0]; 978 normalized = normalizeName(name); 979 zones[normalized] = packed[i]; 980 names[normalized] = name; 981 addToGuesses(normalized, split[2].split(' ')); 982 } 983 } 984 985 function getZone (name, caller) { 986 987 name = normalizeName(name); 988 989 var zone = zones[name]; 990 var link; 991 992 if (zone instanceof Zone) { 993 return zone; 994 } 995 996 if (typeof zone === 'string') { 997 zone = new Zone(zone); 998 zones[name] = zone; 999 return zone; 1000 } 1001 1002 // Pass getZone to prevent recursion more than 1 level deep 1003 if (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) { 1004 zone = zones[name] = new Zone(); 1005 zone._set(link); 1006 zone.name = names[name]; 1007 return zone; 1008 } 1009 1010 return null; 1011 } 1012 1013 function getNames () { 1014 var i, out = []; 1015 1016 for (i in names) { 1017 if (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) { 1018 out.push(names[i]); 1019 } 1020 } 1021 1022 return out.sort(); 1023 } 1024 1025 function getCountryNames () { 1026 return Object.keys(countries); 1027 } 1028 1029 function addLink (aliases) { 1030 var i, alias, normal0, normal1; 1031 1032 if (typeof aliases === "string") { 1033 aliases = [aliases]; 1034 } 1035 1036 for (i = 0; i < aliases.length; i++) { 1037 alias = aliases[i].split('|'); 1038 1039 normal0 = normalizeName(alias[0]); 1040 normal1 = normalizeName(alias[1]); 1041 1042 links[normal0] = normal1; 1043 names[normal0] = alias[0]; 1044 1045 links[normal1] = normal0; 1046 names[normal1] = alias[1]; 1047 } 1048 } 1049 1050 function addCountries (data) { 1051 var i, country_code, country_zones, split; 1052 if (!data || !data.length) return; 1053 for (i = 0; i < data.length; i++) { 1054 split = data[i].split('|'); 1055 country_code = split[0].toUpperCase(); 1056 country_zones = split[1].split(' '); 1057 countries[country_code] = new Country( 1058 country_code, 1059 country_zones 1060 ); 1061 } 1062 } 1063 1064 function getCountry (name) { 1065 name = name.toUpperCase(); 1066 return countries[name] || null; 1067 } 1068 1069 function zonesForCountry(country, with_offset) { 1070 country = getCountry(country); 1071 1072 if (!country) return null; 1073 1074 var zones = country.zones.sort(); 1075 1076 if (with_offset) { 1077 return zones.map(function (zone_name) { 1078 var zone = getZone(zone_name); 1079 return { 1080 name: zone_name, 1081 offset: zone.utcOffset(new Date()) 1082 }; 1083 }); 1084 } 1085 1086 return zones; 1087 } 1088 1089 function loadData (data) { 1090 addZone(data.zones); 1091 addLink(data.links); 1092 addCountries(data.countries); 1093 tz.dataVersion = data.version; 1094 } 1095 1096 function zoneExists (name) { 1097 if (!zoneExists.didShowError) { 1098 zoneExists.didShowError = true; 1099 logError("moment.tz.zoneExists('" + name + "') has been deprecated in favor of !moment.tz.zone('" + name + "')"); 1100 } 1101 return !!getZone(name); 1102 } 1103 1104 function needsOffset (m) { 1105 var isUnixTimestamp = (m._f === 'X' || m._f === 'x'); 1106 return !!(m._a && (m._tzm === undefined) && !isUnixTimestamp); 1107 } 1108 1109 function
vendor: 5,510 bytes, lines 1109-1264
1109logError (message) { 1110 if (typeof console !== 'undefined' && typeof console.error === 'function') { 1111 console.error(message); 1112 } 1113 } 1114 1115 /************************************ 1116 moment.tz namespace 1117 ************************************/ 1118 1119 function tz (input) { 1120 var args = Array.prototype.slice.call(arguments, 0, -1), 1121 name = arguments[arguments.length - 1], 1122 zone = getZone(name), 1123 out = moment.utc.apply(null, args); 1124 1125 if (zone && !moment.isMoment(input) && needsOffset(out)) { 1126 out.add(zone.parse(out), 'minutes'); 1127 } 1128 1129 out.tz(name); 1130 1131 return out; 1132 } 1133 1134 tz.version = VERSION; 1135 tz.dataVersion = ''; 1136 tz._zones = zones; 1137 tz._links = links; 1138 tz._names = names; 1139 tz._countries = countries; 1140 tz.add = addZone; 1141 tz.link = addLink; 1142 tz.load = loadData; 1143 tz.zone = getZone; 1144 tz.zoneExists = zoneExists; // deprecated in 0.1.0 1145 tz.guess = guess; 1146 tz.names = getNames; 1147 tz.Zone = Zone; 1148 tz.unpack = unpack; 1149 tz.unpackBase60 = unpackBase60; 1150 tz.needsOffset = needsOffset; 1151 tz.moveInvalidForward = true; 1152 tz.moveAmbiguousForward = false; 1153 tz.countries = getCountryNames; 1154 tz.zonesForCountry = zonesForCountry; 1155 1156 /************************************ 1157 Interface with Moment.js 1158 ************************************/ 1159 1160 var fn = moment.fn; 1161 1162 moment.tz = tz; 1163 1164 moment.defaultZone = null; 1165 1166 moment.updateOffset = function (mom, keepTime) { 1167 var zone = moment.defaultZone, 1168 offset; 1169 1170 if (mom._z === undefined) { 1171 if (zone && needsOffset(mom) && !mom._isUTC) { 1172 mom._d = moment.utc(mom._a)._d; 1173 mom.utc().add(zone.parse(mom), 'minutes'); 1174 } 1175 mom._z = zone; 1176 } 1177 if (mom._z) { 1178 offset = mom._z.utcOffset(mom); 1179 if (Math.abs(offset) < 16) { 1180 offset = offset / 60; 1181 } 1182 if (mom.utcOffset !== undefined) { 1183 var z = mom._z; 1184 mom.utcOffset(-offset, keepTime); 1185 mom._z = z; 1186 } else { 1187 mom.zone(offset, keepTime); 1188 } 1189 } 1190 }; 1191 1192 fn.tz = function (name, keepTime) { 1193 if (name) { 1194 if (typeof name !== 'string') { 1195 throw new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']'); 1196 } 1197 this._z = getZone(name); 1198 if (this._z) { 1199 moment.updateOffset(this, keepTime); 1200 } else { 1201 logError("Moment Timezone has no data for " + name + ". See http://momentjs.com/timezone/docs/#/data-loading/."); 1202 } 1203 return this; 1204 } 1205 if (this._z) { return this._z.name; } 1206 }; 1207 1208 function abbrWrap (old) { 1209 return function () { 1210 if (this._z) { return this._z.abbr(this); } 1211 return old.call(this); 1212 }; 1213 } 1214 1215 function resetZoneWrap (old) { 1216 return function () { 1217 this._z = null; 1218 return old.apply(this, arguments); 1219 }; 1220 } 1221 1222 function resetZoneWrap2 (old) { 1223 return function () { 1224 if (arguments.length > 0) this._z = null; 1225 return old.apply(this, arguments); 1226 }; 1227 } 1228 1229 fn.zoneName = abbrWrap(fn.zoneName); 1230 fn.zoneAbbr = abbrWrap(fn.zoneAbbr); 1231 fn.utc = resetZoneWrap(fn.utc); 1232 fn.local = resetZoneWrap(fn.local); 1233 fn.utcOffset = resetZoneWrap2(fn.utcOffset); 1234 1235 moment.tz.setDefault = function(name) { 1236 if (major < 2 || (major === 2 && minor < 9)) { 1237 logError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.'); 1238 } 1239 moment.defaultZone = name ? getZone(name) : null; 1240 return moment; 1241 }; 1242 1243 // Cloning a moment should include the _z property. 1244 var momentProperties = moment.momentProperties; 1245 if (Object.prototype.toString.call(momentProperties) === '[object Array]') { 1246 // moment 2.8.1+ 1247 momentProperties.push('_z'); 1248 momentProperties.push('_a'); 1249 } else if (momentProperties) { 1250 // moment 2.7.0 1251 momentProperties._z = null; 1252 } 1253 1254 loadData({ 1255 "version": "2021e", 1256 "zones": [ 1257 "Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5", 1258 "Africa/Nairobi|LMT +0230 EAT +0245|-2r.g -2u -30 -2J|012132|-2ua2r.g N6nV.g 3Fbu h1cu dzbJ|47e5", 1259 "Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5", 1260 "Africa/Lagos|LMT GMT +0030 WAT|-d.z 0 -u -10|01023|-2B40d.z 7iod.z dnXK.p dLzH.z|17e6", 1261 "Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4", 1262 "Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5", 1263 "Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6", 1264 "Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e
126400 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|32e5", 1265 "Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3", 1266 "Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e
126600 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0 2600 e00 2600 gM0 2600 gM0 2600 e00 2600 gM0|20e4", 1267 "Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5", 1268 "Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|012121212121212121212121212121212131|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 PeX0|", 1269 "Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5", 1270 "Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5", 1271 "Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5", 1272 "Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|0121|-2le00 4i6N0 2q00|", 1273 "Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5", 1274 "Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5", 1275 "Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4", 1276 "America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326", 1277 "America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4", 1278 "America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5", 1279 "America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4", 1280 "America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0|", 1281 "America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0|", 1282 "America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0|", 1283 "America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0|", 1284 "America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|", 1285 "America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0|", 1286 "America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0|", 1287 "America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0|", 1288 "America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0|", 1289 "America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0|", 1290 "America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0|", 1291 "America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0|", 1292 "America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5", 1293 "America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5",
1294 "America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3", 1295 "America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5", 1296 "America/Barbados|LMT AST ADT -0330|3W.t 40 30 3u|0121213121212121|-2m4k1.v 1eAN1.v RB0 1Bz0 Op0 1rb0 11d0 1jJc0 IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4", 1297 "America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5", 1298 "America/Belize|LMT CST -0530 CWT CPT CDT|5Q.M 60 5u 50 50 50|012121212121212121212121212121212121212121212121213412121212121212121212121212121212121212121215151|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu Rcu 7Bt0 Ni0 4nd0 Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu e9Au qn0 lxB0 mn0|57e3", 1299 "America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2", 1300 "America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5", 1301 "America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4", 1302 "America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2", 1303 "America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4", 1304 "America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG
13040 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4", 1305 "America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5", 1306 "America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3", 1307 "America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5", 1308 "America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4", 1309 "America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5", 1310 "America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5", 1311 "America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4", 1312 "America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8", 1313 "America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3", 1314 "America/Dawson|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|13e2", 1315 "America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5", 1316 "America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|0123425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 JxX1 SMX 1cN0 1cL0 aW10 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5", 1317 "America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|0121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 XQp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5", 1318 "America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3", 1319 "America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5", 1320 "America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5", 1321 "America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2", 1322 "America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1323 "America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5", 1324 "America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3", 1325 "America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3", 1326 "America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|01023232323232324523232323232323232323232323232323232323232676767676767676767676767676767676767676767676867676
13267676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2", 1327 "America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|0121212121212121212121212121212121212121212121212121212121212121212121212132121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 7jA0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2", 1328 "America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5", 1329 "America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5", 1330 "America/Guyana|LMT -04 -0345 -03|3Q.D 40 3J 30|01231|-2mf87.l 8Hc7.l 2r7bJ Ey0f|80e4", 1331 "America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4", 1332 "America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5",
1333 "America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4", 1334 "America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1335 "America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1336 "America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1337 "America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010401054541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 8wn0 1cN0 1cL0 1cN0 1cK0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1338 "America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1339 "America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1340 "America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1341 "America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2", 1342 "America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2", 1343 "America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4", 1344 "America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3", 1345 "America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 1nX1 e0X 9vd0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1346 "America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1347 "America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5", 1348 "America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6", 1349 "America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6", 1350 "America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4", 1351 "America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5", 1352 "America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5", 1353 "America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4", 1354 "America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4",
1355 "America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4", 1356 "America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2", 1357 "America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5", 1358 "America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|01203030303030303030303030303030304545450454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2", 1359 "America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6", 1360 "America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2", 1361 "America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3", 1362 "America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5", 1363 "America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5", 1364 "America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5",
1365 "America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6", 1366 "America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2", 1367 "America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2", 1368 "America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2", 1369 "America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1370 "America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1371 "America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1372 "America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 de
1372L0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3", 1373 "America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2", 1374 "America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4", 1375 "America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5", 1376 "America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4", 1377 "America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4", 1378 "America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|", 1379 "America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842", 1380 "America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2", 1381 "America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5", 1382 "America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4", 1383 "America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229", 1384 "America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4", 1385 "America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|62e5", 1386 "America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5", 1387 "America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6", 1388 "America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452", 1389 "America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2",
1390 "America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4", 1391 "America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3", 1392 "America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5", 1393 "America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656", 1394 "America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4", 1395 "America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5", 1396 "America/Whitehorse|YST YDT YWT YPT YDDT PST PDT MST|90 80 80 80 70 80 70 70|010102304056565656565656565656565656565656565656565656565656565656565656565656565656565656567|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1z90|23e3", 1397 "America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4", 1398 "America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642", 1399 "America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3", 1400 "Antarctica/Casey|-00 +08 +11|0 -80 -b0|0121212121212|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10 1o30 14k0 1kr0 12l0 1o01|10", 1401 "Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70", 1402 "Pacific/Port_Moresby|+10|-a0|0||25e4", 1403 "Antarctica/Macquarie|AEST AEDT -00|-a0 -b0 0|010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 1a00 4SK0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 3Co0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|1", 1404 "Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60", 1405 "Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|010202020202
140502020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5", 1406 "Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40", 1407 "Antarctica/Rothera|-00 -03|0 30|01|gOo0|130", 1408 "Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5", 1409 "Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40", 1410 "Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25", 1411 "Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4", 1412 "Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5", 1413 "Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00 LA0 1C00 Oo0 1zc0 Oo0 1C00 LA0 1C00 LA0 1C00 LA0 1C00 LA0 1C00 Oo0 1zc0 Oo0 1C00 LA0 1C00 LA0 1C00 LA0 1C00 LA0 1C00 Oo0 1C00 LA0 1C00|25e5", 1414 "Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3", 1415 "Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4", 1416 "Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4", 1417 "Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4", 1418 "Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|", 1419 "Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5",
1420 "Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4", 1421 "Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5", 1422 "Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6", 1423 "Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|", 1424 "Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5", 1425 "Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4", 1426 "Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4", 1427 "Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6", 1428 "Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4", 1429 "Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3", 1430 "Asia/Shanghai|CST CDT|-80 -90|01010101010101010101010101010|-23uw0 18n0 OjB0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6", 1431 "Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5", 1432 "Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6", 1433 "Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5", 1434 "Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4", 1435 "Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5", 1436 "Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4", 1437 "Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312
1437121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|", 1438 "Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101010123232323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0 1200 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0 1200 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1qo0 Xc0 1qo0|18e5", 1439 "Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101012323232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2o0 MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 pBa0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nA0 1210 1qL0 WN0 1qL0 WN0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0 1200 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1nA0 1200 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 Xc0 1qo0 1200 1qo0 Xc0 1qo0|25e4", 1440 "Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5", 1441 "Asia/Hong_Kong|LMT HKT HKST HKWT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5", 1442 "Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3", 1443 "Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4", 1444 "Europe/Istanbul|IMT EET EEST +03 +04|-1U.U -20 -30 -30 -40|0121212121212121212121212121212121212121212121234312121212121212121212121212121212121212121212121212121212121212123|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSN0 CL0 mp0 1Vz0 1gN0 8yn0 1yp0 ML0 1kp0 17b
14440 1ip0 17b0 1fB0 19X0 1ip0 19X0 1ip0 17b0 qdB0 38L0 1jd0 Tz0 l6O0 11A0 WN0 1qL0 TB0 1tX0 U10 1tz0 11B0 1in0 17d0 z90 cne0 pb0 2Cp0 1800 14o0 1dc0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6", 1445 "Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6", 1446 "Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4", 1447 "Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyOk.E MM0 iM0 4JA0 10o0 1pA0 10M0 1pA0 16o0 1jA0 16o0 1jA0 3LA0 Eo0 oo0 1co0 1dA0 16o0 10M0 1jc0 1tA0 14o0 1cM0 1a00 11A0 1Nc0 Ao0 1Nc0 Ao0 1Ko0 LA0 1o00 WM0 EQK0 Db0 1fB0 Rb0 bXB0 gM0 8Q00 IM0 1wo0 TX0 1HB0 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4", 1448 "Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5", 1449 "Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4", 1450 "Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6", 1451 "Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5", 1452 "Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5", 1453 "Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2", 1454 "Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5", 1455 "Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5", 1456 "Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4", 1457 "Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4", 1458 "Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3",
1459 "Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5", 1460 "Asia/Manila|PST PDT JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6", 1461 "Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4", 1462 "Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4", 1463 "Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5", 1464 "Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5", 1465 "Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4", 1466 "Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4", 1467 "Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5", 1468 "Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|012323232323232323232123232323232323232323232323|-1Pc4e.s eUoe.s 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|", 1469 "Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4", 1470 "Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5", 1471 "Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4", 1472 "Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4", 1473 "Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -a0 -9u|012343434343151515151515134343|-2um8r.Q 97XV.Q 1m1zu 6CM0 Fz0 1kN0 14n0 1kN0 14L0 1zd0 On0 69B0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6", 1474 "Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2",
1475 "Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5", 1476 "Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5", 1477 "Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5", 1478 "Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6", 1479 "Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3", 1480 "Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rc0 1lc0 14o0 1zc0 Oo0 1zc0 Oo0|38e6", 1481 "Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5", 1482 "Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5", 1483 "Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2", 1484 "Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4", 1485 "Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4", 1486 "Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5", 1487 "Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5", 1488 "Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|0121212121212121212121212121212121212121212123212321232123212121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4", 1489 "Atlantic/Bermuda|BMT BST AST ADT|4j.i 3j.i 40 30|010102323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28p7E.G 1bb0 1i10 11X0 ru30 thbE.G 1P
1489X0 11B0 1tz0 Rd0 1zb0 Op0 1zb0 3I10 Lz0 1EN0 FX0 1HB0 FX0 1Kp0 Db0 1Kp0 Db0 1Kp0 FX0 93d0 11z0 GAp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3", 1490 "Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4", 1491 "Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4", 1492 "Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3", 1493 "Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|0121212121212121212121212121212121212121212123212321232123212121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4", 1494 "Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4", 1495 "Atlantic/South_Georgia|-02|20|0||30", 1496 "Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2", 1497 "Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5", 1498 "Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5", 1499 "Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5", 1500 "Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3", 1501 "Australia/Hobart|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 1a00 1qM0 Oo0 1zc0 Oo0 TAo0 yM0 1cM0 1cM0 1fA0 1a00 VfA0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4", 1502 "Australia/Darwin|ACST ACDT|-9u -au|010101010|-293ju xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00|12e4", 1503 "Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293iJ xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368", 1504 "Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu
15041cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347", 1505 "Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10", 1506 "Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293k0 xc0 10jc0 yM0 1cM0 1cM0 1fA0 1a00 17c00 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5", 1507 "Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293i0 xc0 10jc0 yM0 1cM0 1cM0 1gSo0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5", 1508 "CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|", 1509 "Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|30e2", 1510 "CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1511 "EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|", 1512 "Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5", 1513 "EST|EST|50|0||", 1514 "EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1515 "Etc/GMT-0|GMT|0|0||", 1516 "Etc/GMT-1|+01|-10|0||", 1517 "Etc/GMT-11|+11|-b0|0||", 1518 "Pacific/Tarawa|+12|-c0|0||29e3", 1519 "Etc/GMT-13|+13|-d0|0||", 1520 "Etc/GMT-14|+14|-e0|0||", 1521 "Etc/GMT-2|+02|-20|0||", 1522 "Etc/GMT-3|+03|-30|0||", 1523 "Etc/GMT-4|+04|-40|0||", 1524 "Etc/GMT-5|+05|-50|0||", 1525 "Etc/GMT-6|+06|-60|0||", 1526 "Indian/Christmas|+07|-70|0||21e2", 1527 "Etc/GMT-8|+08|-80|0||", 1528 "Pacific/Palau|+09|-90|0||21e3", 1529 "Etc/GMT+1|-01|10|0||", 1530 "Etc/GMT+10|-10|a0|0||", 1531 "Etc/GMT+11|-11|b0|0||", 1532 "Etc/GMT+12|-12|c0|0||", 1533 "Etc/GMT+3|-03|30|0||", 1534 "Etc/GMT+4|-04|40|0||", 1535 "Etc/GMT+5|-05|50|0||", 1536 "Etc/GMT+6|-06|60|0||", 1537 "Etc/GMT+7|-07|70|0||", 1538 "Etc/GMT+8|-08|80|0||", 1539 "Etc/GMT+9|-09|90|0||", 1540 "Etc/UTC|UTC|0|0||", 1541 "Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 U
1541o0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5", 1542 "Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3", 1543 "Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5", 1544 "Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5", 1545 "Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6", 1546 "Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5", 1547 "Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5", 1548 "Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5", 1549 "Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5", 1550 "Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5", 1551 "Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 1oo0 11c0 1lc0 17c0 O1V0 3Nf0 WM0 1fA0 1cM0 1cM0 1oJ0 1dd0 1020 1fX0 1cp0 1cM0 1cM0 1cM0 1fA0 1a00 bhy0 Rb0 1wr0 Rc0 1C00 LA0 1C00 LA0 SNW0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cO0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5", 1552 "Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4", 1553 "Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4", 1554 "Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5", 1555 "Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3", 1556 "Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5", 1557 "Europe/Kaliningrad|CET CEST EET EEST MSK MSD +03|-10 -20 -20 -30 -30 -40 -30|01010101010101232454545454545454543232323232323232323232323232323232323232323262|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 390 7A0 1en0 12N0 1pbb0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4", 1558 "Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5", 1559 "Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4",
1560 "Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5", 1561 "Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4", 1562 "Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5", 1563 "Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4", 1564 "Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5", 1565 "Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2n5c9.l cFX9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3", 1566 "Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6", 1567 "Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6", 1568 "Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -2
15680 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4", 1569 "Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5", 1570 "Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5", 1571 "Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810|", 1572 "Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4", 1573 "Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5", 1574 "Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5", 1575 "Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4", 1576 "Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4", 1577 "Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5", 1578 "Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4", 1579 "Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1ao0 1co0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5", 1580 "Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4", 1581 "Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|0123232323232323212121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0 5gn0|10e5", 1582 "Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5", 1583 "Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4", 1584 "HST|HST|a0|0||", 1585 "Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2", 1586 "Indian/Cocos|+0630|-6u|0||596", 1587 "Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130", 1588 "Indian/Mahe|LMT +04|-3F.M -40|01|-2xorF.M|79e3", 1589 "Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4", 1590 "Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4", 1591 "Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4", 1592 "Pacific/Kwajalein|+11 +10 +09 -12 +12|-b0 -a0 -90 c0 -c0|012034|-1kln0 akp0 6Up0 12ry0 Wan0|14e3", 1593 "MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|", 1594 "MST|MST|70|0||", 1595 "MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1596 "Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600", 1597 "Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3", 1598 "Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4", 1599 "Pacific/Chuuk|+10 +09|-a0 -90|01010|-2ewy0 axB0 RVX0 axd0|49e3", 1600 "Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|012121212121212121212121|-2l9nd.g 2uNXd.g Dc0 n610 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3", 1601 "Pacific/Enderbury|-00 -12 -11 +13|0 c0 b0 -d0|0123|-1iIo0 1GsA0 B7X0|1", 1602 "Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483", 1603 "Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|01212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 2hc0 bc0 4q00 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 20o0 pc0 20o0 pc0 20o0 pc0 20o0 pc0 20o0 s00 1VA0 s00|88e4", 1604 "Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3", 1605 "Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125", 1606 "Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4",
1607 "Pacific/Guam|GST +09 GDT ChST|-a0 -90 -b0 -a0|01020202020202020203|-18jK0 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4", 1608 "Pacific/Honolulu|HST HDT HWT HPT HST|au 9u 9u 9u a0|0102304|-1thLu 8x0 lef0 8wWu iAu 46p0|37e4", 1609 "Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2", 1610 "Pacific/Kosrae|+11 +09 +10 +12|-b0 -90 -a0 -c0|01021030|-2ewz0 axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2", 1611 "Pacific/Majuro|+11 +09 +10 +12|-b0 -90 -a0 -c0|0102103|-2ewz0 axC0 HBy0 akp0 6RB0 12um0|28e3", 1612 "Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2", 1613 "Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2", 1614 "Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3", 1615 "Pacific/Niue|LMT -1120 -11|bj.E bk b0|012|-FScE.k suo0.k|12e2", 1616 "Pacific/Norfolk|+1112 +1130 +1230 +11 +12|-bc -bu -cu -b0 -c0|012134343434343434343434343434343434343434|-Kgbc W01G Oo0 1COo0 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|25e4", 1617 "Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3", 1618 "Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56", 1619 "Pacific/Pohnpei|+11 +09 +10|-b0 -90 -a0|010210|-2ewz0 axC0 HBy0 akp0 axd0|34e3", 1620 "Pacific/Rarotonga|LMT -1030 -0930 -10|aD.4 au 9u a0|0123232323232323232323232323|-FSdk.U 13tbO.U IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3", 1621 "Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4", 1622 "Pacific/Tongatapu|LMT +1220 +13 +14|-cj.c -ck -d0 -e0|01232323232|-XbMj.c BgLX.c 1yndk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3", 1623 "PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|", 1624 "WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|" 1625 ], 1626 "links": [ 1627 "Africa/Abidjan|Africa/Accra", 1628 "Africa/Abidjan|Africa/Bamako", 1629 "Africa/Abidjan|Africa/Banjul", 1630 "Africa/Abidjan|Africa/Conakry", 1631 "Africa/Abidjan|Africa/Dakar", 1632 "Africa/Abidjan|Africa/Freetown", 1633 "Africa/Abidjan|Africa/Lome", 1634 "Africa/Abidjan|Africa/Nouakchott", 1635 "Africa/Abidjan|Africa/Ouagadougou", 1636 "Africa/Abidjan|Africa/Timbuktu", 1637 "Africa/Abidjan|Atlantic/St_Helena", 1638 "Africa/Cairo|Egypt", 1639 "Africa/Johannesburg|Africa/Maseru", 1640 "Africa/Johannesburg|Africa/Mbabane", 1641 "Africa/Lagos|Africa/Bangui", 1642 "Africa/Lagos|Africa/Brazzaville", 1643 "Africa/Lagos|Africa/Douala", 1644 "Africa/Lagos|Africa/Kinshasa", 1645 "Africa/Lagos|Africa/Libreville", 1646 "Africa/Lagos|Africa/Luanda", 1647 "Africa/Lagos|Africa/Malabo", 1648 "Africa/Lagos|Africa/Niamey", 1649 "Africa/Lagos|Africa/Porto-Novo", 1650 "Africa/Maputo|Africa/Blantyre", 1651 "Africa/Maputo|Africa/Bujumbura", 1652 "Africa/Maputo|Africa/Gaborone", 1653 "Africa/Maputo|Africa/Harare",
1654 "Africa/Maputo|Africa/Kigali", 1655 "Africa/Maputo|Africa/Lubumbashi", 1656 "Africa/Maputo|Africa/Lusaka", 1657 "Africa/Nairobi|Africa/Addis_Ababa", 1658 "Africa/Nairobi|Africa/Asmara", 1659 "Africa/Nairobi|Africa/Asmera", 1660 "Africa/Nairobi|Africa/Dar_es_Salaam", 1661 "Africa/Nairobi|Africa/Djibouti", 1662 "Africa/Nairobi|Africa/Kampala", 1663 "Africa/Nairobi|Africa/Mogadishu", 1664 "Africa/Nairobi|Indian/Antananarivo", 1665 "Africa/Nairobi|Indian/Comoro", 1666 "Africa/Nairobi|Indian/Mayotte", 1667 "Africa/Tripoli|Libya", 1668 "America/Adak|America/Atka", 1669 "America/Adak|US/Aleutian", 1670 "America/Anchorage|US/Alaska", 1671 "America/Argentina/Buenos_Aires|America/Buenos_Aires", 1672 "America/Argentina/Catamarca|America/Argentina/ComodRivadavia", 1673 "America/Argentina/Catamarca|America/Catamarca", 1674 "America/Argentina/Cordoba|America/Cordoba", 1675 "America/Argentina/Cordoba|America/Rosario", 1676 "America/Argentina/Jujuy|America/Jujuy", 1677 "America/Argentina/Mendoza|America/Mendoza", 1678 "America/Chicago|US/Central", 1679 "America/Denver|America/Shiprock", 1680 "America/Denver|Navajo", 1681 "America/Denver|US/Mountain", 1682 "America/Detroit|US/Michigan", 1683 "America/Edmonton|Canada/Mountain", 1684 "America/Fort_Wayne|America/Indiana/Indianapolis", 1685 "America/Fort_Wayne|America/Indianapolis", 1686 "America/Fort_Wayne|US/East-Indiana", 1687 "America/Godthab|America/Nuuk", 1688 "America/Halifax|Canada/Atlantic", 1689 "America/Havana|Cuba", 1690 "America/Indiana/Knox|America/Knox_IN", 1691 "America/Indiana/Knox|US/Indiana-Starke", 1692 "America/Jamaica|Jamaica", 1693 "America/Kentucky/Louisville|America/Louisville", 1694 "America/Los_Angeles|US/Pacific", 1695 "America/Manaus|Brazil/West", 1696 "America/Mazatlan|Mexico/BajaSur", 1697 "America/Mexico_City|Mexico/General", 1698 "America/New_York|US/Eastern", 1699 "America/Noronha|Brazil/DeNoronha", 1700 "America/Panama|America/Atikokan", 1701 "America/Panama|America/Cayman", 1702 "America/Panama|America/Coral_Harbour", 1703 "America/Phoenix|America/Creston", 1704 "America/Phoenix|US/Arizona", 1705 "America/Puerto_Rico|America/Anguilla", 1706 "America/Puerto_Rico|America/Antigua", 1707 "America/Puerto_Rico|America/Aruba", 1708 "America/Puerto_Rico|America/Blanc-Sablon", 1709 "America/Puerto_Rico|America/Curacao", 1710 "America/Puerto_Rico|America/Dominica", 1711 "America/Puerto_Rico|America/Grenada", 1712 "America/Puerto_Rico|America/Guadeloupe", 1713 "America/Puerto_Rico|America/Kralendijk", 1714 "America/Puerto_Rico|America/Lower_Princes", 1715 "America/Puerto_Rico|America/Marigot", 1716 "America/Puerto_Rico|America/Montserrat", 1717 "America/Puerto_Rico|America/Port_of_Spain", 1718 "America/Puerto_Rico|America/St_Barthelemy", 1719 "America/Puerto_Rico|America/St_Kitts", 1720 "America/Puerto_Rico|America/St_Lucia", 1721 "America/Puerto_Rico|America/St_Thomas", 1722 "America/Puerto_Rico|America/St_Vincent", 1723 "America/Puerto_Rico|America/Tortola", 1724 "America/Puerto_Rico|America/Virgin", 1725 "America/Regina|Canada/Saskatchewan", 1726 "America/Rio_Branco|America/Porto_Acre", 1727 "America/Rio_Branco|Brazil/Acre", 1728 "America/Santiago|Chile/Continental", 1729 "America/Sao_Paulo|Brazil/East",
1730 "America/St_Johns|Canada/Newfoundland", 1731 "America/Tijuana|America/Ensenada", 1732 "America/Tijuana|America/Santa_Isabel", 1733 "America/Tijuana|Mexico/BajaNorte", 1734 "America/Toronto|America/Montreal", 1735 "America/Toronto|America/Nassau", 1736 "America/Toronto|Canada/Eastern", 1737 "America/Vancouver|Canada/Pacific", 1738 "America/Whitehorse|Canada/Yukon", 1739 "America/Winnipeg|Canada/Central", 1740 "Asia/Ashgabat|Asia/Ashkhabad", 1741 "Asia/Bangkok|Asia/Phnom_Penh", 1742 "Asia/Bangkok|Asia/Vientiane", 1743 "Asia/Dhaka|Asia/Dacca", 1744 "Asia/Dubai|Asia/Muscat", 1745 "Asia/Ho_Chi_Minh|Asia/Saigon", 1746 "Asia/Hong_Kong|Hongkong", 1747 "Asia/Jerusalem|Asia/Tel_Aviv", 1748 "Asia/Jerusalem|Israel", 1749 "Asia/Kathmandu|Asia/Katmandu", 1750 "Asia/Kolkata|Asia/Calcutta", 1751 "Asia/Kuala_Lumpur|Asia/Singapore", 1752 "Asia/Kuala_Lumpur|Singapore", 1753 "Asia/Macau|Asia/Macao", 1754 "Asia/Makassar|Asia/Ujung_Pandang", 1755 "Asia/Nicosia|Europe/Nicosia", 1756 "Asia/Qatar|Asia/Bahrain", 1757 "Asia/Rangoon|Asia/Yangon", 1758 "Asia/Riyadh|Antarctica/Syowa", 1759 "Asia/Riyadh|Asia/Aden", 1760 "Asia/Riyadh|Asia/Kuwait", 1761 "Asia/Seoul|ROK", 1762 "Asia/Shanghai|Asia/Chongqing", 1763 "Asia/Shanghai|Asia/Chungking", 1764 "Asia/Shanghai|Asia/Harbin", 1765 "Asia/Shanghai|PRC", 1766 "Asia/Taipei|ROC", 1767 "Asia/Tehran|Iran", 1768 "Asia/Thimphu|Asia/Thimbu", 1769 "Asia/Tokyo|Japan", 1770 "Asia/Ulaanbaatar|Asia/Ulan_Bator", 1771 "Asia/Urumqi|Asia/Kashgar", 1772 "Atlantic/Faroe|Atlantic/Faeroe", 1773 "Atlantic/Reykjavik|Iceland", 1774 "Atlantic/South_Georgia|Etc/GMT+2", 1775 "Australia/Adelaide|Australia/South", 1776 "Australia/Brisbane|Australia/Queensland", 1777 "Australia/Broken_Hill|Australia/Yancowinna", 1778 "Australia/Darwin|Australia/North", 1779 "Australia/Hobart|Australia/Currie", 1780 "Australia/Hobart|Australia/Tasmania", 1781 "Australia/Lord_Howe|Australia/LHI", 1782 "Australia/Melbourne|Australia/Victoria", 1783 "Australia/Perth|Australia/West", 1784 "Australia/Sydney|Australia/ACT", 1785 "Australia/Sydney|Australia/Canberra", 1786 "Australia/Sydney|Australia/NSW", 1787 "Etc/GMT-0|Etc/GMT", 1788 "Etc/GMT-0|Etc/GMT+0", 1789 "Etc/GMT-0|Etc/GMT0", 1790 "Etc/GMT-0|Etc/Greenwich", 1791 "Etc/GMT-0|GMT", 1792 "Etc/GMT-0|GMT+0", 1793 "Etc/GMT-0|GMT-0", 1794 "Etc/GMT-0|GMT0", 1795 "Etc/GMT-0|Greenwich", 1796 "Etc/UTC|Etc/UCT", 1797 "Etc/UTC|Etc/Universal", 1798 "Etc/UTC|Etc/Zulu", 1799 "Etc/UTC|UCT", 1800 "Etc/UTC|UTC", 1801 "Etc/UTC|Universal", 1802 "Etc/UTC|Zulu", 1803 "Europe/Belgrade|Europe/Ljubljana", 1804 "Europe/Belgrade|Europe/Podgorica", 1805 "Europe/Belgrade|Europe/Sarajevo", 1806 "Europe/Belgrade|Europe/Skopje", 1807 "Europe/Belgrade|Europe/Zagreb", 1808 "Europe/Chisinau|Europe/Tiraspol", 1809 "Europe/Dublin|Eire", 1810 "Europe/Helsinki|Europe/Mariehamn", 1811 "Europe/Istanbul|Asia/Istanbul", 1812 "Europe/Istanbul|Turkey", 1813 "Europe/Lisbon|Portugal", 1814 "Europe/London|Europe/Belfast", 1815 "Europe/London|Europe/Guernsey", 1816 "Europe/London|Europe/Isle_of_Man", 1817 "Europe/London|Europe/Jersey", 1818 "Europe/London|GB", 1819 "Europe/London|GB-Eire", 1820 "Europe/Moscow|W-SU", 1821 "Europe/Oslo|Arctic/Longyearbyen", 1822 "Europe/Oslo|Atlantic/Jan_Mayen", 1823 "Europe/Prague|Europe/Bratislava", 1824 "Europe/Rome|Europe/San_Marino", 1825 "Europe/Rome|Europe/Vatican", 1826 "Europe/Warsaw|Poland", 1827 "Europe/Zurich|Europe/Busingen", 1828 "Europe/Zurich|Europe/Vaduz", 1829 "Indian/Christmas|Etc/GMT-7", 1830 "Pacific/Auckland|Antarctica/McMurdo", 1831 "Pacific/Auckland|Antarctica/South_Pole", 1832 "Pacific/Auckland|NZ", 1833 "Pacific/Chatham|NZ-CHAT", 1834 "Pacific/Chuuk|Pacific/Truk", 1835 "Pacific/Chuuk|Pacific/Yap", 1836 "Pacific/Easter|Chile/EasterIsland", 1837 "Pacific/Enderbury|Pacific/Kanton", 1838 "Pacific/Guam|Pacific/Saipan", 1839 "Pacific/Honolulu|Pacific/Johnston", 1840 "Pacific/Honolulu|US/Hawaii", 1841 "Pacific/Kwajalein|Kwajalein", 1842 "Pacific/Pago_Pago|Pacific/Midway", 1843 "Pacific/Pago_Pago|Pacific/Samoa", 1844 "Pacific/Pago_Pago|US/Samoa", 1845 "Pacific/Palau|Etc/GMT-9", 1846 "Pacific/Pohnpei|Pacific/Ponape", 1847 "Pacific/Port_Moresby|Antarctica/DumontDUrville", 1848 "Pacific/Port_Moresby|Etc/GMT-10", 1849 "Pacific/Tarawa|Etc/GMT-12", 1850 "Pacific/Tarawa|Pacific/Funafuti", 1851 "Pacific/Tarawa|Pacific/Wake", 1852 "Pacific/Tarawa|Pacific/Wallis" 1853 ], 1854 "countries": [ 1855 "AD|Europe/Andorra", 1856 "AE|Asia/Dubai", 1857 "AF|Asia/Kabul", 1858 "AG|America/Port_of_Spain America/Antigua", 1859 "AI|America/Port_of_Spain America/Anguilla", 1860 "AL|Europe/Tirane", 1861 "AM|Asia/Yerevan", 1862 "AO|Africa/Lagos Africa/Luanda", 1863 "AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo", 1864 "AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia", 1865 "AS|Pacific/Pago_Pago", 1866 "AT|Europe/Vienna", 1867 "AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla", 1868 "AW|America/Curacao America/Aruba", 1869 "AX|Europe/Helsinki Europe/Mariehamn", 1870 "AZ|Asia/Baku", 1871 "BA|Europe/Belgrade Europe/Sarajevo", 1872 "BB|America/Barbados", 1873 "BD|Asia/Dhaka", 1874 "BE|Europe/Brussels", 1875 "BF|Africa/Abidjan Africa/Ouagadougou", 1876 "BG|Europe/Sofia", 1877 "BH|Asia/Qatar Asia/Bahrain", 1878 "BI|Africa/Maputo Africa/Bujumbura", 1879 "BJ|Africa/Lagos Africa/Porto-Novo", 1880 "BL|America/Port_of_Spain America/St_Barthelemy", 1881 "BM|Atlantic/Bermuda", 1882 "BN|Asia/Brunei", 1883 "BO|America/La_Paz", 1884 "BQ|America/Curacao America/Kralendijk", 1885 "BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco", 1886 "BS|America/Nassau", 1887 "BT|Asia/Thimphu", 1888 "BW|Africa/Maputo Africa/Gaborone", 1889 "BY|Europe/Minsk", 1890 "BZ|America/Belize", 1891 "CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver", 1892 "CC|Indian/Cocos", 1893 "CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi", 1894 "CF|Africa/Lagos Africa/Bangui", 1895 "CG|Africa/Lagos Africa/Brazzaville", 1896 "CH|Europe/Zurich", 1897 "CI|Africa/Abidjan", 1898 "CK|Pacific/Rarotonga", 1899 "CL|America/Santiago America/Punta_Arenas Pacific/Easter", 1900 "CM|Africa/Lagos Africa/Douala", 1901 "CN|Asia/Shanghai Asia/Urumqi", 1902 "CO|America/Bogota", 1903 "CR|America/Costa_Rica", 1904 "CU|America/Havana", 1905 "CV|Atlantic/Cape_Verde", 1906 "CW|America/Curacao", 1907 "CX|Indian/Christmas", 1908 "CY|Asia/Nicosia Asia/Famagusta", 1909 "CZ|Europe/Prague", 1910 "DE|Europe/Zurich Europe/Berlin Europe/Busingen", 1911 "DJ|Africa/Nairobi Africa/Djibouti", 1912 "DK|Europe/Copenhagen", 1913 "DM|America/Port_of_Spain America/Dominica", 1914 "DO|America/Santo_Domingo", 1915 "DZ|Africa/Algiers", 1916 "EC|America/Guayaquil Pacific/Galapagos", 1917 "EE|Europe/Tallinn", 1918 "EG|Africa/Cairo", 1919 "EH|Africa/El_Aaiun", 1920 "ER|Africa/Nairobi Africa/Asmara", 1921 "ES|Europe/Madrid Africa/Ceuta Atlantic/Canary", 1922 "ET|Africa/Nairobi Africa/Addis_Ababa", 1923 "FI|Europe/Helsinki", 1924 "FJ|Pacific/Fiji", 1925 "FK|Atlantic/Stanley", 1926 "FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae", 1927 "FO|Atlantic/Faroe", 1928 "FR|Europe/Paris", 1929 "GA|Africa/Lagos Africa/Libreville", 1930 "GB|Europe/London", 1931 "GD|America/Port_of_Spain America/Grenada", 1932 "GE|Asia/Tbilisi", 1933 "GF|America/Cayenne",
1934 "GG|Europe/London Europe/Guernsey", 1935 "GH|Africa/Accra", 1936 "GI|Europe/Gibraltar", 1937 "GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule", 1938 "GM|Africa/Abidjan Africa/Banjul", 1939 "GN|Africa/Abidjan Africa/Conakry", 1940 "GP|America/Port_of_Spain America/Guadeloupe", 1941 "GQ|Africa/Lagos Africa/Malabo", 1942 "GR|Europe/Athens", 1943 "GS|Atlantic/South_Georgia", 1944 "GT|America/Guatemala", 1945 "GU|Pacific/Guam", 1946 "GW|Africa/Bissau", 1947 "GY|America/Guyana", 1948 "HK|Asia/Hong_Kong", 1949 "HN|America/Tegucigalpa", 1950 "HR|Europe/Belgrade Europe/Zagreb", 1951 "HT|America/Port-au-Prince", 1952 "HU|Europe/Budapest", 1953 "ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura", 1954 "IE|Europe/Dublin", 1955 "IL|Asia/Jerusalem", 1956 "IM|Europe/London Europe/Isle_of_Man", 1957 "IN|Asia/Kolkata", 1958 "IO|Indian/Chagos", 1959 "IQ|Asia/Baghdad", 1960 "IR|Asia/Tehran", 1961 "IS|Atlantic/Reykjavik", 1962 "IT|Europe/Rome", 1963 "JE|Europe/London Europe/Jersey", 1964 "JM|America/Jamaica", 1965 "JO|Asia/Amman", 1966 "JP|Asia/Tokyo", 1967 "KE|Africa/Nairobi", 1968 "KG|Asia/Bishkek", 1969 "KH|Asia/Bangkok Asia/Phnom_Penh", 1970 "KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati", 1971 "KM|Africa/Nairobi Indian/Comoro", 1972 "KN|America/Port_of_Spain America/St_Kitts", 1973 "KP|Asia/Pyongyang", 1974 "KR|Asia/Seoul", 1975 "KW|Asia/Riyadh Asia/Kuwait", 1976 "KY|America/Panama America/Cayman", 1977 "KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral", 1978 "LA|Asia/Bangkok Asia/Vientiane", 1979 "LB|Asia/Beirut", 1980 "LC|America/Port_of_Spain America/St_Lucia", 1981 "LI|Europe/Zurich Europe/Vaduz", 1982 "LK|Asia/Colombo", 1983 "LR|Africa/Monrovia", 1984 "LS|Africa/Johannesburg Africa/Maseru", 1985 "LT|Europe/Vilnius", 1986 "LU|Europe/Luxembourg", 1987 "LV|Europe/Riga", 1988 "LY|Africa/Tripoli", 1989 "MA|Africa/Casablanca", 1990 "MC|Europe/Monaco", 1991 "MD|Europe/Chisinau", 1992 "ME|Europe/Belgrade Europe/Podgorica", 1993 "MF|America/Port_of_Spain America/Marigot", 1994 "MG|Africa/Nairobi Indian/Antananarivo", 1995 "MH|Pacific/Majuro Pacific/Kwajalein", 1996 "MK|Europe/Belgrade Europe/Skopje", 1997 "ML|Africa/Abidjan Africa/Bamako", 1998 "MM|Asia/Yangon", 1999 "MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan", 2000 "MO|Asia/Macau", 2001 "MP|Pacific/Guam Pacific/Saipan", 2002 "MQ|America/Martinique", 2003 "MR|Africa/Abidjan Africa/Nouakchott", 2004 "MS|America/Port_of_Spain America/Montserrat", 2005 "MT|Europe/Malta", 2006 "MU|Indian/Mauritius", 2007 "MV|Indian/Maldives", 2008 "MW|Africa/Maputo Africa/Blantyre", 2009 "MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas", 2010 "MY|Asia/Kuala_Lumpur Asia/Kuching", 2011 "MZ|Africa/Maputo", 2012 "NA|Africa/Windhoek", 2013 "NC|Pacific/Noumea", 2014 "NE|Africa/Lagos Africa/Niamey", 2015 "NF|Pacific/Norfolk", 2016 "NG|Africa/Lagos", 2017 "NI|America/Managua", 2018 "NL|Europe/Amsterdam", 2019 "NO|Europe/Oslo", 2020 "NP|Asia/Kathmandu", 2021 "NR|Pacific/Nauru", 2022 "NU|Pacific/Niue", 2023 "NZ|Pacific/Auckland Pacific/Chatham", 2024 "OM|Asia/Dubai Asia/Muscat", 2025 "PA|America/Panama", 2026 "PE|America/Lima", 2027 "PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier", 2028 "PG|Pacific/Port_Moresby Pacific/Bougainville", 2029 "PH|Asia/Manila", 2030 "PK|Asia/Karachi", 2031 "PL|Europe/Warsaw", 2032 "PM|America/Miquelon", 2033 "PN|Pacific/Pitcairn", 2034 "PR|America/Puerto_Rico", 2035 "PS|Asia/Gaza Asia/Hebron", 2036 "PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores", 2037 "PW|Pacific/Palau", 2038 "PY|America/Asuncion", 2039 "QA|Asia/Qatar", 2040 "RE|Indian/Reunion", 2041 "RO|Europe/Bucharest", 2042 "RS|Europe/Belgrade", 2043 "RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr", 2044 "RW|Africa/Maputo Africa/Kigali", 2045 "SA|Asia/Riyadh", 2046 "SB|Pacific/Guadalcanal", 2047 "SC|Indian/Mahe", 2048 "SD|Africa/Khartoum", 2049 "SE|Europe/Stockholm", 2050 "SG|Asia/Singapore", 2051 "SH|Africa/Abidjan Atlantic/St_Helena", 2052 "SI|Europe/Belgrade Europe/Ljubljana", 2053 "SJ|Europe/Oslo Arctic/Longyearbyen", 2054 "SK|Europe/Prague Europe/Bratislava", 2055 "SL|Africa/Abidjan Africa/Freetown", 2056 "SM|Europe/Rome Europe/San_Marino", 2057 "SN|Africa/Abidjan Africa/Dakar", 2058 "SO|Africa/Nairobi Africa/Mogadishu", 2059 "SR|America/Paramaribo", 2060 "SS|Africa/Juba", 2061 "ST|Africa/Sao_Tome", 2062 "SV|America/El_Salvador", 2063 "SX|America/Curacao America/Lower_Princes", 2064 "SY|Asia/Damascus", 2065 "SZ|Africa/Johannesburg Africa/Mbabane", 2066 "TC|America/Grand_Turk", 2067 "TD|Africa/Ndjamena", 2068 "TF|Indian/Reunion Indian/Kerguelen", 2069 "TG|Africa/Abidjan Africa/Lome", 2070 "TH|Asia/Bangkok", 2071 "TJ|Asia/Dushanbe", 2072 "TK|Pacific/Fakaofo", 2073 "TL|Asia/Dili", 2074 "TM|Asia/Ashgabat", 2075 "TN|Africa/Tunis", 2076 "TO|Pacific/Tongatapu", 2077 "TR|Europe/Istanbul", 2078 "TT|America/Port_of_Spain", 2079 "TV|Pacific/Funafuti", 2080 "TW|Asia/Taipei", 2081 "TZ|Africa/Nairobi Africa/Dar_es_Salaam", 2082 "UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye", 2083 "UG|Africa/Nairobi Africa/Kampala", 2084 "UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway",
2085 "US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu", 2086 "UY|America/Montevideo", 2087 "UZ|Asia/Samarkand Asia/Tashkent", 2088 "VA|Europe/Rome Europe/Vatican", 2089 "VC|America/Port_of_Spain America/St_Vincent", 2090 "VE|America/Caracas", 2091 "VG|America/Port_of_Spain America/Tortola", 2092 "VI|America/Port_of_Spain America/St_Thomas", 2093 "VN|Asia/Bangkok Asia/Ho_Chi_Minh", 2094 "VU|Pacific/Efate", 2095 "WF|Pacific/Wallis", 2096 "WS|Pacific/Apia", 2097 "YE|Asia/Riyadh Asia/Aden", 2098 "YT|Africa/Nairobi Indian/Mayotte", 2099 "ZA|Africa/Johannesburg", 2100 "ZM|Africa/Maputo Africa/Lusaka", 2101 "ZW|Africa/Maputo Africa/Harare" 2102 ] 2103 }); 2104 2105 2106 return moment; 2107})); 2108// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/clipboard.min.js 2109/*! 2110 * clipboard.js v2.0.6 2111 * https://clipboardjs.com/ 2112 * 2113 * Licensed MIT © Zeno Rocha 2114 */ 2115!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={134:(t,e,n)=>{"use strict";n.d(e,{default:()=>r});var e=n(817),o=n.n(e);function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}const c=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this.resolveOptions(t),this.initSelection()}var t,n,r;return t=e,(n=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";e=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top="".concat(e,"px"),this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=o()(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=o()(this.target),this.copyText()}},{key:"copyText",value:function(){var e;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==i(t)||
vendor: 6,053 bytes, line 2115
21151!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}])&&a(t.prototype,n),r&&a(t,r),e}();var e=n(279),l=n.n(e),e=n(370),u=n.n(e);function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function d(n){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=p(n);return t=r?(t=p(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||"object"!==s(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t,e){t="data-clipboard-".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}const r=function(){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(o,l());var t,e,n,r=d(o);function o(t,e){var n;return function(t){if(!(t instanceof o))throw new TypeError("Cannot call a class as a function")}(this),(n=r.call(this)).resolveOptions(e),n.listenClick(t),n}return t=o,n=[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===s(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=u()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){t=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new c({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:"defaultAction",value:function(t){return y("action",t)}},{key:"defaultTarget",value:function(t){t=y("target",t);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(t){return y("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}])&&f(t.prototype,e),n&&f(t,n),o}()},828:t=>{var e;"undefined"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:(t,e,n)=>{var a=n(828);function i(t,e,n,r,o){var i=function(e,n,t,r){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&r.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,o),{destroy:function(){t.removeEventListener(n,i,o)}}}t.exports=function(t,e,n,r,o){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,r,o)}))}},879:(t,n)=>{n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:(t,e,n)=>{var u=n(879),s=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!u.string(e))throw new TypeError("Second argument must be a String");if(!u.fn(n))throw new TypeError("Third argument must be a Function");if(u.node(t))return c=e,l=n,(a=t).addEventListener(c,l),{destroy:function(){a.removeEventListener(c,l)}};if(u.nodeList(t))return r=t,o=e,i=n,Array.prototype.forEach.call(r,function(t){t.addEventListener(o,i)}),{destroy:function(){Array.prototype.forEach.call(r,function(t){t.removeEventListener(o,i)})}};if(u.string(t))return t=t,e=e,n=n,s(document.body,t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var r,o,i,a,c,l}},817:t=>{t.exports=function(t){var e,n="SELECT"===t.nodeName?(t.focus(),t.value):"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName?((e=t.hasAttribute("readonly"))||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute("readonly"),t.value):(t.hasAttribute("contenteditable")&&t.focu
2115s(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:t=>{function e(){}e.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var r=this;function o(){r.off(t,o),e.apply(n,arguments)}return o._=e,this.on(t,o,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),r=0,o=n.length;r<o;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;i<a;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},o={},r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r(134).default;function r(t){if(o[t])return o[t].exports;var e=o[t]={exports:{}};return n[t](e,e.exports,r),e.exports}var n,o}); 2116// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/chroma.min.js 2117/** 2118 * chroma.js - JavaScript library for color conversions 2119 * 2120 * Copyright (c) 2011-2019, Gregor Aisch 2121 * All rights reserved. 2122 * 2123 * Redistribution and use in source and binary forms, with or without 2124 * modification, are permitted provided that the following conditions are met: 2125 * 2126 * 1. Redistributions of source code must retain the above copyright notice, this 2127 * list of conditions and the following disclaimer. 2128 * 2129 * 2. Redistributions in binary form must reproduce the above copyright notice, 2130 * this list of conditions and the following disclaimer in the documentation 2131 * and/or other materials provided with the distribution. 2132 * 2133 * 3. The name Gregor Aisch may not be used to endorse or promote products 2134 * derived from this software without specific prior written permission. 2135 * 2136 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 2137 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2138 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 2139 * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 2140 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 2141 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2142 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 2143 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 2144 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 2145 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2146 * 2147 * ------------------------------------------------------- 2148 * 2149 * chroma.js includes colors from colorbrewer2.org, which are released under 2150 * the following license: 2151 * 2152 * Copyright (c) 2002 Cynthia Brewer, Mark Harrower, 2153 * and The Pennsylvania State University. 2154 * 2155 * Licensed under the Apache License, Version 2.0 (the "License"); 2156 * you may not use this file except in compliance with the License. 2157 * You may obtain a copy of the License at 2158 * http://www.apache.org/licenses/LICENSE-2.0 2159 * 2160 * Unless required by applicable law or agreed to in writing, 2161 * software distributed under the License is distributed on an 2162 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 2163 * either express or implied. See the License for the specific 2164 * language governing permissions and limitations under the License. 2165 * 2166 * ------------------------------------------------------ 2167 * 2168 * Named colors are taken from X11 Color Names. 2169 * http://www.w3.org/TR/css3-color/#svg-color 2170 * 2171 * @preserve 2172 */ 2173 2174!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(r="undefined"!=typeof globalThis?globalThis:r||self).chroma=e()}(this,(function(){"use strict";for(var r=function(r,e,n){return void 0===e&&(e=0),void 0===n&&(n=1),r<e?e:r>n?n:r},e=r,n={},t=0,a=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];t<a.length;t+=1){var f=a[t];n["[object "+f+"]"]=f.toLowerCase()}var o=function(r){return n[Object.prototype.toString.call(r)]||"object"},u=o,c=o,i=Math.PI,l={clip_rgb:function(r){r._clipped=!1,r._unclipped=r.slice(0);for(var n=0;n<=3;n++)n<3?((r[n]<0||r[n]>255)&&(r._clipped=!0),r[n]=e(r[n],0,255)):3===n&&(r[n]=e(r[n],0,1));return r},limit:r,type:o,unpack:function(r,e){return void 0===e&&(e=null),r.length>=3?Array.prototype.slice.call(r):"object"==u(r[0])&&e?e.split("").filter((function(e){return void 0!==r[0][e]})).map((function(e){return r[0][e]})):r[0]},last:function(r){if(r.length<2)return null;var e=r.length-1;return"string"==c(r[e])?r[e].toLowerCase():null},PI:i,TWOPI:2*i,PITHIRD:i/3,DEG2RAD:i/180,RAD2DEG:180/i},h={format:{},autodetect:[]},s=l.last,d=l.clip_rgb,b=l.type,p=h,g=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=this;if("object"===b(r[0])&&r[0].constructor&&r[0].constructor===this.constructor)return r[0];var t=s(r),a=!1;if(!t){a=!0,p.sorted||(p.autodetect=p.autodetect.sort((function(r,e){return e.p-r.p})),p.sorted=!0);for(var f=0,o=p.autodetect;f<o.length;f+=1){var u=o[f];if(t=u.test.apply(u,r))break}}if(!p.format[t])throw new Error("unknown format: "+r);var c=p.format[t].apply(null,a?r:r.slice(0,-1));n._rgb=d(c),3===n._rgb.length&&n._rgb.push(1)};g.prototype.toString=function(){return"function"==b(this.hex)?this.hex():"["+this._rgb.join(",")+"]"};var v=g,m=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(m.Color,[null].concat(r)))};m.Color=v,m.version="2.4.2";var y=m,k=l.unpack,w=Math.max,M=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=k(r,"rgb"),t=n[0],a=n[1],f=n[2],o=1-w(t/=255,w(a/=255,f/=255)),u=o<1?1/(1-o):0,c=(1-t-o)*u,i=(1-a-o)*u,l=(1-f-o)*u;return[c,i,l,o]},N=l.unpack,_=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=N(r,"cmyk"))[0],t=r[1],a=r[2],f=r[3],o=r.length>4?r[4]:1;return 1===f?[0,0,0,o]:[n>=1?0:255*(1-n)*(1-f),t>=1?0:255*(1-t)*(1-f),a>=1?0:255*(1-a)*(1-f),o]},x=y,A=v,E=h,F=l.unpack,P=l.type,O=M;A.prototype.cmyk=function(){return O(this._rgb)},x.cmyk=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(A,[null].concat(r,["cmyk"])))},E.format.cmyk=_,E.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=F(r,"cmyk"),"array"===P(r)&&4===r.length)return"cmyk"}});var j=l.unpack,G=l.last,R=function(r){return Math.round(100*r)/100},q=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=j(r,"hsla"),t=G(r)||"lsa";return n[0]=R(n[0]||0),n[1]=R(100*n[1])+"%",n[2]=R(100*n[2])+"%","hsla"===t||n.length>3&&n[3]<1?(n[3]=n.length>3?n[3]:1,t="hsla"):n.length=3,t+"("+n.join(",")+")"},L=l.unpack,I=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=L(r,"rgba"))[0],t=r[1],a=r[2];n/=255,t/=255,a/=255;var f,o,u=Math.min(n,t,a),c=Math.max(n,t,a),i=(c+u)/2;return c===u?(f=0,o=Number.NaN):f=i<.5?(c-u)/(c+u):(c-u)/(2-c-u),n==c?o=(t-a)/(c-u):t==c?o=2+(a-n)/(c-u):a==c&&(o=4+(n-t)/(c-u)),(o*=60)<0&&(o+=360),r.length>3&&void 0!==r[3]?[o,f,i,r[3]]:[o,f,i]},B=l.unpack,C=l.last,D=q,Y=I,S=Math.round,T=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=B(r,"rgba"),t=C(r)||"rgb";return"hsl"==t.substr(0,3)?D(Y(n),t):(n[0]=S(n[0]),n[1]=S(n[1]),n[2]=S(n[2]),("rgba"===t||n.length>3&&n[3]<1)&&(n[3]=n.length>3?n[3]:1,t="rgba"),t+"("+n.slice(0,"rgb"===t?3:4).join(",")+")")},$=l.unpack,z=Math.round,X=function(){for(var r,e=[],n=arguments.length;n--;)e[n]=arguments[n];var t,a,f,o=(e=$(e,"hsl"))[0],u=e[1],c=e[2];if(0===u)t=a=f=255*c;else{var i=[0,0,0],l=[0,0,0],h=c<.5?c*(1+u):c+u-c*u,s=2*c-h,d=o/360;i[0]=d+1/3,i[1]=d,i[2]=d-1/3;for(var b=0;b<3;b++)i[b]<0&&(i[b]+=1),i[b]>1&&(i[b]-=1),6*i[b]<1?l[b]=s+6*(h-s)*i[b]:2*i[b]<1?l[b]=h:3*i[b]<2?l[b]=s+(h-s)*(2/3-i[b])*6:l[b]=s;t=(r=[z(255*l[0]),z(255*l[1]),z(255*l[2])])[0],a=r[1],f=r[2]}return e.length>3?[t,a,f,e[3]]:[t,a,f,1]},U=X,V=h,W=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,K=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,Z=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,H=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,J=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,Q=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,rr=Math.round,er=function(r){var e;if(r=r.toLowerCase().trim(),V.format.named)try{return V.format.named(r)}catch(r){}if(e=r.match(W)){for(var n=e.slice(1,4),t=0;t<3;t++)n[t]=+n[t];return n[3]=1,n}if(e=r.match(K)){for(var a=e.slice(1,5),f=0;f<4;f++)a[f]=+a[f];return a}if(e=r.match(Z)){for(var o=e.slice(1,4),u=0;u<3;u++)o[u]=rr(2.55*o[u]);return o[3]=1,o}if(e=r.match(H)){for(var c=e.slice(1,5),i=0;i<3;i++)c[i]=rr(2.55*c[i]);return c[3]=+c[3],c}if(e=r.match(J)){var l=e.slice(1,4);l[1]*=.01,l[2]*=.01;var h=U(l);return h[3]=1,h}if(e=r.match(Q)){var s=e.slice(1,4);s[1]*=.01,s[2]*=.01;var d=U(s);return d[3]=+e[4],d}};er.test=function(r){return W.test(r)||K.test(r)||Z.test(r)||H.test(r)||J.test(r)||Q.test(r)};var nr=y,tr=v,ar=h,fr=l.type,or=T,ur=er;tr.prototype.css=function(r){return or(this._rgb,r)},nr.css=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(tr,[null].concat(r,["css"])))},ar.format.css=ur,ar.autodetect.push({p:5,test:function(r){for(var e=[],n=arguments.length-1;n-- >0;)e[n]=arguments[n+1];if(!e.length&&"string"===fr(r)&&ur.test(r))return"css"}});var cr=v,ir=y,lr=l.unpack;h.format.gl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=lr(r,"rgba");return n[0]*=255,n[1]*=255,n[2]*=255,n},ir.gl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(cr,[null].concat(r,["gl"])))},cr.prototype.gl=function(){var r=this._rgb;return[r[0]/255,r[1]/255,r[2]/255,r[3]]};var hr=l.unpack,sr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t=hr(r,"rgb"),a=t[0],f=t[1],o=t[2],u=Math.min(a,f,o),c=Math.max(a,f,o),i=c-u,l=100*i/255,h=u/(255-i)*100;return 0===i?n=Number.NaN:(a===c&&(n=(f-o)/i),f===c&&(n=2+(o-a)/i),o===c&&(n=4+(a-f)/i),(n*=60)<0&&(n+=360)),[n,l,h]},dr=l.unpack,br=Math.floor,pr=function(){for(var r,e,n,t,a,f,o=[],u=arguments.length;u--;)o[u]=arguments[u];var c,i,l,h=(o=dr(o,"hcg"))[0],s=o[1],d=o[2];d*=255;var b=255*s;if(0===s)c=i=l=d;else{360===h&&(h=0),h>360&&(h-=360),h<0&&(h+=360);var p=br(h/=60),g=h-p,v=d*(1-s),m=v+b*(1-g),y=v+b*g,k=v+b;switch(p){case 0:c=(r=[k,y,v])[0],i=r[1],l=r[2];break;case 1:c=(e=[m,k,v])[0],i=e[1],l=e[2];break;case 2:c=(n=[v,k,y])[0],i=n[1],l=n[2];break;case 3:c=(t=[v,m,k])[0],i=t[1],l=t[2];break;case 4:c=(a=[y,v,k])[0],i=a[1],l=a[2];break;case 5:c=(f=[k,v,m])[0],i=f[1],l=f[2]}}return[c,i,l,o.length>3?o[3]:1]},gr=l.unpack,vr=l.type,mr=y,yr=v,kr=h,wr=sr;yr.prototype.hcg=function(){return wr(this._rgb)},mr.hcg=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(yr,[null].concat(r,["hcg"])))},kr.format.hcg=pr,kr.autodetect.push({p:1,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=gr(r,"hcg"),"array"===vr(r)&&3===r.length)return"hcg"}});var Mr=l.unpack,Nr=l.last,_r=Math.round,xr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=Mr(r,"rgba"),t=n[0],a=n[1],f=n[2],o=n[3],u=Nr(r)||"auto";
vendor: 3,477 bytes, line 2174
2174void 0===o&&(o=1),"auto"===u&&(u=o<1?"rgba":"rgb");var c=(t=_r(t))<<16|(a=_r(a))<<8|(f=_r(f)),i="000000"+c.toString(16);i=i.substr(i.length-6);var l="0"+_r(255*o).toString(16);switch(l=l.substr(l.length-2),u.toLowerCase()){case"rgba":return"#"+i+l;case"argb":return"#"+l+i;default:return"#"+i}},Ar=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Er=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Fr=function(r){if(r.match(Ar)){4!==r.length&&7!==r.length||(r=r.substr(1)),3===r.length&&(r=(r=r.split(""))[0]+r[0]+r[1]+r[1]+r[2]+r[2]);var e=parseInt(r,16);return[e>>16,e>>8&255,255&e,1]}if(r.match(Er)){5!==r.length&&9!==r.length||(r=r.substr(1)),4===r.length&&(r=(r=r.split(""))[0]+r[0]+r[1]+r[1]+r[2]+r[2]+r[3]+r[3]);var n=parseInt(r,16);return[n>>24&255,n>>16&255,n>>8&255,Math.round((255&n)/255*100)/100]}throw new Error("unknown hex color: "+r)},Pr=y,Or=v,jr=l.type,Gr=h,Rr=xr;Or.prototype.hex=function(r){return Rr(this._rgb,r)},Pr.hex=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(Or,[null].concat(r,["hex"])))},Gr.format.hex=Fr,Gr.autodetect.push({p:4,test:function(r){for(var e=[],n=arguments.length-1;n-- >0;)e[n]=arguments[n+1];if(!e.length&&"string"===jr(r)&&[3,4,5,6,7,8,9].indexOf(r.length)>=0)return"hex"}});var qr=l.unpack,Lr=l.TWOPI,Ir=Math.min,Br=Math.sqrt,Cr=Math.acos,Dr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t=qr(r,"rgb"),a=t[0],f=t[1],o=t[2],u=Ir(a/=255,f/=255,o/=255),c=(a+f+o)/3,i=c>0?1-u/c:0;return 0===i?n=NaN:(n=(a-f+(a-o))/2,n/=Br((a-f)*(a-f)+(a-o)*(f-o)),n=Cr(n),o>f&&(n=Lr-n),n/=Lr),[360*n,i,c]},Yr=l.unpack,Sr=l.limit,Tr=l.TWOPI,$r=l.PITHIRD,zr=Math.cos,Xr=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t,a,f=(r=Yr(r,"hsi"))[0],o=r[1],u=r[2];return isNaN(f)&&(f=0),isNaN(o)&&(o=0),f>360&&(f-=360),f<0&&(f+=360),(f/=360)<1/3?t=1-((a=(1-o)/3)+(n=(1+o*zr(Tr*f)/zr($r-Tr*f))/3)):f<2/3?a=1-((n=(1-o)/3)+(t=(1+o*zr(Tr*(f-=1/3))/zr($r-Tr*f))/3)):n=1-((t=(1-o)/3)+(a=(1+o*zr(Tr*(f-=2/3))/zr($r-Tr*f))/3)),[255*(n=Sr(u*n*3)),255*(t=Sr(u*t*3)),255*(a=Sr(u*a*3)),r.length>3?r[3]:1]},Ur=l.unpack,Vr=l.type,Wr=y,Kr=v,Zr=h,Hr=Dr;Kr.prototype.hsi=function(){return Hr(this._rgb)},Wr.hsi=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(Kr,[null].concat(r,["hsi"])))},Zr.format.hsi=Xr,Zr.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Ur(r,"hsi"),"array"===Vr(r)&&3===r.length)return"hsi"}});var Jr=l.unpack,Qr=l.type,re=y,ee=v,ne=h,te=I;ee.prototype.hsl=function(){return te(this._rgb)},re.hsl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(ee,[null].concat(r,["hsl"])))},ne.format.hsl=X,ne.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=Jr(r,"hsl"),"array"===Qr(r)&&3===r.length)return"hsl"}});var ae=l.unpack,fe=Math.min,oe=Math.max,ue=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t,a,f=(r=ae(r,"rgb"))[0],o=r[1],u=r[2],c=fe(f,o,u),i=oe(f,o,u),l=i-c;return a=i/255,0===i?(n=Number.NaN,t=0):(t=l/i,f===i&&(n=(o-u)/l),o===i&&(n=2+(u-f)/l),u===i&&(n=4+(f-o)/l),(n*=60)<0&&(n+=360)),[n,t,a]},ce=l.unpack,ie=Math.floor,le=function(){for(var r,e,n,t,a,f,o=[],u=arguments.length;u--;)o[u]=arguments[u];var c,i,l,h=(o=ce(o,"hsv"))[0],s=o[1],d=o[2];if(d*=255,0===s)c=i=l=d;else{360===h&&(h=0),h>360&&(h-=360),h<0&&(h+=360);
2174var b=ie(h/=60),p=h-b,g=d*(1-s),v=d*(1-s*p),m=d*(1-s*(1-p));switch(b){case 0:c=(r=[d,m,g])[0],i=r[1],l=r[2];break;case 1:c=(e=[v,d,g])[0],i=e[1],l=e[2];break;case 2:c=(n=[g,d,m])[0],i=n[1],l=n[2];break;case 3:c=(t=[g,v,d])[0],i=t[1],l=t[2];break;case 4:c=(a=[m,g,d])[0],i=a[1],l=a[2];break;case 5:c=(f=[d,g,v])[0],i=f[1],l=f[2]}}return[c,i,l,o.length>3?o[3]:1]},he=l.unpack,se=l.type,de=y,be=v,pe=h,ge=ue;be.prototype.hsv=function(){return ge(this._rgb)},de.hsv=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(be,[null].concat(r,["hsv"])))},pe.format.hsv=le,pe.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=he(r,"hsv"),"array"===se(r)&&3===r.length)return"hsv"}});var ve={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},me=ve,ye=l.unpack,ke=Math.pow,we=function(r){return(r/=255)<=.04045?r/12.92:ke((r+.055)/1.055,2.4)},Me=function(r){return r>me.t3?ke(r,1/3):r/me.t2+me.t0},Ne=function(r,e,n){return r=we(r),e=we(e),n=we(n),[Me((.4124564*r+.3575761*e+.1804375*n)/me.Xn),Me((.2126729*r+.7151522*e+.072175*n)/me.Yn),Me((.0193339*r+.119192*e+.9503041*n)/me.Zn)]},_e=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=ye(r,"rgb"),t=n[0],a=n[1],f=n[2],o=Ne(t,a,f),u=o[0],c=o[1],i=o[2],l=116*c-16;return[l<0?0:l,500*(u-c),200*(c-i)]},xe=ve,Ae=l.unpack,Ee=Math.pow,Fe=function(r){return 255*(r<=.00304?12.92*r:1.055*Ee(r,1/2.4)-.055)},Pe=function(r){return r>xe.t1?r*r*r:xe.t2*(r-xe.t0)},Oe=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n,t,a,f=(r=Ae(r,"lab"))[0],o=r[1],u=r[2];return t=(f+16)/116,n=isNaN(o)?t:t+o/500,a=isNaN(u)?t:t-u/200,t=xe.Yn*Pe(t),n=xe.Xn*Pe(n),a=xe.Zn*Pe(a),[Fe(3.2404542*n-1.5371385*t-.4985314*a),Fe(-.969266*n+1.8760108*t+.041556*a),Fe(.0556434*n-.2040259*t+1.0572252*a),r.length>3?r[3]:1]},je=l.unpack,Ge=l.type,Re=y,qe=v,Le=h,Ie=_e;qe.prototype.lab=function(){return Ie(this._rgb)},Re.lab=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(qe,[null].concat(r,["lab"])))},Le.format.lab=Oe,Le.autodetect.push({p:2,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=je(r,"lab"),"array"===Ge(r)&&3===r.length)return"lab"}});var Be=l.unpack,Ce=l.RAD2DEG,De=Math.sqrt,Ye=Math.atan2,Se=Math.round,Te=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=Be(r,"lab"),t=n[0],a=n[1],f=n[2],o=De(a*a+f*f),u=(Ye(f,a)*Ce+360)%360;return 0===Se(1e4*o)&&(u=Number.NaN),[t,o,u]},$e=l.unpack,ze=_e,Xe=Te,Ue=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=$e(r,"rgb"),t=n[0],a=n[1],f=n[2],o=ze(t,a,f),u=o[0],c=o[1],i=o[2];return Xe(u,c,i)},Ve=l.unpack,We=l.DEG2RAD,Ke=Math.sin,Ze=Math.cos,He=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=Ve(r,"lch"),t=n[0],a=n[1],f=n[2];return isNaN(f)&&(f=0),[t,Ze(f*=We)*a,Ke(f)*a]},Je=l.unpack,Qe=He,rn=Oe,en=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=Je(r,"lch"))[0],t=r[1],a=r[2],f=Qe(n,t,a),o=f[0],u=f[1],c=f[2],i=rn(o,u,c),l=i[0],h=i[1],s=i[2];return[l,h,s,r.length>3?r[3]:1]},nn=l.unpack,tn=en,an=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=nn(r,"hcl").reverse();return tn.apply(void 0,n)},fn=l.unpack,on=l.type,un=y,cn=v,ln=h,hn=Ue;cn.prototype.lch=function(){return hn(this._rgb)},cn.prototype.hcl=function(){return hn(this._rgb).reverse()},un.lch=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(cn,[null].concat(r,["lch"])))},un.hcl=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(cn,[null].concat(r,["hcl"])))},ln.format.lch=en,ln.format.hcl=an,["lch","hcl"].forEach((function(r){return ln.autodetect.push({p:2,test:function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];if(e=fn(e,r),"array"===on(e)&&3===e.length)return r}})}));var sn={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",s
2174almon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},dn=h,bn=l.type,pn=sn,gn=Fr,vn=xr;v.prototype.name=function(){for(var r=vn(this._rgb,"rgb"),e=0,n=Object.keys(pn);e<n.length;e+=1){var t=n[e];if(pn[t]===r)return t.toLowerCase()}return r},dn.format.named=function(r){if(r=r.toLowerCase(),pn[r])return gn(pn[r]);throw new Error("unknown color name: "+r)},dn.autodetect.push({p:5,test:function(r){for(var e=[],n=arguments.length-1;n-- >0;)e[n]=arguments[n+1];if(!e.length&&"string"===bn(r)&&pn[r.toLowerCase()])return"named"}});var mn=l.unpack,yn=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=mn(r,"rgb"),t=n[0],a=n[1],f=n[2];return(t<<16)+(a<<8)+f},kn=l.type,wn=function(r){if("number"==kn(r)&&r>=0&&r<=16777215)return[r>>16,r>>8&255,255&r,1];throw new Error("unknown num color: "+r)},Mn=y,Nn=v,_n=h,xn=l.type,An=yn;Nn.prototype.num=function(){return An(this._rgb)},Mn.num=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(Nn,[null].concat(r,["num"])))},_n.format.num=wn,_n.autodetect.push({p:5,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(1===r.length&&"number"===xn(r[0])&&r[0]>=0&&r[0]<=16777215)return"num"}});var En=y,Fn=v,Pn=h,On=l.unpack,jn=l.type,Gn=Math.round;Fn.prototype.rgb=function(r){return void 0===r&&(r=!0),!1===r?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Gn)},Fn.prototype.rgba=function(r){return void 0===r&&(r=!0),this._rgb.slice(0,4).map((function(e,n){return n<3?!1===r?e:Gn(e):e}))}
2174,En.rgb=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(Fn,[null].concat(r,["rgb"])))},Pn.format.rgb=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=On(r,"rgba");return void 0===n[3]&&(n[3]=1),n},Pn.autodetect.push({p:3,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=On(r,"rgba"),"array"===jn(r)&&(3===r.length||4===r.length&&"number"==jn(r[3])&&r[3]>=0&&r[3]<=1))return"rgb"}});var Rn=Math.log,qn=function(r){var e,n,t,a=r/100;return a<66?(e=255,n=a<6?0:-155.25485562709179-.44596950469579133*(n=a-2)+104.49216199393888*Rn(n),t=a<20?0:.8274096064007395*(t=a-10)-254.76935184120902+115.67994401066147*Rn(t)):(e=351.97690566805693+.114206453784165*(e=a-55)-40.25366309332127*Rn(e),n=325.4494125711974+.07943456536662342*(n=a-50)-28.0852963507957*Rn(n),t=255),[e,n,t,1]},Ln=qn,In=l.unpack,Bn=Math.round,Cn=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];for(var n,t=In(r,"rgb"),a=t[0],f=t[2],o=1e3,u=4e4,c=.4;u-o>c;){var i=Ln(n=.5*(u+o));i[2]/i[0]>=f/a?u=n:o=n}return Bn(n)},Dn=y,Yn=v,Sn=h,Tn=Cn;Yn.prototype.temp=Yn.prototype.kelvin=Yn.prototype.temperature=function(){return Tn(this._rgb)},Dn.temp=Dn.kelvin=Dn.temperature=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(Yn,[null].concat(r,["temp"])))},Sn.format.temp=Sn.format.kelvin=Sn.format.temperature=qn;var $n=l.unpack,zn=Math.cbrt,Xn=Math.pow,Un=Math.sign,Vn=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=$n(r,"rgb"),t=n[0],a=n[1],f=n[2],o=[Wn(t/255),Wn(a/255),Wn(f/255)],u=o[0],c=o[1],i=o[2],l=zn(.4122214708*u+.5363325363*c+.0514459929*i),h=zn(.2119034982*u+.6806995451*c+.1073969566*i),s=zn(.0883024619*u+.2817188376*c+.6299787005*i);return[.2104542553*l+.793617785*h-.0040720468*s,1.9779984951*l-2.428592205*h+.4505937099*s,.0259040371*l+.7827717662*h-.808675766*s]};function Wn(r){var e=Math.abs(r);return e<.04045?r/12.92:(Un(r)||1)*Xn((e+.055)/1.055,2.4)}var Kn=l.unpack,Zn=Math.pow,Hn=Math.sign,Jn=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=Kn(r,"lab"))[0],t=r[1],a=r[2],f=Zn(n+.3963377774*t+.2158037573*a,3),o=Zn(n-.1055613458*t-.0638541728*a,3),u=Zn(n-.0894841775*t-1.291485548*a,3);return[255*Qn(4.0767416621*f-3.3077115913*o+.2309699292*u),255*Qn(-1.2684380046*f+2.6097574011*o-.3413193965*u),255*Qn(-.0041960863*f-.7034186147*o+1.707614701*u),r.length>3?r[3]:1]};function Qn(r){var e=Math.abs(r);return e>.0031308?(Hn(r)||1)*(1.055*Zn(e,1/2.4)-.055):12.92*r}var rt=l.unpack,et=l.type,nt=y,tt=v,at=h,ft=Vn;tt.prototype.oklab=function(){return ft(this._rgb)},nt.oklab=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(tt,[null].concat(r,["oklab"])))},at.format.oklab=Jn,at.autodetect.push({p:3,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=rt(r,"oklab"),"array"===et(r)&&3===r.length)return"oklab"}});var ot=l.unpack,ut=Vn,ct=Te,it=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=ot(r,"rgb"),t=n[0],a=n[1],f=n[2],o=ut(t,a,f),u=o[0],c=o[1],i=o[2];return ct(u,c,i)},lt=l.unpack,ht=He,st=Jn,dt=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];var n=(r=lt(r,"lch"))[0],t=r[1],a=r[2],f=ht(n,t,a),o=f[0],u=f[1],c=f[2],i=st(o,u,c),l=i[0],h=i[1],s=i[2];return[l,h,s,r.length>3?r[3]:1]},bt=l.unpack,pt=l.type,gt=y,vt=v,mt=h,yt=it;vt.prototype.oklch=function(){return yt(this._rgb)},gt.oklch=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return new(Function.prototype.bind.apply(vt,[null].concat(r,["oklch"])))},mt.format.oklch=dt,mt.autodetect.push({p:3,test:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];if(r=bt(r,"oklch"),"array"===pt(r)&&3===r.length)return"oklch"}});var kt=v,wt=l.type;kt.prototype.alpha=function(r,e){return void 0===e&&(e=!1),void 0!==r&&"number"===wt(r)?e?(this._rgb[3]=r,this):new kt([this._rgb[0],this._rgb[1],this._rgb[2],r],"rgb"):this._rgb[3]},v.prototype.clipped=function(){return this._rgb._clipped||!1};var Mt=v,Nt=ve;Mt.prototype.darken=function(r){void 0===r&&(r=1);var e=this.lab();return e[0]-=Nt.Kn*r,new Mt(e,"lab").alpha(this.alpha(),!0)},Mt.prototype.brighten=function(r){return void 0===r&&(r=1),this.darken(-r)},Mt.prototype.darker=Mt.prototype.darken,Mt.prototype.brighter=Mt.prototype.brighten,v.prototype.get=function(r){var e=r.split("."),n=e[0],t=e[1],a=this[n]();if(t){var f=n.indexOf(t)-("ok"===n.substr(0,2)?2:0);if(f>-1)return a[f];throw new Error("unknown channel "+t+" in mode "+n)}return a};var _t=v,xt=l.type,At=Math.pow;_t.prototype.luminance=function(r){if(void 0!==r&&"number"===xt(r)){if(0===r)return new _t([0,0,0,this._rgb[3]],"rgb");if(1===r)return new _t([255,255,255,this._rgb[3]],"rgb");var e=this.luminance(),n=20,t=function(e,a){var f=e.interpolate(a,.5,"rgb"),o=f.luminance();return Math.abs(r-o)<1e-7||!n--?f:o>r?t(e,f):t(f,a)},a=(e>
vendor: 17,908 bytes, line 2174
2174r?t(new _t([0,0,0]),this):t(this,new _t([255,255,255]))).rgb();return new _t(a.concat([this._rgb[3]]))}return Et.apply(void 0,this._rgb.slice(0,3))};var Et=function(r,e,n){return.2126*(r=Ft(r))+.7152*(e=Ft(e))+.0722*(n=Ft(n))},Ft=function(r){return(r/=255)<=.03928?r/12.92:At((r+.055)/1.055,2.4)},Pt={},Ot=v,jt=l.type,Gt=Pt,Rt=function(r,e,n){void 0===n&&(n=.5);for(var t=[],a=arguments.length-3;a-- >0;)t[a]=arguments[a+3];var f=t[0]||"lrgb";if(Gt[f]||t.length||(f=Object.keys(Gt)[0]),!Gt[f])throw new Error("interpolation mode "+f+" is not defined");return"object"!==jt(r)&&(r=new Ot(r)),"object"!==jt(e)&&(e=new Ot(e)),Gt[f](r,e,n).alpha(r.alpha()+n*(e.alpha()-r.alpha()))},qt=v,Lt=Rt;qt.prototype.mix=qt.prototype.interpolate=function(r,e){void 0===e&&(e=.5);for(var n=[],t=arguments.length-2;t-- >0;)n[t]=arguments[t+2];return Lt.apply(void 0,[this,r,e].concat(n))};var It=v;It.prototype.premultiply=function(r){void 0===r&&(r=!1);var e=this._rgb,n=e[3];return r?(this._rgb=[e[0]*n,e[1]*n,e[2]*n,n],this):new It([e[0]*n,e[1]*n,e[2]*n,n],"rgb")};var Bt=v,Ct=ve;Bt.prototype.saturate=function(r){void 0===r&&(r=1);var e=this.lch();return e[1]+=Ct.Kn*r,e[1]<0&&(e[1]=0),new Bt(e,"lch").alpha(this.alpha(),!0)},Bt.prototype.desaturate=function(r){return void 0===r&&(r=1),this.saturate(-r)};var Dt=v,Yt=l.type;Dt.prototype.set=function(r,e,n){void 0===n&&(n=!1);var t=r.split("."),a=t[0],f=t[1],o=this[a]();if(f){var u=a.indexOf(f)-("ok"===a.substr(0,2)?2:0);if(u>-1){if("string"==Yt(e))switch(e.charAt(0)){case"+":case"-":o[u]+=+e;break;case"*":o[u]*=+e.substr(1);break;case"/":o[u]/=+e.substr(1);break;default:o[u]=+e}else{if("number"!==Yt(e))throw new Error("unsupported value for Color.set");o[u]=e}var c=new Dt(o,a);return n?(this._rgb=c._rgb,this):c}throw new Error("unknown channel "+f+" in mode "+a)}return o};var St=v;Pt.rgb=function(r,e,n){var t=r._rgb,a=e._rgb;return new St(t[0]+n*(a[0]-t[0]),t[1]+n*(a[1]-t[1]),t[2]+n*(a[2]-t[2]),"rgb")};var Tt=v,$t=Math.sqrt,zt=Math.pow;Pt.lrgb=function(r,e,n){var t=r._rgb,a=t[0],f=t[1],o=t[2],u=e._rgb,c=u[0],i=u[1],l=u[2];return new Tt($t(zt(a,2)*(1-n)+zt(c,2)*n),$t(zt(f,2)*(1-n)+zt(i,2)*n),$t(zt(o,2)*(1-n)+zt(l,2)*n),"rgb")};var Xt=v;Pt.lab=function(r,e,n){var t=r.lab(),a=e.lab();return new Xt(t[0]+n*(a[0]-t[0]),t[1]+n*(a[1]-t[1]),t[2]+n*(a[2]-t[2]),"lab")};var Ut=v,Vt=function(r,e,n,t){var a,f,o,u,c,i,l,h,s,d,b,p,g;return"hsl"===t?(o=r.hsl(),u=e.hsl()):"hsv"===t?(o=r.hsv(),u=e.hsv()):"hcg"===t?(o=r.hcg(),u=e.hcg()):"hsi"===t?(o=r.hsi(),u=e.hsi()):"lch"===t||"hcl"===t?(t="hcl",o=r.hcl(),u=e.hcl()):"oklch"===t&&(o=r.oklch().reverse(),u=e.oklch().reverse()),"h"!==t.substr(0,1)&&"oklch"!==t||(c=(a=o)[0],l=a[1],s=a[2],i=(f=u)[0],h=f[1],d=f[2]),isNaN(c)||isNaN(i)?isNaN(c)?isNaN(i)?p=Number.NaN:(p=i,1!=s&&0!=s||"hsv"==t||(b=h)):(p=c,1!=d&&0!=d||"hsv"==t||(b=l)):p=c+n*(i>c&&i-c>180?i-(c+360):i<c&&c-i>180?i+360-c:i-c),void 0===b&&(b=l+n*(h-l)),g=s+n*(d-s),new Ut("oklch"===t?[g,b,p]:[p,b,g],t)},Wt=Vt,Kt=function(r,e,n){return Wt(r,e,n,"lch")};Pt.lch=Kt,Pt.hcl=Kt;var Zt=v;Pt.num=function(r,e,n){var t=r.num(),a=e.num();return new Zt(t+n*(a-t),"num")};var Ht=Vt;Pt.hcg=function(r,e,n){return Ht(r,e,n,"hcg")};var Jt=Vt;Pt.hsi=function(r,e,n){return Jt(r,e,n,"hsi")};var Qt=Vt;Pt.hsl=function(r,e,n){return Qt(r,e,n,"hsl")};var ra=Vt;Pt.hsv=function(r,e,n){return ra(r,e,n,"hsv")};var ea=v;Pt.oklab=function(r,e,n){var t=r.oklab(),a=e.oklab();return new ea(t[0]+n*(a[0]-t[0]),t[1]+n*(a[1]-t[1]),t[2]+n*(a[2]-t[2]),"oklab")};var na=Vt;Pt.oklch=function(r,e,n){return na(r,e,n,"oklch")};var ta=v,aa=l.clip_rgb,fa=Math.pow,oa=Math.sqrt,ua=Math.PI,ca=Math.cos,ia=Math.sin,la=Math.atan2,ha=function(r,e){for(var n=r.length,t=[0,0,0,0],a=0;a<r.length;a++){var f=r[a],o=e[a]/n,u=f._rgb;t[0]+=fa(u[0],2)*o,t[1]+=fa(u[1],2)*o,t[2]+=fa(u[2],2)*o,t[3]+=u[3]*o}return t[0]=oa(t[0]),t[1]=oa(t[1]),t[2]=oa(t[2]),t[3]>.9999999&&(t[3]=1),new ta(aa(t))},sa=y,da=l.type,ba=Math.pow,pa=function(r){var e="rgb",n=sa("#ccc"),t=0,a=[0,1],f=[],o=[0,0],u=!1,c=[],i=!1,l=0,h=1,s=!1,d={},b=!0,p=1,g=function(r){if((r=r||["#fff","#000"])&&"string"===da(r)&&sa.brewer&&sa.brewer[r.toLowerCase()]&&(r=sa.brewer[r.toLowerCase()]),"array"===da(r)){1===r.length&&(r=[r[0],r[0]]),r=r.slice(0);for(var e=0;e<r.length;e++)r[e]=sa(r[e]);f.length=0;for(var n=0;n<r.length;n++)f.push(n/(r.length-1))}return k(),c=r},v=function(r){return r},m=function(r){return r},y=function(r,t){var a,i;if(null==t&&(t=!1),isNaN(r)||null===r)return n;if(t)i=r;else if(u&&u.length>2){var s=function(r){if(null!=u){for(var e=u.length-1,n=0;n<e&&r>=u[n];)n++;return n-1}return 0}(r);i=s/(u.length-2)}else i=h!==l?(r-l)/(h-l):1;i=m(i),t||(i=v(i)),1!==p&&(i=ba(i,p)),i=o[0]+i*(1-o[0]-o[1]),i=Math.min(1,Math.max(0,i));var g=Math.floor(1e4*i);if(b&&d[g])a=d[g];else{if("array"===da(c))for(var y=0;y<f.length;y++){var k=f[y];if(i<=k){a=c[y];break}if(i>=k&&y===f.length-1){a=c[y];break}if(i>k&&i<f[y+1]){i=(i-k)/(f[y+1]-k),a=sa.interpolate(c[y],c[y+1],i,e);break}}else"function"===da(c)&&(a=c(i));b&&(d[g]=a)}return a},k=function(){return d={}};g(r);var w=function(r){var e=sa(y(r));return i&&e[i]?e[i]():e};return w.classes=function(r){if(null!=r){if("array"===da(r))u=r,a=[r[0],r[r.length-1]];else{var e=sa.analyze(a);u=0===r?[e.min,e.max]:sa.limits(e,"e",r)}return w}return u},w.domain=function(r){if(!arguments.length)return a;l=r[0],h=r[r.length-1],f=[];var e=c.length;if(r.length===e&&l!==h)for(var n=0,t=Array.from(r);n<t.length;n+=1){var o=t[n];f.push((o-l)/(h-l))}else{for(var u=0;u<e;u++)f.push(u/(e-1));if(r.length>2){var i=r.map((function(e,n){return n/(r.length-1)})),s=r.map((function(r){return(r-l)/(h-l)}));s.every((function(r,e){return i[e]===r}))||(m=function(r){if(r<=0||r>=1)return r;for(var e=0;r>=s[e+1];)e++;var n=(r-s[e])/(s[e+1]-s[e]);return i[e]+n*(i[e+1]-i[e])})}}return a=[l,h],w},w.mode=function(r){return arguments.length?(e=r,k(),w):e},w.range=function(r,e){return g(r),w},w.out=function(r){return i=r,w},w.spread=function(r){return arguments.length?(t=r,w):t},w.correctLightness=function(r){return null==r&&(r=!0),s=r,k(),v=s?function(r){for(var e=y(0,!0).lab()[0],n=y(1,!0).lab()[0],t=e>n,a=y(r,!0).lab()[0],f=e+(n-e)*r,o=a-f,u=0,c=1,i=20;Math.abs(o)>.01&&i-- >0;)t&&(o*=-1),o<0?(u=r,r+=.5*(c-r)):(c=r,r+=.5*(u-r)),a=y(r,!0).lab()[0],o=a-f;return r}:function(r){return r},w},w.padding=function(r){return null!=r?("number"===da(r)&&(r=[r,r]),o=r,w):o},w.colors=function(e,n){arguments.length<2&&(n="hex");var t=[];if(0===arguments.length)t=c.slice(0);else if(1===e)t=[w(.5)];else if(e>1){var f=a[0],o=a[1]-f;t=ga(0,e,!1).map((function(r){return w(f+r/(e-1)*o)}))}else{r=[];var i=[];if(u&&u.length>2)for(var l=1,h=u.length,s=1<=h;s?l<h:l>h;s?l++:l--)i.push(.5*(u[l-1]+u[l]));else i=a;t=i.map((function(r){return w(r)}))}return sa[n]&&(t=t.map((function(r){return r[n]()}))),t},w.cache=function(r){return null!=r?(b=r,w):b},w.gamma=function(r){return null!=r?(p=r,w):p},w.nodata=function(r){return null!=r?(n=sa(r),w):n},w};function ga(r,e,n){for(var t=[],a=r<e,f=n?a?e+1:e-1:e,o=r;a?o<f:o>f;a?o++:o--)t.push(o);return t}var va=v,ma=pa,ya=y,ka=function(r,e,n){if(!ka[n])throw new Error("unknown blend mode "+n);return ka[n](r,e)},wa=function(r){return function(e,n){var t=ya(n).rgb(),a=ya(e).rgb();return ya.rgb(r(t,a))}},Ma=function(r){return function(e,n){var t=[];return t[0]=r(e[0],n[0]),t[1]=r(e[1],n[1]),t[2]=r(e[2],n[2]),t}};ka.normal=wa(Ma((function(r){return r}))),ka.multiply=wa(Ma((function(r,e){return r*e/255}))),ka.screen=wa(Ma((function(r,e){return 255*(1-(1-r/255)*(1-e/255))}))),ka.overlay=wa(Ma((function(r,e){return e<128?2*r*e/255:255*(1-2*(1-r/255)*(1-e/255))}))),ka.darken=wa(Ma((function(r,e){return r>e?e:r}))),ka.lighten=wa(Ma((function(r,e){return r>e?r:e}))),ka.dodge=wa(Ma((function(r,e){return 255===r||(r=e/255*255/(1-r/255))>255?255:r}))),ka.burn=wa(Ma((function(r,e){return 255*(1-(1-e/255)/(r/255))})));for(var Na=ka,_a=l.type,xa=l.clip_rgb,Aa=l.TWOPI,Ea=Math.pow,Fa=Math.sin,Pa=Math.cos,Oa=y,ja=v,Ga=Math.floor,Ra=Math.random,qa=o,La=Math.log,Ia=Math.pow,Ba=Math.floor,Ca=Math.abs,Da=function(r,e){void 0===e&&(e=null);var n={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0};return"object"===qa(r)&&(r=Object.values(r)),r.forEach((function(r){e&&"object"===qa(r)&&(r=r[e]),null==r||isNaN(r)||(n.values.push(r),n.sum+=r,r<n.min&&(n.min=r),r>n.max&&(n.max=r),n.count+=1)})),n.domain=[n.min,n.max],n.limits=function(r,e){return Ya(n,r,e)},n},Ya=function(r,e,n){void 0===e&&(e="equal"),void 0===n&&(n=7),"array"==qa(r)&&(r=Da(r));var t=r.min,a=r.max,f=r.values.sort((function(r,e){return r-e}));if(1===n)return[t,a];var o=[];if("c"===e.substr(0,1)&&(o.push(t),o.push(a)),"e"===e.substr(0,1)){o.push(t);for(var u=1;u<n;u++)o.push(t+u/n*(a-t));o.push(a)}else if("l"===e.substr(0,1)){if(t<=0)throw new Error("Logarithmic scales are only possible for values > 0");var c=Math.LOG10E*La(t),i=Math.LOG10E*La(a);o.push(t);for(var l=1;l<n;l++)o.push(Ia(10,c+l/n*(i-c)));o.push(a)}else if("q"===e.substr(0,1)){o.push(t);for(var h=1;h<n;h++){var s=(f.length-1)*h/n,d=Ba(s);if(d===s)o.push(f[d]);else{var b=s-d;o.push(f[d]*(1-b)+f[d+1]*b)}}o.push(a)}else if("k"===e.substr(0,1)){var p,g=f.length,v=new Array(g),m=new Array(n),y=!0,k=0,w=null;(w=[]).push(t);for(var M=1;M<n;M++)w.push(t+M/n*(a-t));for(w.push(a);y;){for(var N=0;N<n;N++)m[N]=0;for(var _=0;_<g;_++)for(var x=f[_],A=Number.MAX_VALUE,E=void 0,F=0;F<n;F++){var P=Ca(w[F]-x);P<A&&(A=P,E=F),m[E]++,v[_]=E}for(var O=new Array(n),j=0;j<n;j++)O[j]=null;for(var G=0;G<g;G++)null===O[p=v[G]]?O[p]=f[G]:O[p]+=f[G];for(var R=0;R<n;R++)O[R]*=1/m[R];y=!1;for(var q=0;q<n;q++)if(O[q]!==w[q]){y=!0;break}w=O,++k>200&&(y=!1)}for(var L={},I=0;I<n;I++)L[I]=[];for(var B=0;B<g;B++)L[p=v[B]].push(f[B]);for(var C=[],D=0;D<n;D++)C.push(L[D][0]),C.push(L[D][L[D].length-1]);C=C.sort((function(r,e){return r-e})),o.push(C[0]);for(var Y=1;Y<C.length;Y+=2){var S=C[Y];isNaN(S)||-1!==o.indexOf(S)||o.push(S)}}return o},Sa={analyze:Da,limits:Ya},Ta=v,$a=v,za=Math.sqrt,Xa=Math.pow,Ua=Math.min,Va=Math.max,Wa=Math.atan2,Ka=Math.abs,Za=Math.cos,Ha=Math.sin,Ja=Math.exp,Qa=Math.PI,rf=v,ef=v,nf=y,tf=pa,af={cool:function(){return tf([nf.hsl(180,1,.9),nf.hsl(250,.7,.4)])},hot:function(){return tf(["#000","#f00","#ff0","#fff"]).mode("rgb")}},ff={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},of=0,uf=Object.keys(ff);of<uf.length;of+=1){var cf=uf[of];ff[cf.toLowerCase()]=ff[cf]}var lf=ff,hf=y;return hf.average=function(r,e,n){void 0===e&&(e="lrgb"),void 0===n&&(n=null);var t=r.length;n||(n=Array.from(new Array(t)).map((function(){return 1})));var a=t/n.reduce((function(r,e){return r+e}));if(n.forEach((function(r,e){n[e]*=a})),r=r.map((function(r){return new ta(r)})),"lrgb"===e)return ha(r,n);for(var f=r.shift(),o=f.get(e),u=[],c=0,i=0,l=0;l<o.length;l++)if(o[l]=(o[l]||0)*n[0],u.push(isNaN(o[l])?0:n[0]),"h"===e.charAt(l)&&!isNaN(o[l])){var h=o[l]/180*ua;c+=ca(h)*n[0],i+=ia(h)*n[0]}var s=f.alpha()*n[0];r.forEach((function(r,t){var a=r.get(e);s+=r.alpha()*n[t+1];for(var f=0;f<o.length;f++)if(!isNaN(a[f]))if(u[f]+=n[t+1],"h"===e.charAt(f)){var l=a[f]/180*ua;c+=ca(l)*n[t+1],i+=ia(l)*n[t+1]}else o[f]+=a[f]*n[t+1]}));for(var d=0;d<o.length;d++)if("h"===e.charAt(d)){for(var b=la(i/u[d],c/u[d])/ua*180;b<0;)b+=360;for(;b>=360;)b-=360;o[d]=b}else o[d]=o[d]/u[d];return s/=t,new ta(o,e).alpha(s>.99999?1:s,!0)},hf.bezier=function(r){var e=function(r){var e,n,t,a,f,o,u;if(2===(r=r.map((function(r){return new va(r)}))).length)e=r.map((function(r){return r.lab()})),f=e[0],o=e[1],a=function(r){var e=[0,1,2].map((function(e){return f[e]+r*(o[e]-f[e])}));return new va(e,"lab")};else if(3===r.length)n=r.map((function(r){return r.lab()})),f=n[0],o=n[1],u=n[2],a=function(r){var e=[0,1,2].map((function(e){return(1-r)*(1-r)*f[e]+2*(1-r)*r*o[e]+r*r*u[e]}));return new va(e,"lab")};else if(4===r.length){var c;t=r.map((function(r){return r.lab()})),f=t[0],o=t[1],u=t[2],c=t[3],a=function(r){var e=[0,1,2].map((function(e){return(1-r)*(1-r)*(1-r)*f[e]+3*(1-r)*(1-r)*r*o[e]+3*(1-r)*r*r*u[e]+r*r*r*c[e]}));return new va(e,"lab")}}else{if(!(r.length>=5))throw new RangeError("No point in running bezier with only one color.");var i,l,h;i=r.map((function(r){return r.lab()})),h=r.length-1,l=function(r){for(var e=[1,1],n=1;n<r;n++){for(var t=[1],a=1;a<=e.length;a++)t[a]=(e[a]||0)+e[a-1];e=t}return e}(h),a=function(r){var e=1-r,n=[0,1,2].map((function(n){return i.reduce((function(t,a,f){return t+l[f]*Math.pow(e,h-f)*Math.pow(r,f)*a[n]}),0)}));return new va(n,"lab")}}return a}(r);return e.scale=function(){return ma(e)},e},hf.blend=Na,hf.cubehelix=function(r,e,n,t,a){void 0===r&&(r=300),void 0===e&&(e=-1.5),void 0===n&&(n=1),void 0===t&&(t=1),void 0===a&&(a=[0,1]);var f,o=0;"array"===_a(a)?f=a[1]-a[0]:(f=0,a=[a,a]);var u=function(u){var c=Aa*((r+120)/360+e*u),i=Ea(a[0]+f*u,t),l=(0!==o?n[0]+u*o:n)*i*(1-i)/2,h=Pa(c),s=Fa(c);return Oa(xa([255*(i+l*(-.14861*h+1.78277*s)),255*(i+l*(-.29227*h-.90649*s)),255*(i+l*(1.97294*h)),1]))};return u.start=function(e){return null==e?r:(r=e,u)},u.rotations=function(r){return null==r?e:(e=r,u)},u.gamma=function(r){return null==r?t:(t=r,u)},u.hue=function(r){return null==r?n:("array"===_a(n=r)?0===(o=n[1]-n[0])&&(n=n[1]):o=0,u)},u.lightness=function(r){return null==r?a:("array"===_a(r)?(a=r,f=r[1]-r[0]):(a=[r,r],f=0),u)},u.scale=function(){return Oa.scale(u)},u.hue(n),u},hf.mix=hf.interpolate=Rt,hf.random=function(){for(var r="#",e=0;e<6;e++)r+="0123456789abcdef".charAt(Ga(16*Ra()));return new ja(r,"hex")},hf.scale=pa,hf.analyze=Sa.analyze,hf.contrast=function(r,e){r=new Ta(r),e=new Ta(e);var n=r.luminance(),t=e.luminance();return n>t?(n+.05)/(t+.05):(t+.05)/(n+.05)},hf.deltaE=function(r,e,n,t,a){void 0===n&&(n=1),void 0===t&&(t=1),void 0===a&&(a=1);var f=function(r){return 360*r/(2*Qa)},o=function(r){return 2*Qa*r/360};r=new $a(r),e=new $a(e);var u=Array.from(r.lab()),c=u[0],i=u[1],l=u[2],h=Array.from(e.lab()),s=h[0],d=h[1],b=h[2],p=(c+s)/2,g=(za(Xa(i,2)+Xa(l,2))+za(Xa(d,2)+Xa(b,2)))/2,v=.5*(1-za(Xa(g,7)/(Xa(g,7)+Xa(25,7)))),m=i*(1+v),y=d*(1+v),k=za(Xa(m,2)+Xa(l,2)),w=za(Xa(y,2)+Xa(b,2)),M=(k+w)/2,N=f(Wa(l,m)),_=f(Wa(b,y)),x=N>=0?N:N+360,A=_>=0?_:_+360,E=Ka(x-A)>180?(x+A+360)/2:(x+A)/2,F=1-.17*Za(o(E-30))+.24*Za(o(2*E))+.32*Za(o(3*E+6))-.2*Za(o(4*E-63)),P=A-x;
2174P=Ka(P)<=180?P:A<=x?P+360:P-360,P=2*za(k*w)*Ha(o(P)/2);var O=s-c,j=w-k,G=1+.015*Xa(p-50,2)/za(20+Xa(p-50,2)),R=1+.045*M,q=1+.015*M*F,L=30*Ja(-Xa((E-275)/25,2)),I=-(2*za(Xa(M,7)/(Xa(M,7)+Xa(25,7))))*Ha(2*o(L)),B=za(Xa(O/(n*G),2)+Xa(j/(t*R),2)+Xa(P/(a*q),2)+I*(j/(t*R))*(P/(a*q)));return Va(0,Ua(100,B))},hf.distance=function(r,e,n){void 0===n&&(n="lab"),r=new rf(r),e=new rf(e);var t=r.get(n),a=e.get(n),f=0;for(var o in t){var u=(t[o]||0)-(a[o]||0);f+=u*u}return Math.sqrt(f)},hf.limits=Sa.limits,hf.valid=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];try{return new(Function.prototype.bind.apply(ef,[null].concat(r))),!0}catch(r){return!1}},hf.scales=af,hf.colors=sn,hf.brewer=lf,hf})); 2175// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/panzoom.min.js 2176/** 2177* Panzoom for panning and zooming elements using CSS transforms 2178* Copyright Timmy Willison and other contributors 2179* https://github.com/timmywil/panzoom/blob/main/MIT-License.txt 2180*/ 2181!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Panzoom=e()}(this,function(){"use strict";var Y=function(){return(Y=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function C(t,e){for(var n=t.length;n--;)if(t[n].pointerId===e.pointerId)return n;return-1}function T(t,e){if(e.touches)for(var n=0,o=0,r=e.touches;o<r.length;o++){var a=r[o];a.pointerId=n++,T(t,a)}else-1<(n=C(t,e))&&t.splice(n,1),t.push(e)}function N(t){for(var e,n=(t=t.slice(0)).pop();e=t.pop();)n={clientX:(e.clientX-n.clientX)/2+n.clientX,clientY:(e.clientY-n.clientY)/2+n.clientY};return n}function L(t){var e;return t.length<2?0:(e=t[0],t=t[1],Math.sqrt(Math.pow(Math.abs(t.clientX-e.clientX),2)+Math.pow(Math.abs(t.clientY-e.clientY),2)))}"undefined"!=typeof window&&(window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}));var V={down:"mousedown",move:"mousemove",up:"mouseup mouseleave"};function D(t,e,n,o){V[t].split(" ").forEach(function(t){e.addEventListener(t,n,o)})}function G(t,e,n){V[t].split(" ").forEach(function(t){e.removeEventListener(t,n)})}"undefined"!=typeof window&&("function"==typeof window.PointerEvent?V={down:"pointerdown",move:"pointermove",up:"pointerup pointerleave pointercancel"}:"function"==typeof window.TouchEvent&&(V={down:"touchstart",move:"touchmove",up:"touchend touchcancel"}));var a,i="undefined"!=typeof document&&!!document.documentMode;var c=["webkit","moz","ms"],l={};function I(t){if(l[t])return l[t];var e=a=a||document.createElement("div").style;if(t in e)return l[t]=t;for(var n=t[0].toUpperCase()+t.slice(1),o=c.length;o--;){var r="".concat(c[o]).concat(n);if(r in e)return l[t]=r}}function o(t,e){return parseFloat(e[I(t)])||0}function s(t,e,n){void 0===n&&(n=window.getComputedStyle(t));t="border"===e?"Width":"";return{left:o("".concat(e,"Left").concat(t),n),right:o("".concat(e,"Right").concat(t),n),top:o("".concat(e,"Top").concat(t),n),bottom:o("".concat(e,"Bottom").concat(t),n)}}function W(t,e,n){t.style[I(e)]=n}function Z(t){var e=t.parentNode,n=window.getComputedStyle(t),o=window.getComputedStyle(e),r=t.getBoundingClientRect(),a=e.getBoundingClientRect();return{elem:{style:n,width:r.width,height:r.height,top:r.top,bottom:r.bottom,left:r.left,right:r.right,margin:s(t,"margin",n),border:s(t,"border",n)},parent:{style:o,width:a.width,height:a.height,top:a.top,bottom:a.bottom,left:a.left,right:a.right,padding:s(e,"padding",o),border:s(e,"border",o)}}}var q=/^http:[\w\.\/]+svg$/;var B={animate:!1,canvas:!1,cursor:"move",disablePan:!1,disableZoom:!1,disableXAxis:!1,disableYAxis:!1,duration:200,easing:"ease-in-out",exclude:[],excludeClass:"panzoom-exclude",handleStartEvent:function(t){t.preventDefault(),t.stopPropagation()},maxScale:4,minScale:.125,overflow:"hidden",panOnlyWhenZoomed:!1,pinchAndPan:!1,relative:!1,setTransform:function(t,e,n){var o=e.x,r=e.y,a=e.scale,e=e.isSVG;W(t,"transform","scale(".concat(a,") translate(").concat(o,"px, ").concat(r,"px)")),e&&i&&(a=window.getComputedStyle(t).getPropertyValue("transform"),t.setAttribute("transform",a))},startX:0,startY:0,startScale:1,step:.3,touchAction:"none"};function t(u,f){if(!u)throw new Error("Panzoom requires an element as an argument");
2181if(1!==u.nodeType)throw new Error("Panzoom requires an element with a nodeType of 1");if(e=(t=u).ownerDocument,t=t.parentNode,!(e&&t&&9===e.nodeType&&1===t.nodeType&&e.documentElement.contains(t)))throw new Error("Panzoom should be called on elements that have been attached to the DOM");f=Y(Y({},B),f),e=u;var t,e,l=q.test(e.namespaceURI)&&"svg"!==e.nodeName.toLowerCase(),n=u.parentNode;n.style.overflow=f.overflow,n.style.userSelect="none",n.style.touchAction=f.touchAction,(f.canvas?n:u).style.cursor=f.cursor,u.style.userSelect="none",u.style.touchAction=f.touchAction,W(u,"transformOrigin","string"==typeof f.origin?f.origin:l?"0 0":"50% 50%");var r,a,i,c,s,d,m=0,h=0,v=1,p=!1;function g(t,e,n){n.silent||(n=new CustomEvent(t,{detail:e}),u.dispatchEvent(n))}function y(o,r,t){var a={x:m,y:h,scale:v,isSVG:l,originalEvent:t};return requestAnimationFrame(function(){var t,e,n;"boolean"==typeof r.animate&&(r.animate?(t=u,e=r,n=I("transform"),W(t,"transition","".concat(n," ").concat(e.duration,"ms ").concat(e.easing))):W(u,"transition","none")),r.setTransform(u,a,r),g(o,a,r),g("panzoomchange",a,r)}),a}function w(t,e,n,o){var r,a,i,c,l,s,d,o=Y(Y({},f),o),p={x:m,y:h,opts:o};return!o.force&&(o.disablePan||o.panOnlyWhenZoomed&&v===o.startScale)||(t=parseFloat(t),e=parseFloat(e),o.disableXAxis||(p.x=(o.relative?m:0)+t),o.disableYAxis||(p.y=(o.relative?h:0)+e),o.contain&&(e=((r=(e=(t=Z(u)).elem.width/v)*n)-e)/2,i=((a=(i=t.elem.height/v)*n)-i)/2,"inside"===o.contain?(c=(-t.elem.margin.left-t.parent.padding.left+e)/n,l=(t.parent.width-r-t.parent.padding.left-t.elem.margin.left-t.parent.border.left-t.parent.border.right+e)/n,p.x=Math.max(Math.min(p.x,l),c),s=(-t.elem.margin.top-t.parent.padding.top+i)/n,d=(t.parent.height-a-t.parent.padding.top-t.elem.margin.top-t.parent.border.top-t.parent.border.bottom+i)/n,p.y=Math.max(Math.min(p.y,d),s)):"outside"===o.contain&&(c=(-(r-t.parent.width)-t.parent.padding.left-t.parent.border.left-t.parent.border.right+e)/n,l=(e-t.parent.padding.left)/n,p.x=Math.max(Math.min(p.x,l),c),s=(-(a-t.parent.height)-t.parent.padding.top-t.parent.border.top-t.parent.border.bottom+i)/n,d=(i-t.parent.padding.top)/n,p.y=Math.max(Math.min(p.y,d),s))),o.roundPixels&&(p.x=Math.round(p.x),p.y=Math.round(p.y))),p}function b(t,e){var n,o,r,a,e=Y(Y({},f),e),i={scale:v,opts:e};return!e.force&&e.disableZoom||(n=f.minScale,o=f.maxScale,e.contain&&(a=(e=Z(u)).elem.width/v,r=e.elem.height/v,1<a&&1<r&&(a=(e.parent.width-e.parent.border.left-e.parent.border.right)/a,e=(e.parent.height-e.parent.border.top-e.parent.border.bottom)/r,"inside"===f.contain?o=Math.min(o,a,e):"outside"===f.contain&&(n=Math.max(n,a,e)))),i.scale=Math.min(Math.max(t,n),o)),i}function x(t,e,n,o){t=w(t,e,v,n);return m!==t.x||h!==t.y?(m=t.x,h=t.y,y("panzoompan",t.opts,o)):{x:m,y:h,scale:v,isSVG:l,originalEvent:o}}function E(t,e,n){var o,r,e=b(t,e),a=e.opts;if(a.force||!a.disableZoom)return t=e.scale,e=m,o=h,a.focal&&(e=((r=a.focal).x/t-r.x/v+m*t)/t,o=(r.y/t-r.y/v+h*t)/t),r=w(e,o,t,{relative:!1,force:!0}),m=r.x,h=r.y,v=t,y("panzoomzoom",a,n)}function o(t,e){e=Y(Y(Y({},f),{animate:!0}),e);return E(v*Math.exp((t?1:-1)*e.step),e)}function S(t,e,n,o){var r=Z(u),a=r.parent.width-r.parent.padding.left-r.parent.padding.right-r.parent.border.left-r.parent.border.right,i=r.parent.height-r.parent.padding.top-r.parent.padding.bottom-r.parent.border.top-r.parent.border.bottom,c=e.clientX-r.parent.left-r.parent.padding.left-r.parent.border.left-r.elem.margin.left,e=e.clientY-r.parent.top-r.parent.padding.top-r.parent.border.top-r.elem.margin.top,r=(l||(c-=r.elem.width/v/2,e-=r.elem.height/v/2),{x:c/a*(a*t),y:e/i*(i*t)});return E(t,Y(Y({},n),{animate:!1,focal:r}),o)}E(f.startScale,{animate:!1,force:!0}),setTimeout(function(){x(f.startX,f.startY,{animate:!1,force:!0})});var M=[];function A(t){!function(t,e){for(var n,o,r=t;null!=r;r=r.parentNode)if(n=r,o=e.excludeClass,1===n.nodeType&&-1<" ".concat((n.getAttribute("class")||"").trim()," ").indexOf(" ".concat(o," "))||-1<e.exclude.indexOf(r))return 1}(t.target,f)&&(T(M,t),p=!0,f.handleStartEvent(t),g("panzoomstart",{x:r=m,y:a=h,scale:v,isSVG:l,originalEvent:t}
2181,f),t=N(M),i=t.clientX,c=t.clientY,s=v,d=L(M))}function P(t){var e,n,o;p&&void 0!==r&&void 0!==a&&void 0!==i&&void 0!==c&&(T(M,t),e=N(M),n=1<M.length,o=v,n&&(0===d&&(d=L(M)),S(o=b((L(M)-d)*f.step/80+s).scale,e,{animate:!1},t)),n&&!f.pinchAndPan||x(r+(e.clientX-i)/o,a+(e.clientY-c)/o,{animate:!1},t))}function O(t){1===M.length&&g("panzoomend",{x:m,y:h,scale:v,isSVG:l,originalEvent:t},f);var e=M;if(t.touches)for(;e.length;)e.pop();else{t=C(e,t);-1<t&&e.splice(t,1)}p&&(p=!1,r=a=i=c=void 0)}var z=!1;function X(){z||(z=!0,D("down",f.canvas?n:u,A),D("move",document,P,{passive:!0}),D("up",document,O,{passive:!0}))}return f.noBind||X(),{bind:X,destroy:function(){z=!1,G("down",f.canvas?n:u,A),G("move",document,P),G("up",document,O)},eventNames:V,getPan:function(){return{x:m,y:h}},getScale:function(){return v},getOptions:function(){var t,e=f,n={};for(t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n},handleDown:A,handleMove:P,handleUp:O,pan:x,reset:function(t){var t=Y(Y(Y({},f),{animate:!0,force:!0}),t),e=(v=b(t.startScale,t).scale,w(t.startX,t.startY,v,t));return m=e.x,h=e.y,y("panzoomreset",t)},resetStyle:function(){n.style.overflow="",n.style.userSelect="",n.style.touchAction="",n.style.cursor="",u.style.cursor="",u.style.userSelect="",u.style.touchAction="",W(u,"transformOrigin","")},setOptions:function(t){for(var e in t=void 0===t?{}:t)t.hasOwnProperty(e)&&(f[e]=t[e]);(t.hasOwnProperty("cursor")||t.hasOwnProperty("canvas"))&&(n.style.cursor=u.style.cursor="",(f.canvas?n:u).style.cursor=f.cursor),t.hasOwnProperty("overflow")&&(n.style.overflow=t.overflow),t.hasOwnProperty("touchAction")&&(n.style.touchAction=t.touchAction,u.style.touchAction=t.touchAction)},setStyle:function(t,e){return W(u,t,e)},zoom:E,zoomIn:function(t){return o(!0,t)},zoomOut:function(t){return o(!1,t)},zoomToPoint:S,zoomWithWheel:function(t,e){t.preventDefault();var e=Y(Y(Y({},f),e),{animate:!1}),n=0===t.deltaY&&t.deltaX?t.deltaX:t.deltaY;return S(b(v*Math.exp((n<0?1:-1)*e.step/3),e).scale,t,e,t)}}}return t.defaultOptions=B,t}); 2182// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/core/../../js/commons.js 2183var CTL_WP_STUDIO = function( szPluginCode, szLocalizationPrefix ){ 2184 2185 var doc = window.document; 2186 2187 this._cbRequestFullScreen = doc.documentElement.requestFullscreen || doc.documentElement.mozRequestFullScreen || doc.documentElement.webkitRequestFullScreen || doc.documentElement.msRequestFullscreen; 2188 this._cbCancelFullScreen = window.document.exitFullscreen || window.document.mozCancelFullScreen || window.document.webkitExitFullscreen || window.document.msExitFullscreen; 2189 this._szPluginCode = szPluginCode; 2190 this._cssClassDomain = szPluginCode + "-"; 2191 this._szLocalizationPrefix = szLocalizationPrefix; 2192 this._idRoot = "#" + this._cssClassDomain; 2193 this._classRoot = "." + this._cssClassDomain; 2194 this._idLoadingDlg = null; 2195 this._oLangCommon = window[szLocalizationPrefix+"common_localization"]; 2196 this._bStopLoading = false; 2197 2198 this._aSelect2AjaxDataFilters = []; 2199 this._aSelect2ChangeValue = []; 2200 2201 // Create Base64 Object 2202 var oParent = this; 2203 this._base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=oParent._base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=oParent._base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/rn/g,"n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}}; 2204 2205 this.addSlashes = function( szString ) { 2206 return szString.replace(/\\/g, '\\\\'). 2207 replace(/\u0008/g, '\\b'). 2208 replace(/\t/g, '\\t'). 2209 replace(/\n/g, '\\n'). 2210 replace(/\f/g, '\\f'). 2211 replace(/\r/g, '\\r'). 2212 replace(/'/g, '\\\''). 2213 replace(/"/g, '\\"'); 2214 }; 2215}; 2216 2217CTL_WP_STUDIO.prototype.initDocumentationPage = function(){ 2218 jQuery(".ctl-wp-studio-img-guide").each( function(){ 2219 jQuery(this).attr("data-size","300"); 2220 jQuery(this).click(function(){ 2221 if( jQuery(this).attr("data-size") === "300"){ 2222 jQuery(this).attr("data-size","100"); 2223 jQuery(this).find("img").addClass( "ctl-wp-studio-img-class-100"); 2224 }else{ 2225 jQuery(this).attr("data-size","300"); 2226 jQuery(this).find("img").removeClass( "ctl-wp-studio-img-class-100"); 2227 } 2228 }); 2229 }); 2230}; 2231 2232CTL_WP_STUDIO.prototype.getSize = function(Name) { 2233 var size; 2234 var name = Name.toLowerCase(); 2235 var document = window.document; 2236 var documentElement = document.documentElement; 2237 if (window["inner" + Name] === undefined) { 2238 // IE6 & IE7 don't have window.innerWidth or innerHeight 2239 size = documentElement["client" + Name]; 2240 }else if (window["inner" + Name] !== documentElement["client" + Name]) { 2241 // WebKit doesn't include scrollbars while calculating viewport size so we have to get fancy 2242 2243 // Insert markup to test if a media query will match document.doumentElement["client" + Name] 2244 var bodyElement = document.createElement("body"); 2245 bodyElement.id = "vpw-test-b"; 2246 bodyElement.style.cssText = "overflow:scroll"; 2247 var divElement = document.createElement("div"); 2248 divElement.id = "vpw-test-d"; 2249 divElement.style.cssText = "position:absolute;top:-1000px"; 2250 // Getting specific on the CSS selector so it won't get overridden easily 2251 divElement.innerHTML = "<style>@media(" + name + ":" + documentElement["client" + Name] + "px){body#vpw-test-b div#vpw-test-d{" + name + ":7px!important}}</style>"; 2252 bodyElement.appendChild(divElement); 2253 documentElement.insertBefore(bodyElement, document.head); 2254 2255 if (divElement["offset" + Name] === 7) { 2256 // Media query matches document.documentElement["client" + Name] 2257 size = documentElement["client" + Name]; 2258 } 2259 else { 2260 // Media query didn't match, use window["inner" + Name] 2261 size = window["inner" + Name]; 2262 } 2263 // Cleanup 2264 documentElement.removeChild(bodyElement); 2265 }else{ 2266 // Default to use window["inner" + Name] 2267 size = window["inner" + Name]; 2268 } 2269 return size; 2270}; 2271 2272CTL_WP_STUDIO.prototype.getCSSValue = function( szCSSProp ) { 2273 var aValues = szCSSProp.match(/^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/); 2274 2275 if(!aValues){ 2276 return null; 2277 }else{ 2278 return aValues[1]; 2279 } 2280}; 2281 2282CTL_WP_STUDIO.prototype.scrollToTop = function( cb, cbOwner){ 2283 2284 jQuery('html,body,.modal').animate({ scrollTop: 0 }, 'slow', function(){ 2285 if(cb){ 2286 cb.call(cbOwner); 2287 } 2288 }); 2289}; 2290 2291CTL_WP_STUDIO.prototype.scrollToSelector = function(id, iExtraOffset){ 2292// _bScrollSiteAnimation = true; 2293 2294 var iOffsetTop = jQuery(id).offset().top + ( iExtraOffset ? iExtraOffset : 0 ); 2295 2296 jQuery('html,body,.modal').stop().animate({ scrollTop: iOffsetTop }, 'slow', function(){ 2297 // _bScrollSiteAnimation = false;
2298 }); 2299}; 2300 2301CTL_WP_STUDIO.prototype.getCSSUnitOfMeasurement = function( szCSSProp ) { 2302 2303 var aValues = szCSSProp.match(/^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/); 2304 2305 if(!aValues){ 2306 return null; 2307 }else{ 2308 return aValues[2]; 2309 } 2310}; 2311 2312CTL_WP_STUDIO.prototype.requestFullScreen = function() { 2313 if(this._cbRequestFullScreen){ 2314 this._cbRequestFullScreen.call(window.document.documentElement); 2315 } 2316}; 2317 2318CTL_WP_STUDIO.prototype.cancelFullScreen = function() { 2319 if(this._cbCancelFullScreen){ 2320 this._cbCancelFullScreen.call(window.document); 2321 } 2322}; 2323 2324CTL_WP_STUDIO.prototype.base64toPDF = function(data, szNameDocument) { 2325 2326 if ( !szNameDocument ){ 2327 szNameDocument = 'file'; 2328 } 2329 2330 var bufferArray = this.base64ToArrayBuffer(data); 2331 var blobStore = new Blob([bufferArray], { type: "application/pdf" }); 2332 if (window.navigator && window.navigator.msSaveOrOpenBlob) { 2333 window.navigator.msSaveOrOpenBlob(blobStore, szNameDocument + ".pdf"); 2334 return; 2335 } 2336 var data = window.URL.createObjectURL(blobStore); 2337 var link = document.createElement('a'); 2338 document.body.appendChild(link); 2339 link.href = data; 2340 link.download = szNameDocument + ".pdf"; 2341 link.click(); 2342 window.URL.revokeObjectURL(data); 2343 link.remove(); 2344}; 2345 2346CTL_WP_STUDIO.prototype.base64toFile = function(data, type, ext, szNameDocument) { 2347 2348 if ( !szNameDocument ){ 2349 szNameDocument = 'file'; 2350 } 2351 2352 var bufferArray = this.base64ToArrayBuffer(data); 2353 var blobStore = new Blob([bufferArray], { type: type }); 2354 if (window.navigator && window.navigator.msSaveOrOpenBlob) { 2355 window.navigator.msSaveOrOpenBlob(blobStore, szNameDocument + "." + ext); 2356 return; 2357 } 2358 var data = window.URL.createObjectURL(blobStore); 2359 var link = document.createElement('a'); 2360 document.body.appendChild(link); 2361 link.href = data; 2362 link.download = szNameDocument + "." + ext; 2363 link.click(); 2364 window.URL.revokeObjectURL(data); 2365 link.remove(); 2366}; 2367 2368CTL_WP_STUDIO.prototype.base64ToArrayBuffer = function(data) { 2369 var bString = window.atob(data); 2370 var bLength = bString.length; 2371 var bytes = new Uint8Array(bLength); 2372 for (var i = 0; i < bLength; i++) { 2373 var ascii = bString.charCodeAt(i); 2374 bytes[i] = ascii; 2375 } 2376 return bytes; 2377}; 2378 2379CTL_WP_STUDIO.prototype.makeCode = function( iDigits, bAllowNumbers ) { 2380 var code = ""; 2381 var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; 2382 2383 if (!iDigits){ 2384 iDigits = 32; 2385 } 2386 2387 if ( bAllowNumbers ){ 2388 chars += '0123456789'; 2389 } 2390 2391 for( var i=0; i < iDigits; i++ ){ 2392 code += chars.charAt(Math.floor(Math.random() * chars.length)); 2393 } 2394 return code; 2395}; 2396 2397CTL_WP_STUDIO.prototype.shuffleArray = function(array) { 2398 var currentIndex = array.length 2399 , temporaryValue 2400 , randomIndex 2401 ; 2402 2403 // While there remain elements to shuffle... 2404 while (0 !== currentIndex) { 2405 2406 // Pick a remaining element... 2407 randomIndex = Math.floor(Math.random() * currentIndex); 2408 currentIndex -= 1; 2409 2410 // And swap it with the current element. 2411 temporaryValue = array[currentIndex]; 2412 array[currentIndex] = array[randomIndex]; 2413 array[randomIndex] = temporaryValue; 2414 } 2415 2416 return array; 2417 }; 2418 2419 CTL_WP_STUDIO.prototype.shuffleString = function( string ){ 2420 2421 var that= string.split(""); 2422 var len = that.length,t,i 2423 while(len){ 2424 i=Math.random()*len-- |0; 2425 t=that[len],that[len]=that[i],that[i]=t; 2426 } 2427 return that.join(""); 2428 } 2429 2430CTL_WP_STUDIO.prototype.showLoading = function(szMsg){ 2431 var szHtml = ""; 2432 var id = this.makeCode(); 2433 2434 szHtml += "<div id='"+id+"' class='ctl-wp-studio-loading-dlg-wrapper'>"; 2435 szHtml += "<div class='ctl-wp-studio-dlg-block'></div>"; 2436 szHtml += "<div class='ctl-wp-studio-dlg-content'>"; 2437 szHtml += "<div class='ctl-wp-studio-dlg-content-body'>"; 2438 2439 if(szMsg){ 2440 szHtml += "<p>"+szMsg+"</p>"; 2441 } 2442 2443 if( window.BOOTSTRAP ){ 2444 szHtml += '<div class="text-center">'; 2445 szHtml += '<div class="spinner-border spinner-border-sm text-secondary" role="status">'; 2446 szHtml += '<span class="sr-only">Loading...</span>'; 2447 szHtml += '</div>'; 2448 szHtml += '</div>'; 2449 }else{ 2450 szHtml += "<i class='animate-spin ctl-wp-studio-icons-spin5'></i>"; 2451 } 2452 2453 szHtml += "</div>"; 2454 szHtml += "</div>"; 2455 szHtml += "</div>"; 2456 2457 jQuery("body").append(szHtml); 2458 jQuery("#"+id +" .ctl-wp-studio-dlg-block").addClass("ctl-wp-studio-dlg-block-show"); 2459 jQuery("#"+id +" .ctl-wp-studio-dlg-content").addClass("ctl-wp-studio-content-show"); 2460 2461 return id; 2462}; 2463 2464 CTL_WP_STUDIO.prototype.showDialog = function( szTitle, szHtmlContent, aBtn, bRemoveClose, bFullscreenButton ){ 2465 2466 var szHtml = ""; 2467 var id = this.makeCode(); 2468 2469 szHtml += "<div id='"+id+"' class='ctl-wp-studio-dlg-wrapper " + 2470 this._cssClassDomain+"fixed'>"; 2471 szHtml += "<div class='ctl-wp-studio-dlg-block'></div>"; 2472 szHtml += "<div class='ctl-wp-studio-dlg-content'>"; 2473 2474 szHtml += "<div class='ctl-wp-studio-dlg-header'>"; 2475 szHtml += "<div class='ctl-wp-studio-dlg-title'>"+szTitle+"</div>"; 2476 2477 szHtml += '<div class="ctl-wp-studio-dlg-header-buttons">'; 2478 if ( bFullscreenButton === true ){ 2479 szHtml += "<div class='ctl-wp-studio-action-dlg-fullscreen'><i class='ctl-wp-studio-icons-resize-full'></i></div>"; 2480 } 2481 2482 if( bRemoveClose !== true ){ 2483 szHtml += "<div class='ctl-wp-studio-action-dlg-close ctl-wp-studio-dlg-close ctl-wp-studio-icons-cancel'></div>"; 2484 } 2485 szHtml += "</div>"; 2486 szHtml += "</div>"; 2487 2488 szHtml += "<div class='ctl-wp-studio-dlg-content-body'>"; 2489 szHtml += "<div class='ctl-wp-studio-dlg-content-body-scrollable'>"; 2490 szHtml += szHtmlContent; 2491 szHtml += "</div>"; 2492 szHtml += "</div>"; 2493 2494 if( aBtn && aBtn.length > 0 ){ 2495 szHtml += "<div class='ctl-wp-studio-dlg-footer'>"; 2496 szHtml += "<div class='ctl-wp-studio-dlg-footer-content'>"; 2497 for( var i=0; i < aBtn.length; i++){ 2498 2499 if ( aBtn[i].cb ){ 2500 if ( aBtn[i].cb.indexOf("window.open") == -1 && 2501 aBtn[i].cb.indexOf("(") == -1 && aBtn[i].cb.indexOf(")") == -1 ){ 2502 aBtn[i].cb += '(\''+id+'\');'; 2503 } 2504 } 2505 2506 if( window.BOOTSTRAP ){ 2507 if ( aBtn[i].cb ){ 2508 szHtml += '<button ' + (aBtn[i].attributes ? aBtn[i].attributes : '') + ' type="button" onclick="' + aBtn[i].cb + 2509 '" class="button btn' + 2510 ( aBtn[i].primary ? ' btn-primary' : ' btn-secondary') +' '+ aBtn[i].classes +'">'+ 2511 aBtn[i].txt+'</button>'; 2512 }else{ 2513 szHtml += '<button ' + (aBtn[i].attributes ? aBtn[i].attributes : '') + ' type="button" class="button btn' + 2514 ( aBtn[i].primary ? ' btn-primary' : ' btn-secondary') +' '+ aBtn[i].classes +'">'+ 2515 aBtn[i].txt+'</button>'; 2516 } 2517 }else{ 2518 if ( aBtn[i].cb ){ 2519 2520 szHtml += '<div onclick="' + aBtn[i].cb + 2521 '" ' + (aBtn[i].attributes ? aBtn[i].attributes : '') + ' class="button ' + 2522 ( aBtn[i].primary ? ' button-primary' : ' button-secondary') +' '+ aBtn[i].classes +'">'+ 2523 aBtn[i].txt+'</div>'; 2524 2525 }else{ 2526 szHtml += '<div ' + (aBtn[i].attributes ? aBtn[i].attributes : '') + ' class="button ' + 2527 ( aBtn[i].primary ? ' button-primary' : ' button-secondary') +' '+ aBtn[i].classes +'">'+ 2528 aBtn[i].txt+'</div>'; 2529 } 2530 } 2531 } 2532 szHtml += "</div>"; 2533 szHtml += "</div>"; 2534 } 2535 2536 szHtml += "</div>"; 2537 szHtml += "</div>"; 2538 2539 jQuery("body").append(szHtml); 2540 2541 jQuery("#"+id +" .ctl-wp-studio-dlg-block").addClass("ctl-wp-studio-dlg-block-show"); 2542 jQuery("#"+id +" .ctl-wp-studio-dlg-content").addClass("ctl-wp-studio-content-show"); 2543 2544 2545 setTimeout(() => { 2546 g_oCTLWPStudio.refreshDialogComponents(jQuery("#"+id)); 2547 }, 100); 2548 2549 return id; 2550}; 2551 2552CTL_WP_STUDIO.prototype.activateColorPicker = function( oNodeInputText ){ 2553 oNodeInputText.colorPicker({ 2554 customBG: '#222', 2555 margin: '5px 0 0', 2556 doRender: 'div div', 2557 colorNames: { 2558 '191970': 'midnightblue', 2559 '696969': 'dimgrey', 2560 '708090': 'slategrey', 2561 '778899': 'lightslategrey', 2562 '800000': 'maroon', 2563 '800080': 'purple', 2564 '808000': 'olive', 2565 '808080': 'grey', 2566 'F0F8FF': 'aliceblue', 2567 'FAEBD7': 'antiquewhite', 2568 '00FFFF': 'cyan', 2569 '7FFFD4': 'aquamarine', 2570 'F0FFFF': 'azure', 2571 'F5F5DC': 'beige', 2572 'FFE4C4': 'bisque', 2573 '000000': 'black', 2574 'FFEBCD': 'blanchedalmond', 2575 '0000FF': 'blue', 2576 '8A2BE2': 'blueviolet', 2577 'A52A2A': 'brown', 2578 'DEB887': 'burlywood', 2579 '5F9EA0': 'cadetblue', 2580 '7FFF00': 'chartreuse', 2581 'D2691E': 'chocolate', 2582 'FF7F50': 'coral', 2583 '6495ED': 'cornflowerblue', 2584 'FFF8DC': 'cornsilk', 2585 'DC143C': 'crimson', 2586 '00008B': 'darkblue', 2587 '008B8B': 'darkcyan', 2588 'B8860B': 'darkgoldenrod', 2589 'A9A9A9': 'darkgrey', 2590 '006400': 'darkgreen', 2591 'BDB76B': 'darkkhaki', 2592 '8B008B': 'darkmagenta', 2593 '556B2F': 'darkolivegreen', 2594 'FF8C00': 'darkorange', 2595 '9932CC': 'darkorchid', 2596 '8B0000': 'darkred', 2597 'E9967A': 'darksalmon', 2598 '8FBC8F': 'darkseagreen', 2599 '483D8B': 'darkslateblue', 2600 '2F4F4F': 'darkslategrey', 2601 '00CED1': 'darkturquoise', 2602 '9400D3': 'darkviolet', 2603 'FF1493': 'deeppink', 2604 '00BFFF': 'deepskyblue', 2605 '1E90FF': 'dodgerblue', 2606 'B22222': 'firebrick', 2607 'FFFAF0': 'floralwhite',
2608 '228B22': 'forestgreen', 2609 'FF00FF': 'magenta', 2610 'DCDCDC': 'gainsboro', 2611 'F8F8FF': 'ghostwhite', 2612 'FFD700': 'gold', 2613 'DAA520': 'goldenrod', 2614 '008000': 'green', 2615 'ADFF2F': 'greenyellow', 2616 'F0FFF0': 'honeydew', 2617 'FF69B4': 'hotpink', 2618 'CD5C5C': 'indianred', 2619 '4B0082': 'indigo', 2620 'FFFFF0': 'ivory', 2621 'F0E68C': 'khaki', 2622 'E6E6FA': 'lavender', 2623 'FFF0F5': 'lavenderblush', 2624 '7CFC00': 'lawngreen', 2625 'FFFACD': 'lemonchiffon', 2626 'ADD8E6': 'lightblue', 2627 'F08080': 'lightcoral', 2628 'E0FFFF': 'lightcyan', 2629 'FAFAD2': 'lightgoldenrodyellow', 2630 'D3D3D3': 'lightgrey', 2631 '90EE90': 'lightgreen', 2632 'FFB6C1': 'lightpink', 2633 'FFA07A': 'lightsalmon', 2634 '20B2AA': 'lightseagreen', 2635 '87CEFA': 'lightskyblue', 2636 'B0C4DE': 'lightsteelblue', 2637 'FFFFE0': 'lightyellow', 2638 '00FF00': 'lime', 2639 '32CD32': 'limegreen', 2640 'FAF0E6': 'linen', 2641 '66CDAA': 'mediumaquamarine', 2642 '0000CD': 'mediumblue', 2643 'BA55D3': 'mediumorchid', 2644 '9370DB': 'mediumpurple', 2645 '3CB371': 'mediumseagreen', 2646 '7B68EE': 'mediumslateblue', 2647 '00FA9A': 'mediumspringgreen', 2648 '48D1CC': 'mediumturquoise', 2649 'C71585': 'mediumvioletred', 2650 'F5FFFA': 'mintcream', 2651 'FFE4E1': 'mistyrose', 2652 'FFE4B5': 'moccasin', 2653 'FFDEAD': 'navajowhite', 2654 '000080': 'navy', 2655 'FDF5E6': 'oldlace', 2656 '6B8E23': 'olivedrab', 2657 'FFA500': 'orange', 2658 'FF4500': 'orangered', 2659 'DA70D6': 'orchid', 2660 'EEE8AA': 'palegoldenrod', 2661 '98FB98': 'palegreen', 2662 'AFEEEE': 'paleturquoise', 2663 'DB7093': 'palevioletred', 2664 'FFEFD5': 'papayawhip', 2665 'FFDAB9': 'peachpuff', 2666 'CD853F': 'peru', 2667 'FFC0CB': 'pink', 2668 'DDA0DD': 'plum', 2669 'B0E0E6': 'powderblue', 2670 'FF0000': 'red', 2671 'BC8F8F': 'rosybrown', 2672 '4169E1': 'royalblue', 2673 '8B4513': 'saddlebrown', 2674 'FA8072': 'salmon', 2675 'F4A460': 'sandybrown', 2676 '2E8B57': 'seagreen', 2677 'FFF5EE': 'seashell', 2678 'A0522D': 'sienna', 2679 'C0C0C0': 'silver', 2680 '87CEEB': 'skyblue', 2681 '6A5ACD': 'slateblue', 2682 'FFFAFA': 'snow', 2683 '00FF7F': 'springgreen', 2684 '4682B4': 'steelblue', 2685 'D2B48C': 'tan', 2686 '008080': 'teal', 2687 'D8BFD8': 'thistle', 2688 'FF6347': 'tomato', 2689 '40E0D0': 'turquoise', 2690 'EE82EE': 'violet', 2691 'F5DEB3': 'wheat', 2692 'FFFFFF': 'white', 2693 'F5F5F5': 'whitesmoke', 2694 'FFFF00': 'yellow', 2695 '9ACD32': 'yellowgreen' 2696 }, 2697 2698 buildCallback: function(jQueryelm) { 2699 var that = this; 2700 2701 jQueryelm.append('<div class="cp-patch"><div></div></div><div class="cp-disp"></div>'); 2702 }, 2703 2704 cssAddon: // could also be in a css file instead 2705 '.cp-patch{float:left; margin:9px 0 0;' + 2706 'height:24px; width: 24px; border:1px solid #aaa;}
2706' + 2707 2708 '.cp-patch{background-image: url(\'data:image/gif;base64,R0lGODlhDAAMAIABAMzMzP///yH5BAEAAAEALAAAAAAMAAwAAAIWhB+ph5ps3IMyQFBvzVRq3zmfGC5QAQA7\');}' + 2709 2710 '.cp-patch div{height:24px; width: 24px;}' + 2711 '.cp-disp{padding:4px 0 4px 4px; margin-top:10px; font-size:12px;' + 2712 'height:16px; line-height:16px; color:#333;}' + 2713 '.cp-color-picker{border:1px solid #999; padding:8px; box-shadow:5px 5px 16px rgba(0,0,0,0.4);' + 2714 'background:#eee; overflow:visible; border-radius:3px;}' + 2715 '.cp-color-picker:after{content:""; display:block; ' + 2716 'position:absolute; top:-8px; left:8px; border:8px solid #eee; border-width: 0px 8px 8px;' + 2717 'border-color: transparent transparent #eee}' + 2718 // simulate border... 2719 '.cp-color-picker:before{content:""; display:block; ' + 2720 'position:absolute; top:-9px; left:8px; border:8px solid #eee; border-width: 0px 8px 8px;' + 2721 'border-color: transparent transparent #999}' + 2722 '.cp-xy-slider{border:1px solid #aaa; margin-bottom:10px; width:150px; height:150px;}' + 2723 '.cp-xy-slider:active {cursor:none;}' + 2724 '.cp-xy-cursor{width:12px; height:12px; margin:-6px}' +
2725 '.cp-z-slider{margin-left:8px; border:1px solid #aaa; height:150px; width:24px;}' + 2726 '.cp-z-cursor{border-width:5px; margin-top:-5px;}' + 2727 '.cp-color-picker .cp-alpha{width:152px; margin:10px 0 0; height:6px; border-radius:6px;' + 2728 'overflow:visible; border:1px solid #aaa; box-sizing:border-box;' + 2729 'background: linear-gradient(to right, rgba(238,238,238,1) 0%,rgba(238,238,238,0) 100%);}' + 2730 '.cp-alpha-cursor{background: #eee; border-radius: 100%;' + 2731 'width:14px; height:14px; margin:-5px -7px; border:1px solid #999!important;' + 2732 'box-shadow:inset -2px -4px 3px #ccc}' + 2733 '.cp-xy-slider{height:100px}' + 2734 '.cp-z-slider{height:100px}' + 2735 '.cp-xy-slider, .cp-patch, .cp-z-slider{box-shadow: inset 1px 1px 8px rgba(0,0,0,.15),' + 2736 ' inset -1px -1px 6px rgba(0,0,0,.15);', 2737 2738 renderCallback: function(jQueryelm, toggled) { 2739 var colors = this.color.colors, 2740 rgb = colors.RND.rgb; 2741 2742 jQuery('.cp-patch div').css({'background-color': jQueryelm[0].style.backgroundColor}); 2743 jQuery('.cp-disp').text(this.color.options.colorNames[colors.HEX] || jQueryelm.val()); 2744 if (toggled === true) { 2745 // here you can recalculate position after showing the color picker 2746 // in case it doesn't fit into view. 2747 jQuery('.trigger').removeClass('active'); 2748 jQueryelm.closest('.trigger').addClass('active'); 2749 } else if (toggled === false) { 2750 jQueryelm.closest('.trigger').removeClass('active'); 2751 } 2752 2753 jQueryelm.trigger("color.change", [toggled]); 2754 } }); 2755}; 2756 2757CTL_WP_STUDIO.prototype.createAdminSelect2 = function( oNodeSelect ){ 2758 2759 var szTypeSearch = oNodeSelect.attr("data-type-search"); 2760 var szCustomPostType = oNodeSelect.attr("data-custom-post-type"); 2761 var szGroupSlug = oNodeSelect.attr("data-group-slug"); 2762 var iImage = parseInt(oNodeSelect.attr("data-get-image")); 2763 2764 var fnTemplateRendering = function(state) { 2765 if(state.img){ 2766 return jQuery('<img onerror="g_oCTLWPStudio.onImageError(this)"class="ctl-wp-studio-select2-option-img" src="' + state.img + '"/><span>' + state.text + "</span>"); 2767 }else if ( state.svg ){ 2768 return jQuery( state.svg + '<span>' + state.text + "</span>"); 2769 }else if ( state.element && state.element.attributes && 2770 state.element.attributes["data-color"]){ 2771 return jQuery( "<span class='ctl-wp-studio-editor-palette-preview'><svg width='18' height='18'><rect width='100%' height='100%' style='fill:"+jQuery(state.element).attr("data-color")+";' /></svg></span><span>" + state.text + "</span>"); 2772 }else{ 2773 return state.text; 2774 } 2775 }; 2776 2777 var oConfig = { 2778 width: '100%', // Forza la larghezza corretta 2779 templateSelection : fnTemplateRendering, 2780 templateResult: fnTemplateRendering, 2781 language: { 2782 inputTooShort: function (args) { 2783 var remainingChars = args.minimum - args.input.length; 2784 2785 var message = g_oCTLWPStudio._oLangAdmin["Please enter"] + 2786 " " + remainingChars + " " + 2787 g_oCTLWPStudio._oLangAdmin["or more characters"]; 2788 2789 return message; 2790 }, 2791 errorLoading: function () { 2792 return g_oCTLWPStudio._oLangAdmin["The results could not be loaded."]; 2793 }, 2794 loadingMore: function () { 2795 return g_oCTLWPStudio._oLangAdmin["Loading more results..."]; 2796 }, 2797 searching: function(){ 2798 return g_oCTLWPStudio._oLangAdmin["Searching..."]; 2799 }, 2800 noResults: function(){ 2801 return g_oCTLWPStudio._oLangAdmin["No Results Found!"]; 2802 } 2803 }, 2804 escapeMarkup: function (markup) { 2805 return markup; 2806 }, 2807 // minimumInputLength: 3 2808 }; 2809 2810 oConfig["placeholder"] = g_oCTLWPStudio._oLangAdmin["Search..."]; 2811 oConfig["allowClear"] = true; 2812 2813 if ( szTypeSearch != "QUERY_SET_FILTER_FIXED_SET" && szTypeSearch != undefined){ 2814 oConfig["ajax"] = { 2815 url: ajaxurl, 2816 dataType: 'json', 2817 type: 'POST', 2818 processResults: function (data) { 2819 // Tranforms the top-level key of the response object from 'items' to 'results' 2820 oNodeSelect.prop("data-items", data.items); 2821 return { 2822 results: data.items 2823 }; 2824 }, 2825 data: function (params) { 2826 2827 var query = { 2828 search: params.term, 2829 page: params.page || -1, 2830 type_search: szTypeSearch, 2831 custom_post_type : szCustomPostType, 2832 group_slug : szGroupSlug, 2833 2834 action: g_oCTLWPStudio._szPluginCode, 2835 image : iImage, 2836 execute: "select2-search" 2837 }; 2838 2839 for( var i = 0; i < g_oCTLWPStudio._aSelect2AjaxDataFilters.length; i++ ){ 2840 var oFilter = g_oCTLWPStudio._aSelect2AjaxDataFilters[i]; 2841 query = oFilter.cb.call( oFilter.cbOwner, query, oNodeSelect ); 2842 } 2843 2844 // Query parameters will be ?search=[term]&page=[page] 2845 return query; 2846 } 2847 }; 2848 } 2849 2850 oNodeSelect.select2(oConfig).on("change", function (e) { 2851 for( var i = 0; i < g_oCTLWPStudio._aSelect2ChangeValue.length; i++ ){ 2852 var oCallback = g_oCTLWPStudio._aSelect2ChangeValue[i]; 2853 oCallback.cb.call( oCallback.cbOwner, oNodeSelect, jQuery(this).val() ); 2854 } 2855 }); 2856 2857 setTimeout(function(){ 2858 if(oNodeSelect.next('.select2-container').length === 0) { 2859 console.error("Select2 fallito su:", oNodeSelect.attr('id'), "Riprovo..."); 2860 2861 g_oCTLWPStudio.createAdminSelect2(oNodeSelect); 2862 } 2863 }, 100); 2864}; 2865 2866CTL_WP_STUDIO.prototype.refreshDialogComponents = function( oNodeParent ){ 2867 2868 let oParent = this; 2869 2870 // refresh dialog components 2871 oNodeParent.find(".ctl-wp-studio-tabs-container").tabs({ active: 0 }); 2872 oNodeParent.find(".ctl-wp-studio-choose-color-container input").each(function(){ 2873 g_oCTLWPStudio.activateColorPicker(jQuery(this)); 2874 }); 2875 2876 oNodeParent.find( ".ctl-wp-studio-form-control-wrapper .ctl-wp-studio-select2-search" ).each(function(){ 2877 g_oCTLWPStudio.createAdminSelect2(jQuery(this)); 2878 }); 2879 2880 oNodeParent.find( ".ctl-wp-studio-select2-static" ).each(function(){ 2881 g_oCTLWPStudio.createAdminSelect2(jQuery(this)); 2882 }); 2883
2884 g_oCTLWPStudio.initSelectPalette(oNodeParent); 2885 2886 oNodeParent.find(".ace-editor").each(function(){ 2887 var oNodeTextArea = jQuery(this).find("textarea"); 2888 var oNodeAceTarget = jQuery(this).find(".ace-target"); 2889 var editor = ace.edit(oNodeAceTarget[0]); 2890 editor.$blockScrolling = Infinity; 2891 editor.setTheme("ace/theme/chrome"); 2892 2893 editor.insert( oNodeTextArea.val() ); 2894 editor.getSession().on('change', function(e) { 2895 oNodeTextArea.val( editor.getValue() ); 2896 }); 2897 2898 if ( jQuery(this).hasClass("ace-js-language")){ 2899 editor.getSession().setMode("ace/mode/javascript"); 2900 }else if ( jQuery(this).hasClass("ace-php-language")){ 2901 editor.getSession().setMode("ace/mode/php"); 2902 editor.getSession().setMode({path:"ace/mode/php", inline:true}); 2903 } 2904 }); 2905 2906 oNodeParent.find(".ctl-wp-studio-tabs-container").each(function(){ 2907 jQuery(this).tabs({ active: 0 }); 2908 if ( jQuery(this).hasClass("ctl-wp-studio-tabs-container-vertical") ){ 2909 jQuery(this).addClass("ui-tabs-vertical ui-helper-clearfix"); 2910 jQuery(this).find("li").removeClass( "ui-corner-top" ).addClass( "ui-corner-left" ); 2911 } 2912 }); 2913 2914 oNodeParent.find(".ctl-wp-studio-sortable-select-list-selected").each(function(){ 2915 var oNodeList = jQuery(this); 2916 var oNodeSelect = jQuery(this).closest(".ctl-wp-studio-settings-sortable-select-container").find("select"); 2917 2918 jQuery(this).sortable({ 2919 update : function(){ 2920 oNodeSelect.html(""); 2921 oNodeList.find("li").each(function(){ 2922 oNodeSelect.append('<option value="'+ jQuery(this).attr("data-value") +'" selected="selected">'+jQuery(this).html()+'</option>'); 2923 }); 2924 2925 } 2926 }).disableSelection(); 2927 }); 2928 2929 oNodeParent.find(".ctl-wp-studio-sortable").each(function(){ 2930 oParent.makePostTableSortable(jQuery(this)); 2931 }); 2932 2933 oNodeParent.find(".ctl-wp-studio-choose-repeater-key-value-container ul").each(function(){ 2934 jQuery(this).sortable().disableSelection(); 2935 }); 2936 oNodeParent.find(".ctl-wp-studio-form-control-repeater ul").each(function(){ 2937 jQuery(this).sortable().disableSelection(); 2938 }); 2939 oNodeParent.find(".ctl-wp-studio-choose-repeater-container ul").each(function(){ 2940 jQuery(this).sortable().disableSelection(); 2941 }); 2942 2943}; 2944 2945CTL_WP_STUDIO.prototype.initSelectPalette = function( oNodeParent ){ 2946 2947 if (!oNodeParent){ 2948 oNodeParent = jQuery("body"); 2949 } 2950 2951 oNodeParent.find('.ctl-wp-studio-palette-container select').on("input", function(){ 2952 var oNodeInput = jQuery(this).closest(".ctl-wp-studio-choose-color-container"). 2953 find(".ctl-wp-studio-color-input"); 2954 oNodeInput.val(''); 2955 oNodeInput.attr("style",""); 2956 }); 2957 2958 oNodeParent.find(".ctl-wp-studio-color-input").each( function(){ 2959 jQuery(this).on("color.change", 2960 function( e, bColorPickerAppeared ){ 2961 if ( bColorPickerAppeared !== undefined ){ 2962 return; 2963 } 2964 jQuery(this).closest(".ctl-wp-studio-choose-color-container"). 2965 find(".ctl-wp-studio-palette-container select").val(null).trigger("change"); 2966 } 2967 ); 2968 }); 2969 2970}; 2971 2972CTL_WP_STUDIO.prototype.replaceAll = function(source, search, replacement) { 2973 return source.replace(new RegExp(search, 'g'), replacement); 2974}; 2975 2976CTL_WP_STUDIO.prototype.getUrlVar = function(sParam){ 2977 var sPageURL = window.location.search.substring(1); 2978 var sURLVariables = sPageURL.split('&'); 2979 for (var i = 0; i < sURLVariables.length; i++) { 2980 var sParameterName = sURLVariables[i].split('='); 2981 if (sParameterName[0] === sParam) { 2982 return sParameterName[1]; 2983 } 2984 } 2985 return null; 2986}; 2987 2988CTL_WP_STUDIO.prototype.redirect = function(szUrlDest, bLoading, bCheckHardRedirect, aPostParams = null){ 2989 var szRedirect = szUrlDest; 2990 2991 if ( bCheckHardRedirect === true && this.getUrlVar("hredirect") ){ 2992 szRedirect = Base64.decode(this.getUrlVar("hredirect")); 2993 } 2994 2995 if (bLoading === true){ 2996 this.showLoading(""); 2997 } 2998 2999 if(aPostParams){ 3000 var form = jQuery('<form>', { 3001 'method': 'POST', 3002 'action': szRedirect 3003 });
3004 Object.keys(aPostParams).forEach(function(key){ 3005 form.append(jQuery('<input>', { 3006 'type': 'hidden', 3007 'name': key, 3008 'value': aPostParams[key] 3009 })); 3010 }); 3011 jQuery('body').append(form); 3012 form.submit(); 3013 }else{ 3014 window.location.href = szRedirect; 3015 } 3016}; 3017CTL_WP_STUDIO.prototype.appendHtml = function( oNode, html ){ 3018 oNode.append(html); 3019 jQuery(document).trigger("append-html", [ oNode, html ]); 3020}; 3021 3022CTL_WP_STUDIO.prototype.setHtml = function( oNode, html ){ 3023 oNode.html(html); 3024 jQuery(document).trigger("set-html", [ oNode, html ]); 3025}; 3026 3027CTL_WP_STUDIO.prototype.getStringUrlParam = function(szUrl, szParam){ 3028 var vars = [], hash; 3029 var hashes = szUrl.slice(szUrl.indexOf('?') + 1).split('&'); 3030 for(var i = 0; i < hashes.length; i++) 3031 { 3032 hash = hashes[i].split('='); 3033 vars.push(hash[0]); 3034 vars[hash[0]] = hash[1]; 3035 } 3036 return vars[szParam]; 3037}; 3038 3039CTL_WP_STUDIO.prototype.getUrlParam = function(a){ 3040 a = encodeURIComponent(a); 3041 for(var f=window.location.search.substring(1).split("&"),c=0;c<f.length;c++){var e=f[c].split("=");if(e[0]===a)return e[1];} 3042}; 3043 3044CTL_WP_STUDIO.prototype.getUrlVars = function(urlVars) { 3045 urlVars = urlVars.trim(); 3046 var oFinalData = new Array(); 3047 var hashes = urlVars.split('&'); 3048 for (var i = 0; i < hashes.length; i++) { 3049 var hash = hashes[i].split('='); 3050 oFinalData[hash[0]] = hash[1]; 3051 } 3052 return oFinalData; 3053}; 3054 3055CTL_WP_STUDIO.prototype.closeDlg = function(idDlg){ 3056 3057 jQuery("body").removeClass("ctl-dlg-fullscreen"); 3058 3059 if( idDlg && jQuery('#'+idDlg).length > 0 ){ 3060 jQuery('#'+idDlg).remove(); 3061 } 3062}; 3063 3064CTL_WP_STUDIO.prototype.loadingSetMessage = function(id, szMsg) { 3065 jQuery("#"+id).find("p").text(szMsg); 3066}; 3067 3068 3069CTL_WP_STUDIO.prototype.removeURLParameter = function(url, parameter) { 3070 //prefer to use l.search if you have a location/link object 3071 var urlparts= url.split('?'); 3072 if (urlparts.length>=2) { 3073 3074 var prefix= encodeURIComponent(parameter)+'='; 3075 var pars= urlparts[1].split(/[&;]/g); 3076 3077 //reverse iteration as may be destructive 3078 for (var i= pars.length; i-- > 0;) { 3079 //idiom for string.startsWith 3080 if (pars[i].lastIndexOf(prefix, 0) !== -1) { 3081 pars.splice(i, 1); 3082 } 3083 } 3084 3085 url= urlparts[0]+'?'+pars.join('&'); 3086 return url; 3087 } else { 3088 return url; 3089 } 3090}; 3091 3092 3093CTL_WP_STUDIO.prototype.removeParameterFromUrl = function(szURL, szKey) { 3094 if(!szURL || !szKey){ 3095 return; 3096 } 3097 oURLResult = new URL(szURL); 3098 oURLResult.searchParams.delete(szKey); 3099 return oURLResult.toString(); 3100}; 3101 3102CTL_WP_STUDIO.prototype.addParameterToUrl = function(url, parameterName, parameterValue, atStart/*Add param before others*/){ 3103 replaceDuplicates = true; 3104 if(url.indexOf('#') > 0){ 3105 var cl = url.indexOf('#'); 3106 urlhash = url.substring(url.indexOf('#'),url.length); 3107 } else { 3108 urlhash = ''; 3109 cl = url.length; 3110 } 3111 sourceUrl = url.substring(0,cl); 3112 3113 var urlParts = sourceUrl.split("?"); 3114 var newQueryString = ""; 3115 3116 if (urlParts.length > 1) 3117 { 3118 var parameters = urlParts[1].split("&"); 3119 for (var i=0; (i < parameters.length); i++) 3120 { 3121 var parameterParts = parameters[i].split("="); 3122 if (!(replaceDuplicates && parameterParts[0] === parameterName)) 3123 { 3124 if (newQueryString === "") 3125 newQueryString = "?"; 3126 else 3127 newQueryString += "&"; 3128 newQueryString += parameterParts[0] + "=" + (parameterParts[1]?parameterParts[1]:''); 3129 } 3130 } 3131 } 3132 if (newQueryString === "") 3133 newQueryString = "?"; 3134 3135 if(atStart){ 3136 newQueryString = '?'+ parameterName + "=" + parameterValue + (newQueryString.length>1?'&'+newQueryString.substring(1):''); 3137 } else { 3138 if (newQueryString !== "" && newQueryString !== '?') 3139 newQueryString += "&"; 3140 newQueryString += parameterName + "=" + (parameterValue?parameterValue:''); 3141 } 3142 return urlParts[0] + newQueryString + urlhash; 3143}; 3144 3145CTL_WP_STUDIO.prototype.getUrlParams = function(){ 3146 const params = new URLSearchParams(window.location.search); 3147 const obj = {}; 3148
3149 for (const [key, value] of params.entries()) { 3150 // Verifichiamo se la chiave termina con [] 3151 if (key.endsWith('[]')) { 3152 const cleanKey = key.slice(0, -2); // Rimuoviamo [] dalla chiave 3153 3154 if (!obj[cleanKey]) { 3155 obj[cleanKey] = []; // Inizializziamo l'array se non esiste 3156 } 3157 obj[cleanKey].push(value); 3158 } else { 3159 // Comportamento standard per chiavi normali 3160 obj[key] = value; 3161 } 3162 } 3163 3164 return obj; 3165} 3166CTL_WP_STUDIO.prototype.sanitizeTitle = function(str){ 3167 str = str.replace(/^\s+|\s+$/g, ''); // trim 3168 str = str.toLowerCase(); 3169 3170 // remove accents, swap ñ for n, etc 3171 var from = "à áäâèéëêìÃïîòóöôùúüûñçÄÅ¡ÄÅžýúůÄťŷ/_,:;"; 3172 var to = "aaaaeeeeiiiioooouuuuncescrzyuudtn------"; 3173 3174 for (var i=0, l=from.length ; i<l ; i++){ 3175 str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i)); 3176 } 3177 3178 str = str.replace('.', '-') // replace a dot by a dash 3179 .replace(/[^a-z0-9 -]/g, '') // remove invalid chars 3180 .replace(/\s+/g, '-') // collapse whitespace and replace by a dash 3181 .replace(/-+/g, '-') // collapse dashes 3182 .replace( /\//g, '' ); // collapse all forward-slashes 3183 3184 return str; 3185}; 3186 3187CTL_WP_STUDIO.prototype.numberFormat = function(number, decimals, dec_point, thousands_sep) { 3188 3189 number = (number + '') 3190 .replace(/[^0-9+\-Ee.]/g, ''); 3191 var n = !isFinite(+number) ? 0 : +number, 3192 prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), 3193 sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, 3194 dec = (typeof dec_point === 'undefined') ? '.' : dec_point, 3195 s = '', 3196 toFixedFix = function(n, prec) { 3197 var k = Math.pow(10, prec); 3198 return '' + (Math.round(n * k) / k) 3199 .toFixed(prec); 3200 }; 3201 // Fix for IE parseFloat(0.55).toFixed(0) = 0; 3202 s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)) 3203 .split('.'); 3204 if (s[0].length > 3) { 3205 s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); 3206 } 3207 if ((s[1] || '') 3208 .length < prec) { 3209 s[1] = s[1] || ''; 3210 s[1] += new Array(prec - s[1].length + 1) 3211 .join('0'); 3212 } 3213 return s.join(dec); 3214}; 3215 3216CTL_WP_STUDIO.prototype.moveAtIndex = function(oTableBodySelector, i, oContent) { 3217 3218 if(i < 0){ 3219 return false; 3220 } 3221 3222 if(i===0){ 3223 oContent.prependTo(oTableBodySelector); 3224 return true; 3225 }else if( i < oTableBodySelector.children().length ){ 3226 oContent.insertAfter(oTableBodySelector.children().eq(i)); 3227 return true; 3228 } 3229 return false; 3230}; 3231 3232 3233CTL_WP_STUDIO.prototype.getCSS = function(a) { 3234 var sheets = document.styleSheets, o = {}; 3235 for (var i in sheets) { 3236 var rules = sheets[i].rules || sheets[i].cssRules; 3237 for (var r in rules) { 3238 if (a.is(rules[r].selectorText)) { 3239 o = $.extend(o, this.__css2json(rules[r].style), this.__css2json(a.attr('style'))); 3240 } 3241 } 3242 } 3243 return o; 3244}; 3245 3246CTL_WP_STUDIO.prototype.arraySortBy = function(aData, szProp) { 3247 function __compare(a,b){ 3248 if (a[szProp] < b[szProp]){ 3249 return -1; 3250 } 3251 if (a[szProp] > b[szProp]){ 3252 return 1; 3253 } 3254 return 0; 3255 } 3256 3257 aData.sort(__compare); 3258}; 3259 3260CTL_WP_STUDIO.prototype.__css2json = function(css) { 3261 var s = {}; 3262 if (!css) return s; 3263 if (css instanceof CSSStyleDeclaration) { 3264 for (var i in css) { 3265 if ((css[i]).toLowerCase) { 3266 s[(css[i]).toLowerCase()] = (css[css[i]]); 3267 } 3268 } 3269 } else if (typeof css === "string") { 3270 css = css.split("; "); 3271 for (var i in css) { 3272 var l = css[i].split(": "); 3273 s[l[0].toLowerCase()] = (l[1]); 3274 } 3275 } 3276 return s; 3277}; 3278 3279CTL_WP_STUDIO.prototype.getScroll = function(){ 3280 if(window.pageYOffset !== undefined){ 3281 return { x : pageXOffset, y: pageYOffset}; 3282 } 3283 else{ 3284 var sx, sy, d= document, r= d.documentElement, b= d.body; 3285 sx= r.scrollLeft || b.scrollLeft || 0; 3286 sy= r.scrollTop || b.scrollTop || 0; 3287 return { x:sx, y:sy }; 3288 } 3289}; 3290 3291CTL_WP_STUDIO.prototype.shareTwitter = function( szLink, szName, szDescription ){ 3292 var szTweetbegin = 'http://twitter.com/home?status='; 3293 var szTweettxt = szDescription + " - " + szName + " " + szLink; 3294 var szFinaltweet = szTweetbegin +encodeURIComponent(szTweettxt); 3295 window.open(szFinaltweet,'_blank'); 3296}; 3297 3298CTL_WP_STUDIO.prototype.shareFacebook = function( szLink, szName, szC
3298aption, szDescription, szPicture ){ 3299 FB.ui({ 3300 method: 'feed', 3301 display : "popup", 3302 link: szLink, 3303 caption: szCaption, 3304 description: szDescription, 3305 name: szName, 3306 picture : szPicture 3307 }, function(response){ 3308 3309 }); 3310}; 3311 3312CTL_WP_STUDIO.prototype.filterList = function( oNodeInput ){ 3313 3314 var oParent = this; 3315 var szKey = jQuery.trim(oNodeInput.val()).toLowerCase(); 3316 var szDataTitleSelector = oNodeInput.attr("data-title-selector"); 3317 var szDataTargetSelector = oNodeInput.attr("data-target-selector"); 3318 var szDataDisplayTrue = oNodeInput.attr("data-display-true"); 3319 var oNodeTableData = oNodeInput.closest(".ctl-wp-studio-list-wrapper"); 3320 oNodeTableData = oNodeTableData.find(".ctl-wp-studio-list-content"); 3321 var aTitleRows = oNodeTableData.find(szDataTitleSelector); 3322 3323 aTitleRows.each(function(){ 3324 3325 var oNodeTargetSelector = jQuery(this).closest(szDataTargetSelector); 3326 var szSrcNameGame = jQuery.trim(jQuery(this).text()); 3327 3328 var szName = szSrcNameGame.toLowerCase(); 3329 var index = szName.indexOf(szKey); 3330 3331 if (index >= 0) { 3332 var szNewString = szSrcNameGame.substr(0,index) + 3333 "<strong>" + szSrcNameGame.substr(index,szKey.length) + "</strong>" + 3334 szSrcNameGame.substr(index+szKey.length, szSrcNameGame.length - (index + szKey.length)); 3335 3336 3337 if( oNodeTargetSelector.hasClass(oParent._cssClassDomain + "list-item-selected-hidden") === false ){ 3338 jQuery(this).addClass("data-found"); 3339 jQuery(this).removeClass("data-not-found"); 3340 jQuery(this).html(szNewString); 3341 }else{ 3342 jQuery(this).addClass("data-not-found"); 3343 jQuery(this).removeClass("data-found"); 3344 jQuery(this).html(jQuery(this).text()); 3345 } 3346 } else { 3347 jQuery(this).addClass("data-not-found"); 3348 jQuery(this).removeClass("data-found"); 3349 jQuery(this).html(jQuery(this).text()); 3350 } 3351 3352 if ( oNodeTargetSelector.find(".data-found").length > 0 ){ 3353 oNodeTargetSelector.css("display", szDataDisplayTrue); 3354 }else{ 3355 oNodeTargetSelector.css("display", "none"); 3356 } 3357 }); 3358}; 3359 3360CTL_WP_STUDIO.prototype.cloneNode = function( oNodeSource ){ 3361 var oNodeClone = oNodeSource.clone(); 3362 3363 var oCloneSelectOptions = oNodeClone.find('select'); 3364 var oOriginalSelectOptions = oNodeSource.find('select'); 3365 3366 if(oOriginalSelectOptions){ 3367 oOriginalSelectOptions.each(function(index){ 3368 var aCloneOptions = oCloneSelectOptions.eq(index).find("option"); 3369 var aOriginalOptions = jQuery(this).find("option"); 3370 3371 aOriginalOptions.each(function(index){ 3372 aCloneOptions.eq(index).prop('selected', 3373 jQuery(this).prop('selected')); 3374 }); 3375 }); 3376 } 3377 3378 3379 return oNodeClone; 3380}; 3381 3382CTL_WP_STUDIO.prototype.getSortableHelper = function(){ 3383 var oParent = this; 3384 var fixHelperModified = function(e, oNode) { 3385 var $originals = oNode.children(); 3386 var $helper = oParent.cloneNode(oNode); 3387 var szTagName = $helper[0].tagName.toLowerCase(); 3388 3389 $helper.children().each(function(index){ 3390 jQuery(this).width($originals.eq(index).width()); 3391 jQuery(this).css("background-color","#ffe7b3"); 3392 jQuery(this).closest(szTagName).css("border","1px solid #ffc64c"); 3393 jQuery(this).closest(szTagName).css("background-color","#ffe7b3"); 3394 jQuery(this).closest(szTagName + " *").each( function(){ 3395 jQuery(this).css("background-color","#ffe7b3"); 3396 }); 3397 }); 3398 3399 return $helper; 3400 }; 3401 return fixHelperModified; 3402}; 3403 3404CTL_WP_STUDIO.prototype.makePostTableSortable = function( oTBodyNode){ 3405 var oParent = this; 3406 3407 if( this._oLangCommon["bIsMobile"] !== 1){ 3408 oTBodyNode.sortable({ 3409 update : function(){ 3410 oParent.updatePostOrdering(); 3411 }, 3412 helper: oParent.getSortableHelper(), 3413 placeholder: "ui-sortable-placeholder" 3414 }).disableSelection(); 3415 } 3416}; 3417 3418CTL_WP_STUDIO.prototype.updatePostOrdering = function(){ 3419 if( jQuery("#the-list").hasClass("ctl-wp-studio-no-update-post-ordering") ){ 3420 return; 3421 } 3422 3423 var oParent = this; 3424 var aOrdering = []; 3425 3426 jQuery("#the-list tbody tr").each(function(){ 3427 aOrdering.push(jQuery(this).attr("id").split("-")[1]); 3428 }); 3429 3430 jQuery.ajax({ 3431 url: oParent._oLangCommon.ajaxurl, 3432 type: "post", 3433 data: { 3434 "execute" : "set-post-ordering", 3435 "action" : oParent._szPluginCode, 3436 "ordering" : aOrdering 3437 } 3438 }).done(function (data) { 3439 data = oParent.getUrlVars(data);
3440 if (data.status === "false"){ 3441 alert(oParent._oLangCommon["Ooops! Something Went Wrong!"]); 3442 }else{ 3443 var i = 0; 3444 jQuery(".ctl-wp-studio-post-ordering").each(function(){ 3445 jQuery(this).text(i+1); 3446 i++; 3447 }); 3448 } 3449 }).fail(function (jqXHR, textStatus) { 3450 alert(oParent._oLangCommon["Ooops! Something Went Wrong!"]); 3451 }); 3452}; 3453 3454CTL_WP_STUDIO.prototype.addNestedPropToObj = function (obj, name, value) { 3455 var path = name.split('.'), 3456 current = obj, 3457 len = path.length - 1, 3458 i = 0; 3459 for (; i < len; i++) { 3460 current[path[i]] = current[path[i]] || {}; 3461 current = current[path[i]]; 3462 } 3463 if ( 0 < path[i].indexOf( "[]" ) ) { 3464 name = path[i].replace('[]', ''); 3465 current[name] = current[name] || []; 3466 current[name].push(value); 3467 } else { 3468 current[path[i]] = value; 3469 } 3470 return obj; 3471}; 3472 3473CTL_WP_STUDIO.prototype.parseShortCode = function(shortCode) { 3474 var re = /(\s+|\W)|(\w+)/g; 3475 var match; 3476 var token; 3477 var curAttribute = ''; 3478 var quoteChar; 3479 var mode = 'NOT STARTED'; 3480 var parsedValue = { 3481 name: '', 3482 attributes: {}, 3483 content: '' 3484 }; 3485 var hasContent = (shortCode.match(/\]/g) || []).length; 3486 if (hasContent > 2) { 3487 throw ('invalid shortCode: match more then 2 tokens "]". Use only shortcode with this function. Example "[name]teste[/name]" or "[name prop=value]"'); 3488 } else if (hasContent === 1) { 3489 hasContent = false; 3490 } else { 3491 hasContent = true; 3492 } 3493 3494 while ((match = re.exec(shortCode)) !== null) { 3495 token = match[0]; 3496 if (mode === 'COMPLETE') { 3497 break; 3498 } 3499 3500 switch (mode) { 3501 case 'NOT STARTED': 3502 if (token === '[') { 3503 mode = 'GETNAME'; 3504 } 3505 break; 3506 case 'GETNAME': 3507 if (!(/\s/.test(token))) { 3508 if (!(/\]/.test(token))) { 3509 parsedValue.name += token; 3510 } else { 3511 mode = 'GETCONTENT'; 3512 } 3513 } else if (parsedValue.name) { 3514 mode = 'PARSING'; 3515 } 3516 break; 3517 case 'GETCONTENT': 3518 if (!(/\[/.test(token))) { 3519 parsedValue.content += token; 3520 } else if (parsedValue.name) { 3521 mode = 'COMPLETE'; 3522 } 3523 break; 3524 case 'PARSING': 3525 // if non text char throw it 3526 if (token === "]") { 3527 if (hasContent === 1) { 3528 mode = 'COMPLETE'; 3529 } else { 3530 mode = 'GETCONTENT'; 3531 } 3532 } else if (token === "=") { 3533 if (!curAttribute) throw ('invalid token: "' + token + '" encountered at ' + match.index); 3534 else mode = 'GET ATTRIBUTE VALUE'; 3535 } else if (!/\s/.test(token)) { 3536 curAttribute += token; 3537 } else if (curAttribute) { 3538 mode = 'SET ATTRIBUTE'; 3539 } 3540 break; 3541 case 'SET ATTRIBUTE': 3542 // these are always from match[1] 3543 if (/\s/.test(token)) { parsedValue.attributes[curAttribute] = null; } 3544 else if (token === '=') { mode = 'GET ATTRIBUTE VALUE'; } 3545 else { throw ('invalid token: "' + token + '" encountered at ' + match.index); } 3546 break; 3547 case 'GET ATTRIBUTE VALUE': 3548 if (!(/\s/.test(token))) { 3549 if (/["']/.test(token)) { 3550 quoteChar = token; 3551 parsedValue.attributes[curAttribute] = ''; 3552 mode = 'GET QUOTED ATTRIBUTE VALUE'; 3553 } else { 3554 parsedValue.attributes[curAttribute] = token; 3555 curAttribute = ''; 3556 mode = 'PARSING'; 3557 } 3558 } 3559 break; 3560 case 'GET QUOTED ATTRIBUTE VALUE': 3561 if (/\\/.test(token)) { mode = 'ESCAPE VALUE'; } 3562 else if (token === quoteChar) { 3563 mode = 'PARSING'; 3564 curAttribute = ''; 3565 } 3566 else { parsedValue.attributes[curAttribute] += token; } 3567 break; 3568 case 'ESCAPE VALUE': 3569 if (/\\'"/.test(token)) { parsedValue.attributes[curAttribute] += token; } 3570 else { parsedValue.attributes[curAttribute] += '\\' + token; } 3571 mode = 'GET QUOTED ATTRIBUTE VALUE'; 3572 break; 3573 3574 } 3575 } 3576 if (curAttribute && !parsedValue.attributes[curAttribute]) { 3577 parsedValue.attributes[curAttribute] = ''; 3578 } 3579 return parsedValue; 3580}; 3581 3582CTL_WP_STUDIO.prototype.isJsonString = function( szString ){ 3583 try{ 3584 JSON.parse(szString); 3585 }catch(e){ 3586 return false; 3587 } 3588 return true; 3589}; 3590 3591 3592CTL_WP_STUDIO.prototype.showStoppableLoading = function(szMsg, szStop){ 3593 var szHtml = ""; 3594 var id = this.makeCode(); 3595 szHtml += "<div id='"+id+"' class='ctl-wp-studio-loading-dlg-wrapper'>"; 3596 szHtml += "<div class='ctl-wp-studio-dlg-block'></div>"; 3597 szHtml += "<div class='ctl-wp-studio-dlg-content'>"; 3598 szHtml += "<p>"+szMsg+"</p>"; 3599 szHtml += "<i class='animate-spin ctl-wp-studio-icons-arrows-cw'></i>"; 3600 3601 szHtml += "<div class='ctl-wp-studio-loading-btn-container'>"; 3602 szHtml += "<div class='button-primary ctl-wp-studio-btn-stop'>" + szStop + "</div>"; 3603 szHtml += "</div>"; 3604 3605 szHtml += "</div>"; 3606 szHtml += "</div>"; 3607 3608 jQuery("body").append(szHtml); 3609 jQuery("#"+id +" .ctl-wp-studio-dlg-block").addClass( "ctl-wp-studio-dlg-block-show"); 3610 jQuery("#"+id +" .ctl-wp-studio-dlg-content").addClass( "ctl-wp-studio-content-show"); 3611 3612 return id; 3613}; 3614 3615CTL_WP_STUDIO.prototype.initLoadingStopButton = function( cbStop, cbStopOwner ){ 3616 this._bStopLoading = false;
3617 3618 jQuery( "#" + this._idLoadingDlg + " ctl-wp-studio-btn-stop").on("click", function(){ 3619 if( jQuery(this).attr("disabled") !== "disabled" ){ 3620 jQuery(this).attr("disabled","disabled"); 3621 cbStop.call(cbStopOwner); 3622 } 3623 }); 3624}; 3625 3626CTL_WP_STUDIO.prototype.createSelect2 = function( oNodeSelect ){ 3627 var oParent = this; 3628 var szTypeSearch = oNodeSelect.attr("data-type-search"); 3629 var szCustomPostType = oNodeSelect.attr("data-custom-post-type"); 3630 var szMetaKey = oNodeSelect.attr("data-meta-key"); 3631 var szGroupSlug = oNodeSelect.attr("data-group-slug"); 3632 var szSource = oNodeSelect.attr("data-source"); 3633 var szUserRole = oNodeSelect.attr("data-user-role"); 3634 var aUserRoles = oNodeSelect.attr("data-user-roles") ? 3635 oNodeSelect.attr("data-user-roles") : ""; 3636 var aPostStatuses = oNodeSelect.attr("data-post-statuses") ? 3637 oNodeSelect.attr("data-post-statuses") : ""; 3638 var bOwnedPosts = oNodeSelect.attr("data-owned-posts"); 3639 var iImage = parseInt(oNodeSelect.attr("data-get-image")); 3640 var idAncestorDescendant = parseInt(oNodeSelect.attr("data-ancestor-descendant")); 3641 var iAncestorLevel = parseInt(oNodeSelect.attr("data-ancestor-level")); 3642 3643 let szLabelSuggestion = oNodeSelect.data("label-suggestion"); 3644 if ( !szLabelSuggestion ){ 3645 szLabelSuggestion = g_oCTLWPStudio._oLangCommon["Search..."]; 3646 } 3647 3648 if ( oNodeSelect[0].hasAttribute("readonly") ){ 3649 return; 3650 } 3651 3652 var bDisabled = oNodeSelect[0].hasAttribute("disabled"); 3653 3654 var oSelectInit = { 3655 disabled : bDisabled, 3656 theme: 'bootstrap4', 3657 templateResult: function(state) { 3658 if(state.img){ 3659 return jQuery('<img onerror="g_oCTLWPStudio.onImageError(this)"class="ctl-wp-studio-select2-option-img" src="' + state.img + '"/><span>' + state.text + "</span>"); 3660 }else{ 3661 return state.text; 3662 } 3663 }, 3664 language: { 3665 inputTooShort: function (args) { 3666 var remainingChars = args.minimum - args.input.length; 3667 3668 return sprintf(oParent._oLangCommon["Please enter %d or more characters"], remainingChars); 3669 }, 3670 errorLoading: function () { 3671 return oParent._oLangCommon["The results could not be loaded."]; 3672 }, 3673 loadingMore: function () { 3674 return oParent._oLangCommon["Loading more results..."]; 3675 }, 3676 searching: function(){ 3677 return oParent._oLangCommon["Searching..."]; 3678 }, 3679 noResults: function(){ 3680 return oParent._oLangCommon["No Results Found!"]; 3681 } 3682 }, 3683 escapeMarkup: function (markup) { 3684 return markup; 3685 }, 3686 ajax: { 3687 url: oParent._oLangCommon.ajaxurl, 3688 dataType: 'json', 3689 type: 'POST', 3690 processResults: function (data) { 3691 // Tranforms the top-level key of the response object from 'items' to 'results' 3692 oNodeSelect.prop("data-items", data.items); 3693 return { 3694 results: data.items 3695 }; 3696 }, 3697 data: function (params) { 3698 3699 var query = { 3700 search: params.term, 3701 page: params.page || -1, 3702 type_search: szTypeSearch, 3703 image : iImage, 3704 custom_post_type : szCustomPostType, 3705 meta_key : szMetaKey, 3706 group_slug : szGroupSlug, 3707 user_role : szUserRole, 3708 user_roles : aUserRoles, 3709 post_statuses : aPostStatuses, 3710 source : szSource, 3711 action: g_oCTLWPStudio._szPluginCode, 3712 execute: "select2-search" 3713 }; 3714 3715 if ( !isNaN(idAncestorDescendant)){ 3716 query["ancestor_descendant"] = idAncestorDescendant; 3717 } 3718 if ( !isNaN(iAncestorLevel)){ 3719 query["ancestor_level"] = iAncestorLevel; 3720 } 3721 3722 if ( bOwnedPosts ){ 3723 query["owned_posts"] = 1; 3724 } 3725 3726 for( var i = 0; i < g_oCTLWPStudio._aSelect2AjaxDataFilters.length; i++ ){ 3727 var oFilter = g_oCTLWPStudio._aSelect2AjaxDataFilters[i]; 3728 query = oFilter.cb.call( oFilter.cbOwner, query, oNodeSelect ); 3729 } 3730 3731 // Query parameters will be ?search=[term]&page=[page] 3732 return query; 3733 } 3734 }, 3735 placeholder: szLabelSuggestion, 3736 // minimumInputLength: 3 3737 }; 3738 3739 if ( jQuery("body").hasClass("wp-admin")){ 3740 delete oSelectInit["theme"]; 3741 } 3742 3743 if ( oNodeSelect.closest(".input-group").length === 0 ){ 3744 oSelectInit["width"] = '100%'; 3745 oSelectInit["allowClear"] = true; 3746 }else{ 3747 if ( oNodeSelect.closest(".input-group").find(".btn-action-empty-select2").length === 0 ){ 3748 oSelectInit["allowClear"] = true; 3749 } 3750 } 3751 3752 oNodeSelect.select2(oSelectInit).on("change", function (e) { 3753 for( var i = 0; i < g_oCTLWPStudio._aSelect2ChangeValue.length; i++ ){ 3754 var oCallback = g_oCTLWPStudio._aSelect2ChangeValue[i]; 3755 oCallback.cb.call( oCallback.cbOwner, oNodeSelect, jQuery(this).val() ); 3756 } 3757 }); 3758}; 3759 3760CTL_WP_STUDIO.prototype.checkIfImageExists = function( szUrl, cbLoad, cbError ) { 3761 let oTester = new Image(); 3762 oTester.onload = cbLoad; 3763 oTester.onerror = cbError; 3764 oTester.src = szUrl; 3765}; 3766 3767CTL_WP_STUDIO.prototype.setIdLoadingDlg = function(idLoadingDlg){ 3768 this._idLoadingDlg = idLoadingDlg; 3769}; 3770 3771CTL_WP_STUDIO.prototype.getIdLoadingDlg = function(){ 3772 return this._idLoadingDlg; 3773}; 3774 3775CTL_WP_STUDIO.prototype.changeStateButton = function(id, iState){ 3776 3777 this._idLoadingDlg = this.showLoading(this._oLangCommon["Loading"]); 3778 var oParent = this; 3779 3780 jQuery.post( 3781 oParent._oLangCommon.ajaxurl, 3782 { 3783 'action': oParent._oLangCommon["szPluginDir"], 3784 'execute': "change-state-group", 3785 'id' : id, 3786 'state' : iState 3787 }).done( 3788 function(response){ 3789 var oData = oParent.getUrlVars(response); 3790 oParent.closeDlg(oParent._idLoadingDlg); 3791 if( oData["res"] === "true" ){ 3792 window.location.reload(); 3793 }else{ 3794 alert(oParent._oLangCommon["Ooops! Something Went Wrong!"]); 3795 } 3796 } 3797 ).fail( function(){ 3798 oParent.closeDlg(oParent._idLoadingDlg); 3799 alert(oParent._oLangCommon["Ooops! Something Went Wrong!"]); 3800 }); 3801}; 3802 3803CTL_WP_STUDIO.prototype.onImageError = function( oImage ){ 3804 oImage.src = this._oLangCommon["szDefaultImage"]; 3805}; 3806 3807/** 3808 * Convert an image 3809 * to a base64 url 3810 * @param {String} url 3811 * @param {Function} callback 3812 * @param {String} [outputFormat=image/png] 3813 */ 3814CTL_WP_STUDIO.prototype.convertImgToBase64URL = function(url, callback, outputFormat){ 3815 var img = new Image(); 3816 img.crossOrigin = 'Anonymous'; 3817 img.onload = function(){ 3818 var canvas = document.createElement('CANVAS'), 3819 ctx = canvas.getContext('2d'), dataURL; 3820 canvas.height = this.height; 3821 canvas.width = this.width;
3822 ctx.drawImage(this, 0, 0); 3823 dataURL = canvas.toDataURL(outputFormat); 3824 callback(dataURL); 3825 canvas = null; 3826 }; 3827 img.src = url; 3828}; 3829 3830CTL_WP_STUDIO.prototype.writeCookie = function(name, value, duration) { 3831 var expiringDate = new Date(); 3832 var nowDate = new Date(); 3833 expiringDate.setTime(nowDate.getTime() + (parseInt(duration) * 24 * 60 * 60 * 1000)); 3834 document.cookie = name + '=' + encodeURI(value) + 3835 '; expires=' + expiringDate.toGMTString() + '; path = /'; 3836}; 3837 3838CTL_WP_STUDIO.prototype.readCookie = function(nomeCookie) { 3839 if (document.cookie.length > 0){ 3840 var start = document.cookie.indexOf(nomeCookie + "="); 3841 if (start !== -1) { 3842 start = start + nomeCookie.length + 1; 3843 var end = document.cookie.indexOf(";",start); 3844 if (end === -1) end = document.cookie.length; 3845 return decodeURI(document.cookie.substring(start,end)); 3846 }else{ 3847 return ""; 3848 } 3849 } 3850 return ""; 3851}; 3852 3853CTL_WP_STUDIO.prototype.removeCookie = function(nomeCookie) { 3854 this.writeCookie(nomeCookie,'',-1); 3855}; 3856 3857CTL_WP_STUDIO.prototype.isCookie = function() { 3858 document.cookie = 'test_cookie'; 3859 var testcookie = (document.cookie.indexOf('test_cookie') !== -1) ? true : false; 3860 return testcookie; 3861}; 3862 3863var g_oCTLWPStudio = new CTL_WP_STUDIO("ctl-wp-studio", "ctl_wp_studio_"); 3864 3865window.onload = function() { 3866 var currentState = history.state; 3867 var newState = {...currentState, ctl_url: window.location.href}; // Aggiungi un marcatore 'skip' 3868 history.replaceState(newState, ""); 3869}; 3870 3871window.addEventListener('popstate', function(event) { 3872 if (event.state && event.state.ctl_url && event.state.ctl_url == window.location.href ){ 3873 if ( ctl_wp_studio_common_localization["szHomeUrl"] != window.location.href ){ 3874 console.log(history.length); 3875 if ( history.length > 0 ){ 3876 g_oCTLWPStudio.showLoading(); 3877 history.go(-1); 3878 } 3879 } 3880 } 3881}); 3882 3883jQuery(window).ready(function(){ 3884 var oParent = g_oCTLWPStudio; 3885 3886 window.addEventListener('pagehide', () => { 3887 if ( jQuery(".ctl-wp-studio-loading-dlg-wrapper").length > 0 ){ 3888 jQuery(".ctl-wp-studio-loading-dlg-wrapper").remove(); 3889 } 3890 }); 3891 3892 if(!jQuery.fn.serializeForm){ 3893 jQuery.fn.serializeForm = function () { 3894 var oData = {}; 3895 jQuery(this).find("[name]").each(function(){ 3896 3897 var szName = jQuery(this).attr("name"); 3898 var szNodeName = jQuery(this).prop('nodeName'); 3899 3900 if ( oData[szName] === undefined){ 3901 switch( szNodeName ){ 3902 case "INPUT":{ 3903 switch( jQuery(this).attr("type") ){ 3904 case "radio": 3905 case "checkbox":{ 3906 if( jQuery(this).is(":checked") ){ 3907 oData[szName] = jQuery(this).val(); 3908 } 3909 }break; 3910 default:{ 3911 oData[szName] = jQuery(this).val(); 3912 }break; 3913 } 3914 }break; 3915 default:{ 3916 oData[szName] = jQuery(this).val(); 3917 }break; 3918 } 3919 } 3920 }); 3921 return oData; 3922 }; 3923 } 3924 3925 if(!jQuery.fn.serializeObject){ 3926 jQuery.fn.serializeObject = function () { 3927 var o = {}, 3928 a = this.serializeArray(), 3929 i = 0, 3930 len = a.length; 3931 for (; i < len; i++) { 3932 o = oParent.addNestedPropToObj(o, a[i].name, a[i].value); 3933 } 3934 return o; 3935 }; 3936 } 3937 3938 jQuery(document).on("input", ".ctl-vulcano-strip-icon-class", function(){ 3939 3940 let value = jQuery(this).val().trim(); 3941 3942 // Se non ci sono <tag> esci 3943 if (!/<[^>]+>/.test(value)) return; 3944 3945 // Parse HTML incollato 3946 let parser = new DOMParser(); 3947 let doc = parser.parseFromString(value, "text/html"); 3948 3949 // Trova il primo elemento HTML valido 3950 let el = doc.body.firstElementChild; 3951 3952 if (el && el.classList.length > 0) { 3953 jQuery(this).val(el.classList.value); 3954 } 3955 }); 3956 3957 jQuery(window).on("unload", function() { 3958 if ( jQuery(".ctl-wp-studio-loading-dlg-wrapper").length > 0 ){ 3959 jQuery(".ctl-wp-studio-loading-dlg-wrapper").remove(); 3960 } 3961 }); 3962 3963 jQuery(document).on('error', "img",function(){ 3964 jQuery(this).attr("srcset", ""); 3965 jQuery(this).attr("data-large_image", ""); 3966 jQuery(this).attr("src", g_oCTLWPStudio._oLangCommon["szDefaultImage"]); 3967 }); 3968 3969 jQuery(".ctl-wp-studio-choose-repeater-image-container ul").each(function(){ 3970 jQuery(this).sortable().disableSelection(); 3971 }); 3972 3973 jQuery(".ctl-wp-studio-choose-repeater-file-container ul").each(function(){ 3974 jQuery(this).sortable().disableSelection(); 3975 }); 3976 3977 jQuery(".ctl-wp-studio-choose-repeater-column-breakpoints-container ul").each(function(){ 3978 jQuery(this).sortable().disableSelection(); 3979 }); 3980 3981 jQuery(document).on("click", ".ctl-vulcano-scroll-to-selector", function(e){ 3982 e.preventDefault(); 3983 e.stopPropagation(); 3984 let oNodeButton = jQuery(this); 3985 let id = oNodeButton.attr("href"); 3986 3987 3988 var iOffsetTop = jQuery(id).offset().top; 3989 3990 if( oNodeButton.closest(".modal").length > 0 ){ 3991 jQuery(id)[0].scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); 3992 }else{ 3993 iOffsetTop -= 150; 3994 jQuery('html,body').stop().animate({ scrollTop: iOffsetTop }, 'slow'); 3995 } 3996 3997 }); 3998 3999 jQuery(".ctl-wp-studio-sortable-select-list-selected").each(function(){ 4000 var oNodeList = jQuery(this); 4001 var oNodeSelect = jQuery(this).closest(".ctl-wp-studio-settings-sortable-select-container").find("select"); 4002 4003 jQuery(this).sortable({ 4004 update : function(){ 4005 oNodeSelect.html(""); 4006 oNodeList.find("li").each(function(){ 4007 oNodeSelect.append('<option value="'+ jQuery(this).attr("data-value") +'" selected="selected">'+jQuery(this).html()+'</option>'); 4008 }); 4009 4010 } 4011 }).disableSelection(); 4012 }); 4013 4014 jQuery(".ctl-wp-studio-sortable").each(function(){ 4015 oParent.makePostTableSortable(jQuery(this)); 4016 }); 4017 4018 jQuery(document).on("click",".ctl-reload-page", function(e){ 4019 oParent.showLoading(); 4020 window.location.reload(); 4021 }); 4022 4023 jQuery(document).on("click dblclick",".ctl-show-loading", function(e){ 4024 if (e.ctrlKey || e.shiftKey || e.metaKey || e.which == 2) { 4025 return true; 4026 } 4027 4028 if (jQuery(this).attr("target") == "_blank"){ 4029 return true; 4030 } 4031 4032 if ( jQuery(this).hasClass("ctl-css-tweaker-inspector")){ 4033 return true; 4034 } 4035 4036 oParent.showLoading(); 4037 }); 4038 4039 jQuery(document).on("click",".ctl-action-history-back", function(e){ 4040 if ( window.history.length > 1 ){ 4041 g_oCTLWPStudio.showLoading(); 4042 window.history.back(); 4043 } 4044 }); 4045 4046 jQuery(document).on("click", ".ctl-wp-studio-list-content li", function(){ 4047 var oNodeInput = jQuery(this).closest(".ctl-wp-studio-list-wrapper"). 4048 find(".ctl-wp-studio-list-filter>input"); 4049 oNodeInput.val(""); 4050 oParent.filterList(oNodeInput); 4051 }); 4052 4053 4054 jQuery(document).on('input', ".ctl-wp-studio-list-filter>input", function () { 4055 oParent.filterList(jQuery(this)); 4056 }); 4057 4058 4059 jQuery(document).on("click", ".ctl-wp-studio-action-dlg-fullscreen", function(){ 4060 4061 if ( jQuery("body").hasClass("ctl-dlg-fullscreen") ){ 4062 jQuery(this).find("i").attr("class", "ctl-wp-studio-icons-resize-full"); 4063 }else{ 4064 jQuery(this).find("i").attr("class", "ctl-wp-studio-icons-resize-small"); 4065 } 4066 4067 jQuery("body").toggleClass("ctl-dlg-fullscreen"); 4068 window.dispatchEvent(new Event('resize')); 4069 }); 4070 4071 jQuery(document).on("click", ".ctl-wp-studio-action-dlg-close", function(){ 4072 jQuery("body").removeClass("ctl-dlg-fullscreen"); 4073 jQuery(this).closest(".ctl-wp-studio-dlg-wrapper").remove(); 4074 }); 4075 4076 jQuery(document).on("click", ".ctl-wp-studio-dlg-action-close", 4077 function(){ 4078 g_oCTLWPStudio.closeDlg(jQuery(this).closest(".ctl-wp-studio-dlg-wrapper").attr("id")); 4079 }); 4080 4081 jQuery(document).on("click",".ctl-wp-studio-action-view-file ",function(){ 4082 var szFileUrl = jQuery(this).closest(".ctl-wp-studio-choose-file-container").find("input").val(); 4083 4084 var win = window.open(szFileUrl, '_blank'); 4085 win.focus(); 4086 }); 4087 4088 jQuery( ".ctl-wp-studio-form-control-wrapper " + 4089 ".ctl-wp-studio-select2-search" ).each(function(){ 4090 g_oCTLWPStudio.createSelect2(jQuery(this)); 4091 }); 4092 4093 jQuery(document).on("click",".ctl-wp-studio-action-html-sortable-select-empty",function(){ 4094 var oNodeContainer = jQuery(this).closest(".ctl-wp-studio-settings-select-container"); 4095 var oNodeSelect = oNodeContainer.find("select"); 4096 var oNodeList = oNodeContainer.find(".ctl-wp-studio-sortable-select-list-selected"); 4097 var oNodeComplete = oNodeContainer.find(".ctl-wp-studio-sortable-select-list-complete"); 4098 4099 oNodeSelect.html(""); 4100 4101 oNodeList.find("li").each(function(){ 4102 oNodeComplete.append('<li data-value="'+ jQuery(this).attr("data-value") +'">'+jQuery(this).text()+'</li>'); 4103 }); 4104 4105 oNodeList.html(""); 4106 }); 4107 4108 jQuery(document).on("click",".ctl-wp-studio-action-html-sortable-select-all",function(){ 4109 4110 var oNodeContainer = jQuery(this).closest(".ctl-wp-studio-settings-select-container"); 4111 var oNodeSelect = oNodeContainer.find("select"); 4112 var oNodeList = oNodeContainer.find(".ctl-wp-studio-sortable-select-list-selected"); 4113 var oNodeComplete = oNodeContainer.find(".ctl-wp-studio-sortable-select-list-complete"); 4114 4115 oNodeSelect.html(""); 4116 4117 oNodeList.find("li").each(function(){ 4118 oNodeComplete.append('<li data-value="'+ jQuery(this).attr("data-value") +'">'+jQuery(this).text()+'</li>'); 4119 }); 4120 4121 oNodeList.html(""); 4122 4123 oNodeContainer.find(".ctl-wp-studio-sortable-select-list-complete li").each( 4124 function(){ 4125 oNodeSelect.append( '<option selected="selected" value="' + jQuery(this).attr("data-value") +'">' + jQuery(this).text() + '</option>' ); 4126 4127 oNodeList.append( '<li data-value="' + jQuery(this).attr("data-value") +'">' + jQuery(this).text() + '</li>' ); 4128 4129 jQuery(this).remove(); 4130 }); 4131 }); 4132 4133 jQuery(document).on("mouseover",".vulcano-shortcode-performances", function(e){ 4134 var idWidget = jQuery(this).attr("data-widget-id"); 4135 jQuery('.widget-'+idWidget).addClass("vulcano-shortcode-hover"); 4136 }); 4137 4138 jQuery(document).on("mouseout",".vulcano-shortcode-performances", function(e){ 4139 var idWidget = jQuery(this).attr("data-widget-id"); 4140 jQuery('.widget-'+idWidget).removeClass("vulcano-shortcode-hover"); 4141 }); 4142 4143 jQuery(document).on("click",".ctl-wp-studio-action-post-ordering-move-down", function(e){ 4144 e.preventDefault(); 4145 4146 var oNodeContainer = jQuery(this).closest("tbody"); 4147 var index = jQuery(this).closest("tr").index(); 4148 4149 if ( index == oNodeContainer.children().length-1 ){ 4150 return; 4151 } 4152 4153 var oNodeToClone = jQuery(this).closest("tr"); 4154 var oNodeCloned = oNodeToClone.clone(); 4155 oNodeToClone.remove(); 4156 4157 oNodeCloned.insertAfter(oNodeContainer.children().eq(index)); 4158 oParent.updatePostOrdering(); 4159 4160 }); 4161 4162 jQuery(document).on("click",".ctl-wp-studio-action-post-ordering-move-up", function(e){ 4163 e.preventDefault(); 4164 4165 var oNodeContainer = jQuery(this).closest("tbody"); 4166 var index = jQuery(this).closest("tr").index()-1; 4167 4168 if ( index < 0 ){ 4169 return; 4170 } 4171 4172 var oNodeToClone = jQuery(this).closest("tr"); 4173 var oNodeCloned = oNodeToClone.clone(); 4174 oNodeToClone.remove(); 4175 4176 oNodeCloned.insertBefore(oNodeContainer.children().eq(index)); 4177 oParent.updatePostOrdering(); 4178 }); 4179 4180 jQuery(".ctl-wp-studio-action-toggle-state").on("click",function(e){ 4181 e.preventDefault(); 4182 jQuery(this).blur();
4183 var iCurState = parseInt(jQuery(this).attr("data-state")); 4184 4185 if( iCurState === 1 ){ 4186 iCurState = 0; 4187 }else{ 4188 iCurState = 1; 4189 } 4190 4191 g_oCTLWPStudio.changeStateButton(jQuery(this).closest("tr").attr("data-id"), iCurState); 4192 }); 4193 4194 jQuery(window).resize(function() { 4195 g_oCTLWPStudio.onResize(); 4196 }); 4197 4198 g_oCTLWPStudio.onResize(); 4199 4200 g_oCTLWPStudio.applyChromaCorrection(); 4201 4202 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 4203 g_oCTLWPStudio.applyChromaCorrection(oNodeModal); 4204 }); 4205 4206 4207}); 4208 4209function numberFormat (number, decimals, dec_point, thousands_sep) { 4210 // Strip all characters but numerical ones. 4211 number = (number + '').replace(/[^0-9+\-Ee.]/g, ''); 4212 var n = !isFinite(+number) ? 0 : +number, 4213 prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), 4214 sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, 4215 dec = (typeof dec_point === 'undefined') ? '.' : dec_point, 4216 s = '', 4217 toFixedFix = function (n, prec) { 4218 var k = Math.pow(10, prec); 4219 return '' + Math.round(n * k) / k; 4220 }; 4221 // Fix for IE parseFloat(0.55).toFixed(0) = 0; 4222 s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); 4223 if (s[0].length > 3) { 4224 s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); 4225 } 4226 if ((s[1] || '').length < prec) { 4227 s[1] = s[1] || ''; 4228 s[1] += new Array(prec - s[1].length + 1).join('0'); 4229 } 4230 return s.join(dec); 4231} 4232 4233function sprintfNumber( szZero, szSingle, szPlural, iNum ){ 4234 if ( iNum === 0 ){ 4235 return szZero; 4236 }else if ( iNum === 1 ){ 4237 return sprintf(szSingle, iNum); 4238 }else{ 4239 return sprintf(szPlural, iNum); 4240 } 4241} 4242 4243function htmlEntities(str) { 4244 return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); 4245} 4246 4247function get_html_translation_table (table, quoteStyle) { // eslint-disable-line camelcase 4248 4249 var entities = {}; 4250 var hashMap = {}; 4251 var decimal; 4252 var constMappingTable = {}; 4253 var constMappingQuoteStyle = {}; 4254 var useTable = {}; 4255 var useQuoteStyle = {}; 4256 4257 // Translate arguments 4258 constMappingTable[0] = 'HTML_SPECIALCHARS'; 4259 constMappingTable[1] = 'HTML_ENTITIES'; 4260 constMappingQuoteStyle[0] = 'ENT_NOQUOTES'; 4261 constMappingQuoteStyle[2] = 'ENT_COMPAT'; 4262 constMappingQuoteStyle[3] = 'ENT_QUOTES'; 4263 4264 useTable = !isNaN(table) 4265 ? constMappingTable[table] 4266 : table 4267 ? table.toUpperCase() 4268 : 'HTML_SPECIALCHARS'; 4269 4270 useQuoteStyle = !isNaN(quoteStyle) 4271 ? constMappingQuoteStyle[quoteStyle] 4272 : quoteStyle 4273 ? quoteStyle.toUpperCase() 4274 : 'ENT_COMPAT'; 4275 4276 if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') { 4277 throw new Error('Table: ' + useTable + ' not supported'); 4278 } 4279 4280 entities['38'] = '&'; 4281 if (useTable === 'HTML_ENTITIES') { 4282 entities['160'] = ' '; 4283 entities['161'] = '¡'; 4284 entities['162'] = '¢'; 4285 entities['163'] = '£'; 4286 entities['164'] = '¤'; 4287 entities['165'] = '¥'; 4288 entities['166'] = '¦'; 4289 entities['167'] = '§'; 4290 entities['168'] = '¨'; 4291 entities['169'] = '©'; 4292 entities['170'] = 'ª'; 4293 entities['171'] = '«'; 4294 entities['172'] = '¬'; 4295 entities['173'] = '­'; 4296 entities['174'] = '®'; 4297 entities['175'] = '¯'; 4298 entities['176'] = '°'; 4299 entities['177'] = '±'; 4300 entities['178'] = '²'; 4301 entities['179'] = '³'; 4302 entities['180'] = '´'; 4303 entities['181'] = 'µ'; 4304 entities['182'] = '¶'; 4305 entities['183'] = '·'; 4306 entities['184'] = '¸'; 4307 entities['185'] = '¹'; 4308 entities['186'] = 'º'; 4309 entities['187'] = '»'; 4310 entities['188'] = '¼'; 4311 entities['189'] = '½'; 4312 entities['190'] = '¾'; 4313 entities['191'] = '¿'; 4314 entities['192'] = 'À'; 4315 entities['193'] = 'Á'; 4316 entities['194'] = 'Â'; 4317 entities['195'] = 'Ã'; 4318 entities['196'] = 'Ä'; 4319 entities['197'] = 'Å'; 4320 entities['198'] = 'Æ'; 4321 entities['199'] = 'Ç'; 4322 entities['200'] = 'È'; 4323 entities['201'] = 'É'; 4324 entities['202'] = 'Ê'; 4325 entities['203'] = 'Ë'; 4326 entities['204'] = 'Ì'; 4327 entities['205'] = 'Í'; 4328 entities['206'] = 'Î'; 4329 entities['207'] = 'Ï'; 4330 entities['208'] = 'Ð'; 4331 entities['209'] = 'Ñ'; 4332 entities['210'] = 'Ò'; 4333 entities['211'] = 'Ó'; 4334 entities['212'] = 'Ô'; 4335 entities['213'] = 'Õ'; 4336 entities['214'] = 'Ö'; 4337 entities['215'] = '×'; 4338 entities['216'] = 'Ø'; 4339 entities['217'] = 'Ù'; 4340 entities['218'] = 'Ú'; 4341 entities['219'] = 'Û'; 4342 entities['220'] = 'Ü'; 4343 entities['221'] = 'Ý'; 4344 entities['222'] = 'Þ'; 4345 entities['223'] = 'ß';
4346 entities['224'] = 'à'; 4347 entities['225'] = 'á'; 4348 entities['226'] = 'â'; 4349 entities['227'] = 'ã'; 4350 entities['228'] = 'ä'; 4351 entities['229'] = 'å'; 4352 entities['230'] = 'æ'; 4353 entities['231'] = 'ç'; 4354 entities['232'] = 'è'; 4355 entities['233'] = 'é'; 4356 entities['234'] = 'ê'; 4357 entities['235'] = 'ë'; 4358 entities['236'] = 'ì'; 4359 entities['237'] = 'í'; 4360 entities['238'] = 'î'; 4361 entities['239'] = 'ï'; 4362 entities['240'] = 'ð'; 4363 entities['241'] = 'ñ'; 4364 entities['242'] = 'ò'; 4365 entities['243'] = 'ó'; 4366 entities['244'] = 'ô'; 4367 entities['245'] = 'õ'; 4368 entities['246'] = 'ö'; 4369 entities['247'] = '÷'; 4370 entities['248'] = 'ø'; 4371 entities['249'] = 'ù'; 4372 entities['250'] = 'ú'; 4373 entities['251'] = 'û'; 4374 entities['252'] = 'ü'; 4375 entities['253'] = 'ý'; 4376 entities['254'] = 'þ'; 4377 entities['255'] = 'ÿ'; 4378 } 4379 4380 if (useQuoteStyle !== 'ENT_NOQUOTES') { 4381 entities['34'] = '"'; 4382 } 4383 if (useQuoteStyle === 'ENT_QUOTES') { 4384 entities['39'] = '''; 4385 } 4386 entities['60'] = '<'; 4387 entities['62'] = '>'; 4388 4389 // ascii decimals to real symbols 4390 for (decimal in entities) { 4391 if (entities.hasOwnProperty(decimal)) { 4392 hashMap[String.fromCharCode(decimal)] = entities[decimal]; 4393 } 4394 } 4395 4396 return hashMap; 4397}; 4398 4399 4400function html_entity_decode (string, quoteStyle) { // eslint-disable-line camelcase 4401 4402 4403 var tmpStr = ''; 4404 var entity = ''; 4405 var symbol = ''; 4406 tmpStr = string.toString(); 4407 4408 var hashMap = get_html_translation_table('HTML_ENTITIES', quoteStyle); 4409 if (hashMap === false) { 4410 return false; 4411 } 4412 4413 // @todo: & problem 4414 // https://locutus.io/php/get_html_translation_table:416#comment_97660 4415 delete (hashMap['&']); 4416 hashMap['&'] = '&'; 4417 4418 for (symbol in hashMap) { 4419 entity = hashMap[symbol]; 4420 tmpStr = tmpStr.split(entity).join(symbol); 4421 } 4422 tmpStr = tmpStr.split(''').join("'"); 4423 4424 return tmpStr; 4425} 4426 4427 4428function stripslashes(str) { 4429 return (str + '') 4430 .replace(/\\(.?)/g, function (s, n1) { 4431 switch (n1) { 4432 case '\\': 4433 return '\\'; 4434 case '0': 4435 return '\u0000'; 4436 case '': 4437 return ''; 4438 default: 4439 return n1; 4440 } 4441 }); 4442}; 4443 4444function addslashes (str) { 4445 return (str + '') 4446 .replace(/[\\"']/g, '\\$&') 4447 .replace(/\u0000/g, '\\0'); 4448} 4449 4450 4451 CTL_WP_STUDIO.prototype.resizeAspectRatioElements = function( oNodeDom ){ 4452 var oParent = this; 4453 4454 if (oNodeDom){ 4455 setTimeout(function(){ 4456 oNodeDom.find(".ctl-aspect-ratio").each(function(){ 4457 oParent.__onResize(jQuery(this)); 4458 }); 4459 },500); 4460 4461 oNodeDom.find(".ctl-aspect-ratio").each(function(){ 4462 oParent.__onResize(jQuery(this)); 4463 }); 4464 }else{ 4465 jQuery(".ctl-aspect-ratio").each(function(){ 4466 oParent.__onResize(jQuery(this)); 4467 }); 4468 } 4469 }; 4470 4471CTL_WP_STUDIO.prototype.onResize = function( oNodeDom ){ 4472 4473 this.resizeAspectRatioElements(oNodeDom); 4474} 4475 4476CTL_WP_STUDIO.prototype.__onResize = function( oNodeDom ){ 4477 var szAspectRatio = oNodeDom.attr("data-aspect-ratio"); 4478 4479 if( szAspectRatio === "-1" ){ 4480 return; 4481 } 4482 4483 var aValues = oNodeDom.attr("data-aspect-ratio").split(":"); 4484 var w = aValues[0]; 4485 var h = aValues[1]; 4486 var iCurW = oNodeDom.width(); 4487 var iNewH = Math.round(iCurW * (h/w)); 4488 4489 if( oNodeDom.attr("data-max-height") ){ 4490 var iMaxHeight = parseInt(oNodeDom.attr("data-max-height")); 4491 if( iNewH > iMaxHeight ){ 4492 iNewH = iMaxHeight; 4493 } 4494 } 4495 4496 oNodeDom.css( "height" , iNewH + "px"); 4497} 4498 4499CTL_WP_STUDIO.prototype.printLayout = function(szNodeSelector, szPageFormat, szPrintOrientation){ 4500 if (!szPageFormat){ 4501 szPageFormat = 'A4'; 4502 } 4503 4504 if (!szPrintOrientation){ 4505 szPrintOrientation = 'portrait'; 4506 } 4507 4508 var oRestorePage = jQuery('body').clone(); 4509 4510 oNodeElementToPrint = this.normalizePrintableLayout(jQuery(szNodeSelector), szPageFormat); 4511 jQuery('body').addClass("ctl-printing"); 4512 jQuery('body').addClass("ctl-printing-"+szPageFormat); 4513 jQuery('body').html(oNodeElementToPrint) 4514 window.print(); 4515 4516 setTimeout( function(){ 4517 jQuery('body').removeClass("ctl-printing"); 4518 jQuery('body').removeClass("ctl-printing-"+szPageFormat); 4519 jQuery('body').empty().append(oRestorePage.children()); 4520 }, 1000 ); 4521} 4522 4523CTL_WP_STUDIO.prototype.normalizePrintableLayout = function(oNodeToNormalize, szPageFormat, szPrintOrientation){ 4524 oNodeToNormalize = oNodeToNormalize.clone(); 4525 4526 switch(szPageFormat){ 4527 case 'A4':{ 4528 if ( szPrintOrientation === 'portrait'){ 4529 oNodeToNormalize.css('width', '21cm'); 4530 oNodeToNormalize.css('min-height', '29.7cm'); 4531 } 4532 }break; 4533 case "58mm":{ 4534 if ( szPrintOrientation === 'portrait'){ 4535 oNodeToNormalize.css('width', '58mm'); 4536 } 4537 }break; 4538 } 4539 4540 oNodeToNormalize.find('.d-print-none').remove(); 4541 oNodeToNormalize.find('.form-control').attr('readonly', true); 4542 oNodeToNormalize.find('.form-control').each(function(){ 4543 jQuery(this).attr('value',jQuery(this).val()); 4544 }); 4545 oNodeToNormalize.find('.ctl-table-td-cell').removeClass('editable'); 4546 oNodeToNormalize.find('.ctl-table-th-cell').removeClass('sorting'); 4547 4548 oNodeToNormalize = wpdk_apply_filters("ctl-print-normalize-jquery-node", oNodeToNormalize ); 4549 4550 return oNodeToNormalize; 4551} 4552 4553CTL_WP_STUDIO.prototype.isValidBase64 = function (str) { 4554 if (typeof str !== 'string') return false;
4555 4556 // Base64 regex: only A-Z, a-z, 0-9, +, / and optional = padding 4557 const base64Regex = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/; 4558 4559 // Quick format check 4560 if (!base64Regex.test(str) || str.length % 4 !== 0) { 4561 return false; 4562 } 4563 4564 try { 4565 Base64.decode(str); // Will throw if invalid 4566 return true; 4567 } catch (e) { 4568 return false; 4569 } 4570} 4571 4572CTL_WP_STUDIO.prototype.adminGetPostsByMeta = function( meta_key, meta_value, 4573 post_type = "post", 4574 posts_per_page = -1, 4575 post_status = "any", 4576 cb = null, 4577 cbOwner = null ){ 4578 var oFormData = { 4579 "execute" : "get-posts-by-meta", 4580 "action" : this._szPluginCode, 4581 "meta_key" : meta_key, 4582 "meta_value" : meta_value, 4583 "post_type" : post_type, 4584 "posts_per_page" : posts_per_page, 4585 "post_status" : post_status 4586 } 4587 4588 var idLoadingDlg = this.showLoading(this._oLangCommon["Loading"]); 4589 var oParent = this; 4590 4591 jQuery.ajax({ 4592 url: oParent._oLangCommon.ajaxurl, 4593 type: "post", 4594 data: oFormData 4595 }).done(function (data) { 4596 data = JSON.parse(data); 4597 4598 oParent.closeDlg(idLoadingDlg); 4599 4600 if (data.res === "false"){ 4601 alert(oParent._oLangCommon["Ooops! Something Went Wrong!"]); 4602 }else{ 4603 if(cb){ 4604 if (cbOwner){ 4605 cb.call(cbOwner); 4606 }else{ 4607 cb.call(this, data.posts ); 4608 } 4609 } 4610 } 4611 }).fail(function (jqXHR, textStatus) { 4612 alert(oParent._oLangCommon["Ooops! Something Went Wrong!"]); 4613 }); 4614} 4615 4616CTL_WP_STUDIO.prototype.applyChromaCorrection = function( oNodeDom = null){ 4617 4618 let oNodeToApplyChromaCorrection = null; 4619 4620 if (oNodeDom){ 4621 oNodeToApplyChromaCorrection = oNodeDom.find(".chroma-apply-correction"); 4622 }else{ 4623 oNodeToApplyChromaCorrection = jQuery(".chroma-apply-correction"); 4624 } 4625 4626 oNodeToApplyChromaCorrection.each(function(){ 4627 var szBGColor = jQuery(this).css("background-color"); 4628 if (!szBGColor || szBGColor === "transparent" || szBGColor === "rgba(0, 0, 0, 0)"){ 4629 return; 4630 } 4631 jQuery(this).css("color", (chroma(szBGColor).luminance() < 0.5 ? "color : #fff;" : "color : #303030;")); 4632 }); 4633} 4634 4635CTL_WP_STUDIO.prototype.onAppMobileBackHistory = function() { 4636 console.log("onAppMobileBackHistory"); 4637}; 4638 4639CTL_WP_STUDIO.prototype.isIOS = function() { 4640 if(g_oCTLWPStudio.isIpad()){ 4641 return true; 4642 } 4643 4644 var iDevices = [ 4645 'iPad Simulator', 4646 'iPhone Simulator', 4647 'iPod Simulator', 4648 'iPad', 4649 'iPhone', 4650 'iPod' 4651 ]; 4652 4653 while (iDevices.length) { 4654 if (navigator.platform === iDevices.pop()){ 4655 return true; 4656 } 4657 } 4658 4659 return false; 4660} 4661 4662CTL_WP_STUDIO.prototype.openWindow = function(url, target) { 4663 4664 const nomeTab = url; 4665 4666 // Applichiamo la logica solo se è un link esterno/nuova scheda 4667 if (target === '_blank') { 4668/* 4669 // Avvisiamo le altre schede 4670 canalenavigazione.postMessage({ 4671 tipo: 'RICHIESTA_FOCUS', 4672 nome: nomeTab 4673 }); 4674*/ 4675 // Apriamo la finestra (se è già aperta, il browser userà quella esistente) 4676 window.open(url, nomeTab); 4677 4678 }else{ 4679 window.open(url, target); 4680 } 4681 4682} 4683 4684CTL_WP_STUDIO.prototype.isIpad = function() { 4685 var isIpad = navigator.userAgent.toLowerCase().indexOf('ipad') !== -1; 4686 4687 if (!isIpad && navigator.userAgent.match(/Mac/) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2) { 4688 return true; 4689 } 4690 4691 return isIpad; 4692} 4693 4694CTL_WP_STUDIO.prototype.isAndroid = function() { 4695 return navigator.userAgent.toLowerCase().indexOf("android") > -1; 4696}; 4697 4698CTL_WP_STUDIO.prototype.downloadFile = function( urlFile, fileName = null, bLoading = false ){ 4699 4700 if(fileName === null){ 4701 fileName = urlFile.split("/").pop(); 4702 } 4703 4704 try{ 4705 let oJSONDataApp = { 4706 action: "download_file", 4707 name: fileName, 4708 url: urlFile 4709 } 4710 4711 if(!this.isIOS()){ 4712 if(Android){ 4713 Android.postMessage(JSON.stringify(oJSONDataApp)); 4714 }else{ 4715 this.downloadFromBrowser(urlFile, fileName, bLoading); 4716 } 4717 }else{ 4718 if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.iosBridge) { 4719 window.webkit.messageHandlers.iosBridge.postMessage( 4720 JSON.stringify(oJSONDataApp) 4721 ); 4722 }else{ 4723 this.downloadFromBrowser(urlFile, fileName, bLoading); 4724 } 4725 } 4726 }catch(e){ 4727 this.downloadFromBrowser(urlFile, fileName, bLoading); 4728 } 4729} 4730
4731CTL_WP_STUDIO.prototype.downloadFromBrowser = function( urlFile, szFileName, bLoading = false ){ 4732 /*let link = document.createElement("a"); 4733 link.href = urlFile; 4734 link.download = szFileName; 4735 link.target = "_blank"; 4736 link.click(); 4737 link = null; 4738*/ 4739 4740/* 4741 const a = document.createElement('a'); 4742 a.href = urlFile; 4743 a.download = szFileName || ''; 4744 document.body.appendChild(a); 4745 a.click(); 4746 document.body.removeChild(a); 4747 */ 4748 4749 var idLoading = null; 4750 if (bLoading){ 4751 idLoading = this.showLoading(g_oCTLWPStudio._oLangCommon["Loading"]); 4752 } 4753 4754 4755 fetch(urlFile) 4756 .then(res => { 4757 if (!res.ok) throw new Error('Network response was not ok'); 4758 return res.blob(); 4759 }) 4760 .then(blob => { 4761 const blobUrl = URL.createObjectURL(blob); 4762 const a = document.createElement('a'); 4763 a.href = blobUrl; 4764 a.download = szFileName; 4765 document.body.appendChild(a); 4766 a.click(); 4767 a.remove(); 4768 URL.revokeObjectURL(blobUrl); 4769 4770 if (bLoading){ 4771 g_oCTLWPStudio.closeDlg(idLoading); 4772 } 4773 }) 4774 .catch(err => { 4775 if (bLoading){ 4776 g_oCTLWPStudio.closeDlg(idLoading); 4777 } 4778 console.error('Download error:', err) 4779 }); 4780} 4781// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/modules/ctl-smtp/php/../js/front.js 4782jQuery(document).ready(function(){ 4783 4784 4785 jQuery(document).on("click", ".btn-action-remove-attachment-from-mail-sender ", function(){ 4786 var oNodeButton = jQuery(this); 4787 oNodeButton.closest("li").remove(); 4788 }); 4789 4790 jQuery(document).on("click", ".ctl-smtp-action-edit-smtp-params", function(){ 4791 ctlSMTPEditSMTPParams(jQuery(this)); 4792 }); 4793 4794 jQuery(document).on("click", ".ctl-smtp-action-test-email", function(){ 4795 ctlSMTPShowMailModal( g_oCTLSMTPLocalizationFront["Test Email"], 4796 "", "", g_oCTLSMTPLocalizationFront["Test Email"], g_oCTLSMTPLocalizationFront["Hello world"], [], 4797 "ctl-smtp-action-send-test-email"); 4798 }); 4799 4800 jQuery(document).on("click", ".ctl-smtp-action-send-test-email", function(){ 4801 ctlSMTPShowSendMail(jQuery(this)); 4802 }); 4803 4804 jQuery(document).on("click", ".ctl-smtp-action-show-help", function(){ 4805 ctlSMTPShowHelpModal(jQuery(this)); 4806 }); 4807 4808 jQuery(document).on("click", ".ctl-smtp-action-reset-smtp-params", function(){ 4809 ctlSMTPResetSMTPParams(jQuery(this)); 4810 }); 4811}); 4812 4813function ctlSMTPShowHelpModal( oNodeButton ){ 4814 4815 var oFormData = {}; 4816 oFormData['action'] = 'ctl-wp-studio'; 4817 oFormData['execute'] = 'ctl-smtp'; 4818 oFormData['extension-action'] = 'get-html-smtp-guide'; 4819 oFormData["click-class"] = "ctl-smtp-action-show-help"; 4820 4821 var idLoading = g_oCTLWPStudio.showLoading(""); 4822 4823 jQuery.ajax({ 4824 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 4825 type: "POST", 4826 data : oFormData, 4827 cache: false, 4828 method: 'POST', 4829 success:function(response, textStatus, jqXHR){ 4830 g_oCTLWPStudio.closeDlg(idLoading); 4831 var oResponse = jQuery.parseJSON(response); 4832 4833 g_oCTLBootstrapModals.showModal({ 4834 wrapper_classes : "ctl-smtp-help-modal", 4835 modal_title : g_oCTLSMTPLocalizationFront["Help"], 4836 modal_content : oResponse.html, 4837 entrance_animation : "animate__slideInUp", 4838 exit_animation : "animate__slideOutDown", 4839 closeable : true, 4840 width: '80', 4841 height: '100', 4842 position: "centered" 4843 }); 4844 }, 4845 error: function(jqXHR, textStatus, errorThrown){ 4846 g_oCTLWPStudio.closeDlg(idLoading); 4847 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 4848 } 4849 }); 4850} 4851 4852 4853function ctlSMTPShowMailModal( szModalTitle, szTo, szCC, szSubject, szMessage, aAttachments, szSendAction, szSendAttributes = ""){ 4854 4855 var oConfigEmailDest = { 4856 'field-name': 'email-dest', 4857 'label-title': g_oCTLSMTPLocalizationFront["To"], 4858 'label-description': g_oCTLSMTPLocalizationFront["Email address of the recipient."], 4859 'mandatory': true, 4860 'display' : 3 4861 }; 4862 4863 var oConfigEmailCC = { 4864 'field-name': 'email-cc', 4865 'label-title': g_oCTLSMTPLocalizationFront["CC"], 4866 'label-description': g_oCTLSMTPLocalizationFront["Email address of the CC recipient."], 4867 'mandatory': false, 4868 'display' : 3 4869 }; 4870 4871 var oConfigEmailSubject = { 4872 'field-name': 'email-subject', 4873 'label-title': g_oCTLSMTPLocalizationFront["Subject"], 4874 'label-description': g_oCTLSMTPLocalizationFront["Subject of the email."], 4875 'mandatory': true, 4876 'display' : 3 4877 }; 4878 4879 var oConfigEmailMessage = { 4880 "field-name": "email-message", 4881 "label-title": g_oCTLSMTPLocalizationFront["Message"], 4882 "label-description": g_oCTLSMTPLocalizationFront["Email body."], 4883 "mandatory": true, 4884 'display' : 3 4885 }; 4886 4887 var oConfigAttachmentsMessage = { 4888 "field-name": "email-attachments", 4889 "label-title": g_oCTLSMTPLocalizationFront["Attachments"], 4890 'display' : 3 4891 }; 4892 4893 html = ''; 4894 html += '<form>'; 4895 html += formFieldsBuildTextField(oConfigEmailDest, szTo); 4896 html += formFieldsBuildTextField(oConfigEmailCC, szCC); 4897 html += formFieldsBuildTextField(oConfigEmailSubject, szSubject); 4898 html += formFieldsBuildTextAreaField(oConfigEmailMessage, szMessage); 4899 4900 if ( aAttachments.length > 0 ){ 4901 let szAttachmentsList = ""; 4902 for(let i = 0; i < aAttachments.length; i++){ 4903 szAttachmentsList += '<li class="px-2 py-1 list-group-item d-flex justify-content-between align-items-start">'; 4904 szAttachmentsList += '<a style="direction: rtl;" class="text-left btn btn-xs btn-link text-truncate" href="'+aAttachments[i]+'" target="_blank">'+aAttachments[i]+'</a>'; 4905 szAttachmentsList += '<input type="hidden" name="attachments[]" value="'+aAttachments[i]+'" />'; 4906 szAttachmentsList += '<button type="button" class="btn btn-xs btn-action-remove-attachment-from-mail-sender btn-danger ml-3">
4906<i class="fa-solid fa-trash-can px-1"></i></button>'; 4907 szAttachmentsList += '</li>'; 4908 } 4909 4910 let htmlAttachments = ''; 4911 htmlAttachments += '<div class="ctl-smtp-send-files-via-mail-modal">'; 4912 htmlAttachments += ' <ul class="list-group">'+szAttachmentsList+'</ul>'; 4913 htmlAttachments += '</div>'; 4914 4915 html += formFieldsBuildHtmlField( oConfigAttachmentsMessage, htmlAttachments); 4916 } 4917 4918 html += '</form>'; 4919 4920 var oButtonConfig = { 4921 "button-title" : g_oCTLSMTPLocalizationFront["Send"], 4922 "display" : "inline-block", 4923 "icon-class" : "fa-solid fa-paper-plane", 4924 "classes" : szSendAction, 4925 "semantic-color" : "primary", 4926 "data-attr" : szSendAttributes 4927 }; 4928 var oSendButton = formFieldsBuildButtonField(oButtonConfig); 4929 4930 g_oCTLBootstrapModals.showModal({ 4931 wrapper_classes : "ctl-smtp-send-email-modal", 4932 modal_title : szModalTitle, 4933 modal_content : html, 4934 entrance_animation : "animate__slideInUp", 4935 exit_animation : "animate__slideOutDown", 4936 closeable : true, 4937 width: '70', 4938 position: "centered", 4939 footer_btn_close: false, 4940 footer_buttons: [oSendButton] 4941 }); 4942} 4943 4944function ctlSMTPShowSendMail( oNodeButton ){ 4945 var oNodeForm = oNodeButton.closest(".ctl-modal-content").find("form").first(); 4946 var oFormData = oNodeForm.serializeObject(); 4947 4948 oFormData['action'] = 'ctl-wp-studio'; 4949 oFormData['execute'] = 'ctl-smtp'; 4950 oFormData['extension-action'] = 'test-email'; 4951 oFormData["click-class"] = "ctl-smtp-action-send-test-email"; 4952 4953 if(ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 4954 return; 4955 } 4956 4957 var idLoading = g_oCTLWPStudio.showLoading(""); 4958 4959 jQuery.ajax({ 4960 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 4961 type: "POST", 4962 data : oFormData, 4963 cache: false, 4964 method: 'POST', 4965 success:function(response, textStatus, jqXHR){ 4966 g_oCTLWPStudio.closeDlg(idLoading); 4967 var oResponse = jQuery.parseJSON(response); 4968 4969 alert(oResponse.alert); 4970 4971 if(oResponse.res){ 4972 g_oCTLBootstrapModals.closeModal(oNodeButton.closest(".modal")); 4973 } 4974 }, 4975 error: function(jqXHR, textStatus, errorThrown){ 4976 g_oCTLWPStudio.closeDlg(idLoading); 4977 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 4978 } 4979 }); 4980} 4981 4982function ctlSMTPEditSMTPParams( oNodeButton ){ 4983 var oNodeForm = oNodeButton.closest(".ctl-smtp-params").find("form").first(); 4984 var oFormData = oNodeForm.serializeObject(); 4985 4986 oFormData['action'] = 'ctl-wp-studio'; 4987 oFormData['execute'] = 'ctl-smtp'; 4988 oFormData['extension-action'] = 'edit-smtp-params'; 4989 oFormData["click-class"] = "ctl-smtp-action-edit-smtp-params"; 4990 4991 if(ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 4992 return; 4993 } 4994 4995 var idLoading = g_oCTLWPStudio.showLoading(""); 4996 4997 jQuery.ajax({ 4998 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 4999 type: "POST", 5000 data : oFormData, 5001 cache: false, 5002 method: 'POST', 5003 success:function(response, textStatus, jqXHR){ 5004 var oResponse = jQuery.parseJSON(response); 5005 5006 if( oResponse.res === false ){ 5007 g_oCTLWPStudio.closeDlg(idLoading); 5008 5009 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 5010 5011 if ( oResponse.alert ){ 5012 g_oCTLBootstrapModals.alert("", oResponse.alert ); 5013 } 5014 5015 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false, oFormData, oResponse ] ); 5016 }else{ 5017 window.location.reload(); 5018 } 5019 }, 5020 error: function(jqXHR, textStatus, errorThrown){ 5021 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false, oFormData, oResponse ] ); 5022 g_oCTLWPStudio.closeDlg(idLoading); 5023 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5024 } 5025 }); 5026} 5027 5028function ctlSMTPResetSMTPParams( oNodeButton ){ 5029 var szConfirmBtnTitle = g_oCTLSMTPLocalizationFront["Yes"]; 5030 var id = g_oCTLBootstrapModals.showModal({ 5031 modal_content : g_oCTLSMTPLocalizationFront["Do you want to reset SMTP params?"], 5032 closeable : false, 5033 position: "centered", 5034 button_close_title : g_oCTLSMTPLocalizationFront["No"], 5035 footer_buttons : ['<button class="btn btn-outline-primary" data-confirm="modal">'+szConfirmBtnTitle+'</button>'] 5036 }); 5037 5038 jQuery('#'+id + ' button[data-confirm="modal"]').on( "click", function(){ 5039 var oFormData = {}; 5040 5041 oFormData['action'] = 'ctl-wp-studio'; 5042 oFormData['execute'] = 'ctl-smtp'; 5043 oFormData['extension-action'] = 'reset-smtp-params'; 5044 oFormData["click-class"] = "ctl-smtp-action-reset-smtp-params"; 5045 5046 var idLoading = g_oCTLWPStudio.showLoading(""); 5047 5048 jQuery.ajax({ 5049 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 5050 type: "POST", 5051 data : oFormData, 5052 cache: false, 5053 method: 'POST', 5054 success:function(response, textStatus, jqXHR){ 5055 var oResponse = jQuery.parseJSON(response); 5056 5057 if( oResponse.res === true ){ 5058 window.location.reload(); 5059 } 5060 }, 5061 error: function(jqXHR, textStatus, errorThrown){ 5062 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false, oFormData, oResponse ] ); 5063 g_oCTLWPStudio.closeDlg(idLoading); 5064 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5065 } 5066 }); 5067 }); 5068} 5069// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/modules/ctl-documentation/php/../js/front.js 5070jQuery(document).ready(function(){ 5071 jQuery(document).on("click", ".ctl-documentation-action-show-current-page-doc", function(){
5072 ctlVulcanoDocumentationShowCurrentPageDoc(jQuery(this)); 5073 }); 5074 5075 jQuery(document).on("click", ".ctl-documentation-action-show-current-modal-doc", function(){ 5076 ctlVulcanoDocumentationShowCurrentModalDoc(jQuery(this)); 5077 }); 5078 5079 jQuery(document).on("click", ".ctl-vulcano-admin-gui-shortcut-action-widget-documentation", function(){ 5080 ctlVulcanoDocumentationGetWidgetDocumentation(jQuery(this)); 5081 }); 5082 5083 jQuery(document).on("click", ".ctl-documentation-action-update-widget-documentation", function(){ 5084 ctlVulcanoDocumentationUpdateWidgetDocumentation(jQuery(this)); 5085 }); 5086 5087 jQuery(document).on("click", ".ctl-documentation-action-reset-widget-documentation", function(){ 5088 ctlVulcanoDocumentationResetWidgetDocumentation(jQuery(this)); 5089 }); 5090 5091 wpdk_add_action("ctl-theme-bootstrap-tabs-shown-tab", function( oNodeTabPane ){ 5092 ctlVulcanoDocumentationBuildIndex(oNodeTabPane); 5093 ctlVulcanoDocumentationBuildAnonymousWidgets(oNodeTabPane); 5094 }); 5095 5096 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 5097 ctlVulcanoDocumentationBuildIndex(oNodeModal); 5098 ctlVulcanoDocumentationBuildAnonymousWidgets(oNodeModal); 5099 }); 5100 5101 ctlVulcanoDocumentationBuildIndex(); 5102}); 5103 5104function ctlVulcanoDocumentationUpdateWidgetDocumentation(oNodeButton){ 5105 5106 let oFormData = jQuery("#"+oNodeButton.data("form-id")).serializeForm(); 5107 5108 oFormData['action'] = 'ctl-wp-studio'; 5109 oFormData['execute'] = 'ctl-documentation'; 5110 oFormData['widget-id'] = oNodeButton.data("widget-id"); 5111 oFormData['widget-type'] = oNodeButton.data("widget-type"); 5112 oFormData['shortcode-type'] = oNodeButton.data("shortcode-type"); 5113 oFormData['extension-action'] = 'update-widget-documentation'; 5114 5115 var idLoading = g_oCTLWPStudio.showLoading(""); 5116 5117 jQuery.ajax({ 5118 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 5119 type: "POST", 5120 data : oFormData, 5121 cache: false, 5122 method: 'POST', 5123 success:function(response, textStatus, jqXHR){ 5124 g_oCTLWPStudio.closeDlg(idLoading); 5125 var oResponse = jQuery.parseJSON(response); 5126 5127 if ( oResponse.res === true ){ 5128 g_oCTLBootstrapModals.closeModalAndStack(); 5129 5130 __ctlVulcanoDocumentationResetUpdateButton(oNodeButton, oResponse.custom_documentation); 5131 }else{ 5132 if ( oResponse.desc ){ 5133 g_oCTLBootstrapModals.alert("", oResponse.desc ); 5134 }else{ 5135 g_oCTLBootstrapModals.alert("", g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5136 } 5137 } 5138 }, 5139 error: function(jqXHR, textStatus, errorThrown){ 5140 g_oCTLWPStudio.closeDlg(idLoading); 5141 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5142 } 5143 }); 5144} 5145 5146function ctlVulcanoDocumentationResetWidgetDocumentation(oNodeButton){ 5147 5148 let oFormData = jQuery("#"+oNodeButton.data("form-id")).serializeForm(); 5149 5150 oFormData['action'] = 'ctl-wp-studio'; 5151 oFormData['execute'] = 'ctl-documentation'; 5152 oFormData['widget-id'] = oNodeButton.data("widget-id"); 5153 oFormData['widget-type'] = oNodeButton.data("widget-type"); 5154 oFormData['shortcode-type'] = oNodeButton.data("shortcode-type"); 5155 oFormData['extension-action'] = 'reset-widget-documentation'; 5156 5157 var idLoading = g_oCTLWPStudio.showLoading(""); 5158 5159 jQuery.ajax({ 5160 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 5161 type: "POST", 5162 data : oFormData, 5163 cache: false, 5164 method: 'POST', 5165 success:function(response, textStatus, jqXHR){ 5166 g_oCTLWPStudio.closeDlg(idLoading); 5167 var oResponse = jQuery.parseJSON(response); 5168 5169 if ( oResponse.res === true ){ 5170 5171 __ctlVulcanoDocumentationResetUpdateButton(oNodeButton, false); 5172 5173 g_oCTLBootstrapModals.closeModalAndStack(); 5174 }else{ 5175 if ( oResponse.desc ){ 5176 g_oCTLBootstrapModals.alert("", oResponse.desc ); 5177 }else{ 5178 g_oCTLBootstrapModals.alert("", g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5179 } 5180 } 5181 }, 5182 error: function(jqXHR, textStatus, errorThrown){ 5183 g_oCTLWPStudio.closeDlg(idLoading); 5184 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5185 } 5186 }); 5187 5188} 5189
5190function __ctlVulcanoDocumentationResetUpdateButton(oNodeButton, bCustomDocumentation = false){ 5191 let oNodeWidgetButton = jQuery(".ctl-vulcano-admin-gui-shortcut-action-widget-documentation[data-widget-id='" + oNodeButton.data("widget-id") + "'][data-widget-type='" + oNodeButton.data("widget-type") + "'][data-shortcode-type='" + oNodeButton.data("shortcode-type") + "']"); 5192 5193 let oNodeIconEmpty = oNodeWidgetButton.find("i.ctl-wp-studio-icons-circle-empty"); 5194 let oNodeIcon = oNodeWidgetButton.find("i.ctl-wp-studio-icons-circle"); 5195 5196 if ( bCustomDocumentation === true ){ 5197 if (oNodeIconEmpty.length > 0){ 5198 oNodeIconEmpty.removeClass("ctl-wp-studio-icons-circle-empty"); 5199 oNodeIconEmpty.addClass("ctl-wp-studio-icons-circle"); 5200 } 5201 }else{ 5202 if (oNodeIcon.length > 0){ 5203 oNodeIcon.removeClass("ctl-wp-studio-icons-circle"); 5204 oNodeIcon.addClass("ctl-wp-studio-icons-circle-empty"); 5205 } 5206 } 5207} 5208 5209function ctlVulcanoDocumentationGetWidgetDocumentation(oNodeButton){ 5210 var oFormData = {}; 5211 oFormData['action'] = 'ctl-wp-studio'; 5212 oFormData['execute'] = 'ctl-documentation'; 5213 oFormData['widget-id'] = oNodeButton.data("widget-id"); 5214 oFormData['widget-type'] = oNodeButton.data("widget-type"); 5215 oFormData['shortcode-type'] = oNodeButton.data("shortcode-type"); 5216 oFormData['extension-action'] = 'get-widget-documentation'; 5217 5218 var idLoading = g_oCTLWPStudio.showLoading(""); 5219 5220 jQuery.ajax({ 5221 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 5222 type: "POST", 5223 data : oFormData, 5224 cache: false, 5225 method: 'POST', 5226 success:function(response, textStatus, jqXHR){ 5227 g_oCTLWPStudio.closeDlg(idLoading); 5228 var oResponse = jQuery.parseJSON(response); 5229 5230 let html = Base64.decode(oResponse.html); 5231 5232 g_oCTLBootstrapModals.showModal({ 5233 modal_title : g_oCTLDocumentationLocalizationFront["Documentation"], 5234 modal_content : html, 5235 entrance_animation : "animate__slideInUp", 5236 exit_animation : "animate__slideOutDown", 5237 closeable : true, 5238 width: '80', 5239 position: "centered" 5240 }); 5241 }, 5242 error: function(jqXHR, textStatus, errorThrown){ 5243 g_oCTLWPStudio.closeDlg(idLoading); 5244 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5245 } 5246 }); 5247} 5248 5249function ctlVulcanoDocumentationShowCurrentModalDoc( oNodeButton ){ 5250 var oFormData = {}; 5251 oFormData['action'] = 'ctl-wp-studio'; 5252 oFormData['execute'] = 'ctl-documentation'; 5253 oFormData['modal-id'] = oNodeButton.data("widget-id"); 5254 oFormData['extension-action'] = 'get-modal-documentation'; 5255 5256 var idLoading = g_oCTLWPStudio.showLoading(""); 5257 5258 jQuery.ajax({ 5259 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 5260 type: "POST", 5261 data : oFormData, 5262 cache: false, 5263 method: 'POST', 5264 success:function(response, textStatus, jqXHR){ 5265 g_oCTLWPStudio.closeDlg(idLoading); 5266 var oResponse = jQuery.parseJSON(response); 5267 5268 let html = Base64.decode(oResponse.html); 5269 5270 g_oCTLBootstrapModals.showModal({ 5271 wrapper_classes : "ctl-documentation-current-modal-doc-modal", 5272 modal_title : g_oCTLDocumentationLocalizationFront["Documentation"], 5273 modal_content : html, 5274 entrance_animation : "animate__slideInUp", 5275 exit_animation : "animate__slideOutDown", 5276 closeable : true, 5277 width: '80', 5278 position: "centered" 5279 }); 5280 }, 5281 error: function(jqXHR, textStatus, errorThrown){ 5282 g_oCTLWPStudio.closeDlg(idLoading); 5283 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5284 } 5285 }); 5286} 5287
5288function ctlVulcanoDocumentationShowCurrentPageDoc( oNodeButton ){ 5289 5290 var oFormData = {}; 5291 oFormData['action'] = 'ctl-wp-studio'; 5292 oFormData['execute'] = 'ctl-documentation'; 5293 oFormData['page-id'] = jQuery("body").data("page-id"); 5294 oFormData['extension-action'] = 'get-page-documentation'; 5295 oFormData['sidebar-index'] = true; 5296 5297 var idLoading = g_oCTLWPStudio.showLoading(""); 5298 5299 jQuery.ajax({ 5300 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 5301 type: "POST", 5302 data : oFormData, 5303 cache: false, 5304 method: 'POST', 5305 success:function(response, textStatus, jqXHR){ 5306 g_oCTLWPStudio.closeDlg(idLoading); 5307 var oResponse = jQuery.parseJSON(response); 5308 5309 let html = Base64.decode(oResponse.html); 5310 5311 g_oCTLBootstrapModals.showModal({ 5312 wrapper_classes : "ctl-documentation-current-page-doc-modal", 5313 modal_title : g_oCTLDocumentationLocalizationFront["Documentation"], 5314 modal_content : html, 5315 entrance_animation : "animate__slideInUp", 5316 exit_animation : "animate__slideOutDown", 5317 closeable : true, 5318 width: '80', 5319 position: "centered" 5320 }); 5321 }, 5322 error: function(jqXHR, textStatus, errorThrown){ 5323 g_oCTLWPStudio.closeDlg(idLoading); 5324 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5325 } 5326 }); 5327} 5328 5329function ctlVulcanoDocumentationBuildIndex(oNodeDom){ 5330 5331 let oNodeParentToInit = null; 5332 5333 if (oNodeDom){ 5334 oNodeParentToInit = oNodeDom; 5335 }else{ 5336 oNodeParentToInit = jQuery("body"); 5337 } 5338 5339 let oNodeContent = oNodeParentToInit.find(".ctl-documentation-content"); 5340 5341 let htmlItems = __ctlVulcanoDocumentationBuildItems(oNodeContent, true); 5342 let html = ''; 5343 5344 html += '<h1 class="ctl-documentation-index-title">'; 5345 html += "Indice"; 5346 html += '</h1>'; 5347 html += htmlItems; 5348 5349 oNodeParentToInit.find(".ctl-documentation-index").html(html); 5350} 5351 5352function __ctlVulcanoDocumentationBuildItems(oContainer) { 5353 let html = ''; 5354 let currentLevel = 0; 5355 5356 // 1. Seleziona tutti i titoli del documento in ordine lineare 5357 let oTitles = oContainer.find(".ctl-documentation-section-title"); 5358 5359 oTitles.each(function(index) { 5360 let oTitle = jQuery(this); 5361 let szTagName = oTitle.prop("tagName"); // Es. "H1", "H2", "H3..." 5362 let level = parseInt(szTagName.substring(1)); // Estrae il numero (1, 2, 3, 4) 5363 5364 // 2. Pulizia del testo (rimuove i link "torna su" o icone d-print-none) 5365 let oClone = oTitle.clone(); 5366 oClone.find("a, button, .d-print-none, i").remove(); 5367 let szTitleText = oClone.text().trim(); 5368 let szId = oTitle.attr("id"); 5369 5370 if (!szId) return; // Salta il titolo se non ha un ID di ancoraggio 5371 5372 // Inizializzazione al primo ciclo 5373 if (currentLevel === 0) { 5374 html += "<ul class='ctl-documentation-index-list list-unstyled'>"; 5375 currentLevel = level; 5376 } 5377 5378 // 3. Gestione dei livelli dell'indice (Albero UL/LI) 5379 if (level > currentLevel) { 5380 // Se scendiamo di livello (es. da H1 a H2), apriamo una nuova lista 5381 while (level > currentLevel) { 5382 html += "<ul class='ctl-documentation-index-list list-unstyled ml-3'>"; 5383 currentLevel++; 5384 } 5385 } else if (level < currentLevel) { 5386 // Se risaliamo di livello (es. da H3 a H2), chiudiamo le liste aperte 5387 while (level < currentLevel) { 5388 html += "</li></ul>"; 5389 currentLevel--; 5390 } 5391 html += "</li>"; 5392 } else { 5393 // Stesso livello, chiudiamo solo il list-item precedente 5394 if (index > 0) { 5395 html += "</li>"; 5396 } 5397 } 5398 5399 // 4. Costruzione del link dell'indice 5400 let szAnchorClasses = "ctl-documentation-index-link ctl-vulcano-scroll-to-selector"; 5401 html += "<li class='ctl-documentation-index-item'>"; 5402 html += '<a href="#' + szId + '" class="' + szAnchorClasses + '">' + szTitleText + '</a>'; 5403 }); 5404 5405 // Chiude tutti i tag rimasti aperti alla fine del ciclo 5406 while (currentLevel > 0) { 5407 html += "</li></ul>"; 5408 currentLevel--; 5409 } 5410 5411 return html; 5412} 5413
5414function ctlVulcanoDocumentationBuildAnonymousWidgets(oNodeDom){ 5415 5416 let oNodeParentToInit = null; 5417 5418 if (oNodeDom){ 5419 oNodeParentToInit = oNodeDom; 5420 }else{ 5421 oNodeParentToInit = jQuery("body"); 5422 } 5423 5424 oNodeParentToInit.find(".ctl-documentation-rolling-number-widget").each(function(){ 5425 5426 if (jQuery(this).closest(".ctl-documentation-widget-form").length > 0){ 5427 return; 5428 } 5429 5430 let oNodeWidget = jQuery(this); 5431 let idWidget = jQuery(this).data("widget-id"); 5432 5433 jQuery(".ctl-rolling-number-" + idWidget).clone().appendTo(oNodeWidget); 5434 5435 oNodeWidget.find(".ctl-vulcano-admin-gui-shortcut-actions").remove(); 5436 oNodeWidget.find(".btn-rolling-number-view-page").remove(); 5437 5438 oNodeWidget.find(".ctl-rolling-number-index").text("xxxx"); 5439 oNodeWidget.css("max-width","150px"); 5440 }); 5441 5442 jQuery(".ctl-documentation-table-widget").each(function(){ 5443 5444 if (jQuery(this).closest(".ctl-documentation-widget-form").length > 0){ 5445 return; 5446 } 5447 5448 let oNodeWidget = jQuery(this); 5449 let idWidget = jQuery(this).data("widget-id"); 5450 5451 let oNodeTable = jQuery(".ctl-theme-table-main-wrapper-" + idWidget).clone() 5452 5453 oNodeTable.appendTo(oNodeWidget); 5454 5455 let iCntRowCounter = 0; 5456 let iLimitRows = 6; 5457 5458 if ( oNodeTable.hasClass("ctl-table-cards") ){ 5459 iLimitRows = 1; 5460 } 5461 5462 oNodeTable.find(".ctl-vulcano-admin-gui-shortcut-actions").remove(); 5463 5464 oNodeTable.find("tbody tr").each(function(){ 5465 5466 if ( jQuery(this).attr("data-resource-id") == "table-fake-row" ){ 5467 jQuery(this).remove(); 5468 return; 5469 } 5470 5471 iCntRowCounter++; 5472 5473 if (iCntRowCounter > iLimitRows ){ 5474 jQuery(this).remove(); 5475 }else{ 5476 jQuery(this).removeAttr("data-resource-id"); 5477 5478 jQuery(this).find("td").each(function(){ 5479 let oNodeTd = jQuery(this); 5480 5481 if ( oNodeTd.hasClass("ctl-table-row-actions")){ 5482 5483 }else{ 5484 switch(oNodeTd.attr("data-format")){ 5485 case "POST-STATUS":{ 5486 5487 }break; 5488 default:{ 5489 oNodeTd.find(".ctl-table-cell-data").text("xxxx"); 5490 } 5491 } 5492 } 5493 }); 5494 } 5495 }); 5496 5497 oNodeWidget.css("zoom","0.5"); 5498 }); 5499 5500 5501} 5502// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/modules/ctl-health/php/../js/front.js 5503jQuery(document).ready(function(){ 5504 5505 jQuery(document).on("click", ".ctl-health-action-clear-total-cache", function(){ 5506 ctlHealthClearTotalCache(jQuery(this)); 5507 }); 5508 5509 jQuery(document).on("click", ".ctl-health-action-clear-folder-cache", function(){ 5510 ctlHealthClearFolderCache(jQuery(this)); 5511 }); 5512 5513 jQuery(document).on("click", ".ctl-health-action-clear-error-log", function(){ 5514 ctlHealthClearErrorLog(jQuery(this)); 5515 }); 5516}); 5517 5518function ctlHealthClearTotalCache( oNodeButton ){ 5519 let idConfirmModal = g_oCTLBootstrapModals.confirm("", g_oCTLHealthLocalizationFront["Do you want to clear the total cache?"], 5520 g_oCTLHealthLocalizationFront["Yes"], function(){ 5521 5522 var oFormData = {}; 5523 5524 oFormData['action'] = 'ctl-wp-studio'; 5525 oFormData['execute'] = 'ctl-health'; 5526 oFormData['extension-action'] = 'clear-total-cache'; 5527 oFormData['widget-id'] = oNodeButton.data("widget-id"); 5528 5529 var idLoading = g_oCTLWPStudio.showLoading(""); 5530 5531 jQuery.ajax({ 5532 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 5533 type: "POST", 5534 data : oFormData, 5535 cache: false, 5536 method: 'POST', 5537 success:function(response, textStatus, jqXHR){ 5538 var oResponse = jQuery.parseJSON(response); 5539 5540 if( oResponse.res === true ){ 5541 g_oCTLBootstrapModals.closeModal(jQuery("#"+idConfirmModal)); 5542 window.location.reload(); 5543 }else{ 5544 g_oCTLWPStudio.closeDlg(idLoading); 5545 5546 if (oResponse.desc) { 5547 g_oCTLBootstrapModals.alert(oResponse.desc); 5548 } 5549 } 5550 }, 5551 error: function(jqXHR, textStatus, errorThrown){ 5552 g_oCTLWPStudio.closeDlg(idLoading); 5553 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5554 } 5555 }); 5556 } 5557 ); 5558} 5559 5560function ctlHealthClearErrorLog( oNodeButton ){ 5561 let idConfirmModal = g_oCTLBootstrapModals.confirm("", g_oCTLHealthLocalizationFront["Do you want to clear the error log?"], 5562 g_oCTLHealthLocalizationFront["Yes"], function(){ 5563 5564 var oFormData = {}; 5565 5566 oFormData['action'] = 'ctl-wp-studio'; 5567 oFormData['execute'] = 'ctl-health'; 5568 oFormData['extension-action'] = 'clear-error-log'; 5569 oFormData['widget-id'] = oNodeButton.data("widget-id"); 5570 5571 var idLoading = g_oCTLWPStudio.showLoading(""); 5572 5573 jQuery.ajax({ 5574 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 5575 type: "POST", 5576 data : oFormData, 5577 cache: false, 5578 method: 'POST', 5579 success:function(response, textStatus, jqXHR){ 5580 var oResponse = jQuery.parseJSON(response); 5581 5582 g_oCTLWPStudio.closeDlg(idLoading); 5583 5584 if( oResponse.res === true ){ 5585 g_oCTLBootstrapModals.closeModal(jQuery("#"+idConfirmModal)); 5586 5587 g_oCTLWPStudio.showLoading(""); 5588 window.location.reload(); 5589 }else{ 5590 if (oResponse.desc) { 5591 g_oCTLBootstrapModals.alert(oResponse.desc); 5592 } 5593 } 5594 }, 5595 error: function(jqXHR, textStatus, errorThrown){ 5596 g_oCTLWPStudio.closeDlg(idLoading); 5597 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5598 } 5599 }); 5600 } 5601 ); 5602} 5603 5604function ctlHealthClearFolderCache( oNodeButton ){ 5605 let idConfirmModal = g_oCTLBootstrapModals.confirm("", g_oCTLHealthLocalizationFront["Do you want to clear the folder cache?"], 5606 g_oCTLHealthLocalizationFront["Yes"], function(){ 5607 5608 var oFormData = {}; 5609 5610 oFormData['action'] = 'ctl-wp-studio'; 5611 oFormData['execute'] = 'ctl-health'; 5612 oFormData['extension-action'] = 'clear-folder-cache'; 5613 oFormData['widget-id'] = oNodeButton.closest("ul").data("widget-id"); 5614 oFormData['folder'] = oNodeButton.data("folder"); 5615 5616 var idLoading = g_oCTLWPStudio.showLoading(""); 5617 5618 jQuery.ajax({ 5619 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 5620 type: "POST", 5621 data : oFormData, 5622 cache: false, 5623 method: 'POST', 5624 success:function(response, textStatus, jqXHR){ 5625 var oResponse = jQuery.parseJSON(response); 5626 5627 g_oCTLWPStudio.closeDlg(idLoading); 5628 5629 if( oResponse.res === true ){ 5630 g_oCTLBootstrapModals.closeModal(jQuery("#"+idConfirmModal)); 5631 oNodeButton.closest("li").find(".badge").text("0 MB"); 5632 }else{ 5633 if (oResponse.desc) { 5634 g_oCTLBootstrapModals.alert(oResponse.desc); 5635 } 5636 } 5637 }, 5638 error: function(jqXHR, textStatus, errorThrown){ 5639 g_oCTLWPStudio.closeDlg(idLoading); 5640 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 5641 } 5642 }); 5643 } 5644 ); 5645} 5646// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-background-slideshow/php/../js/front.js
5647var g_fBackgroundSlideshowInitialScale = 1.3; 5648var g_fBackgroundSlideshowOffset = 100; 5649var g_fBackgroundSlideshowMultiplier = .25; 5650 5651jQuery(window).scroll(function(){ 5652 ctlAnimateSequenceOfImages(); 5653}); 5654window.addEventListener("orientationchange", function(){ 5655 ctlAnimateSequenceOfImages(); 5656}); 5657window.addEventListener("touchmove", function(){ 5658 ctlAnimateSequenceOfImages(); 5659}); 5660jQuery(window).resize(function() { 5661 ctlAnimateSequenceOfImages(); 5662}); 5663 5664jQuery(window).ready(function(){ 5665 jQuery(".ctl-background-slideshow").each(function(){ 5666 var oNodeSlideShow = jQuery(this); 5667 5668 var fMovement = ( 5669 (g_fBackgroundSlideshowInitialScale * g_fBackgroundSlideshowOffset) - 5670 g_fBackgroundSlideshowOffset)*g_fBackgroundSlideshowMultiplier; 5671 oNodeSlideShow.children().each(function(){ 5672 var oDataAnimation = ctlBackgroundSlideshowPrepareAnimation( 5673 jQuery(this), g_fBackgroundSlideshowInitialScale, fMovement); 5674 oDataAnimation["opacity"] = 0; 5675 oDataAnimation["duration"] = 0; 5676 jQuery(this).transition(oDataAnimation); 5677 }); 5678 }); 5679 5680 ctlAnimateSequenceOfImages(); 5681}); 5682 5683 5684jQuery(window).on('load', function() { // makes sure the whole site is loaded 5685 5686 jQuery(".ctl-background-slideshow").each(function(){ 5687 var oNodeSlideShow = jQuery(this); 5688 5689 var iSlideDuration = parseInt(oNodeSlideShow.attr("data-slide-duration")); 5690 var iFadeDuration = parseInt(oNodeSlideShow.attr("data-fade-duration")); 5691 var iTransitionDuration = parseInt(oNodeSlideShow.attr("data-transition-duration")); 5692 5693 5694 var fBackgroundSlideshowOffset = g_fBackgroundSlideshowOffset; 5695 var oNodeLast = oNodeSlideShow.children().last(); 5696 5697 if ( oNodeLast.attr("data-animation") !== "none" ){ 5698 fBackgroundSlideshowOffset = 200; 5699 } 5700 5701 var fMovement = ( 5702 (g_fBackgroundSlideshowInitialScale * fBackgroundSlideshowOffset) - 5703 fBackgroundSlideshowOffset)*g_fBackgroundSlideshowMultiplier; 5704
5705 var oDataAnimation = ctlBackgroundSlideshowPrepareAnimation( 5706 oNodeLast, g_fBackgroundSlideshowInitialScale, fMovement); 5707 oDataAnimation["opacity"] = 1; 5708 oDataAnimation["duration"] = iTransitionDuration; 5709 oDataAnimation["easing"] = 'ease'; 5710 5711 oNodeLast.transition({ x:0, y:0, opacity : 1, scale: g_fBackgroundSlideshowInitialScale, duration:0 }) 5712 .transition(oDataAnimation); 5713 5714 if ( oNodeSlideShow.children().length > 1 ){ 5715 setInterval(function(){ 5716 var oNode1 = oNodeSlideShow.children().eq(oNodeSlideShow.children().length-1); 5717 var oNode2 = oNodeSlideShow.children().eq(oNodeSlideShow.children().length-2); 5718 5719 var fBackgroundSlideshowOffset = g_fBackgroundSlideshowOffset; 5720 5721 if ( oNode2.attr("data-animation") !== "none" ){ 5722 fBackgroundSlideshowOffset = 200; 5723 } 5724 5725 var fMovement = ( 5726 (g_fBackgroundSlideshowInitialScale * fBackgroundSlideshowOffset) - 5727 fBackgroundSlideshowOffset)*g_fBackgroundSlideshowMultiplier;
5728 var oDataAnimation = ctlBackgroundSlideshowPrepareAnimation( 5729 oNode2, g_fBackgroundSlideshowInitialScale, fMovement); 5730 5731 oDataAnimation["opacity"] = 1; 5732 oDataAnimation["duration"] = iTransitionDuration; 5733 oDataAnimation["easing"] = 'in-out'; 5734 5735 oNode1.transition({ opacity: 0, duration: iFadeDuration, complete: function(){ 5736 oNode1.insertBefore( oNodeSlideShow.children().first() ); 5737 } }); 5738 5739 oNode2.transition({ x:0, y:0, opacity : 1, scale: g_fBackgroundSlideshowInitialScale, duration:0 }) 5740 .transition(oDataAnimation); 5741 5742 }, iSlideDuration); 5743 } 5744 5745 5746 }); 5747 5748}); 5749 5750function ctlAnimateSequenceOfImages() { 5751 5752 var scrollTop = jQuery(window).scrollTop(); 5753 var iWindowOffset = scrollTop + jQuery(window).outerHeight(); 5754 5755 jQuery(".ctl-sequence-images").each(function(){ 5756 var oNodeSequence = jQuery(this); 5757 var iOffset = oNodeSequence.attr("data-delay-offset"); 5758 var iNumFrames = oNodeSequence.attr("data-num-frames"); 5759 5760 var iTestOffset = iWindowOffset - iOffset; 5761 var iPieceHeight = 0; 5762 var fAmount = 0; 5763 5764 if ( iTestOffset >= oNodeSequence.offset().top ) { 5765 iPieceHeight = (iTestOffset - oNodeSequence.offset().top); 5766 if ( iPieceHeight > oNodeSequence.height() ){ 5767 iPieceHeight = oNodeSequence.height(); 5768 } 5769 } 5770 5771 if (iPieceHeight > 0 ){ 5772 fAmount = iPieceHeight/oNodeSequence.height(); 5773 } 5774
5775 var imageIndex = Math.round(fAmount * (iNumFrames-1)); 5776 var iPreviousIndex = -1; 5777 5778 if ( oNodeSequence.attr("data-image-index") && 5779 imageIndex != oNodeSequence.attr("data-image-index")){ 5780 iPreviousIndex = Number(oNodeSequence.attr("data-image-index")); 5781 } 5782 5783 var bUpdateSequence = false; 5784 5785 switch( oNodeSequence.attr("data-direction") ){ 5786 case "back-and-forth":{ 5787 bUpdateSequence = true; 5788 }break; 5789 case "only-forward":{ 5790 if ( iPreviousIndex < imageIndex ){ 5791 bUpdateSequence = true; 5792 } 5793 }break; 5794 } 5795 5796 if ( bUpdateSequence){ 5797 oNodeSequence.find("img").eq(iPreviousIndex).css("display", "none"); 5798 oNodeSequence.find("img").eq(imageIndex).css("display", "block"); 5799 oNodeSequence.attr("data-image-index", imageIndex); 5800 } 5801 }); 5802} 5803 5804function ctlBackgroundSlideshowPrepareAnimation( oNodeSlide, fInitialScale, fMovement ){ 5805 var szZoom = oNodeSlide.attr("data-zoom"); 5806 var szAnimation = oNodeSlide.attr("data-animation"); 5807 var szEase = oNodeSlide.attr("data-ease"); 5808 5809 var oDataAnimation = { 5810 scale : fInitialScale, 5811 ease : szEase, 5812 x : 0, 5813 y : 0 5814 }; 5815 5816 5817 switch( szZoom ){ 5818 case "zoom-in":{ 5819 oDataAnimation["scale"] = fInitialScale * 1.1; 5820 }break; 5821 case "zoom-out":{ 5822 oDataAnimation["scale"] = fInitialScale / 1.1; 5823 }break; 5824 } 5825 5826 switch( szAnimation ){ 5827 case "bottom":{ 5828 oDataAnimation["y"] = "-"+fMovement+"%"; 5829 oDataAnimation["transformOrigin"] = '50% 0%'; 5830 }break; 5831 case "top":{ 5832 oDataAnimation["y"] = fMovement+ "%"; 5833 oDataAnimation["transformOrigin"] = '50% 100%'; 5834 }break; 5835 case "left":{ 5836 oDataAnimation["x"] = fMovement + "%"; 5837 oDataAnimation["transformOrigin"] = '100% 50%'; 5838 }break; 5839 case "right":{ 5840 oDataAnimation["x"] = "-"+fMovement+"%"; 5841 oDataAnimation["transformOrigin"] = '0% 50%'; 5842 }break; 5843 5844 case "bottom-left":{ 5845 oDataAnimation["x"] = fMovement + "%"; 5846 oDataAnimation["y"] = "-"+fMovement+"%"; 5847 oDataAnimation["transformOrigin"] = '100% 0%'; 5848 }break; 5849 case "bottom-right":{ 5850 oDataAnimation["x"] = "-"+fMovement+"%"; 5851 oDataAnimation["y"] = "-"+fMovement+"%"; 5852 oDataAnimation["transformOrigin"] = '100% 100%'; 5853 }break; 5854 5855 case "top-left":{ 5856 oDataAnimation["x"] = fMovement + "%"; 5857 oDataAnimation["y"] = fMovement + "%"; 5858 oDataAnimation["transformOrigin"] = '0% 0%'; 5859 }break; 5860 case "top-right":{ 5861 oDataAnimation["x"] = "-"+fMovement+"%"; 5862 oDataAnimation["y"] = fMovement + "%"; 5863 oDataAnimation["transformOrigin"] = '0% 100%'; 5864 }break; 5865 default:{ 5866 oDataAnimation["transformOrigin"] = '50% 50%'; 5867 } 5868 } 5869 5870 return oDataAnimation; 5871} 5872// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-bootstrap-4/php/../js/popper.min.js 5873/* 5874 Copyright (C) Federico Zivolo 2019 5875 Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). 5876 */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}
vendor: 3,236 bytes, line 5876
5876function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function i(e){return e&&e.referenceNode?e.referenceNode:e}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){var i=e.ownerDocument.documentElement,r=e.ownerDocument.scrollingElement||i;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=l(t,'top'),i=l(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function m(e,t){var o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e['border'+o+'Width'],10)+parseFloat(e['border'+n+'Width'],10)}function h(e,t,o,n){return ee(t['offset'+e],t['scroll'+e],o['client'+e],o['offset'+e],o['scroll'+e],r(10)?parseInt(o['offset'+e])+parseInt(n['margin'+('Height'===e?'Top':'Left')])+parseInt(n['margin'+('Height'===e?'Bottom':'Right')]):0)}function c(e){var t=e.body,o=e.documentElement,n=r(10)&&getComputedStyle(o);return{height:h('Height',t,o,n),width:h('Width',t,o,n)}}function g(e){return le({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var o={};try{if(r(10)){o=e.getBoundingClientRect();var n=l(e,'top'),i=l(e,'left');o.top+=n,o.left+=i,o.bottom+=n,o.right+=i}else o=e.getBoundingClientRect()}catch(t){}var p={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},s='HTML'===e.nodeName?c(e.ownerDocument):{},d=s.width||e.clientWidth||p.width,a=s.height||e.clientHeight||p.height,f=e.offsetWidth-d,h=e.offsetHeight-a;if(f||h){var u=t(e);f-=m(u,'x'),h-=m(u,'y'),p.width-=f,p.height-=h}return g(p)}function b(e,o){var i=2<arguments.length&&void 0!==arguments[2]&&arguments[2],p=r(10),s='HTML'===o.nodeName,d=u(e),a=u(o),l=n(e),m=t(o),h=parseFloat(m.borderTopWidth,10),c=parseFloat(m.borderLeftWidth,10);i&&s&&(a.top=ee(a.top,0),a.left=ee(a.left,0));var b=g({top:d.top-a.top-h,left:d.left-a.left-c,width:d.width,height:d.height});if(b.marginTop=0,b.marginLeft=0,!p&&s){var w=parseFloat(m.marginTop,10),y=parseFloat(m.marginLeft,10
vendor: 13,566 bytes, line 5876
5876);b.top-=h-w,b.bottom-=h-w,b.left-=c-y,b.right-=c-y,b.marginTop=w,b.marginLeft=y}return(p&&!i?o.contains(l):o===l&&'BODY'!==l.nodeName)&&(b=f(b,o)),b}function w(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=e.ownerDocument.documentElement,n=b(e,o),i=ee(o.clientWidth,window.innerWidth||0),r=ee(o.clientHeight,window.innerHeight||0),p=t?0:l(o),s=t?0:l(o,'left'),d={top:p-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r};return g(d)}function y(e){var n=e.nodeName;if('BODY'===n||'HTML'===n)return!1;if('fixed'===t(e,'position'))return!0;var i=o(e);return!!i&&y(i)}function E(e){if(!e||!e.parentElement||r())return document.documentElement;for(var o=e.parentElement;o&&'none'===t(o,'transform');)o=o.parentElement;return o||document.documentElement}function v(e,t,r,p){var s=4<arguments.length&&void 0!==arguments[4]&&arguments[4],d={top:0,left:0},l=s?E(e):a(e,i(t));if('viewport'===p)d=w(l,s);else{var f;'scrollParent'===p?(f=n(o(t)),'BODY'===f.nodeName&&(f=e.ownerDocument.documentElement)):'window'===p?f=e.ownerDocument.documentElement:f=p;var m=b(f,l,s);if('HTML'===f.nodeName&&!y(l)){var h=c(e.ownerDocument),g=h.height,u=h.width;d.top+=m.top-m.marginTop,d.bottom=g+m.top,d.left+=m.left-m.marginLeft,d.right=u+m.left}else d=m}r=r||0;var v='number'==typeof r;return d.left+=v?r:r.left||0,d.top+=v?r:r.top||0,d.right-=v?r:r.right||0,d.bottom-=v?r:r.bottom||0,d}function x(e){var t=e.width,o=e.height;return t*o}function O(e,t,o,n,i){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=v(o,n,r,i),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return le({key:e},s[e],{area:x(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,n=e.height;return t>=o.clientWidth&&n>=o.clientHeight}),l=0<a.length?a[0].key:d[0].key,f=e.split('-')[1];return l+(f?'-'+f:'')}function L(e,t,o){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,r=n?E(t):a(t,i(o));return b(o,r,n)}function S(e){var t=e.ownerDocument.defaultView,o=t.getComputedStyle(e),n=parseFloat(o.marginTop||0)+parseFloat(o.marginBottom||0),i=parseFloat(o.marginLeft||0)+parseFloat(o.marginRight||0),r={width:e.offsetWidth+i,height:e.offsetHeight+n};return r}function T(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function C(e,t,o){o=o.split('-')[0];var n=S(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return i[p]=t[p]+t[d]/2-n[d]/2,i[s]=o===s?t[s]-n[a]:t[T(s)],i}function D(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function N(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=D(e,function(e){return e[t]===o});return e.indexOf(n)}function P(t,o,n){var i=void 0===n?t:t.slice(0,N(t,'name',n));return i.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var n=t['function']||t.fn;t.enabled&&e(n)&&(o.offsets.popper=g(o.offsets.popper),o.offsets.reference=g(o.offsets.reference),o=n(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=C(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=P(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,n=e.enabled;return n&&o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof document.body.style[r])return r}return null}function H(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function A(e){var t=e.ownerDocument;return t?t.defaultView:window}function M(e,t,o,i){var r='BODY'===e.nodeName,p=r?e.ownerDocument.defaultView:e;p.addEventListener(t,o,{passive:!0}),r||M(n(p.parentNode),t,o,i),i.push(p)}function F(e,t,o,i){o.updateBound=i,A(e).addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return M(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function I(){this.state.eventsEnabled||(this.state=F(this.reference,this.options,this.state,this.scheduleUpdate))}function R(e,t){return A(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function U(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=R(this.reference,this.state))}function Y(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function V(e,t){Object.keys(t).forEach(function(o){var n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&Y(t[o])&&(n='px'),e.style[o]=t[o]+n})}function j(e,t){Object.keys(t).forEach(function(o){var n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function q(e,t){var o=e.offsets,n=o.popper,i=o.reference,r=$,p=function(e){return e},s=r(i.width),d=r(n.width),a=-1!==['left','right'].indexOf(e.placement),l=-1!==e.placement.indexOf('-'),f=t?a||l||s%2==d%2?r:Z:p,m=t?r:p;return{left:f(1==s%2&&1==d%2&&!l&&t?n.left-1:n.left),top:m(n.top),bottom:m(n.bottom),right:f(n.right)}}function K(e,t,o){var n=D(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.order<n.order});if(!i){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return i}function z(e){return'end'===e?'start':'start'===e?'end':e}function G(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=he.indexOf(e),n=he.slice(o+1).concat(he.slice(0,o));return t?n.reverse():n}function _(e,t,o,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],p=i[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=n;}var d=g(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?ee(document.documentElement.clientHeight,window.innerHeight||0):ee(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function X(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(D(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return _(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){Y(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function J(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=Y(+n)?[+n,0]:X(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}var Q=Math.min,Z=Math.floor,$=Math.round,ee=Math.max,te='undefined'!=typeof window&&'undefined'!=typeof document&&'undefined'!=typeof navigator,oe=function(){for(var e=['Edge','Trident','Firefox'],t=0;t<e.length;t+=1)if(te&&0<=navigator.userAgent.indexOf(e[t]))return 1;return 0}(),ne=te&&window.Promise,ie=ne?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},oe))}},re=te&&!!(window.MSInputMethodContext&&document.documentMode),pe=te&&/MSIE 10/.test(navigator.userAgent),se=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},de=function(){function e(e,t){for(var o,n=0;n<t.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),ae=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},le=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},fe=te&&/Firefox/i.test(navigator.userAgent),me=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],he=me.slice(3),ce={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ge=function(){function t(o,n){var i=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};se(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=ie(this.update.bind(this)),this.options=le({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o&&o.jquery?o[0]:o,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(le({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=le({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return le({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return de(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return H.call(this)}},{key:'enableEventListeners',value:function(){return I.call(this)}},{key:'disableEventListeners',value:function(){return U.call(this)}}]),t}();return ge.Utils=('undefined'==typeof window?global:window).PopperUtils,ge.placements=me,ge.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:ae({},d,r[d]),end:ae({},d,r[d]+r[a]-p[a])};e.offsets.popper=le({},p,l[n])}return e}},offset:{order:200,enabled:!0,fn:J,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||p(e.instance.popper);e.instance.reference===o&&(o=p(o));var n=B('transform'),i=e.instance.popper.style,r=i.top,s=i.left,d=i[n];i.top='',i.left='',i[n]='';var a=v(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=s,i[n]=d,t.boundaries=a;var l=t.priority,f=e.offsets.popper,m={primary:function(e){var o=f[e];return f[e]<a[e]&&!t.escapeWithReference&&(o=ee(f[e],a[e])),ae({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=f[o];return f[e]>a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(n[d])&&(e.offsets.popper[d]=r(n[d])-o[a]),o[d]>r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-u<s[m]&&(e.offsets.popper[m]-=s[m]-(d[c]-u)),d[m]+u>s[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f]
vendor: 2,544 bytes, line 5876
5876,10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)<f(l.right)||'top'===n&&f(a.bottom)>f(l.top)||'bottom'===n&&f(a.top)<f(l.bottom),h=f(a.left)<f(o.left),c=f(a.right)>f(o.right),g=f(a.top)<f(o.top),u=f(a.bottom)>f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,n=t.y,i=e.offsets.popper,r=D(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;
5876void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===r?t.gpuAcceleration:r,l=p(e.instance.popper),f=u(l),m={position:i.position},h=q(e,2>window.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge}); 5877//# sourceMappingURL=popper.min.js.map 5878 5879// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-bootstrap-4/php/../js/bootstrap.min.js 5880/*! 5881 * Bootstrap v4.5.3 (https://getbootstrap.com/) 5882 * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 5883 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5884 */ 5885!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery,t.Popper)}(this,(function(t,e,n){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=i(e),a=i(n);function s(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function l(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),t}function r(){return(r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}function u(t){var e=this,n=!1;return o.default(this).one(d.TRANSITION_END,(function(){n=!0})),setTimeout((function(){n||d.triggerTransitionEnd(e)}),t),this}var d={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=o.default(t).css("transition-duration"),n=o.default(t).css("transition-delay"),i=parseFloat(e),a=parseFloat(n);return i||a?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){o.default(t).trigger("transitionend")},supportsTransitionEnd:function(){return Boolean("transitionend")},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],a=e[i],s=a&&d.isElement(a)?"element":null===(l=a)||"undefined"==typeof l?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var l},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?d.findShadowRoot(t.parentNode):null},jQueryDetection:function(){if("undefined"==typeof o.default)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=o.default.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};d.jQueryDetection(),o.default.fn.emulateTransitionEnd=u,o.default.event.special[d.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(o.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var f="alert",c=o.default.fn[f],h=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)}
vendor: 26,256 bytes, line 5885
5885,e.dispose=function(){o.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=d.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=o.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=o.default.Event("close.bs.alert");return o.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(o.default(t).removeClass("show"),o.default(t).hasClass("fade")){var n=d.getTransitionDurationFromElement(t);o.default(t).one(d.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){o.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.alert");i||(i=new t(this),n.data("bs.alert",i)),"close"===e&&i[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',h._handleDismiss(new h)),o.default.fn[f]=h._jQueryInterface,o.default.fn[f].Constructor=h,o.default.fn[f].noConflict=function(){return o.default.fn[f]=c,h._jQueryInterface};var g=o.default.fn.button,m=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=o.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var i=this._element.querySelector('input:not([type="hidden"])');if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains("active"))t=!1;else{var a=n.querySelector(".active");a&&o.default(a).removeClass("active")}t&&("checkbox"!==i.type&&"radio"!==i.type||(i.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||o.default(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&o.default(this._element).toggleClass("active"))},e.dispose=function(){o.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this),a=i.data("bs.button");a||(a=new t(this),i.data("bs.button",a)),a.shouldAvoidTriggerChange=n,"toggle"===e&&a[e]()}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(o.default(e).hasClass("btn")||(e=o.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var i=e.querySelector('input:not([type="hidden"])');if(i&&(i.hasAttribute("disabled")||i.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||m._jQueryInterface.call(o.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=o.default(t.target).closest(".btn")[0];o.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),o.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector('input:not([type="hidden"])');o.checked||o.hasAttribute("checked")?i.classList.add("active"):i.classList.remove("active")}for(var a=0,s=(t=[].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length;a<s;a++){var l=t[a];"true"===l.getAttribute("aria-pressed")?l.classList.add("active"):l.classList.remove("active")}})),o.default.fn.button=m._jQueryInterface,o.default.fn.button.Constructor=m,o.default.fn.button.noConflict=function(){return o.default.fn.button=g,m._jQueryInterface};var p="carousel",_=".bs.carousel",v=o.default.fn[p],b={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},E={TOUCH:"touch",PEN:"pen"},w=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(".carousel-indicators"),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=o.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(d.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)o.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){o.default(this._element).off(_),o.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},b,t),d.typeCheckConfig(p,t,y),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&o.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&o.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};o.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(o.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(o.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),o.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),a=this._items.length-1;if((i&&0===o||n&&o===a)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(".active.carousel-item")),a=o.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n});return o.default(this._element).trigger(a),a},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));o.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&o.default(n).addClass("active")}},e._slide=function(t,e){var n,i,a,s=this,l=this._element.querySelector(".active.carousel-item"),r=this._getItemIndex(l),u=e||l&&this._getItemByDirection(t,l),f=this._getItemIndex(u),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",a="left"):(n="carousel-item-right",i="carousel-item-prev",a="right"),u&&o.default(u).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(u,a).isDefaultPrevented()&&l&&u){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(u);var h=o.default.Event("slid.bs.carousel",{relatedTarget:u,direction:a,from:r,to:f});if(o.default(this._element).hasClass("slide")){o.default(u).addClass(i),d.reflow(u),o.default(l).addClass(n),o.default(u).addClass(n);var g=parseInt(u.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=d.getTransitionDurationFromElement(l);o.default(l).one(d.TRANSITION_END,(function(){o.default(u).removeClass(n+" "+i).addClass("active"),o.default(l).removeClass("active "+i+" "+n),s._isSliding=!1,setTimeout((function(){return o.default(s._element).trigger(h)}),0)})).emulateTransitionEnd(m)}else o.default(l).removeClass("active"),o.default(u).addClass("active"),this._isSliding=!1,o.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.carousel"),i=r({},b,o.default(this).data());"object"==typeof e&&(i=r({},i,e));var a="string"==typeof e?e:i.slide;if(n||(n=new t(this,i),o.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof a){if("undefined"==typeof n[a])throw new TypeError('No method named "'+a+'"');n[a]()}else i.interval&&i.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=d.getSelectorFromElement(this);if(n){var i=o.default(n)[0];if(i&&o.default(i).hasClass("carousel")){var a=r({},o.default(i).data(),o.default(this).data()),s=this.getAttribute("data-slide-to");s&&(a.interval=!1),t._jQueryInterface.call(o.default(i),a),s&&o.default(i).data("bs.carousel").to(s),e.preventDefault()}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return b}}]),t}();o.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",w._dataApiClickHandler),o.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e<n;e++){var i=o.default(t[e]);w._jQueryInterface.call(i,i.data())}})),o.default.fn[p]=w._jQueryInterface,o.default.fn[p].Constructor=w,o.default.fn[p].noConflict=function(){return o.default.fn[p]=v,w._jQueryInterface};var T="collapse",C=o.default.fn[T],S={toggle:!0,parent:""},N={toggle:"boolean",parent:"(string|element)"},D=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll('[data-toggle="collapse"]')),i=0,o=n.length;i<o;i++){var a=n[i],s=d.getSelectorFromElement(a),l=[].slice.call(document.querySelectorAll(s)).filter((function(e){return e===t}));null!==s&&l.length>0&&(this._selector=s,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){o.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,i=this;if(!this._isTransitioning&&!o.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof i._config.parent?t.getAttribute("data-parent")===i._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=o.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var a=o.default.Event("show.bs.collapse");if(o.default(this._element).trigger(a),!a.isDefaultPrevented()){e&&(t._jQueryInterface.call(o.default(e).not(this._selector),"hide"),n||o.default(e).data("bs.collapse",null));var s=this._getDimension();o.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[s]=0,this._triggerArray.length&&o.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var l="scroll"+(s[0].toUpperCase()+s.slice(1)),r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){o.default(i._element).removeClass("collapsing").addClass("collapse show"),i._element.style[s]="",i.setTransitioning(!1),o.default(i._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(r),this._element.style[s]=this._element[l]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&o.default(this._element).hasClass("show")){var e=o.default.Event("hide.bs.collapse");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",d.reflow(this._element),o.default(this._element).addClass("collapsing").removeClass("collapse show");var i=this._triggerArray.length;if(i>0)for(var a=0;a<i;a++){var s=this._triggerArray[a],l=d.getSelectorFromElement(s);if(null!==l)o.default([].slice.call(document.querySelectorAll(l))).hasClass("show")||o.default(s).addClass("collapsed").attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){t.setTransitioning(!1),o.default(t._element).removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")})).emulateTransitionEnd(r)}}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){o.default.removeData(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=r({},S,t)).toggle=Boolean(t.toggle),d.typeCheckConfig(T,t,N),t},e._getDimension=function(){return o.default(this._element).hasClass("width")?"width":"height"},e._getParent=function(){var e,n=this;d.isElement(this._config.parent)?(e=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',a=[].slice.call(e.querySelectorAll(i));return o.default(a).each((function(e,i){n._addAriaAndCollapsedClass(t._getTargetFromElement(i),[i])})),e},e._addAriaAndCollapsedClass=function(t,e){var n=o.default(t).hasClass("show");e.length&&o.default(e).toggleClass("collapsed",!n).attr("aria-expanded",n)},t._getTargetFromElement=function(t){var e=d.getSelectorFromElement(t);return e?document.querySelector(e):null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.collapse"),a=r({},S,n.data(),"object"==typeof e&&e?e:{});if(!i&&a.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(a.toggle=!1),i||(i=new t(this,a),n.data("bs.collapse",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return S}}]),t}();o.default(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var e=o.default(this),n=d.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(n));o.default(i).each((function(){var t=o.default(this),n=t.data("bs.collapse")?"toggle":e.data();D._jQueryInterface.call(t,n)}))})),o.default.fn[T]=D._jQueryInterface,o.default.fn[T].Constructor=D,o.default.fn[T].noConflict=function(){return o.default.fn[T]=C,D._jQueryInterface};var k="dropdown",A=o.default.fn[k],I=new RegExp("38|40|27"),j={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},O={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},x=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!o.default(this._element).hasClass("disabled")){var e=o.default(this._menu).hasClass("show");t._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||o.default(this._element).hasClass("disabled")||o.default(this._menu).hasClass("show"))){var n={relatedTarget:this._element},i=o.default.Event("show.bs.dropdown",n),s=t._getParentFromElement(this._element);if(o.default(s).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var l=this._element;"parent"===this._config.reference?l=s:d.isElement(this._config.reference)&&(l=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(l=this._config.reference[0])),"scrollParent"!==this._config.boundary&&o.default(s).addClass("position-static"),this._popper=new a.default(l,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===o.default(s).closest(".navbar-nav").length&&o.default(document.body).children().on("mouseover",null,o.default.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),o.default(this._menu).toggleClass("show"),o.default(s).toggleClass("show").trigger(o.default.Event("shown.bs.dropdown",n))}}},e.hide=function(){if(!this._element.disabled&&!o.default(this._element).hasClass("disabled")&&o.default(this._menu).hasClass("show")){var e={relatedTarget:this._element},n=o.default.Event("hide.bs.dropdown",e),i=t._getParentFromElement(this._element);o.default(i).trigger(n),n.isDefaultPrevented()||(this._popper&&this._popper.destroy(),o.default(this._menu).toggleClass("show"),o.default(i).toggleClass("show").trigger(o.default.Event("hidden.bs.dropdown",e)))}},e.dispose=function(){o.default.removeData(this._element,"bs.dropdown"),o.default(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;o.default(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=r({},this.constructor.Default,o.default(this._element).data(),t),d.typeCheckConfig(k,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},e._getPlacement=function(){var t=o.default(this._element.parentNode),e="bottom-start";return t.hasClass("dropup")?e=o.default(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?e="right-start":t.hasClass("dropleft")?e="left-start":o.default(this._menu).hasClass("dropdown-menu-right")&&(e="bottom-end"),e},e._detectNavbar=function(){return o.default(this._element).closest(".navbar").length>0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),o.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),i=0,a=n.length;i<a;i++){var s=t._getParentFromElement(n[i]),l=o.default(n[i]).data("bs.dropdown"),r={relatedTarget:n[i]};if(e&&"click"===e.type&&(r.clickEvent=e),l){var u=l._menu;if(o.default(s).hasClass("show")&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&o.default.contains(s,e.target))){var d=o.default.Event("hide.bs.dropdown",r);o.default(s).trigger(d),d.isDefaultPrevented()||("ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),n[i].setAttribute("aria-expanded","false"),l._popper&&l._popper.destroy(),o.default(u).removeClass("show"),o.default(s).removeClass("show").trigger(o.default.Event("hidden.bs.dropdown",r)))}}}},t._getParentFromElement=function(t){var e,n=d.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},t._dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||o.default(e.target).closest(".dropdown-menu").length):!I.test(e.which))&&!this.disabled&&!o.default(this).hasClass("disabled")){var n=t._getParentFromElement(this),i=o.default(n).hasClass("show");if(i||27!==e.which){if(e.preventDefault(),e.stopPropagation(),!i||27===e.which||32===e.which)return 27===e.which&&o.default(n.querySelector('[data-toggle="dropdown"]')).trigger("focus"),void o.default(this).trigger("click");var a=[].slice.call(n.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter((function(t){return o.default(t).is(":visible")}));if(0!==a.length){var s=a.indexOf(e.target);38===e.which&&s>0&&s--,40===e.which&&s<a.length-1&&s++,s<0&&(s=0),a[s].focus()}}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return j}},{key:"DefaultType",get:function(){return O}}]),t}();o.default(document).on("keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',x._dataApiKeydownHandler).on("keydown.bs.dropdown.data-api",".dropdown-menu",x._dataApiKeydownHandler).on("click.bs.dropdown.data-api keyup.bs.dropdown.data-api",x._clearMenus).on("click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),x._jQueryInterface.call(o.default(this),"toggle")})).on("click.bs.dropdown.data-api",".dropdown form",(function(t){t.stopPropagation()})),o.default.fn[k]=x._jQueryInterface,o.default.fn[k].Constructor=x,o.default.fn[k].noConflict=function(){return o.default.fn[k]=A,x._jQueryInterface};var P=o.default.fn.modal,R={backdrop:!0,keyboard:!0,focus:!0,show:!0},L={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},q=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(".modal-dialog"),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){o.default(this._element).hasClass("fade")&&(this._isTransitioning=!0);var n=o.default.Event("show.bs.modal",{relatedTarget:t});o.default(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),o.default(this._element).on("click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),o.default(this._dialog).on("mousedown.dismiss.bs.modal",(function(){o.default(e._element).one("mouseup.dismiss.bs.modal",(function(t){o.default(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=o.default.Event("hide.bs.modal");if(o.default(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=o.default(this._element).hasClass("fade");if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),o.default(document).off("focusin.bs.modal"),o.default(this._element).removeClass("show"),o.default(this._element).off("
5885click.dismiss.bs.modal"),o.default(this._dialog).off("mousedown.dismiss.bs.modal"),i){var a=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(t){return e._hideModal(t)})).emulateTransitionEnd(a)}else this._hideModal()}}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return o.default(t).off(".bs.modal")})),o.default(document).off("focusin.bs.modal"),o.default.removeData(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=r({},R,t),d.typeCheckConfig("modal",t,L),t},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var e=o.default.Event("hidePrevented.bs.modal");if(o.default(this._element).trigger(e),e.isDefaultPrevented())return;var n=this._element.scrollHeight>document.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var i=d.getTransitionDurationFromElement(this._dialog);o.default(this._element).off(d.TRANSITION_END),o.default(this._element).one(d.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||o.default(t._element).one(d.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,i)})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},e._showElement=function(t){var e=this,n=o.default(this._element).hasClass("fade"),i=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),o.default(this._dialog).hasClass("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&d.reflow(this._element),o.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var a=o.default.Event("shown.bs.modal",{relatedTarget:t}),s=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,o.default(e._element).trigger(a)};if(n){var l=d.getTransitionDurationFromElement(this._dialog);o.default(this._dialog).one(d.TRANSITION_END,s).emulateTransitionEnd(l)}else s()},e._enforceFocus=function(){var t=this;o.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===o.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?o.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||o.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?o.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):o.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){o.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),o.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(o.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=o.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),o.default(this._backdrop).appendTo(document.body),o.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&d.reflow(this._backdrop),o.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var i=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){o.default(this._backdrop).removeClass("show");var a=function(){e._removeBackdrop(),t&&t()};if(o.default(this._element).hasClass("fade")){var s=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")),n=[].slice.call(document.querySelectorAll(".sticky-top"));o.default(e).each((function(e,n){var i=n.style.paddingRight,a=o.default(n).css("padding-right");o.default(n).data("padding-right",i).css("padding-right",parseFloat(a)+t._scrollbarWidth+"px")})),o.default(n).each((function(e,n){var i=n.style.marginRight,a=o.default(n).css("margin-right");o.default(n).data("margin-right",i).css("margin-right",parseFloat(a)-t._scrollbarWidth+"px")}));var i=document.body.style.paddingRight,a=o.default(document.body).css("padding-right");o.default(document.body).data("padding-right",i).css("padding-right",parseFloat(a)+this._scrollbarWidth+"px")}o.default(document.body).addClass("modal-open")},e._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"));o.default(t).each((function(t,e){var n=o.default(e).data("padding-right");o.default(e).removeData("padding-right"),e.style.paddingRight=n||""}));var e=[].slice.call(document.querySelectorAll(".sticky-top"));o.default(e).each((function(t,e){var n=o.default(e).data("margin-right");"undefined"!=typeof n&&o.default(e).css("margin-right",n).removeData("margin-right")}));var n=o.default(document.body).data("padding-right");o.default(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this).data("bs.modal"),a=r({},R,o.default(this).data(),"object"==typeof e&&e?e:{});if(i||(i=new t(this,a),o.default(this).data("bs.modal",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method n
5885amed "'+e+'"');i[e](n)}else a.show&&i.show(n)}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return R}}]),t}();o.default(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e,n=this,i=d.getSelectorFromElement(this);i&&(e=document.querySelector(i));var a=o.default(e).data("bs.modal")?"toggle":r({},o.default(e).data(),o.default(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var s=o.default(e).one("show.bs.modal",(function(t){t.isDefaultPrevented()||s.one("hidden.bs.modal",(function(){o.default(n).is(":visible")&&n.focus()}))}));q._jQueryInterface.call(o.default(e),a,this)})),o.default.fn.modal=q._jQueryInterface,o.default.fn.modal.Constructor=q,o.default.fn.modal.noConflict=function(){return o.default.fn.modal=P,q._jQueryInterface};var F=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Q={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},B=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,H=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;function U(t,e,n){if(0===t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),a=[].slice.call(i.body.querySelectorAll("*")),s=function(t,n){var i=a[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(i.nodeName.toLowerCase()))return i.parentNode.removeChild(i),"continue";var l=[].slice.call(i.attributes),r=[].concat(e["*"]||[],e[s]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===F.indexOf(n)||Boolean(t.nodeValue.match(B)||t.nodeValue.match(H));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,a=i.length;o<a;o++)if(n.match(i[o]))return!0;return!1})(t,r)||i.removeAttribute(t.nodeName)}))},l=0,r=a.length;l<r;l++)s(l);return i.body.innerHTML}var M="tooltip",W=o.default.fn[M],V=new RegExp("(^|\\s)bs-tooltip\\S+","g"),z=["sanitize","whiteList","sanitizeFn"],K={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},X={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Y={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Q,popperConfig:null},$={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},J=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass("fade");var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass("show"
vendor: 6,825 bytes, line 5885
5885),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(o.default(this.tip).hasClass("fade")){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if(o.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass("fade")){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=U(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return X[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),o.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==z.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(M,t,this.constructor.DefaultType),t.sanitize&&(t.template=U(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(V);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tooltip"),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data("bs.tooltip",i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.
58855.3"}},{key:"Default",get:function(){return Y}},{key:"NAME",get:function(){return M}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return K}}]),t}();o.default.fn[M]=J._jQueryInterface,o.default.fn[M].Constructor=J,o.default.fn[M].noConflict=function(){return o.default.fn[M]=W,J._jQueryInterface};var G="popover",Z=o.default.fn[G],tt=new RegExp("(^|\\s)bs-popover\\S+","g"),et=r({},J.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),nt=r({},J.DefaultType,{content:"(string|element|function)"}),it={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ot=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(tt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return et}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return it}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return nt}}]),i}(J);o.default.fn[G]=ot._jQueryInterface,o.default.fn[G].Constructor=ot,o.default.fn[G].noConflict=function(){return o.default.fn[G]=Z,ot._jQueryInterface};var at="scrollspy",st=o.default.fn[at],lt={offset:10,method:"auto",target:""},rt={offset:"number",method:"string",target:"(string|element)"},ut=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]}
vendor: 8,484 bytes, line 5885
5885)).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,"bs.scrollspy"),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},lt,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(at),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(at,t,rt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=o.default([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass("dropdown-item")?(n.closest(".dropdown").find(".dropdown-toggle").addClass("active"),n.addClass("active")):(n.addClass("active"),n.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"),n.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active")),o.default(this._scrollElement).trigger("activate.bs.scrollspy",{relatedTarget:t})},e._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e),o.default(this).data("bs.scrollspy",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return lt}}]),t}();o.default(window).on("load.bs.scrollspy.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-spy="scroll"]')),e=t.length;e--;){var n=o.default(t[e]);ut._jQueryInterface.call(n,n.data())}})),o.default.fn[at]=ut._jQueryInterface,o.default.fn[at].Constructor=ut,o.default.fn[at].noConflict=function(){return o.default.fn[at]=st,ut._jQueryInterface};var dt=o.default.fn.tab,ft=function(){function t(t){this._element=t}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&o.default(this._element).hasClass("active")||o.default(this._element).hasClass("disabled"))){var e,n,i=o.default(this._element).closest(".nav, .list-group")[0],a=d.getSelectorFromElement(this._element);if(i){var s="UL"===i.nodeName||"OL"===i.nodeName?"> li > .active":".active";n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(".active"):o.default(e).find("> li > .active"))[0],s=n&&a&&o.default(a).hasClass("fade"),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass("show").one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass("active");var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(o.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&o.default(t.parentNode).hasClass("dropdown-menu")){var a=o.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));o.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tab");if(i||(i=new t(this),n.data("bs.tab",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ft._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ft._jQueryInterface,o.default.fn.tab.Constructor=ft,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=dt,ft._jQueryInterface};var ct=o.default.fn.toast,ht={animation:"boolean",autohide:"boolean",delay:"number"},gt={animation:!0,autohide:!0,delay:500},mt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),d.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),o.default(this._element).off("click.dismiss.bs.toast"),o.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},gt,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.toast");if(i||(i=new t(this,"object"==typeof e&&e),n.data("bs.toast",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method n
5885amed "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"DefaultType",get:function(){return ht}},{key:"Default",get:function(){return gt}}]),t}();o.default.fn.toast=mt._jQueryInterface,o.default.fn.toast.Constructor=mt,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=ct,mt._jQueryInterface},t.Alert=h,t.Button=m,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=q,t.Popover=ot,t.Scrollspy=ut,t.Tab=ft,t.Toast=mt,t.Tooltip=J,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})})); 5886//# sourceMappingURL=bootstrap.min.js.map 5887// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-bootstrap-4/php/../js/front.js 5888jQuery(window).ready(function(){ 5889 bootstrap4ApplyAccessibilityFontSize(); 5890 5891 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 5892 bootstrap4ApplyAccessibilityFontSize(); 5893 }); 5894 5895 wpdk_add_action("ctl-calendar-refresh", function( oNodeCalendar ){ 5896 bootstrap4ApplyAccessibilityFontSize(); 5897 }); 5898 5899 window.addEventListener("orientationchange", function(){ 5900 bootstrap4ApplyAccessibilityFontSize(); 5901 }); 5902 window.addEventListener("touchmove", function(){ 5903 bootstrap4ApplyAccessibilityFontSize(); 5904 }); 5905 jQuery(window).resize(function() { 5906 bootstrap4ApplyAccessibilityFontSize(); 5907 }); 5908 5909 wpdk_add_action("ctl-vulcano-theme-resize-layout", function(){ 5910 bootstrap4ApplyAccessibilityFontSize(); 5911 }); 5912 5913}); 5914 5915function bootstrap4ApplyAccessibilityFontSize(){ 5916 let fFontMultiplier = 1; 5917 5918 if ( jQuery("body").hasClass("accessibility-font-size-normal") ){ 5919 return; 5920 }else if ( jQuery("body").hasClass("accessibility-font-size-large") ){ 5921 fFontMultiplier = 1.333; 5922 }else if ( jQuery("body").hasClass("accessibility-font-size-extra-large") ){ 5923 fFontMultiplier = 1.666; 5924 }else if ( jQuery("body").hasClass("accessibility-font-size-maximum") ){ 5925 fFontMultiplier = 2; 5926 }else{ 5927 return; 5928 } 5929 5930 let szSelectorToUpdate = "h1, h2, h3, h4, h5, p"; 5931 5932 szSelectorToUpdate += ", .btn, .btn i, .btn .btn-text, .ctl-form-field-label, .custom-control-label, .form-control, .ctl-form-field-description, .invali
5932d-feedback, .ctldatafield"; 5933 5934 szSelectorToUpdate += ", .select2-selection__rendered"; 5935 szSelectorToUpdate += ", .select2-selection__placeholder"; 5936 szSelectorToUpdate += ", .select2-selection__arrow"; 5937 szSelectorToUpdate += ", .select2-selection__arrow b"; 5938 szSelectorToUpdate += ", .select2-selection__choice"; 5939 szSelectorToUpdate += ", .select2-selection__choice__remove"; 5940 szSelectorToUpdate += ", .select2-selection__choice__placeholder"; 5941 szSelectorToUpdate += ", .select2-selection__choice__remove b"; 5942 szSelectorToUpdate += ", .select2-selection__choice__remove i"; 5943 szSelectorToUpdate += ", .select2-selection__choice__placeholder i"; 5944 szSelectorToUpdate += ", .select2-selection__placeholder i"; 5945 szSelectorToUpdate += ", .select2-selection__placeholder span"; 5946 szSelectorToUpdate += ", .select2-selection__rendered span"; 5947 szSelectorToUpdate += ", .select2-selection__arrow span"; 5948 szSelectorToUpdate += ", .select2-selection__arrow i"; 5949 szSelectorToUpdate += ", .select2-selection__rendered i"; 5950 szSelectorToUpdate += ", .select2-selection__rendered b"; 5951 5952 5953 szSelectorToUpdate += ", .navbar i"; 5954 5955 szSelectorToUpdate += ", .ctl-theme-bootstrap-menu-col-nav-pills .tab-label, .ctl-theme-bootstrap-menu-col-nav-pills .ctl-tab-icon"; 5956 szSelectorToUpdate += ", .nav-pills .tab-label, .nav-pills .ctl-tab-icon"; 5957 5958 szSelectorToUpdate += ", .ctlwpmenu-widget .menu-item-icon, .ctlwpmenu-widget .menu-item-text"; 5959 5960 szSelectorToUpdate += ", .modal-title, .modal-body, .modal-footer"; 5961 5962 szSelectorToUpdate += ", .ctl-table-cell-data, .ctl-table-cell-data .post-status"; 5963 5964 szSelectorToUpdate += ", .breadcrumb-item, .breadcrumb-divider"; 5965 5966 szSelectorToUpdate += ", footer *"; 5967 5968 szSelectorToUpdate += ", .ctl-calendar-month-body .ctl-calendar-day h4 span"; 5969 5970 jQuery(szSelectorToUpdate).each(function(){ 5971 var oNodeElement = jQuery(this); 5972 var fOriginalFontSize = parseFloat(oNodeElement.attr("src-font-size")); 5973 if (!fOriginalFontSize){ 5974 fOriginalFontSize = parseFloat(oNodeElement.css("font-size")); 5975 oNodeElement.attr("src-font-size", fOriginalFontSize); 5976 } 5977 5978 var fNewFontSize = fOriginalFontSize * fFontMultiplier; 5979 oNodeElement.css("font-size", fNewFontSize + "px"); 5980 }); 5981} 5982// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-chrome-php/php/../js/front.js 5983class CVulcanoMutex { 5984 constructor() { 5985 this._locked = false; 5986 this._waiting = []; 5987 } 5988 5989 lock() { 5990 const unlock = () => { 5991 const next = this._waiting.shift(); 5992 if (next) next(unlock); 5993 else this._locked = false; 5994 }; 5995 5996 if (this._locked) { 5997 return new Promise(resolve => this._waiting.push(resolve)).then(() => unlock); 5998 } else { 5999 this._locked = true; 6000 return Promise.resolve(unlock); 6001 } 6002 } 6003} 6004 6005 6006jQuery(document).ready(function () { 6007 6008 jQuery(document).on("click", ".ctl-chrome-php-action-send-pdf-via-mail", function(){ 6009 6010 var oNodeButton = jQuery(this); 6011 var oNodeForm = jQuery(this).closest(".modal").find("form"); 6012 6013 if(ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 6014 return; 6015 } 6016 6017 var oFormData = oNodeForm.serializeObject(); 6018 6019 oFormData['action'] = 'ctl-wp-studio'; 6020 oFormData['execute'] = 'ctl-chrome-php'; 6021 oFormData['widget-id'] = oNodeButton.data("widget-id"); 6022 oFormData['extension-action'] = 'send-pdf-via-mail'; 6023 6024 var idLoading = g_oCTLWPStudio.showLoading(""); 6025 6026 jQuery.ajax({ 6027 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 6028 type: "POST", 6029 data: oFormData, 6030 cache: false, 6031 method: 'POST', 6032 success: function (response, textStatus, jqXHR) { 6033 let oResponse = jQuery.parseJSON(response); 6034 6035 g_oCTLWPStudio.closeDlg(idLoading); 6036 if (oResponse.res === false) { 6037 alert(oResponse.desc); 6038 } else { 6039 g_oCTLBootstrapModals.closeLastModal(); 6040 } 6041 }, 6042 error: function (jqXHR, textStatus, errorThrown) { 6043 g_oCTLWPStudio.closeDlg(idLoading); 6044 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 6045 } 6046 }); 6047 }); 6048 6049 jQuery(document).on("click", ".ctl-chrome-php-action-show-send-pdf-via-mail", function(){ 6050 var oNodeButton = jQuery(this); 6051 var oEmailData = JSON.parse(Base64.decode(oNodeButton.attr("data-email"))); 6052 6053 ctlSMTPShowMailModal( 6054 oEmailData.modal_title, oEmailData.dest_email, oEmailData.dest_email_cc, 6055 oEmailData.subject, oEmailData.body, oEmailData.attachments, "ctl-chrome-php-action-send-pdf-via-mail", 'data-widget-id="' + oNodeButton.data("widget-id") + '"'); 6056 }); 6057 6058 6059 jQuery(document).on("click", ".ctl-chrome-php-action-generate-pdf", function () { 6060 var oNodeForm = jQuery(this).closest("form"); 6061 var oFormData = oNodeForm.serializeObject(); 6062 6063 oFormData['action'] = 'ctl-wp-studio'; 6064 oFormData['execute'] = 'ctl-chrome-php'; 6065 oFormData['extension-action'] = 'generate-pdf'; 6066 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 6067 6068 __ctlChromePHPGeneratePDF(oFormData); 6069 }); 6070 6071 jQuery(document).on("click", ".btn-action-pdf-row", function () { 6072 let oFormData = {}; 6073 let oNodeTR = jQuery(this).closest("tr"); 6074 6075 oFormData['action'] = 'ctl-wp-studio'; 6076 oFormData['execute'] = 'ctl-chrome-php'; 6077 oFormData['extension-action'] = 'generate-pdf'; 6078 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 6079 oFormData['resource-id'] = oNodeTR.data("resource-id"); 6080 oFormData["widget-id"] = jQuery(this).data("pdf-widget-id"); 6081 6082 oNodeTR.find("td").each(function () { 6083 let szFieldName = jQuery(this).data("field-name"); 6084 if (szFieldName) { 6085 let szFieldValue = jQuery(this).data("value"); 6086 oFormData[szFieldName] = szFieldValue; 6087 } 6088 }); 6089 6090 __ctlChromePHPGeneratePDF(oFormData); 6091 }); 6092 6093 jQuery(document).on("click", ".ctl-chrome-php-action-generate-pdf-archive-pdf", function () { 6094 __ctlChromePHPGenerateArchivePDF(jQuery(this), "pdf"); 6095 }); 6096 6097 jQuery(document).on("click", ".ctl-chrome-php-action-generate-pdf-archive-zip", function () { 6098 __ctlChromePHPGenerateArchivePDF(jQuery(this), "zip"); 6099 }); 6100 6101 jQuery(document).on("click", ".btn-action-pdf-selected-rows", function () { 6102 6103 let idTable = jQuery(this).data("table-id"); 6104 let oNodeMainWrapper = jQuery(".ctl-theme-table-main-wrapper-" + idTable); 6105 6106 let oNodeTableBody = oNodeMainWrapper.find("tbody"); 6107 let aResourceIds = []; 6108 let aResourceData = []; 6109 6110 oNodeTableBody 6111 .find("tr.ctl-table-row .ctl-theme-tables-row-selector input[type=checkbox]:checked") 6112 .each(function () { 6113 let oNodeRow = jQuery(this).closest("tr"); 6114 let idResource = Number(oNodeRow.attr("data-resource-id")); 6115 aResourceIds.push(idResource); 6116 6117 let oFormData = {}; 6118 oNodeRow.find("td").each(function () { 6119 let szFieldName = jQuery(this).data("field-name"); 6120 if (szFieldName) { 6121 let szFieldValue = jQuery(this).data("value"); 6122 oFormData[szFieldName] = szFieldValue; 6123 } 6124 }); 6125 6126 aResourceData.push({ 6127 id: idResource, 6128 data: oFormData, 6129 }); 6130 }); 6131 6132 if (aResourceIds.length === 0) { 6133 g_oCTLBootstrapModals.alert("", g_oCTLChromePhpLocalizationFront["Select at least one row."]); 6134 return; 6135 } 6136 6137 let szPDFArchive = jQuery(this).data("pdf-multiple-archive"); 6138 6139 if (!szPDFArchive) { 6140 szPDFArchive = "modal"; 6141 } 6142 6143 if (szPDFArchive === "modal") { 6144 6145 let szAttributes = 'data-resource-ids="' + Base64.encode(JSON.stringify(aResourceIds)) + 6146 '" data-pdf-widget-id="' + jQuery(this).data("pdf-widget-id") + '" data-resources="' + Base64.encode(JSON.stringify(aResourceData)) + '"'; 6147 6148 g_oCTLBootstrapModals.showModal({ 6149 entrance_alpha: true,
6150 exit_alpha: true, 6151 position: "centered", 6152 entrance_animation: "animate__slideInUp", 6153 exit_animation: "animate__slideOutDown", 6154 modal_title: g_oCTLChromePhpLocalizationFront["Prepare PDF archive"], 6155 modal_content: g_oCTLChromePhpLocalizationFront["Do you want to generate a PDF archive in unique PDF or Zip with separated PDFs?"] + '<div class="ctl-pdf-archive-counter"></div>', 6156 footer_buttons: [ 6157 '<button ' + szAttributes + ' class="btn btn-primary ctl-chrome-php-action-generate-pdf-archive-zip"><i class="ctl-wp-studio-icons-file-archive mr-1"></i>' + g_oCTLChromePhpLocalizationFront["Zip File"] + '</button>', 6158 '<button ' + szAttributes + ' class="btn btn-primary ctl-chrome-php-action-generate-pdf-archive-pdf"><i class="ctl-wp-studio-icons-file-pdf mr-1"></i>' + 6159 g_oCTLChromePhpLocalizationFront["Unique PDF"] + '</button>',], 6160 }); 6161 } else { 6162 let oFormData = {}; 6163 oFormData['action'] = 'ctl-wp-studio'; 6164 oFormData['execute'] = 'ctl-chrome-php'; 6165 oFormData['resource-ids'] = aResourceIds; 6166 oFormData['resources'] = aResourceData; 6167 oFormData["widget-id"] = jQuery(this).data("pdf-widget-id"); 6168 oFormData['extension-action'] = 'generate-array-pdf'; 6169 oFormData['archive'] = szPDFArchive; 6170 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 6171 __ctlChromePHPGeneratePDF(oFormData); 6172 } 6173 6174 }); 6175 6176 jQuery(document).on("click", ".btn-save-pdf-viewer", function () { 6177 let szPDFURL = jQuery(this).data("pdf-url"); 6178 g_oCTLWPStudio.downloadFile(szPDFURL); 6179 }); 6180 6181}); 6182 6183function __ctlChromePHPGeneratePDF(oFormData = null, cb = null) { 6184 6185 var idLoading = g_oCTLWPStudio.showLoading(""); 6186 6187 jQuery.ajax({ 6188 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 6189 type: "POST", 6190 data: oFormData, 6191 cache: false, 6192 method: 'POST', 6193 success: function (response, textStatus, jqXHR) { 6194 let oResponse = jQuery.parseJSON(response); 6195 6196 g_oCTLWPStudio.closeDlg(idLoading); 6197 if (oResponse.res === false) { 6198 alert(oResponse.desc); 6199 } else { 6200 6201 if (oResponse["refresh-dropbox"]) { 6202 wpdk_do_action("ctl-dropbox-reload-widget", 6203 oResponse["dropbox-widget"], oResponse["dropbox-resource"]); 6204 } 6205 6206 if (cb) { 6207 cb(oResponse); 6208 } 6209 6210 if (oResponse.preview) { 6211 ctlShowPDFViewer(oFormData["widget-id"], oResponse.pdfURL, { show_save_button: true }, {}, oResponse.email_data); 6212 } else { 6213 g_oCTLWPStudio.downloadFile(oResponse.pdfURL, null, true); 6214 } 6215 6216 } 6217 }, 6218 error: function (jqXHR, textStatus, errorThrown) { 6219 g_oCTLWPStudio.closeDlg(idLoading); 6220 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 6221 } 6222 }); 6223} 6224 6225function __ctlChromePHPGenerateBackgroundPDF(oFormData = null, cb = null) { 6226 6227 __ctlChromePHPUpdateArchiveProgressBar(); 6228 6229 var idLoading = g_oCTLWPStudio.showLoading(""); 6230 6231 jQuery.ajax({ 6232 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 6233 type: "POST", 6234 data: oFormData, 6235 cache: false, 6236 method: 'POST', 6237 success: function (response, textStatus, jqXHR) { 6238 let oResponse = jQuery.parseJSON(response); 6239 6240 g_oCTLWPStudio.closeDlg(idLoading); 6241 if (oResponse.res === false) { 6242 alert(oResponse.desc); 6243 } else { 6244 if (cb) { 6245 cb(oResponse); 6246 } 6247 } 6248 }, 6249 error: function (jqXHR, textStatus, errorThrown) { 6250 g_oCTLWPStudio.closeDlg(idLoading); 6251 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 6252 } 6253 }); 6254} 6255 6256 6257async function __ctlChromePHPPrepareSinglePDFForArchive(szBackgroun
6257dPDF = null, cb = null) { 6258 6259 const unlock = await window["g_oPDFMakerMutex"].lock(); 6260 6261 __ctlChromePHPUpdateArchiveProgressBar(); 6262 6263 window["g_iCntArchivePDF"] += 1; 6264 unlock(); 6265 6266 let oFormData = {}; 6267 oFormData['action'] = 'ctl-wp-studio'; 6268 oFormData['execute'] = 'ctl-chrome-php'; 6269 oFormData["widget-id"] = window["g_idWidgetPDF"]; 6270 oFormData['resource-id'] = window["g_aArchivePDFIds"][window["g_iCntArchivePDF"] - 1]; 6271 oFormData['extension-action'] = 'generate-pdf'; 6272 6273 if (szBackgroundPDF) { 6274 oFormData['background'] = szBackgroundPDF; 6275 } 6276 6277 jQuery.ajax({ 6278 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 6279 type: "POST", 6280 data: oFormData, 6281 cache: false, 6282 method: 'POST', 6283 success: function (response, textStatus, jqXHR) { 6284 let oResponse = jQuery.parseJSON(response); 6285 6286 if (oResponse.res === false) { 6287 alert(oResponse.desc); 6288 } else { 6289 window["g_aArchivePDFUrls"].push(oResponse.pdfPath); 6290 6291 if (window["g_iCntArchivePDF"] === window["g_aArchivePDFUrls"].length) { 6292 6293 window["g_aArchivePDFUrls"] = window["g_aArchivePDFUrls"].sort((a, b) => { 6294 6295 const nameA = a.split("/").pop().toLowerCase(); 6296 const nameB = b.split("/").pop().toLowerCase(); 6297 6298 return nameA.localeCompare(nameB); 6299 }); 6300 6301 g_oCTLWPStudio.closeDlg(window["g_idLoadingArchivePDF"]); 6302 6303 let oFormData = {}; 6304 oFormData['action'] = 'ctl-wp-studio'; 6305 oFormData['execute'] = 'ctl-chrome-php'; 6306 oFormData["widget-id"] = window["g_idWidgetPDF"]; 6307 oFormData['urls'] = window["g_aArchivePDFUrls"]; 6308 oFormData['extension-action'] = 'generate-archive-pdf'; 6309 oFormData['archive'] = window["g_szPDFMakerTypeArchive"]; 6310 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 6311 6312 __ctlChromePHPGeneratePDF(oFormData, function (oResponse) { 6313 __ctlChromePHPUpdateArchiveProgressBar(); 6314 6315 g_oCTLBootstrapModals.closeLastModal(); 6316 if (cb) { 6317 cb(oResponse); 6318 } 6319 }); 6320 } else if (window["g_iCntArchivePDF"] < window["g_aArchivePDFIds"].length) { 6321 __ctlChromePHPUpdateArchiveProgressBar(); 6322 __ctlChromePHPPrepareSinglePDFForArchive(szBackgroun
6322dPDF, cb); 6323 } 6324 } 6325 }, 6326 error: function (jqXHR, textStatus, errorThrown) { 6327 console.log("error in __ctlChromePHPPrepareSinglePDFForArchive"); 6328 console.log(oFormData); 6329 console.log(jqXHR); 6330 console.log(textStatus); 6331 console.log(errorThrown); 6332 //alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 6333 } 6334 }); 6335} 6336 6337function __ctlChromePHPUpdateArchiveProgressBar() { 6338 let fPercentage = (window["g_iCntArchivePDF"] / window["g_aArchivePDFIds"].length) * 100; 6339 let htmlProgressBar = '<div class="progress mt-3">'; 6340 htmlProgressBar += '<div class="progress-bar bg-primary" role="progressbar" style="width: ' + fPercentage + '%;" aria-valuenow="' + fPercentage + '" aria-valuemin="0" aria-valuemax="100">' + Math.round(fPercentage) + '%</div>'; 6341 htmlProgressBar += '</div>'; 6342 6343 jQuery(".ctl-pdf-archive-counter").html(htmlProgressBar); 6344} 6345 6346function __ctlChromePHPGenerateArchivePDF(oNodeButton, szArchive) { 6347 let aIds = JSON.parse(Base64.decode(oNodeButton.data("resource-ids"))); 6348 let idWidget = oNodeButton.data("pdf-widget-id"); 6349 6350 if (aIds.length < 4) { 6351 let oFormData = {}; 6352 oFormData['action'] = 'ctl-wp-studio'; 6353 oFormData['execute'] = 'ctl-chrome-php'; 6354 oFormData['resource-ids'] = aIds; 6355 oFormData['resources'] = JSON.parse(Base64.decode(oNodeButton.data("resources"))); 6356 oFormData["widget-id"] = idWidget; 6357 oFormData['extension-action'] = 'generate-array-pdf'; 6358 oFormData['archive'] = szArchive; 6359 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 6360 6361 __ctlChromePHPGeneratePDF(oFormData, function () { 6362 g_oCTLBootstrapModals.closeLastModal(); 6363 }); 6364 } else { 6365 window["g_iCntArchivePDF"] = 0; 6366 window["g_idWidgetPDF"] = idWidget; 6367 window["g_aArchivePDFUrls"] = []; 6368 window["g_aArchivePDFIds"] = aIds; 6369 window["g_oPDFMakerMutex"] = new CVulcanoMutex(); 6370 window["g_szPDFMakerTypeArchive"] = szArchive; 6371 6372 let iThreadToUse = 6; 6373 6374 if (window["g_aArchivePDFIds"].length < iThreadToUse) { 6375 iThreadToUse = window["g_aArchivePDFIds"].length; 6376 } 6377 6378 // prepare background 6379 let oFormData = {}; 6380 oFormData['action'] = 'ctl-wp-studio'; 6381 oFormData['execute'] = 'ctl-chrome-php'; 6382 oFormData["widget-id"] = idWidget; 6383 oFormData['extension-action'] = 'generate-bg-pdf'; 6384 6385 __ctlChromePHPGenerateBackgroundPDF(oFormData, function (oResult) { 6386 window["g_idLoadingArchivePDF"] = g_oCTLWPStudio.showLoading(""); 6387 for (let i = 0; i < iThreadToUse; i++) { 6388 __ctlChromePHPPrepareSinglePDFForArchive(oResult.pdfPath, function (oResult) { 6389 // This callback is called when the final PDF or ZIP is generated 6390 }); 6391 } 6392 }); 6393 } 6394} 6395 6396function ctlShowPDFViewer(idWidget, szPDFURL, aSettingsModal = {}, aSettingsViewer = {}, oEmailData = {}) { 6397 6398 if (!szPDFURL) { 6399 alert("Invalid PDF URL"); 6400 return; 6401 } 6402 6403 let szPDFURLParts = szPDFURL.split("/"); 6404 6405 let szPDFFileName = szPDFURL; 6406 if (szPDFURLParts.length > 0) { 6407 szPDFFileName = szPDFURLParts[szPDFURLParts.length - 1]; 6408 } 6409 6410 let szMainModalClass = "ctl-show-pdf-viewer-modal"; 6411 6412 let aSettingsModalDefault = { 6413 height: "70", 6414 width: "80", 6415 entrance_alpha: true, 6416 exit_alpha: true, 6417 position: "centered", 6418 entrance_animation: "animate__slideInUp", 6419 exit_animation: "animate__slideOutDown", 6420 modal_title: szPDFFileName, 6421 modal_size: "modal-xl", 6422 footer_buttons: [], 6423 wrapper_classes: "", 6424 show_save_button: false 6425 }; 6426 6427 aSettingsModal = Object.assign(aSettingsModalDefault, aSettingsModal); 6428 6429 aSettingsModal.wrapper_classes += " " + szMainModalClass; 6430 6431 let aSettingsViewerDefault = { 6432 locale: "it", 6433 classes: "", 6434 // viewer-extra-styles: "", 6435 "show-open-file-button": false, 6436 "show-stamp-button": false, 6437 "show-ink-button": false, 6438 "show-free-text-button": false, 6439 "show-highlight-button": false, 6440 "show-save-button": false 6441 }; 6442 6443 aSettingsViewer = Object.assign(aSettingsViewerDefault, aSettingsViewer); 6444 6445 let szViewerExtraStyles = ""; 6446 6447 if (!aSettingsViewer["show-save-button"]) {
6448 szViewerExtraStyles += "#secondaryDownload { display: none; } "; 6449 szViewerExtraStyles += "#downloadButton { display: none; } "; 6450 } 6451 6452 if (!aSettingsViewer["show-open-file-button"]) { 6453 szViewerExtraStyles += "#secondaryOpenFile { display: none; } "; 6454 } 6455 6456 if (!aSettingsViewer["show-stamp-button"]) { 6457 szViewerExtraStyles += "#editorStamp { display: none; } "; 6458 } 6459 6460 if (!aSettingsViewer["show-ink-button"]) { 6461 szViewerExtraStyles += "#editorInk { display: none; } "; 6462 } 6463 6464 if (!aSettingsViewer["show-free-text-button"]) { 6465 szViewerExtraStyles += "#editorFreeText { display: none; } "; 6466 } 6467 6468 if (!aSettingsViewer["show-highlight-button"]) { 6469 szViewerExtraStyles += "#editorHighlight { display: none; } "; 6470 } 6471 6472 szViewerExtraStyles += "#mainContainer {min-width: 0px;}"; 6473 6474 let szPDFViewerURL = jQuery(".script-pdfjs-viewer").data("pdf-viewer-url"); 6475 let html = '<pdfjs-viewer-element' 6476 6477 let szPDFViewerClasses = "ctl-chrome-php-pdfjs-viewer"; 6478 if (aSettingsViewer.classes) { 6479 szPDFViewerClasses += ' ' + aSettingsViewer.classes; 6480 } 6481 6482 html += ' class="' + szPDFViewerClasses + '"'; 6483 html += ' src="' + szPDFURL + '"'; 6484 html += ' viewer-path="' + szPDFViewerURL + '"'; 6485 html += ' locale="it"'; 6486 html += ' viewer-extra-styles="' + szViewerExtraStyles + '"'; 6487 html += ' ></pdfjs-viewer-element>'; 6488 6489 let szModalClasses = "ctl-chrome-php-pdfjs-viewer-modal"; 6490 if (aSettingsModal.classes) { 6491 szModalClasses += ' ' + aSettingsModal.classes; 6492 } 6493 6494 aSettingsModal.modal_content = html; 6495 6496 if (aSettingsModal.show_save_button) { 6497 let szButtonHtml = '<button class="btn btn-primary btn-save-pdf-viewer" data-pdf-url="' + szPDFURL + '">'; 6498 szButtonHtml += '<i class="ctl-wp-studio-icons-download-cloud mr-2"></i>' + g_oCTLChromePhpLocalizationFront["Download"]; 6499 szButtonHtml += '</button>'; 6500 6501 aSettingsModal.footer_buttons.push(szButtonHtml); 6502 } 6503 6504 if (idWidget && g_bSMTP) { 6505 let szButtonHtml = '<button data-widget-id="' + idWidget + '" class="btn btn-primary ctl-chrome-php-action-show-send-pdf-via-mail" data-email="' + Base64.encode(JSON.stringify(oEmailData)) + '">'; 6506 szButtonHtml += '<i class="fa-solid fa-paper-plane mr-2"></i>' + g_oCTLChromePhpLocalizationFront["Send via email"]; 6507 szButtonHtml += '</button>'; 6508 6509 aSettingsModal.footer_buttons.push(szButtonHtml); 6510 } 6511 6512 g_oCTLBootstrapModals.showModal(aSettingsModal); 6513} 6514// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-css-tweaker/php/../js/front.js 6515var CTL_CSS_TWEAKER = function( szPluginCode, szLocalizationPrefix ){ 6516 CTL_WP_STUDIO.call(this, szPluginCode, szLocalizationPrefix); 6517}; 6518 6519CTL_CSS_TWEAKER.prototype = Object.create(CTL_WP_STUDIO.prototype); 6520 6521CTL_CSS_TWEAKER.prototype._mouseX = 0; 6522CTL_CSS_TWEAKER.prototype._mouseY = 0; 6523CTL_CSS_TWEAKER.prototype._szInspectorClass = ""; 6524CTL_CSS_TWEAKER.prototype._aMediaRules = []; 6525 6526CTL_CSS_TWEAKER.prototype._aFrameworkClasses = [ 6527 // Bootstrap 6528 "text-center", 6529 "text-left", 6530 "text-right", 6531 6532 "hidden-xs","hidden-sm","hidden-md","hidden-lg", 6533 "visible-xs","visible-sm","visible-md","visible-lg", 6534 "col-1","col-2","col-3","col-4","col-5","col-6","col-7","col-8","col-9","col-10","col-11","col-12", 6535 "col-xs-1","col-xs-2","col-xs-3","col-xs-4","col-xs-5","col-xs-6", 6536 "col-xs-7","col-xs-7","col-xs-9","col-xs-10","col-xs-11","col-xs-12", 6537 "col-sm-1","col-sm-2","col-sm-3","col-sm-4","col-sm-5","col-sm-6", 6538 "col-sm-7","col-sm-7","col-sm-9","col-sm-10","col-sm-11","col-sm-12", 6539 "col-md-1","col-md-2","col-md-3","col-md-4","col-md-5","col-md-6", 6540 "col-md-7","col-md-7","col-md-9","col-md-10","col-md-11","col-md-12", 6541 "col-lg-1","col-lg-2","col-lg-3","col-lg-4","col-lg-5","col-lg-6", 6542 "col-lg-7","col-lg-7","col-lg-9","col-lg-10","col-lg-11","col-lg-12", 6543 6544 // WP 6545 6546 // Font Awesome 6547 "fa" 6548 ]; 6549 6550CTL_CSS_TWEAKER.prototype._aFalseClasses = [ 6551 "cat-item-", 6552 "page-item-", 6553 "post-", 6554 "product-", 6555 "postid-", 6556 "recent-posts", 6557 "search-", 6558 "menu-item-" 6559 ]; 6560 6561CTL_CSS_TWEAKER.prototype.updateCross = function(e){ 6562 jQuery(this._idRoot + "editor-container").css("display","block"); 6563 6564 var oNode = jQuery(this._idRoot + "editor-container svg"); 6565 var x = this._mouseX;
6566 var y = this._mouseY - this.getScroll().y; 6567 var h = oNode.find('#h'); 6568 var v = oNode.find('#v'); 6569 6570 h.attr("y1",y); 6571 h.attr("y2",y); 6572 h.attr("x2","100%"); 6573 6574 v.attr("x1",x); 6575 v.attr("x2",x); 6576 v.attr("y2","100%"); 6577}; 6578 6579CTL_CSS_TWEAKER.prototype.getSheets = function(){ 6580 return document.styleSheets; 6581}; 6582 6583CTL_CSS_TWEAKER.prototype.isUsedClassInRules = function( szClassName) { 6584 //return true; 6585 6586 var sheets = document.styleSheets; 6587 6588 for (var i = 0; i < sheets.length; i++) { 6589 if(!sheets[i].rules){ 6590 continue; 6591 } 6592 6593 for( var k = 0; k < sheets[i].rules.length; k++ ){ 6594 if(!sheets[i].rules[k] || !sheets[i].rules[k].selectorText){ 6595 continue; 6596 } 6597 var szSelector = sheets[i].rules[k].selectorText.toString(); 6598 6599 if( szSelector.indexOf(szClassName) !== -1 ){ 6600 return true; 6601 } 6602 6603 } 6604 } 6605 return false; 6606}; 6607 6608CTL_CSS_TWEAKER.prototype.computeCSSMediaRules = function(){ 6609 6610 var aMediaRules = []; 6611 var sheets = document.styleSheets; 6612 6613 for (var i = 0; i < sheets.length; i++) { 6614 if (!sheets[i].hasOwnProperty('cssRules')) { 6615 continue; 6616 } 6617 6618 for( var k = 0; k < sheets[i].cssRules.length; k++ ){ 6619 var oStyle = sheets[i].cssRules[k]; 6620 6621 if( oStyle.constructor.name !== "CSSMediaRule"){ 6622 continue; 6623 } 6624 6625 if( oStyle.media && oStyle.media.mediaText ){ 6626 6627 if( !oStyle.cssRules || oStyle.cssRules.length === 0){ 6628 continue; 6629 } 6630 6631 if( oStyle.media.mediaText.indexOf("max-width") === -1 && 6632 oStyle.media.mediaText.indexOf("min-width") === -1 ){ 6633 continue; 6634 } 6635 6636 for( var p = 0; p < oStyle.cssRules.length; p++ ){ 6637 var oRule = oStyle.cssRules[p]; 6638 var oSelector = document.querySelector(oRule.selectorText); 6639 6640 if(!oSelector){ 6641 continue; 6642 } 6643 6644 aMediaRules.push( 6645 { style : JSON.stringify(window.getComputedStyle(oSelector, null)), 6646 selector : oSelector, 6647 rule : oRule } ); 6648 } 6649 } 6650 } 6651 } 6652 6653 return aMediaRules; 6654}; 6655 6656CTL_CSS_TWEAKER.prototype.getSelectorCSSMediaRules = function(szSelector){ 6657 6658 var oSelector = document.querySelector(szSelector); 6659 var aMatchedMediaRules = []; 6660 6661 if(!oSelector){ 6662 return aMatchedMediaRules; 6663 } 6664 6665 var szStyle1 = JSON.stringify(window.getComputedStyle(oSelector, null)); 6666 6667 for (var i = 0; i < this._aMediaRules.length; i++) { 6668 if( szStyle1 === this._aMediaRules[i].style){ 6669 aMatchedMediaRules.push(this._aMediaRules[i].rule); 6670 } 6671 } 6672 6673 return aMatchedMediaRules; 6674}; 6675 6676CTL_CSS_TWEAKER.prototype.getMatchedCSSMediaRules = function(szSelector){ 6677 6678 var aMatchedMediaRules = []; 6679 var sheets = document.styleSheets; 6680 var oSelector = null; 6681 6682 try { 6683 var oSelector = document.querySelector(szSelector); 6684 6685 if(!oSelector){ 6686 return null; 6687 } 6688 } 6689 catch(e) { 6690 console.log(e); 6691 return null; 6692 } 6693 6694 6695 var szStyle1 = JSON.stringify(window.getComputedStyle(oSelector, null)); 6696 6697 for (var i = 0; i < sheets.length; i++) { 6698 if (!sheets[i].hasOwnProperty('cssRules')) { 6699 continue; 6700 } 6701 6702 for( var k = 0; k < sheets[i].cssRules.length; k++ ){ 6703 var oStyle = sheets[i].cssRules[k]; 6704 if ( oStyle.toString().indexOf("CSSMediaRule") === -1 ){ 6705 continue; 6706 } 6707 6708 if( oStyle.media && window.matchMedia(oStyle.media.mediaText).matches ){ 6709 6710 if( !oStyle.cssRules || oStyle.cssRules.length === 0){ 6711 continue; 6712 } 6713 6714 if( oStyle.media.mediaText.indexOf("max-width") === -1 ){ 6715 continue; 6716 } 6717 6718 var szBreakPointValue = (oStyle.media.mediaText.replace( /[^\d\.]*/g, '')); 6719 6720 if( szBreakPointValue === "" ){ 6721 continue; 6722 } 6723 6724 for( var p = 0; p < oStyle.cssRules.length; p++ ){ 6725 var oRule = oStyle.cssRules[p]; 6726 var oSelector = document.querySelector(oRule.selectorText); 6727 6728 if(!oSelector){ 6729 continue; 6730 } 6731 6732 var szStyle2 = JSON.stringify(window.getComputedStyle(oSelector, null)); 6733 6734 if( szStyle1 === szStyle2){ 6735 aMatchedMediaRules.push({ rule : oRule, breakpoint : szBreakPointValue }); 6736 } 6737 } 6738 } 6739 } 6740 } 6741 6742 return aMatchedMediaRules; 6743}; 6744 6745CTL_CSS_TWEAKER.prototype.isSelectorValid = function(szSelector){ 6746 try { 6747 var oSelector = document.querySelector(szSelector); 6748 } 6749 catch(e) { 6750 console.log(e); 6751 return null; 6752 } 6753}; 6754 6755CTL_CSS_TWEAKER.prototype.getSelectorStyle = function(szSelector){ 6756 6757 try { 6758 var oSelector = document.querySelector(szSelector); 6759 6760 if(!oSelector){ 6761 return null; 6762 }else{ 6763 return window.getComputedStyle(oSelector, null); 6764 } 6765 } 6766 catch(e) { 6767 console.log(e); 6768 return null; 6769 } 6770 6771 6772}; 6773 6774CTL_CSS_TWEAKER.prototype.onToggleInspector = function(){ 6775 if( jQuery(this._idRoot + "editor-container").length > 0 ){ 6776 jQuery(this._idRoot + "editor-container").remove(); 6777 }else{ 6778 this.initCross(); 6779 } 6780}; 6781 6782CTL_CSS_TWEAKER.prototype.updateTempStyle = function( szCSS, aLinkCSS ){ 6783 6784 // szCSS = /*this._base64.decode(*/szCSS/*)*/; 6785 6786 jQuery( this._idRoot + "temp-style").text(szCSS); 6787 6788 for( var i = 0; i < aLinkCSS.length; i++ ){ 6789 var oLinkNode = jQuery('<link href="' + 6790 this._base64.decode(aLinkCSS[i]) + 6791 '" rel="stylesheet">'); 6792 6793 oLinkNode.addClass(this._classRoot+"link-css"); 6794 jQuery("head").append(oLinkNode); 6795 } 6796}; 6797 6798CTL_CSS_TWEAKER.prototype.addInspector = function(){ 6799 parent.g_oCTLTweaker.onUpdateStyle(false); 6800 this.initCross(); 6801 6802 }; 6803 6804CTL_CSS_TWEAKER.prototype.removeInspector = function(){ 6805 var oParent = this; 6806 jQuery('*').each(function(){ 6807 jQuery(this).removeClass(oParent._szInspectorClass); 6808 }); 6809 6810 jQuery(this._idRoot + "editor-container").remove(); 6811 6812 6813 6814 jQuery("body").off("mousemove"); 6815 jQuery("body").off("mouseleave"); 6816 jQuery(document).off("hover mouseover",'.'+g_oCTLTweaker._szInspectorClass);
6817 jQuery(document).off("click",'.'+g_oCTLTweaker._szInspectorClass); 6818 }; 6819 6820CTL_CSS_TWEAKER.prototype.__updateHighLight = function( oNodeElement ){ 6821 6822 var oParent = this; 6823 6824 jQuery(this._idRoot + "highlight-container").empty(); 6825 jQuery(this._idRoot + "highlight-container").css("display","block"); 6826 6827 var offset = oNodeElement.offset(); 6828 var oNodeHighLight = jQuery(this._idRoot + 'highlight'); 6829 6830 oNodeHighLight.css("top", (offset.top-this.getScroll().y - 6831 parseInt(oNodeElement.css("margin-top"))) ); 6832 oNodeHighLight.css("left", (offset.left-this.getScroll().x - 6833 parseInt(oNodeElement.css("margin-left"))) ); 6834 oNodeHighLight.css("width", oNodeElement.innerWidth() ); 6835 oNodeHighLight.css("height", oNodeElement.innerHeight() ); 6836 6837 oNodeHighLight.css("border-top-width", oNodeElement.css("margin-top") ); 6838 oNodeHighLight.css("border-left-width", oNodeElement.css("margin-left") ); 6839 oNodeHighLight.css("border-bottom-width", oNodeElement.css("margin-bottom") ); 6840 oNodeHighLight.css("border-right-width", oNodeElement.css("margin-right") ); 6841 6842 var szFinalPath = this.__detectSelector(oNodeElement); 6843 var oNodePreviewSelector = jQuery("#" + this._cssClassDomain + "preview-selector"); 6844 6845 oNodePreviewSelector.css("left","0px"); 6846 oNodePreviewSelector.css("top","0px"); 6847 oNodePreviewSelector.css("display","block"); 6848 oNodePreviewSelector.find(this._classRoot + "label-selector").text(szFinalPath); 6849 6850 var iNodePreviewSelectorWidth = oNodePreviewSelector.outerWidth(); 6851 var iTopPosition = (offset.top-this.getScroll().y - 14 - 6852 parseInt(oNodeElement.css("margin-top"))); 6853 var iLeftPosition = offset.left-this.getScroll().x - 6854 parseInt(oNodeElement.css("margin-left")); 6855 6856 if( iTopPosition < 0 ){ 6857 iTopPosition += 14; 6858 iTopPosition += parseInt(oNodeElement.css("margin-top")) * 2; 6859 iTopPosition += parseInt(oNodeElement.outerHeight()); 6860 6861 if( iTopPosition > jQuery(window).height() ){ 6862 iTopPosition = 0; 6863 } 6864 } 6865 6866 oNodePreviewSelector.css("top", iTopPosition ); 6867 6868 if( iNodePreviewSelectorWidth > oNodeElement.outerWidth() ){ 6869 var iDiff = oNodePreviewSelector.outerWidth()-oNodeElement.outerWidth(); 6870 iLeftPosition = iLeftPosition -iDiff; 6871 } 6872 6873 oNodePreviewSelector.css("left", iLeftPosition ); 6874 6875 if( oNodePreviewSelector.offset().left < 0 ){ 6876 oNodePreviewSelector.css("left", "0px" ); 6877 } 6878 6879 jQuery(szFinalPath).each(function(){ 6880 var iW = jQuery(this).outerWidth(); 6881 var iH = jQuery(this).outerHeight(); 6882 6883 if( iW === 0 || iH === 0){ 6884 return; 6885 } 6886 6887 var oNodeRect = jQuery("<div class='"+oParent._cssClassDomain+"preview-selector-highlight'></div>"); 6888 oNodeRect.appendTo(jQuery(oParent._idRoot + "highlight-container")); 6889 oNodeRect.css("top", jQuery(this).offset().top - oParent.getScroll().y); 6890 oNodeRect.css("left", jQuery(this).offset().left - oParent.getScroll().x); 6891 oNodeRect.css("width", iW); 6892 oNodeRect.css("height", iH); 6893 }); 6894 6895}; 6896 6897CTL_CSS_TWEAKER.prototype.onHighLightSelector = function( szSelector, bAnimation ){ 6898 6899 var oParent = this; 6900 var oFirstNode = null; 6901 6902 jQuery(oParent._idRoot + "highlight-container").empty(); 6903 6904 var oSelectorNode = null; 6905 try{ 6906 oSelectorNode = jQuery(szSelector); 6907 oSelectorNode.each(function(){ 6908 if(!oFirstNode){ 6909 oFirstNode = jQuery(this); 6910 } 6911 }); 6912 }catch(e){ 6913 6914 } 6915 6916 if(oFirstNode){ 6917 var iOffsetTop = oFirstNode.offset().top - 100; 6918 6919 if( bAnimation === false ){ 6920 jQuery(oParent._idRoot + "highlight-container").css("display","block"); 6921 jQuery(szSelector).each(function(){ 6922 var iW = jQuery(this).outerWidth(); 6923 var iH = jQuery(this).outerHeight(); 6924 6925 if( iW === 0 || iH === 0){ 6926 return; 6927 } 6928 6929 var oNodeRect = jQuery("<div class='"+oParent._cssClassDomain+"preview-selector-highlight'></div>"); 6930 oNodeRect.appendTo(jQuery(oParent._idRoot + "highlight-container")); 6931 oNodeRect.css("top", jQuery(this).offset().top - oParent.getScroll().y); 6932 oNodeRect.css("left", jQuery(this).offset().left - oParent.getScroll().x); 6933 oNodeRect.css("width", iW); 6934 oNodeRect.css("height", iH); 6935 }); 6936 }else{ 6937 jQuery("body").animate({ scrollTop: iOffsetTop }, 'slow',function(){ 6938 setTimeout( function(){ 6939 6940 jQuery(oParent._idRoot + "highlight-container").css("display","block"); 6941 jQuery(szSelector).each(function(){ 6942 var iW = jQuery(this).outerWidth(); 6943 var iH = jQuery(this).outerHeight(); 6944 6945 if(!oFirstNode){ 6946 oFirstNode = jQuery(this); 6947 } 6948 6949 if( iW === 0 || iH === 0){ 6950 return; 6951 } 6952 6953 var oNodeRect = jQuery("<div class='"+oParent._cssClassDomain+"preview-selector-highlight'></div>"); 6954 oNodeRect.appendTo(jQuery(oParent._idRoot + "highlight-container")); 6955 oNodeRect.css("top", jQuery(this).offset().top - oParent.getScroll().y); 6956 oNodeRect.css("left", jQuery(this).offset().left - oParent.getScroll().x); 6957 oNodeRect.css("width", iW); 6958 oNodeRect.css("height", iH); 6959 }); 6960 }, 100 ); 6961 }); 6962 } 6963 6964 return true; 6965 }else{ 6966 return false;
6967 } 6968}; 6969 6970CTL_CSS_TWEAKER.prototype.initCross = function(){ 6971 var html = ''; 6972 var oParent = this; 6973 6974 this._szInspectorClass = this._cssClassDomain + "inspector"; 6975 6976 html += '<div id="' + this._cssClassDomain + 'editor-container">'; 6977 html += '<div id="' + this._cssClassDomain + 'highlight"></div>'; 6978 html += '<svg height="100%" width="100%">'; 6979 html += '<line id="h" x1="0" y1="0" x2="0" y2="0" style="stroke:#0085ba;stroke-width:1" />'; 6980 html += '<line id="v" x1="0" y1="0" x2="0" y2="0" style="stroke:#0085ba;stroke-width:1" />'; 6981 html += '</svg>'; 6982 html += '</div>'; 6983 6984 html += '<div id="' + this._cssClassDomain + 'highlight-container">'; 6985 6986 html += '</div>'; 6987 6988 html += '<div id="' + this._cssClassDomain + 'preview-selector">'; 6989 html += '<ul>'; 6990 html += '<li class="' + this._cssClassDomain + 'label-selector"></li>'; 6991 html += '</ul>'; 6992 html += '</div>'; 6993 6994 jQuery("body").append(html); 6995 6996 jQuery('*').each(function(){ 6997 if( jQuery(this).parents( "#"+oParent._cssClassDomain+"preview-selector").length > 0 ){ 6998 return; 6999 } 7000 if(jQuery(this).attr("id") === oParent._cssClassDomain + "preview-selector" || 7001 jQuery(this).attr("id") === oParent._cssClassDomain + 'editor-container' || 7002 jQuery(this).hasClass(oParent._cssClassDomain+"label-selector") ){ 7003 return; 7004 } 7005 7006 jQuery(this).addClass(oParent._szInspectorClass); 7007 }); 7008 7009 this._aMediaRules = this.computeCSSMediaRules(); 7010 7011 7012 7013 jQuery("body").mousemove(function( e ) { 7014 g_oCTLTweaker._mouseX = e.pageX; 7015 g_oCTLTweaker._mouseY = e.pageY; 7016 g_oCTLTweaker.updateCross(); 7017 }); 7018 jQuery("body").mouseleave(function(e){ 7019 e.stopPropagation(); 7020 e.preventDefault(); 7021 g_oCTLTweaker.hideAllHighLights(); 7022 }); 7023 jQuery(document).on("hover mouseover",'.'+g_oCTLTweaker._szInspectorClass, 7024 function(e){ 7025 e.stopPropagation(); 7026 //e.preventDefault(); 7027 g_oCTLTweaker.__updateHighLight(jQuery(this)); 7028 } 7029 ); 7030 7031 jQuery(document).on("click",'.'+g_oCTLTweaker._szInspectorClass, 7032 function(e){ 7033 7034 e.preventDefault(); 7035 e.stopPropagation(); 7036 7037 if(e.originalEvent === undefined){ 7038 return; 7039 } 7040 7041 g_oCTLTweaker.__updateHighLight(jQuery(this)); 7042 var szFinalPath = g_oCTLTweaker.__detectSelector(jQuery(this)); 7043 var szAllSelectorsPath = g_oCTLTweaker.__detectAllSelectors(jQuery(this), false); 7044 var szUniquePath = g_oCTLTweaker.__detectUniqueSelector(jQuery(this)); 7045 var szIdSelector = g_oCTLTweaker.__detectAllSelectors(jQuery(this),true); 7046 7047 var aPath = []; 7048 7049 7050 aPath.push(szFinalPath); 7051 7052 if( szFinalPath !== szAllSelectorsPath ){ 7053 aPath.push(szAllSelectorsPath); 7054 } 7055 7056 if(szFinalPath !== szUniquePath){ 7057 aPath.push(szUniquePath); 7058 } 7059 7060 if(szIdSelector.length > 0 && 7061 szIdSelector !== szFinalPath && 7062 szIdSelector !== szAllSelectorsPath){ 7063 aPath.push(szIdSelector); 7064 } 7065 7066 parent.g_oCTLTweaker.onSelectClassPathToOverride(aPath); 7067 } 7068 ); 7069}; 7070 7071CTL_CSS_TWEAKER.prototype.hideAllHighLights = function(){ 7072 jQuery(this._idRoot + "editor-container").css("display","none"); 7073 jQuery(this._idRoot + "preview-selector").css("display","none"); 7074 jQuery(this._idRoot + "highlight-container").css("display","none"); 7075}; 7076 7077 7078CTL_CSS_TWEAKER.prototype.__detectUniqueSelector = function( oNodeElement ){ 7079 7080 var el = oNodeElement[0]; 7081 var names = []; 7082 while (el.parentNode) { 7083 if (el.id) { 7084 names.unshift('#' + el.id); 7085 break; 7086 } else { 7087 if (el === el.ownerDocument.documentElement || el === el.ownerDocument.body) { 7088 names.unshift(el.tagName.toLowerCase()); 7089 } else { 7090 for (var c = 1, e = el; e.previousElementSibling; e = e.previousElementSibling, c++) {} 7091 names.unshift(el.tagName.toLowerCase() + ':nth-child(' + c + ')'); 7092 } 7093 el = el.parentNode; 7094 } 7095 } 7096 return names.join('>'); 7097}; 7098 7099CTL_CSS_TWEAKER.prototype.__getJSONStyleByNode = function( oNode ){ 7100 return JSON.stringify(window.getComputedStyle(oNode[0], null)); 7101}; 7102 7103 7104CTL_CSS_TWEAKER.prototype.__getJSONStyleBySelector = function( szSelector ){ 7105 return JSON.stringify(window.getComputedStyle(document.querySelector(szSelector), null)); 7106}; 7107
7108CTL_CSS_TWEAKER.prototype.__getStyleByArraySelectorString = function( aPath ){ 7109 var szTestSelector = aPath.toString(); 7110 szTestSelector = szTestSelector.replace(/,/g,' '); 7111 return this.__getJSONStyleBySelector(szTestSelector); 7112}; 7113 7114CTL_CSS_TWEAKER.prototype.__getStyleByArraySelectorObject = function( aPath ){ 7115 var aTestSelector = []; 7116 for( var i = 0; i < aPath.length; i++ ){ 7117 aTestSelector.push(aPath[i].selector); 7118 } 7119 return this.__getStyleByArraySelectorString(aTestSelector); 7120}; 7121 7122CTL_CSS_TWEAKER.prototype.__detectAllSelectors = function( oNodeElement, bStopWithId ){ 7123 var path = ""; 7124 while (oNodeElement.length) { 7125 var realNode = oNodeElement[0], name = realNode.localName; 7126 7127 var classes = oNodeElement.attr("class"); 7128 var id = oNodeElement.attr("id"); 7129 var aClasses = []; 7130 7131 // clean classes array 7132 if( classes ){ 7133 aClasses = this.__cleanClasses(classes); 7134 7135 if( aClasses.length > 0 ){ 7136 classes = ""; 7137 // normalize path 7138 for( var i = 0; i < aClasses.length; i++ ){ 7139 classes += "." + aClasses[i]; 7140 } 7141 classes = classes.trim(); 7142 }else{ 7143 classes = null; 7144 } 7145 } 7146 7147 if (!name){ 7148 break; 7149 } 7150 7151 name = name.toLowerCase(); 7152 7153 var parent = oNodeElement.parent(); 7154 7155 if( id && bStopWithId ){ 7156 path = '#' + id + (path ? '>' + path : ''); 7157 break; 7158 }else if(classes){ 7159 if(path !== ""){ 7160 path = ">" + path; 7161 } 7162 path = classes + path; 7163 }else{ 7164 if(path !== ""){ 7165 path = ">" + path; 7166 } 7167 path = name + path; 7168 } 7169 oNodeElement = parent; 7170 } 7171 7172 return path; 7173}; 7174 7175CTL_CSS_TWEAKER.prototype.__detectSelector = function( oNodeElement ){ 7176 var aDataPath = []; 7177 var aSelectorPath = []; 7178 7179// var szUniquePath = this.__detectUniqueSelector(oNodeElement); 7180 var szFinalPath = this.__traverseNode( oNodeElement, aDataPath, aSelectorPath ); 7181 var iStartLength = jQuery(szFinalPath).length; 7182 var szTestStyle = this.__getJSONStyleBySelector(szFinalPath); 7183 7184 if( aSelectorPath.length > 2 ){ 7185 var aTmpPath = aSelectorPath.slice(); 7186 for( var k = 0; k < aSelectorPath.length-1; k++ ){ 7187 7188 var aSelector2 = aTmpPath.slice(1, aTmpPath.length); 7189 var szSelector2 = aSelector2.toString().replace(/,/g,' '); 7190 var szStyle2 = this.__getStyleByArraySelectorString(aSelector2); 7191 7192 aTmpPath = aSelector2; 7193 7194 if( jQuery(szSelector2).length !== iStartLength || 7195 szTestStyle !== szStyle2 || 7196 oNodeElement.is(szSelector2) === false ){ 7197 break; 7198 }else{ 7199 szFinalPath = szSelector2; 7200 aDataPath.splice(0,1); 7201 } 7202 } 7203 } 7204 7205 7206 szFinalPath = ""; 7207 for( var i = 0; i < aDataPath.length; i++ ){ 7208 if( aDataPath[i].type === "class" || aDataPath[i].type === "class_and_tag" ){ 7209 var aTestClasses = aDataPath[i].selector.split("."); 7210 7211 if(aTestClasses.length > 1 ){ 7212 aDataPath[i].selector = ""; 7213 7214 for( var k = 0; k < aTestClasses.length; k++){ 7215 7216 var szPrefix = "."; 7217 7218 if( aTestClasses[k] === "" ){ 7219 continue; 7220 }else if (k === 0){ 7221 szPrefix = ""; 7222 } 7223 7224 var szCurClass = szPrefix + aTestClasses[k]; 7225 7226 var szNewSelector = ""; 7227 for( var m = 0; m < aTestClasses.length; m++){ 7228 szPrefix = "."; 7229 if( aTestClasses[m] === "" ){ 7230 continue; 7231 }else if (m === 0){ 7232 szPrefix = ""; 7233 } 7234 if( m !== k && aTestClasses[m] !== "" ){ 7235 szNewSelector += szPrefix + aTestClasses[m]; 7236 } 7237 } 7238 7239 aDataPath[i].selector = szNewSelector; 7240 7241 var szTestSelector = this.__getSelectorFromDataPath(aDataPath); 7242 if( szTestSelector !== "" ){ 7243 var szCurStyle = this.__getJSONStyleBySelector(szTestSelector); 7244 7245 if( jQuery(szTestSelector).length === iStartLength && 7246 szTestStyle === szCurStyle && 7247 oNodeElement.is(szTestSelector) === true ){ 7248 aTestClasses[k] = ""; 7249 } 7250 } 7251 } 7252 7253 aDataPath[i].selector = ""; 7254 for( var k = 0; k < aTestClasses.length; k++){ 7255 if(aTestClasses[k] !== ""){ 7256 szPrefix = "."; 7257 if( aTestClasses[k] === "" ){ 7258 continue; 7259 }else if (k === 0){ 7260 szPrefix = ""; 7261 } 7262 aDataPath[i].selector += szPrefix + aTestClasses[k]; 7263 } 7264 } 7265 aDataPath[i].selector = aDataPath[i].selector; 7266 } 7267 } 7268 7269 if(aDataPath[i].selector !== ""){ 7270 szFinalPath += aDataPath[i].selector + " "; 7271 } 7272 } 7273 7274 szFinalPath = szFinalPath.trim(); 7275 7276 this.__removeHolesFromDataPath(aDataPath); 7277 7278 return szFinalPath; 7279}; 7280 7281CTL_CSS_TWEAKER.prototype.__getSelectorFromDataPath = function( aDataPath ){ 7282 var szTestSelector = ""; 7283 for ( var k = 0; k < aDataPath.length; k++ ){ 7284 if( aDataPath[k].selector !== "" ){ 7285 szTestSelector += aDataPath[k].selector + " "; 7286 } 7287 } 7288 return szTestSelector.trim(); 7289}; 7290 7291CTL_CSS_TWEAKER.prototype.__removeHolesFromDataPath = function( aDataPath ){ 7292 var iSteps = aDataPath.length; 7293 for( var i = 0; i < iSteps; i++ ){ 7294 if( aDataPath[i].selector === "" ){ 7295 aDataPath.splice(i,1); 7296 iSteps--; 7297 i--; 7298 } 7299 } 7300}; 7301 7302CTL_CSS_TWEAKER.prototype.__isTagName = function( szSelector ){ 7303 switch(szSelector){ 7304 case "div": 7305 case "p": 7306 case "h1": 7307 case "h2": 7308 case "h3": 7309 case "h4": 7310 case "h5": 7311 case "h6": 7312 case "a": 7313 case "ul": 7314 case "li": 7315 case "span": 7316 case "nav": 7317 case "header": 7318 case "article": 7319 case "ol": 7320 case "br": 7321 case "i": 7322 case "span": 7323 case "section": 7324 case "footer": 7325 case "em": 7326 case "menu": 7327 case "iframe": 7328 case "object": 7329 case "aside": 7330 case "audio": 7331 case "canvas": 7332 case "button": 7333 case "caption": 7334 case "center": 7335 case "table": 7336 case "th": 7337 case "td": 7338 case "tr": 7339 case "form": 7340 case "label": 7341 case "fieldset": 7342 case "input": 7343 case "input[type=submit]": 7344 case "input[type=text]": 7345 case "input[type=number]": 7346 case "input[type=button]": 7347 case "input[type=checkbox]": 7348 case "input[type=date]": 7349 case "input[type=email]": 7350 case "input[type=month]": 7351 case "input[type=password]": 7352 case "input[type=radio]": 7353 case "input[type=range]": 7354 case "input[type=file]": 7355 case "input[type=image]": 7356 case "input[type=hidden]": 7357 case "input[type=datetime-local]": 7358 case "textarea": 7359 case "figure": 7360 case "figcaption": 7361 case "frame": 7362 case "frameset": 7363 case "head": 7364 case "hr": 7365 case "html": 7366 case "legend": 7367 case "main": 7368 case "menuitem": 7369 case "meta": 7370 case "script": 7371 case "noscript": 7372 case "select": 7373 case "option": 7374 case "pre": 7375 case "strong": 7376 case "summary": 7377 case "tbody": 7378 case "tfoot": 7379 case "thead": 7380 case "title": 7381 case "video":{ 7382 return true; 7383 }break; 7384 default:{ 7385 return false; 7386 } 7387 } 7388}; 7389 7390CTL_CSS_TWEAKER.prototype.getCSSValue = function( szSelector, szPropName ){ 7391 return jQuery(szSelector).css(szPropName); 7392}; 7393 7394CTL_CSS_TWEAKER.prototype.setCSSValue = function( szSelector, szPropName, szValue ){ 7395 jQuery(szSelector).css(szPropName, szValue); 7396}; 7397 7398 7399CTL_CSS_TWEAKER.prototype.removeValueFromArray = function( aData, value ) { 7400 var iLen = aData.length; 7401 for (var i = 0; i < iLen; i++) { 7402 if (aData[i] === value) { 7403 aData.splice(i, 1); 7404 i--; 7405 iLen--; 7406 } 7407 } 7408 return aData; 7409}; 7410 7411CTL_CSS_TWEAKER.prototype.__checkThereAreNumberAfterString = function( szFullString, szSubstring ){ 7412 if( szFullString.indexOf(szSubstring, 0) === -1 ){ 7413 return false;
7414 } 7415 7416 parseInt( szFullString.substring(szSubstring.length ) ); 7417 7418}; 7419 7420CTL_CSS_TWEAKER.prototype.__cleanId = function( id ){ 7421 //--------------------------------- 7422 // remove wp classes used as id 7423 for( var k = 0; k < this._aFalseClasses.length; k++ ){ 7424 if( id.indexOf(this._aFalseClasses[k]) === 0 && 7425 parseInt( id.substring(this._aFalseClasses[k].length ) ) ){ 7426 id = null; 7427 break; 7428 } 7429 } 7430 return id; 7431}; 7432 7433CTL_CSS_TWEAKER.prototype.__cleanClasses = function( classes ){ 7434 7435 var aClasses = classes.trim().split(" "); 7436 7437 //--------------------------------- 7438 // remove CTL Tweaker Classes 7439 this.removeValueFromArray(aClasses, this._szInspectorClass); 7440 7441 for( var i = 0; i < aClasses.length; i++ ){ 7442 //--------------------------------- 7443 // remove wp classes used as id 7444 for( var k = 0; k < this._aFalseClasses.length; k++ ){ 7445 if( aClasses[i].indexOf(this._aFalseClasses[k]) === 0 && 7446 parseInt( aClasses[i].substring(this._aFalseClasses[k].length ) ) ){ 7447 aClasses[i] = ""; 7448 break; 7449 } 7450 } 7451 //--------------------------------- 7452 // remove framework classes 7453 for( var k = 0; k < this._aFrameworkClasses.length; k++ ){ 7454 if( aClasses[i] === this._aFrameworkClasses[k] ){ 7455 aClasses[i] = ""; 7456 break; 7457 } 7458 } 7459 } 7460 // remove holes 7461 this.removeValueFromArray(aClasses, ""); 7462 7463 return aClasses; 7464}; 7465 7466CTL_CSS_TWEAKER.prototype.__traverseNode = function( oNode, aPath, aSelectorPath ){ 7467 var classes = oNode.attr("class"); 7468 var tagName = oNode.prop("tagName"); 7469 var oParent = oNode.parent(); 7470 var aClasses = []; 7471 7472 // clean classes array 7473 if(classes){ 7474 aClasses = classes.trim().split(" "); 7475 aClasses = this.removeValueFromArray(aClasses, this._szInspectorClass); 7476 7477 for( var i = 0; i < aClasses.length; i++ ){ 7478 //--------------------------------- 7479 // remove wp classes used as id 7480 for( var k = 0; k < this._aFalseClasses.length; k++ ){ 7481 if( aClasses[i].indexOf(this._aFalseClasses[k]) === 0 && 7482 parseInt( aClasses[i].substring(this._aFalseClasses[k].length ) ) ){ 7483 aClasses[i] = ""; 7484 break; 7485 } 7486 } 7487 7488 /* 7489 var aTest1 = aClasses[i].split("-"), aTest2 = aClasses[i].split("_"); 7490 if( parseInt(aTest1[aTest1.length-1]) || parseInt(aTest2[aTest2.length-1]) ){ 7491 aClasses[i] = ""; 7492 } 7493 */ 7494 7495 //--------------------------------- 7496 // remove framework classes 7497 for( var k = 0; k < this._aFrameworkClasses.length; k++ ){ 7498 if( aClasses[i] === this._aFrameworkClasses[k] ){ 7499 aClasses[i] = ""; 7500 break; 7501 } 7502 } 7503 } 7504 7505 aClasses = this.removeValueFromArray(aClasses, ""); 7506 } 7507 7508 if(tagName){ 7509 tagName = tagName.toLowerCase(); 7510 if(tagName === "input" && 7511 oNode.attr("type") !== "" ){ 7512 tagName+="[type="+ oNode.attr("type") +"]"; 7513 } 7514 } 7515 7516 if( aClasses.length > 0 ){ 7517 classes = ""; 7518 if( aClasses.length === 1 && tagName){ 7519 classes = tagName + "." + aClasses[0]; 7520 aPath.unshift( { selector: classes, type : "class_and_tag" } ); 7521 }else{ 7522 for( var i = 0; i < aClasses.length; i++ ){ 7523 classes += "." + aClasses[i]; 7524 } 7525 aPath.unshift( { selector: classes, type : "class" } ); 7526 } 7527 7528 aSelectorPath.unshift(classes); 7529 }else if(tagName){ 7530 aPath.unshift( { selector: tagName, type : "tag" } ); 7531 aSelectorPath.unshift(tagName); 7532 } 7533 7534 7535 if( tagName !== "body" && oParent.length > 0 ){
7536 this.__traverseNode(oParent, aPath, aSelectorPath); 7537 } 7538 7539 return aSelectorPath.toString().replace(/,/g,' '); 7540}; 7541 7542jQuery(document).ready(function(){ 7543 7544 if(!parent || !parent.g_oCTLTweaker){ 7545 return; 7546 } 7547 7548 if ( g_oCTLTweaker.getUrlParam("inspector") === "true" ){ 7549 parent.g_oCTLTweaker.onUpdateStyle(false); 7550 g_oCTLTweaker.initCross(); 7551 }else if( g_oCTLTweaker.getUrlParam("inspector") === "false" ){ 7552 parent.g_oCTLTweaker.onUpdateStyle(false); 7553 } 7554 7555 if ( g_oCTLTweaker.getUrlParam("tweak-id") ){ 7556 jQuery("#tweak-" + g_oCTLTweaker.getUrlParam("tweak-id")).remove(); 7557 } 7558 7559 jQuery(document).resize(function(){ 7560 g_oCTLTweaker.hideAllHighLights(); 7561 }); 7562 7563 jQuery(document).scroll(function(){ 7564 g_oCTLTweaker.hideAllHighLights(); 7565 }); 7566 7567 jQuery(window).on("unload",function(){ 7568 if( g_oCTLTweaker.getUrlParam("inspector") ){ 7569 parent.g_oCTLTweaker.onUnloadIframe(); 7570 } 7571 }); 7572}); 7573 7574var g_oCTLTweaker = new CTL_CSS_TWEAKER("ctl-css-tweaker", "ctl_css_tweaker_"); 7575// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-dropbox/php/../js/front.js 7576jQuery(window).ready(function(){ 7577 7578 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function(oNodeModal){ 7579 oNodeModal.find(".ctl-dropbox-folder-wrapper").each( function(){ 7580 let oNodeFolderWrapper = jQuery(this); 7581 let idWidget = oNodeFolderWrapper.attr("data-widget-id"); 7582 7583 if (oNodeFolderWrapper.find(".ctl-dropbox-first-loader").length > 0 ){ 7584 let idResource = oNodeFolderWrapper.find(".ctl-dropbox-first-loader").attr("data-resource-id"); 7585 ctlDropboxRefreshHtmlFolder(idWidget, idResource, false, true); 7586 } 7587 7588 }); 7589 }); 7590 7591 wpdk_add_action("ctl-dropbox-reload-widget", function( idWidget, idResource, bShowLoading = true){ 7592 ctlDropboxRefreshHtmlFolder(idWidget, idResource, bShowLoading, false); 7593 } ); 7594 7595 jQuery(".ctl-dropbox-folder-wrapper").each( function(){ 7596 let oNodeFolderWrapper = jQuery(this); 7597 let idWidget = oNodeFolderWrapper.attr("data-widget-id"); 7598 7599 if (oNodeFolderWrapper.find(".ctl-dropbox-first-loader").length > 0 ){ 7600 let idResource = oNodeFolderWrapper.find(".ctl-dropbox-first-loader").attr("data-resource-id"); 7601 ctlDropboxRefreshHtmlFolder(idWidget, idResource, false, true); 7602 } 7603 }); 7604 7605 jQuery(document).on("click", ".ctl-dropbox-action-reload-widget",function(){ 7606 let oNodeButton = jQuery(this); 7607 let idWidget = oNodeButton.attr("data-widget-id"); 7608 let idResource = oNodeButton.attr("data-resource-id"); 7609 let html = '<div class="text-center ctl-dropbox-first-loader" data-resource-id="' + idResource + '">'+ 7610 '<div class="spinner-border text-secondary" role="status"><span class="sr-only">Loading...</span></div></div>'; 7611 7612 oNodeButton.closest(".ctl-wp-studio-form-control-wrapper").html(html); 7613 ctlDropboxRefreshHtmlFolder(idWidget, idResource, false, false); 7614 }); 7615 7616 jQuery(document).on("click", ".ctl-dropbox-action-img-preview", function( e ){ 7617 ctlDropboxShowImagePreview( jQuery(this) ); 7618 }); 7619 7620 jQuery(document).on("click", ".ctl-dropbox-action-open-folder", function( e ){ 7621 ctlDropboxOpenFolder( jQuery(this) ); 7622 }); 7623 7624 jQuery(document).on("dblclick", ".ctl-dropbox-action-dblclick-open-folder", function( e ){ 7625 ctlDropboxOpenFolder( jQuery(this) ); 7626 }); 7627 7628 jQuery(document).on("click", ".ctl-dropbox-show-upload-dialog", function(){ 7629 var oFormData = {}; 7630 7631 oFormData["limit-extensions"] = ["ctl-dropbox", "ctl-form-fields"]; 7632 oFormData["action"] = 'ctl-wp-studio'; 7633 oFormData["execute"] = 'ctl-dropbox'; 7634 oFormData["extension-action"] = 'upload-form'; 7635 oFormData["widget-id"] = jQuery(this).attr("data-widget-id"); 7636 oFormData["relative-path"] = jQuery(this).attr("data-relative-path"); 7637 oFormData["resource-id"] = jQuery(this).attr("data-resource-id"); 7638 7639 var idLoading = g_oCTLWPStudio.showLoading(""); 7640 7641 jQuery.post( 7642 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 7643 ).done( function(response){ 7644 var oResponse = jQuery.parseJSON(response); 7645 g_oCTLWPStudio.closeDlg(idLoading); 7646 7647 if( oResponse.res === false ){ 7648 if ( oResponse.desc){ 7649 alert(oResponse.desc); 7650 } 7651 }else{ 7652 7653 g_oCTLBootstrapModals.showModal({ 7654 wrapper_classes : "ctl-dropbox-upload-file-dialog", 7655 modal_title : g_oCTLDropBoxLocalizationFront["Upload file"], 7656 modal_content : Base64.decode(oResponse.html), 7657 closeable : true, 7658 width: '80', 7659 position: "centered", 7660 entrance_animation : "animate__slideInUp", 7661 exit_animation : "animate__slideOutDown", 7662 }); 7663 7664 } 7665 }).fail( function(){ 7666 g_oCTLWPStudio.closeDlg(idLoading); 7667 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 7668 }); 7669 }); 7670 7671 jQuery(document).on("click", ".ctl-dropbox-action-pdf-preview", function(){ 7672 ctlDropboxShowPDFPreview(jQuery(this)); 7673 }); 7674 7675 jQuery(document).on("click", ".ctl-dropbox-action-create-folder", function(){ 7676 ctlDropboxCreateFolder(jQuery(this)); 7677 }); 7678 7679 jQuery(document).on("click", ".ctl-dropbox-action-rename", function(){ 7680 ctlDropboxRenameFile(jQuery(this)); 7681 }); 7682 7683 jQuery(document).on("click", ".ctl-dropbox-show-rename-file-dialog", function(){ 7684 ctlDropboxShowRenameFileDialog(jQuery(this)); 7685 }); 7686 7687 jQuery(document).on("click", ".ctl-dropbox-show-create-folder-dialog", function(){ 7688 ctlDropboxShowCreateFolderDialog(jQuery(this)); 7689 }); 7690 7691 jQuery(document).on("click", ".ctl-dropbox-action-upload", function(){ 7692 var oNodeModal = jQuery(this).closest(".modal"); 7693 var oNodeForm = null; 7694 if ( oNodeModal.length == 0){ 7695 oNodeForm = jQuery(this).closest("form"); 7696 }else{ 7697 oNodeForm = oNodeModal.find("form"); 7698 } 7699 7700 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 7701 return; 7702 } 7703 7704 var aAllowedExtensions = jQuery(this).attr("data-file-extensions"); 7705 if ( aAllowedExtensions != "" ){ 7706 aAllowedExtensions = aAllowedExtensions.split(","); 7707 }else{ 7708 aAllowedExtensions = []; 7709 } 7710 7711 ctlDropboxUploadFilesFromVulcano(oNodeForm, aAllowedExtensions); 7712 }); 7713 7714 jQuery(document).on("click", ".ctl-dropbox-action-download", function( e ){ 7715 7716 let oNodeButton = jQuery(this); 7717 let szFileName = oNodeButton.attr("data-path-file").split('/').pop(); 7718 7719 var oFormData = {}; 7720 7721 oFormData["limit-extensions"] = ["ctl-dropbox"]; 7722 oFormData["action"] = 'ctl-wp-studio'; 7723 oFormData["execute"] = 'ctl-dropbox'; 7724 oFormData["extension-action"] = 'download'; 7725 oFormData["widget-id"] = jQuery(this).attr("data-widget-id"); 7726 oFormData["path-file"] = jQuery(this).attr("data-path-file"); 7727 7728 var idLoading = g_oCTLWPStudio.showLoading(""); 7729 7730 jQuery.post( 7731 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 7732 ).done( function(response){ 7733 var oResponse = jQuery.parseJSON(response); 7734 7735 g_oCTLWPStudio.closeDlg(idLoading); 7736 7737 if( oResponse.res === false ){ 7738 if ( oResponse.desc){ 7739 alert(oResponse.desc); 7740 } 7741 }else{ 7742 if ( oResponse.url ){ 7743 g_oCTLWPStudio.downloadFile(oResponse.url, szFileName); 7744 }else{ 7745 g_oCTLBootstrapModals.alert("", g_oCTLDropBoxLocalizationFront["File not found!"]); 7746 } 7747 } 7748 }).fail( function(){ 7749 g_oCTLWPStudio.closeDlg(idLoading); 7750 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 7751 }); 7752 }); 7753 7754 jQuery(document).on("click", ".ctl-dropbox-action-delete-folder-content", function( e ){ 7755 7756 var oNodeButton = jQuery(this); 7757 7758 var idConfirmDlg = g_oCTLBootstrapModals.confirm( 7759 "", g_oCTLDropBoxLocalizationFront["Do you really want to delete the folder content?"], 7760 g_oCTLDropBoxLocalizationFront["Yes"], function(){ 7761 7762 jQuery("#"+idConfirmDlg).modal("hide"); 7763 7764 var oFormData = {}; 7765 7766 oFormData["limit-extensions"] = ["ctl-dropbox", 7767 "ctl-editors-framework", 7768 "ctl-form-fields"]; 7769 oFormData["action"] = 'ctl-wp-studio'; 7770 oFormData["execute"] = 'ctl-dropbox'; 7771 oFormData["extension-action"] = 'delete-folder-content'; 7772 oFormData["widget-id"] = oNodeButton.attr("data-widget-id"); 7773 oFormData["resource-id"] = oNodeButton.attr("data-resource-id"); 7774 oFormData["resource-type"] = oNodeButton.attr("data-resource-type"); 7775 oFormData["relative-path"] = oNodeButton.attr("data-relative-path"); 7776 7777 var idLoading = g_oCTLWPStudio.showLoading(""); 7778 7779 jQuery.post( 7780 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 7781 ).done( function(response){ 7782 var oResponse = jQuery.parseJSON(response); 7783 7784 if( oResponse.res === false ){ 7785 g_oCTLWPStudio.closeDlg(idLoading); 7786 if ( oResponse.desc){ 7787 alert(oResponse.desc); 7788 } 7789 }else{ 7790 g_oCTLWPStudio.closeDlg(idLoading); 7791 jQuery(".ctl-dropbox-folder-wrapper[data-widget-id='"+oFormData["widget-id"]+"']").replaceWith(Base64.decode(oResponse.html)); 7792 wpdk_do_action("ctl-dropbox-refresh-html-folder", oFormData["widget-id"]); 7793 } 7794 }).fail( function(){ 7795 g_oCTLWPStudio.closeDlg(idLoading); 7796 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 7797 }); 7798 }); 7799 }); 7800 7801 jQuery(document).on("click", ".ctl-dropbox-action-delete", function( e ){ 7802 7803 var oNodeButton = jQuery(this); 7804 7805 var idConfirmDlg = g_oCTLBootstrapModals.confirm( 7806 "", g_oCTLDropBoxLocalizationFront["Do you really want to delete the file?"], 7807 g_oCTLDropBoxLocalizationFront["Yes"], function(){ 7808 7809 jQuery("#"+idConfirmDlg).modal("hide"); 7810 7811 var oFormData = {}; 7812 7813 oFormData["limit-extensions"] = ["ctl-dropbox", 7814 "ctl-editors-framework", 7815 "ctl-form-fields"]; 7816 oFormData["action"] = 'ctl-wp-studio'; 7817 oFormData["execute"] = 'ctl-dropbox'; 7818 oFormData["extension-action"] = 'delete'; 7819 oFormData["widget-id"] = oNodeButton.attr("data-widget-id"); 7820 oFormData["resource-id"] = oNodeButton.attr("data-resource-id"); 7821 oFormData["resource-type"] = oNodeButton.attr("data-resource-type"); 7822 oFormData["relative-path"] = oNodeButton.attr("data-relative-path"); 7823 7824 var idLoading = g_oCTLWPStudio.showLoading(""); 7825 7826 jQuery.post( 7827 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 7828 ).done( function(response){ 7829 var oResponse = jQuery.parseJSON(response); 7830 7831 if( oResponse.res === false ){ 7832 g_oCTLWPStudio.closeDlg(idLoading); 7833 if ( oResponse.desc){ 7834 alert(oResponse.desc); 7835 } 7836 }else{ 7837 g_oCTLWPStudio.closeDlg(idLoading); 7838 jQuery(".ctl-dropbox-folder-wrapper[data-widget-id='"+oFormData["widget-id"]+"']").replaceWith(Base64.decode(oResponse.html)); 7839 wpdk_do_action("ctl-dropbox-refresh-html-folder", oFormData["widget-id"]); 7840 } 7841 }).fail( function(){ 7842 g_oCTLWPStudio.closeDlg(idLoading); 7843 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 7844 }); 7845 }); 7846 }); 7847 7848 jQuery(document).on("click", ".ctl-dropbox-action-disconnect", function( e ){ 7849 7850 var oFormData = {}; 7851 7852 oFormData["limit-extensions"] = ["ctl-dropbox"]; 7853 oFormData["action"] = 'ctl-wp-studio'; 7854 oFormData["execute"] = 'ctl-dropbox'; 7855 oFormData["extension-action"] = 'disconnect'; 7856 7857 var idLoading = g_oCTLWPStudio.showLoading(""); 7858 7859 jQuery.post( 7860 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 7861 ).done( function(response){ 7862 var oResponse = jQuery.parseJSON(response); 7863 7864 if( oResponse.res === false ){ 7865 g_oCTLWPStudio.closeDlg(idLoading); 7866 if ( oResponse.desc){ 7867 alert(oResponse.desc); 7868 } 7869 }else{ 7870 window.location.reload(); 7871 } 7872 }).fail( function(){ 7873 g_oCTLWPStudio.closeDlg(idLoading); 7874 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 7875 }); 7876 }); 7877 7878 jQuery(document).on("click", ".ctl-dropbox-action-save-auth-code", function( e ){ 7879 7880 var oNodeForm = jQuery(this).closest("form"); 7881 7882 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 7883 return; 7884 } 7885 7886 var oFormData = oNodeForm.serializeObject(); 7887 7888 oFormData["limit-extensions"] = ["ctl-dropbox"]; 7889 oFormData["action"] = 'ctl-wp-studio'; 7890 oFormData["execute"] = 'ctl-dropbox'; 7891 oFormData["extension-action"] = 'save-auth-code'; 7892 7893 var idLoading = g_oCTLWPStudio.showLoading(""); 7894 7895 jQuery.post( 7896 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 7897 ).done( function(response){ 7898 var oResponse = jQuery.parseJSON(response); 7899 7900 if( oResponse.res === false ){ 7901 g_oCTLWPStudio.closeDlg(idLoading); 7902 if ( oResponse.desc){ 7903 alert(oResponse.desc); 7904 } 7905 }else{ 7906 window.location.reload(); 7907 } 7908 }).fail( function(){ 7909 g_oCTLWPStudio.closeDlg(idLoading); 7910 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 7911 }); 7912 }); 7913}); 7914 7915function ctlDropboxShowImageRemoveSpinner(domImage){ 7916 var oNodeImage = jQuery(domImage); 7917 var oNodeImagePreview = oNodeImage.closest(".ctl-dropbox-image-preview"); 7918 var oNodespinner = oNodeImagePreview.find(".ctl-dropbox-image-loader"); 7919 oNodespinner.remove(); 7920 oNodeImage.removeClass("d-none"); 7921 oNodeImage.addClass("d-block"); 7922} 7923 7924function ctlDropboxRenameFile( oNodeButton ){ 7925 7926 var oNodeForm = oNodeButton.closest(".modal").find("form"); 7927 7928 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 7929 return; 7930 } 7931 7932 var oFormData = oNodeForm.serializeObject(); 7933 7934 oFormData["limit-extensions"] = ["ctl-dropbox", 7935 "ctl-editors-framework", 7936 "ctl-form-fields"]; 7937 oFormData["action"] = 'ctl-wp-studio'; 7938 oFormData["execute"] = 'ctl-dropbox'; 7939 oFormData["extension-action"] = 'rename'; 7940 7941 var idLoading = g_oCTLWPStudio.showLoading(""); 7942 7943 jQuery.post( 7944 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 7945 ).done( function(response){ 7946 var oResponse = jQuery.parseJSON(response); 7947 7948 g_oCTLWPStudio.closeDlg(idLoading); 7949 7950 if( oResponse.res === false ){ 7951 g_oCTLWPStudio.closeDlg(idLoading); 7952 if ( oResponse.desc){ 7953 alert(oResponse.desc); 7954 } 7955 }else{ 7956 g_oCTLBootstrapModals.closeLastModal(); 7957 7958 if (oResponse.html){ 7959 jQuery(".ctl-dropbox-folder-wrapper[data-widget-id='"+oFormData["widget-id"]+"
7959']").replaceWith(Base64.decode(oResponse.html)); 7960 wpdk_do_action("ctl-dropbox-refresh-html-folder", oFormData["widget-id"]); 7961 } 7962 } 7963 }).fail( function(){ 7964 g_oCTLWPStudio.closeDlg(idLoading); 7965 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 7966 }); 7967 7968} 7969 7970function ctlDropboxShowPDFPreview( oNodeButton ){ 7971 let szFileName = oNodeButton.attr("data-path-file").split('/').pop(); 7972 7973 var oFormData = {}; 7974 7975 oFormData["limit-extensions"] = ["ctl-dropbox"]; 7976 oFormData["action"] = 'ctl-wp-studio'; 7977 oFormData["execute"] = 'ctl-dropbox'; 7978 oFormData["extension-action"] = 'pdf-preview'; 7979 oFormData["widget-id"] = oNodeButton.attr("data-widget-id"); 7980 oFormData["path-file"] = oNodeButton.attr("data-path-file"); 7981 oFormData["resource-id"] = oNodeButton.attr("data-resource-id"); 7982 7983 var idLoading = g_oCTLWPStudio.showLoading(""); 7984 7985 jQuery.post( 7986 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 7987 ).done( function(response){ 7988 var oResponse = jQuery.parseJSON(response); 7989 7990 g_oCTLWPStudio.closeDlg(idLoading); 7991 7992 if( oResponse.res === false ){ 7993 if ( oResponse.desc){ 7994 alert(oResponse.desc); 7995 } 7996 }else{ 7997 if ( oResponse.url ){ 7998 let bDownloadPermitted = oNodeButton.closest(".ctl-dropbox-folder-data").hasClass("ctl-dropbox-action-download-file"); 7999 ctlShowPDFViewer( 8000 oNodeButton.attr("data-widget-id"), oResponse.url, 8001 {show_save_button : bDownloadPermitted}, {}, { 8002 attachments : [ oResponse.url ] 8003 }); 8004 }else{ 8005 g_oCTLBootstrapModals.alert("", g_oCTLDropBoxLocalizationFront["File not found!"]); 8006 } 8007 } 8008 }).fail( function(){ 8009 g_oCTLWPStudio.closeDlg(idLoading); 8010 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 8011 }); 8012} 8013 8014function ctlDropboxCreateFolder( oNodeButton ){ 8015 8016 var oNodeForm = oNodeButton.closest(".modal").find("form"); 8017 8018 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 8019 return; 8020 } 8021 8022 var oFormData = oNodeForm.serializeObject(); 8023 8024 oFormData["limit-extensions"] = ["ctl-dropbox", 8025 "ctl-editors-framework", 8026 "ctl-form-fields"]; 8027 oFormData["action"] = 'ctl-wp-studio'; 8028 oFormData["execute"] = 'ctl-dropbox'; 8029 oFormData["extension-action"] = 'create-folder'; 8030 8031 var idLoading = g_oCTLWPStudio.showLoading(""); 8032 8033 jQuery.post( 8034 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 8035 ).done( function(response){ 8036 var oResponse = jQuery.parseJSON(response); 8037 8038 g_oCTLWPStudio.closeDlg(idLoading); 8039 8040 if( oResponse.res === false ){ 8041 g_oCTLWPStudio.closeDlg(idLoading); 8042 if ( oResponse.desc){ 8043 alert(oResponse.desc); 8044 } 8045 }else{ 8046 g_oCTLBootstrapModals.closeLastModal(); 8047 jQuery(".ctl-dropbox-folder-wrapper[data-widget-id='"+oFormData["widget-id"]+"']").replaceWith(Base64.decode(oResponse.html),); 8048 wpdk_do_action("ctl-dropbox-refresh-html-folder", oFormData["widget-id"]); 8049 8050 } 8051 }).fail( function(){ 8052 g_oCTLWPStudio.closeDlg(idLoading); 8053 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 8054 }); 8055 8056} 8057 8058function ctlDropboxShowRenameFileDialog( oNodeButton ){ 8059 8060 var html = ""; 8061 8062 html += '<form>'; 8063 8064 html += '<input type="hidden" name="relative-path" value="'+oNodeButton.attr("data-relative-path")+'" />'; 8065 html += '<input type="hidden" name="widget-id" value="'+oNodeButton.attr("data-widget-id")+'" />'; 8066 html += '<input type="hidden" name="resource-id" value="'+oNodeButton.attr("data-resource-id")+'" />'; 8067 html += '<input type="hidden" name="old-name" value="'+oNodeButton.attr("data-file-name")+'" />'; 8068 8069 html += formFieldsBuildTextField({ 8070 'label-title' : g_oCTLDropBoxLocalizationFront["New name"], 8071 'field-name' : 'new-name', 8072 'field-value' : oNodeButton.attr("data-file-name"), 8073 'mandatory' : true, 8074 8075 'display' : 3, 8076 }, oNodeButton.attr("data-file-name")); 8077 8078 let htmlButtons = formFieldsBuildButtonField({
8079 'button-title' : g_oCTLDropBoxLocalizationFront["Rename"], 8080 'display' : 'inline-block', 8081 'classes' : 'ctl-dropbox-action-rename', 8082 'display' : 12, 8083 }); 8084 8085 html += formFieldsBuildHtmlField( { 8086 "display" : 12, 8087 "align-value" : "right", 8088 "wrapper-classes" : "ctl-editor-framework-editor-buttons d-print-none" 8089 }, htmlButtons); 8090 8091 8092 html += '</form>'; 8093 g_oCTLBootstrapModals.showModal({ 8094 wrapper_classes : "ctl-dropbox-rename-file-dialog", 8095 modal_title : g_oCTLDropBoxLocalizationFront["Rename"], 8096 modal_content : html, 8097 closeable : true, 8098 width: '70', 8099 position: "centered", 8100 entrance_animation : "animate__slideInUp", 8101 exit_animation : "animate__slideOutDown", 8102 footer_btn_close : false, 8103 }); 8104 jQuery(".ctl-dropbox-rename-file-dialog form .form-control").first().focus(); 8105 8106} 8107 8108function ctlDropboxShowCreateFolderDialog( oNodeButton ){ 8109 8110 var html = ""; 8111 8112 html += '<form>'; 8113 8114 html += '<input type="hidden" name="relative-path" value="'+oNodeButton.attr("data-relative-path")+'" />'; 8115 html += '<input type="hidden" name="widget-id" value="'+oNodeButton.attr("data-widget-id")+'" />'; 8116 html += '<input type="hidden" name="resource-id" value="'+oNodeButton.attr("data-resource-id")+'" />'; 8117 8118 html += formFieldsBuildTextField({ 8119 'label-title' : g_oCTLDropBoxLocalizationFront["Folder name"], 8120 'field-name' : 'folder-name', 8121 'mandatory' : true, 8122 'display' : 12, 8123 }); 8124 8125 let htmlButtons = formFieldsBuildButtonField({ 8126 'button-title' : g_oCTLDropBoxLocalizationFront["Create folder"], 8127 'display' : 'inline-block', 8128 'classes' : 'ctl-dropbox-action-create-folder', 8129 'display' : 12, 8130 }); 8131 8132 html += formFieldsBuildHtmlField( { 8133 "display" : 12, 8134 "align-value" : "right", 8135 "wrapper-classes" : "ctl-editor-framework-editor-buttons d-print-none" 8136 }, htmlButtons); 8137 8138 html += '</form>'; 8139 8140 g_oCTLBootstrapModals.showModal({ 8141 wrapper_classes : "ctl-dropbox-create-folder-dialog", 8142 modal_title : g_oCTLDropBoxLocalizationFront["Create folder"], 8143 modal_content : html, 8144 closeable : true, 8145 width: '50', 8146 position: "centered", 8147 entrance_animation : "animate__slideInUp", 8148 exit_animation : "animate__slideOutDown", 8149 footer_btn_close : false, 8150 }); 8151 8152 jQuery(".ctl-dropbox-create-folder-dialog form .form-control").first().focus(); 8153} 8154 8155function ctlDropboxShowImagePreview( oNodeImg ){ 8156 8157 var html = ""; 8158 8159 html += '<div class="ctl-dropbox-image-preview">'; 8160 html += '<div class="text-center ctl-dropbox-image-loader">'; 8161 html += '<i class="spinner-border text-primary"></i>' 8162 html += '</div>'; 8163 html += '<img onload="ctlDropboxShowImageRemoveSpinner(this)" class="d-none mx-auto img-thumbnail img-fluid" src="' + oNodeImg.attr("data-image-url") + '" />'; 8164 html += '</div>'; 8165 8166 g_oCTLBootstrapModals.showModal({ 8167 wrapper_classes : "ctl-dropbox-image-preview-dialog", 8168 modal_title : oNodeImg.attr("data-image-name"), 8169 modal_content : html, 8170 closeable : true, 8171 width: '80', 8172 position: "centered", 8173 entrance_animation : "animate__slideInUp", 8174 exit_animation : "animate__slideOutDown", 8175 footer_btn_close : false, 8176 }); 8177} 8178 8179function ctlDropboxUploadFilesFromVulcano( oNodeForm, aAllowedExtensions ) { 8180 var oFormData = oNodeForm.serializeObject(); 8181 8182 var oFormData = new FormData(); 8183 8184 var oFormSerializableData = oNodeForm.serializeObject(); 8185 8186 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 8187 return; 8188 } 8189 8190 oFormData.append( 'limit-extensions', ["ctl-dropbox", "ctl-editors-framework"] ); 8191 oFormData.append( 'extension-action', 'upload-files' ); 8192 oFormData.append( 'widget-id', oFormSerializableData["widget-id"] ); 8193 oFormData.append( 'resource-id', oFormSerializableData["resource-id"] ); 8194 oFormData.append( 'relative-path', oFormSerializableData["relative-path"] ); 8195 oFormData.append( 'action', 'ctl-wp-studio' ); 8196 oFormData.append( 'execute', 'ctl-dropbox' ); 8197 8198 let aFiles = oNodeForm.find('.custom-file-input')[0].files; 8199 for (let i = 0; i < aFiles.length; i++) { 8200 oFormData.append( 'file[]', aFiles[i] ); 8201 } 8202 8203 ctlDropboxAjaxUpdateFormData(oNodeForm, oFormData, function(oResponse){ 8204 if ( oResponse.res === true ){ 8205 ctlFormFieldsClearForm(oNodeForm); 8206 g_oCTLBootstrapModals.closeLastModal(); 8207 jQuery(".ctl-dropbox-folder-wrapper[data-widget-id='"+oFormSerializableData["widget-id"]+"']").replaceWith(Base64.decode(oResponse.html)); 8208 wpdk_do_action("ctl-dropbox-refresh-html-folder", oFormSerializableData["widget-id"]); 8209 } 8210 }); 8211} 8212 8213function ctlDropboxAjaxUpdateFormData( oNodeForm, oFormData, cb ){ 8214 var idLoading = g_oCTLWPStudio.showLoading(""); 8215 8216 jQuery.ajax({ 8217 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 8218 type: "POST", 8219 data : oFormData, 8220 cache: false, 8221 processData : false, 8222 contentType : false, 8223 method: 'POST', 8224 success:function(response, textStatus, jqXHR){ 8225 var oResponse = jQuery.parseJSON(response); 8226 8227 if( oResponse.res === false ){ 8228 8229 if(oResponse.alert){ 8230 g_oCTLBootstrapModals.alert("", oResponse.alert); 8231 } 8232 8233 if (oResponse.errors){ 8234 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 8235 } 8236 8237 g_oCTLWPStudio.closeDlg(idLoading); 8238 }else{ 8239 g_oCTLWPStudio.closeDlg(idLoading); 8240 if (cb){ 8241 cb.call(this, oResponse); 8242 } 8243 } 8244 }, 8245 error: function(jqXHR, textStatus, errorThrown){ 8246 g_oCTLWPStudio.closeDlg(idLoading); 8247 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 8248 } 8249 }); 8250} 8251 8252function ctlDropboxOpenFolder( oNodeButton ){ 8253 8254 var oFormData = {}; 8255 oFormData["limit-extensions"] = ["ctl-dropbox", "ctl-editors-framework", "ctl-form-fields"]; 8256 oFormData["action"] = 'ctl-wp-studio'; 8257 oFormData["execute"] = 'ctl-dropbox'; 8258 oFormData["extension-action"] = 'html-folder'; 8259 oFormData["widget-id"] = oNodeButton.attr("data-widget-id"); 8260 oFormData["resource-id"] = oNodeButton.attr("data-resource-id"); 8261 oFormData["relative-path"] = oNodeButton.attr("data-relative-path"); 8262 8263 var idLoading = g_oCTLWPStudio.showLoading(""); 8264 8265 jQuery.post( 8266 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 8267 ).done( function(response){ 8268 var oResponse = jQuery.parseJSON(response); 8269 8270 if( oResponse.res === false ){ 8271 g_oCTLWPStudio.closeDlg(idLoading); 8272 if ( oResponse.desc){ 8273 alert(oResponse.desc); 8274 } 8275 }else{ 8276 g_oCTLWPStudio.closeDlg(idLoading); 8277 jQuery(".ctl-dropbox-folder-wrapper[data-widget-id='"+oFormData["widget-id"]+"']").replaceWith(Base64.decode(oResponse.html),); 8278 wpdk_do_action("ctl-dropbox-refresh-html-folder", oFormData["widget-id"]); 8279 } 8280 }).fail( function(){ 8281 g_oCTLWPStudio.closeDlg(idLoading); 8282 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 8283 }); 8284} 8285 8286function ctlDropboxRefreshHtmlFolder( idWidget, idResource, bShowLoading = true, bFirstLoad = false ) { 8287 var oFormData = {}; 8288 8289 oFormData["limit-extensions"] = ["ctl-dropbox", "ctl-editors-framework", "ctl-form-fields"]; 8290 oFormData["action"] = 'ctl-wp-studio'; 8291 oFormData["execute"] = 'ctl-dropbox'; 8292 oFormData["widget-id"] = idWidget; 8293 oFormData["resource-id"] = idResource; 8294 oFormData["extension-action"] = 'html-folder'; 8295 8296 let idLoading = 0; 8297 8298 if(bShowLoading){ 8299 idLoading = g_oCTLWPStudio.showLoading(""); 8300 } 8301 8302 jQuery.post( 8303 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 8304 ).done( function(response){ 8305 var oResponse = jQuery.parseJSON(response); 8306 8307 if( oResponse.res === false ){ 8308 if(bShowLoading){ 8309 g_oCTLWPStudio.closeDlg(idLoading); 8310 } 8311 if ( oResponse.desc){ 8312 alert(oResponse.desc); 8313 } 8314 }else{ 8315 if(bShowLoading){ 8316 g_oCTLWPStudio.closeDlg(idLoading); 8317 } 8318 g_oCTLBootstrapModals.closeModal(jQuery(".ctl-dropbox-upload-file-dialog")); 8319 jQuery(".ctl-dropbox-folder-wrapper[data-widget-id='"+idWidget+"']").replaceWith(Base64.decode(oResponse.html)); 8320 if(bFirstLoad){ 8321 wpdk_do_action("ctl-dropbox-folder-first-load", idWidget); 8322 }else{ 8323 wpdk_do_action("ctl-dropbox-refresh-html-folder", idWidget); 8324 } 8325 } 8326 }).fail( function(){ 8327 8328 let html = '<div class="alert alert-danger d-flex justify-content-between">'; 8329 html += '<span>'+g_oCTLDropBoxLocalizationFront["Communication error with Dropbox"]+'</span>'; 8330 html +='<button data-resource-id="'+idResource+'" data-widget-id="'+idWidget+'" class="ctl-dropbox-action-reload-widget btn btn-danger btn-xs"><i class="ctl-wp-studio-icons-ccw px-1"></i> '+g_oCTLDropBoxLocalizationFront["Please try again"]+'</button>'; 8331 html += '</div>'; 8332 8333 jQuery(".ctl-dropbox-folder-wrapper[data-widget-id='"+idWidget+"'] .ctl-wp-studio-form-control-wrapper").html(html); 8334 8335 if(bShowLoading){ 8336 g_oCTLWPStudio.closeDlg(idLoading); 8337 } 8338 }); 8339} 8340// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-easing/php/../js/easing.js 8341//---------------------- 8342// Bounce 8343 8344/**
8345 * BOUNCE EASING OUT: exponentially decaying parabolic bounce, Interpolates a value between b and c parameters 8346 * <p></br><b>Note:</b></br> 8347 *    t and d parameters can be in frames or seconds/milliseconds 8348 * 8349 * @param t Elapsed time 8350 * @param b Initial position 8351 * @param c Final position 8352 * @param d Duration 8353 * @return A value between b and c parameters 8354 */ 8355function easeOutBounce(t, b, c, d) { 8356 if ((t/= d) < (1 / 2.75)) { 8357 return c * (7.5625 * t * t) + b; 8358 } else if (t < (2 / 2.75)) { 8359 return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b; 8360 } else if (t < (2.5 / 2.75)) { 8361 return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b; 8362 } else { 8363 return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b; 8364 } 8365}; 8366/** 8367 * BOUNCE EASING IN: exponentially decaying parabolic bounce, Interpolates a value between b and c parameters 8368 * <p></br><b>Note:</b></br> 8369 *    t and d parameters can be in frames or seconds/milliseconds 8370 * 8371 * @param t Elapsed time 8372 * @param b Initial position 8373 * @param c Final position 8374 * @param d Duration 8375 * @return A value between b and c parameters 8376 */ 8377function easeInBounce(t, b, c, d) { 8378 return c - this.easeOutBounce(d - t, 0, c, d) + b; 8379}; 8380/** 8381 * BOUNCE EASING IN/OUT: exponentially decaying parabolic bounce, Interpolates a value between b and c parameters 8382 * <p></br><b>Note:</b></br> 8383 *    t and d parameters can be in frames or seconds/milliseconds 8384 * 8385 * @param t Elapsed time 8386 * @param b Initial position 8387 * @param c Final position 8388 * @param d Duration 8389 * @return A value between b and c parameters 8390 */ 8391function easeInOutBounce(t, b, c, d) { 8392 if (t < d / 2) 8393 return this.easeInBounce(t * 2, 0, c, d) * .5 + b; 8394 else 8395 return this.easeOutBounce(t * 2 - d, 0, c, d) * .5 + c * .5 + b; 8396}; 8397 8398//---------------------- 8399// Circ 8400 8401/** 8402 * Interpolates a value between b and c parameters 8403 * <p></br><b>Note:</b></br> 8404 *    t and d parameters can be in frames or seconds/milliseconds 8405 * 8406 * @param t Elapsed time 8407 * @param b Initial position 8408 * @param c Final position 8409 * @param d Duration 8410 * @return A value between b and c parameters 8411 */ 8412function easeInCirc(t, b, c, d) { 8413 return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b; 8414}; 8415/** 8416 * Interpolates a value between b and c parameters 8417 * <p></br><b>Note:</b></br> 8418 *    t and d parameters can be in frames or seconds/milliseconds 8419 * 8420 * @param t Elapsed time 8421 * @param b Initial position 8422 * @param c Final position 8423 * @param d Duration 8424 * @return A value between b and c parameters 8425 */ 8426function easeOutCirc(t, b, c, d) { 8427 return c * Math.sqrt(1 - (t = t / d - 1) * t) + b; 8428}; 8429/** 8430 * Interpolates a value between b and c parameters 8431 * <p></br><b>Note:</b></br> 8432 *    t and d parameters can be in frames or seconds/milliseconds 8433 * 8434 * @param t Elapsed time 8435 * @param b Initial position 8436 * @param c Final position 8437 * @param d Duration 8438 * @return A value between b and c parameters 8439 */ 8440function easeInOutCirc(t, b, c, d) { 8441 if ((t /= d / 2) < 1) 8442 return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b; 8443 return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b; 8444}; 8445 8446//---------------------- 8447// Cubic 8448function easeInCubic(t, b, c, d) { 8449 return c * (t /= d) * t * t + b; 8450}; 8451 8452function easeOutCubic(t, b, c, d) { 8453 return c * ((t = t / d - 1) * t * t + 1) + b; 8454}; 8455 8456function easeInOutCubic(t, b, c, d) { 8457 if ((t /= d / 2) < 1) 8458 return c / 2 * t * t * t + b; 8459 return c / 2 * ((t -= 2) * t * t + 2) + b; 8460}; 8461 8462//---------------------- 8463// Elastic 8464function easeInElastic(t, b, c, d, a, p) { 8465 var s = 0; 8466 if (t === 0) { 8467 return b; 8468 } 8469 if ((t /= d) === 1) { 8470 return b + c; 8471 } 8472 if (!p) { 8473 p = d * .3; 8474 } 8475 if (!a || a < Math.abs(c)) { 8476 a = c; 8477 s = p / 4; 8478 } else { 8479 s = p / (2 * Math.PI) * Math.asin(c / a); 8480 } 8481 return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b; 8482}; 8483 8484function easeOutElastic(t, b, c, d, a, p) { 8485 var s = 0; 8486 if (t === 0) { 8487 return b; 8488 } 8489 if ((t /= d) === 1) { 8490 return b + c; 8491 } 8492 if (!p) { 8493 p = d * .3; 8494 } 8495 if (!a || a < Math.abs(c)) { 8496 a = c; 8497 s = p / 4; 8498 } else { 8499 s = p / (2 * Math.PI) * Math.asin(c / a); 8500 } 8501 return (a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b); 8502}; 8503 8504function easeInOutElastic(t, b, c, d, a, p) { 8505 var s = 0; 8506 if (t === 0) { 8507 return b; 8508 } 8509 if ((t /= d) === 1) { 8510 return b + c; 8511 } 8512 if (!p) { 8513 p = d * .3; 8514 } 8515 if (!a || a < Math.abs(c)) { 8516 a = c; 8517 s = p / 4; 8518 } else { 8519 s = p / (2 * Math.PI) * Math.asin(c / a); 8520 } 8521 if (t < 1) { 8522 return -.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b; 8523 } 8524 return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * .5 + c + b; 8525}; 8526 8527//---------------------- 8528// Expo 8529/** 8530 * Interpolates a value between b and c parameters 8531 * <p></br><b>Note:</b></br> 8532 *    t and d parameters can be in frames or seconds/milliseconds 8533 * 8534 * @param t Elapsed time 8535 * @param b Initial position 8536 * @param c Final position 8537 * @param d Duration 8538 * @return A value between b and c parameters 8539 */ 8540function easeInExpo(t, b, c, d) { 8541 return (t === 0) ? b : c * Math.pow(2, 10 * (t / d - 1)) + b; 8542}; 8543 8544/** 8545 * Interpolates a value between b and c parameters 8546 * <p></br><b>Note:</b></br> 8547 *    t and d parameters can be in frames or seconds/milliseconds 8548 * 8549 * @param t Elapsed time 8550 * @param b Initial position 8551 * @param c Final position 8552 * @param d Duration 8553 * @return A value between b and c parameters 8554 */ 8555function easeOutExpo(t, b, c, d) { 8556 return (t === d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; 8557}; 8558 8559/** 8560 * Interpolates a value between b and c parameters 8561 * <p></br><b>Note:</b></br> 8562 *    t and d parameters can be in frames or seconds/milliseconds 8563 * 8564 * @param t Elapsed time 8565 * @param b Initial position 8566 * @param c Final position 8567 * @param d Duration 8568 * @return A value between b and c parameters 8569 */ 8570 8571function easeInOutExpo(t, b, c, d) { 8572 if (t === 0) 8573 return b; 8574 if (t === d) 8575 return b + c; 8576 if ((t /= d / 2) < 1) 8577 return c / 2 * Math.pow(2, 10 * (t - 1)) + b; 8578 return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b; 8579}; 8580 8581//---------------------- 8582// Linear 8583/** 8584 * Interpolates a value between b and c parameters 8585 * <p></br><b>Note:</b></br> 8586 *    t and d parameters can be in frames or seconds/milliseconds 8587 * 8588 * @param t Elapsed time 8589 * @param b Initial position 8590 * @param c Final position 8591 * @param d Duration 8592 * @return A value between b and c parameters 8593 */ 8594 8595function easeLinear(t, b, c, d) { 8596 return c * t / d + b; 8597}; 8598 8599//---------------------- 8600// Quad 8601/** 8602 * Interpolates a value between b and c parameters 8603 * <p></br><b>Note:</b></br> 8604 *    t and d parameters can be in frames or seconds/milliseconds 8605 * 8606 * @param t Elapsed time 8607 * @param b Initial position 8608 * @param c Final position 8609 * @param d Duration 8610 * @return A value between b and c parameters 8611 */ 8612function easeInQuad(t, b, c, d) { 8613 return c * (t /= d) * t + b; 8614}; 8615 8616/** 8617 * Interpolates a value between b and c parameters 8618 * <p></br><b>Note:</b></br> 8619 *    t and d parameters can be in frames or seconds/milliseconds 8620 * 8621 * @param t Elapsed time 8622 * @param b Initial position 8623 * @param c Final position 8624 * @param d Duration 8625 * @return A value between b and c parameters 8626 */ 8627 8628function easeOutQuad(t, b, c, d) { 8629 return -c * (t /= d) * (t - 2) + b; 8630}; 8631 8632/** 8633 * Interpolates a value between b and c parameters 8634 * <p></br><b>Note:</b></br> 8635 *    t and d parameters can be in frames or seconds/milliseconds 8636 * 8637 * @param t Elapsed time 8638 * @param b Initial position 8639 * @param c Final position 8640 * @param d Duration 8641 * @return A value between b and c parameters 8642 */ 8643function easeInOutQuad(t, b, c, d) { 8644 if ((t /= d / 2) < 1) 8645 return c / 2 * t * t + b; 8646 return -c / 2 * ((--t) * (t - 2) - 1) + b; 8647}; 8648 8649//---------------------- 8650// Quart 8651/** 8652 * Interpolates a value between b and c parameters 8653 * <p></br><b>Note:</b></br> 8654 *    t and d parameters can be in frames or seconds/milliseconds 8655 * 8656 * @param t Elapsed time 8657 * @param b Initial position 8658 * @param c Final position 8659 * @param d Duration 8660 * @return A value between b and c parameters 8661 */ 8662function easeInQuart(t, b, c, d) { 8663 return c * (t /= d) * t * t * t + b; 8664}; 8665 8666/** 8667 * Interpolates a value between b and c parameters 8668 * <p></br><b>Note:</b></br> 8669 *    t and d parameters can be in frames or seconds/milliseconds 8670 * 8671 * @param t Elapsed time 8672 * @param b Initial position 8673 * @param c Final position 8674 * @param d Duration 8675 * @return A value between b and c parameters 8676 */ 8677 8678function easeOutQuart (t, b, c, d) { 8679 return -c * ((t = t / d - 1) * t * t * t - 1) + b; 8680}; 8681/** 8682 * Interpolates a value between b and c parameters 8683 * <p></br><b>Note:</b></br> 8684 *    t and d parameters can be in frames or seconds/milliseconds 8685 * 8686 * @param t Elapsed time 8687 * @param b Initial position 8688 * @param c Final position 8689 * @param d Duration 8690 * @return A value between b and c parameters 8691 */ 8692function easeInOutQuart(t, b, c, d) { 8693 if ((t /= d / 2) < 1) 8694 return c / 2 * t * t * t * t + b; 8695 return -c / 2 * ((t -= 2) * t * t * t - 2) + b; 8696}; 8697 8698//---------------------- 8699// Quint 8700/** 8701 * Interpolates a value between b and c parameters 8702 * <p></br><b>Note:</b></br> 8703 *    t and d parameters can be in frames or seconds/milliseconds 8704 * 8705 * @param t Elapsed time 8706 * @param b Initial position 8707 * @param c Final position 8708 * @param d Duration 8709 * @return A value between b and c parameters 8710 */ 8711function easeInQuint(t, b, c, d) { 8712 return c * (t /= d) * t * t * t * t + b; 8713}; 8714/** 8715 * Interpolates a value between b and c parameters 8716 * <p></br><b>Note:</b></br> 8717 *    t and d parameters can be in frames or seconds/milliseconds 8718 * 8719 * @param t Elapsed time 8720 * @param b Initial position 8721 * @param c Final position 8722 * @param d Duration 8723 * @return A value between b and c parameters 8724 */ 8725function easeOutQuint(t, b, c, d) { 8726 return c * ((t = t / d - 1) * t * t * t * t + 1) + b; 8727}; 8728/** 8729 * Interpolates a value between b and c parameters 8730 * <p></br><b>Note:</b></br> 8731 *    t and d parameters can be in frames or seconds/milliseconds 8732 * 8733 * @param t Elapsed time 8734 * @param b Initial position 8735 * @param c Final position 8736 * @param d Duration 8737 * @return A value between b and c parameters 8738 */ 8739function easeInOutQuint(t, b, c, d) { 8740 if ((t /= d / 2) < 1) 8741 return c / 2 * t * t * t * t * t + b; 8742 return c / 2 * ((t -= 2) * t * t * t * t + 2) + b; 8743}; 8744 8745//---------------------- 8746// Sine 8747/** 8748 * Interpolates a value between b and c parameters 8749 * <p></br><b>Note:</b></br> 8750 *    t and d parameters can be in frames or seconds/milliseconds 8751 * 8752 * @param t Elapsed time 8753 * @param b Initial position 8754 * @param c Final position 8755 * @param d Duration 8756 * @return A value between b and c parameters 8757 */ 8758function easeInSine(t, b, c, d) { 8759 return -c * Math.cos(t / d * (Math.PI / 2)) + c + b; 8760}; 8761/** 8762 * Interpolates a value between b and c parameters 8763 * <p></br><b>Note:</b></br> 8764 *    t and d parameters can be in frames or seconds/milliseconds 8765 * 8766 * @param t Elapsed time 8767 * @param b Initial position 8768 * @param c Final position 8769 * @param d Duration 8770 * @return A value between b and c parameters 8771 */ 8772function easeOutSine(t, b, c, d) { 8773 return c * Math.sin(t / d * (Math.PI / 2)) + b; 8774}; 8775/** 8776 * Interpolates a value between b and c parameters 8777 * <p></br><b>Note:</b></br> 8778 *    t and d parameters can be in frames or seconds/milliseconds 8779 * 8780 * @param t Elapsed time 8781 * @param b Initial position 8782 * @param c Final position 8783 * @param d Duration 8784 * @return A value between b and c parameters 8785 */ 8786function easeInOutSine(t, b, c, d) { 8787 return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b; 8788}; 8789 8790//---------------------- 8791// Back 8792function easeInBack(t, b, c, d) { 8793 var s = 1.70158; 8794 return c * (t /= d) * t * ((s + 1) * t - s) + b; 8795}; 8796 8797function easeOutBack(t, b, c, d) { 8798 var s = 1.70158;
8799 return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b; 8800}; 8801 8802function easeInOutBack(t, b, c, d) { 8803 var s = 1.70158; 8804 if ((t /= d / 2) < 1) 8805 return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b; 8806 return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b; 8807}; 8808// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-gallery-photoswipe/php/../js/photoswipe-ui-default.min.js 8809/*! PhotoSwipe Default UI - 4.1.3 - 2019-01-08 8810* http://photoswipe.com 8811* Copyright (c) 2019 Dmitry Semenov; */ 8812!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.PhotoSwipeUI_Default=b()}(this,function(){"use strict";var a=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=this,w=!1,x=!0,y=!0,z={barsSize:{top:44,bottom:"auto"},closeElClasses:["item","caption","zoom-wrap","ui","top-bar"],timeToIdle:4e3,timeToIdleOutside:1e3,loadingIndicatorDelay:1e3,addCaptionHTMLFn:function(a,b){return a.title?(b.children[0].innerHTML=a.title,!0):(b.children[0].innerHTML="",!1)},closeEl:!0,captionEl:!0,fullscreenEl:!0,zoomEl:!0,shareEl:!0,counterEl:!0,arrowEl:!0,preloaderEl:!0,tapToClose:!1,tapToToggleControls:!0,clickToCloseNonZoomable:!0,shareButtons:[{id:"facebook",label:"Share on Facebook",url:"https://www.facebook.com/sharer/sharer.php?u={{url}}"},{id:"twitter",label:"Tweet",url:"https://twitter.com/intent/tweet?text={{text}}&url={{url}}"},{id:"pinterest",label:"Pin it",url:"http://www.pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}"},{id:"download",label:"Download image",url:"{{raw_image_url}}",download:!0}],getImageURLForShare:function(){return a.currItem.src||""},getPageURLForShare:function(){return window.location.href},getTextForShare:function(){return a.currItem.title||""},indexIndicatorSep:" / ",fitControlsWidth:1200},A=function(a){if(r)return!0;a=a||window.event,q.timeToIdle&&q.mouseUsed&&!k&&K();for(var c,d,e=a.target||a.srcElement,f=e.getAttribute("class")||"",g=0;g<S.length;g++)c=S[g],c.onTap&&f.indexOf("pswp__"+c.name)>-1&&(c.onTap(),d=!0);if(d){a.stopPropagation&&a.stopPropagation(),r=!0;var h=b.features.isOldAndroid?600:30;s=setTimeout(function(){r=!1},h)}},B=function(){return!a.likelyTouchDevice||q.mouseUsed||screen.width>q.fitControlsWidth},C=function(a,c,d){b[(d?"add":"remove")+"Class"](a,"pswp__"+c)},D=function(){var a=1===q.getNumItemsFn();a!==p&&(C(d,"ui--one-slide",a),p=a)},E=function(){C(i,"share-modal--hidden",y)},F=function(){return y=!y,y?(b.removeClass(i,"pswp__share-modal--fade-in"),setTimeout(function(){y&&E()},300)):(E(),setTimeout(function(){y||b.addClass(i,"pswp__share-modal--fade-in")},30)),y||H(),!1},G=function(b){b=b||window.event;var c=b.target||b.srcElement;return a.shout("shareLinkClick",b,c),!!c.href&&(!!c.hasAttribute("download")||(window.open(c.href,"pswp_share","scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left="+(window.screen?Math.round(screen.width/2-275):100)),y||F(),!1))},H=function(){for(var a,b,c,d,e,f="",g=0;g<q.shareButtons.length;g++)a=q.shareButtons[g],c=q.getImageURLForShare(a),d=q.getPageURLForShare(a),e=q.getTextForShare(a),b=a.url.replace("{{url}}",encodeURIComponent(d)).replace("{{image_url}}",encodeURIComponent(c)).replace("{{raw_image_url}}",c).replace("{{text}}",encodeURIComponent(e)),f+='<a href="'+b+'" target="_blank" class="pswp__share--'+a.id+'"'+(a.download?"download":"")+">"+a.label+"</a>",q.parseShareButtonOut&&(f=q.parseShareButtonOut(a,f));i.children[0].innerHTML=f,i.children[0].onclick=G},I=function(a){for(var c=0;c<q.closeElClasses.length;c++)if(b.hasClass(a,"pswp__"+q.closeElClasses[c]))return!0},J=0,K=function(){clearTimeout(u),J=0,k&&v.setIdle(!1)},L=function(a){a=a?a:window.event;var b=a.relatedTarget||a.toElement;b&&"HTML"!==b.nodeName||(clearTimeout(u),u=setTimeout(function(){v.setIdle(!0)},q.timeToIdleOutside))},M=function(){q.fullscreenEl&&!b.features.isOldAndroid&&(c||(c=v.getFullscreenAPI()),c?(b.bind(document,c.eventK,v.updateFullscreen),v.updateFullscreen(),b.addClass(a.template,"pswp--supports-fs")):b.removeClass(a.template,"pswp--supports-fs"))},N=function(){q.preloaderEl&&(O(!0),l("beforeChange",function(){clearTimeout(o),o=setTimeout(function(){a.currItem&&a.currItem.loading?(!a.allowProgressiveImg()||a.currItem.img&&!a.currItem.img.naturalWi
8812dth)&&O(!1):O(!0)},q.loadingIndicatorDelay)}),l("imageLoadComplete",function(b,c){a.currItem===c&&O(!0)}))},O=function(a){n!==a&&(C(m,"preloader--active",!a),n=a)},P=function(a){var c=a.vGap;if(B()){var g=q.barsSize;if(q.captionEl&&"auto"===g.bottom)if(f||(f=b.createEl("pswp__caption pswp__caption--fake"),f.appendChild(b.createEl("pswp__caption__center")),d.insertBefore(f,e),b.addClass(d,"pswp__ui--fit")),q.addCaptionHTMLFn(a,f,!0)){var h=f.clientHeight;c.bottom=parseInt(h,10)||44}else c.bottom=g.top;else c.bottom="auto"===g.bottom?0:g.bottom;c.top=g.top}else c.top=c.bottom=0},Q=function(){q.timeToIdle&&l("mouseUsed",function(){b.bind(document,"mousemove",K),b.bind(document,"mouseout",L),t=setInterval(function(){J++,2===J&&v.setIdle(!0)},q.timeToIdle/2)})},R=function(){l("onVerticalDrag",function(a){x&&a<.95?v.hideControls():!x&&a>=.95&&v.showControls()});var a;l("onPinchClose",function(b){x&&b<.9?(v.hideControls(),a=!0):a&&!x&&b>.9&&v.showControls()}),l("zoomGestureEnded",function(){a=!1,a&&!x&&v.showControls()})},S=[{name:"caption",option:"captionEl",onInit:function(a){e=a}},{name:"share-modal",option:"shareEl",onInit:function(a){i=a},onTap:function(){F()}},{name:"button--share",option:"shareEl",onInit:function(a){h=a},onTap:function(){F()}},{name:"button--zoom",option:"zoomEl",onTap:a.toggleDesktopZoom},{name:"counter",option:"counterEl",onInit:function(a){g=a}},{name:"button--close",option:"closeEl",onTap:a.close},{name:"button--arrow--left",option:"arrowEl",onTap:a.prev},{name:"button--arrow--right",option:"arrowEl",onTap:a.next},{name:"button--fs",option:"fullscreenEl",onTap:function(){c.isFullscreen()?c.exit():c.enter()}},{name:"preloader",option:"preloaderEl",onInit:function(a){m=a}}],T=function(){var a,c,e,f=function(d){if(d)for(var f=d.length,g=0;g<f;g++){a=d[g],c=a.className;for(var h=0;h<S.length;h++)e=S[h],c.indexOf("pswp__"+e.name)>-1&&(q[e.option]?(b.removeClass(a,"pswp__element--disabled"),e.onInit&&e.onInit(a)):b.addClass(a,"pswp__element--disabled"))}};f(d.children);var g=b.getChildByClass(d,"pswp__top-bar");g&&f(g.children)};v.init=function(){b.extend(a.options,z,!0),q=a.options,d=b.getChildByClass(a.scrollWrap,"pswp__ui"),l=a.listen,R(),l("beforeChange",v.update),l("doubleTap",function(b){var c=a.currItem.initialZoomLevel;a.getZoomLevel()!==c?a.zoomTo(c,b,333):a.zoomTo(q.getDoubleTapZoom(!1,a.currItem),b,333)}),l("preventDragEvent",function(a,b,c){var d=a.target||a.srcElement;d&&d.getAttribute("class")&&a.type.indexOf("mouse")>-1&&(d.getAttribute("class").indexOf("__caption")>0||/(SMALL|STRONG|EM)/i.test(d.tagName))&&(c.prevent=!1)}),l("bindEvents",function(){b.bind(d,"pswpTap click",A),b.bind(a.scrollWrap,"pswpTap",v.onGlobalTap),a.likelyTouchDevice||b.bind(a.scrollWrap,"mouseover",v.onMouseOver)}),l("unbindEvents",function(){y||F(),t&&clearInterval(t),b.unbind(document,"mouseout",L),b.unbind(document,"mousemove",K),b.unbind(d,"pswpTap click",A),b.unbind(a.scrollWrap,"pswpTap",v.onGlobalTap),b.unbind(a.scrollWrap,"mouseover",v.onMouseOver),c&&(b.unbind(document,c.eventK,v.updateFullscreen),c.isFullscreen()&&(q.hideAnimationDuration=0,c.exit()),c=null)}),l("destroy",function(){q.captionEl&&(f&&d.removeChild(f),b.removeClass(e,"pswp__caption--empty")),i&&(i.children[0].onclick=null),b.removeClass(d,"pswp__ui--over-close"),b.addClass(d,"pswp__ui--hidden"),v.setIdle(!1)}),q.showAnimationDuration||b.removeClass(d,"pswp__ui--hidden"),l("initialZoomIn",function(){q.showAnimationDuration&&b.removeClass(d,"pswp__ui--hidden")}),l("initialZoomOut",function(){b.addClass(d,"pswp__ui--hidden")}),l("parseVerticalMargin",P),T(),q.shareEl&&h&&i&&(y=!0),D(),Q(),M(),N()},v.setIdle=function(a){k=a,C(d,"ui--idle",a)},v.update=function(){x&&a.currItem?(v.updateIndexIndicator(),q.captionEl&&(q.addCaptionHTMLFn(a.currItem,e),C(e,"caption--empty",!a.currItem.title)),w=!0):w=!1,y||F(),D()},v.updateFullscreen=function(d){d&&setTimeout(function(){a.setScrollOffset(0,b.getScrollY())},50),b[(c.isFullscreen()?"add":"remove")+"Class"](a.template,"pswp--fs")},v.updateIndexIndicator=function(){q.counterEl&&(g.innerHTML=a.getCurrentIndex()+1+q.indexIndicatorSep+q.getNumItemsFn())},v.onGlobalTap=function(c){c=c||window.event;var d=c.target||c.srcElement;if(!r)if(c.detail&&"mouse"===c.detail.pointerType){if(I(d))return void a.close();b.hasClass(d,"pswp__img")&&(1===a.getZoomLevel()&&a.getZoomLevel()<=a.currItem.fitRatio?q.clickToCloseNonZoomable&&a.close():a.toggleDesktopZoom(c.detail.releasePoint))}else if(q.tapToToggleControls&&(x?v.hideControls():v.showControls()),q.tapToClose&&(b.hasClass(d,"pswp__img")||I(d)))return void a.close()},v.onMouseOver=function(a){a=a||window.event;var b=a.target||a.srcElement;C(d,"ui--over-close",I(b))},v.hideControls=function(){b.addClass(d,"pswp__ui--hidden"),x=!1}
8812,v.showControls=function(){x=!0,w||v.update(),b.removeClass(d,"pswp__ui--hidden")},v.supportsFullscreen=function(){var a=document;return!!(a.exitFullscreen||a.mozCancelFullScreen||a.webkitExitFullscreen||a.msExitFullscreen)},v.getFullscreenAPI=function(){var b,c=document.documentElement,d="fullscreenchange";return c.requestFullscreen?b={enterK:"requestFullscreen",exitK:"exitFullscreen",elementK:"fullscreenElement",eventK:d}:c.mozRequestFullScreen?b={enterK:"mozRequestFullScreen",exitK:"mozCancelFullScreen",elementK:"mozFullScreenElement",eventK:"moz"+d}:c.webkitRequestFullscreen?b={enterK:"webkitRequestFullscreen",exitK:"webkitExitFullscreen",elementK:"webkitFullscreenElement",eventK:"webkit"+d}:c.msRequestFullscreen&&(b={enterK:"msRequestFullscreen",exitK:"msExitFullscreen",elementK:"msFullscreenElement",eventK:"MSFullscreenChange"}),b&&(b.enter=function(){return j=q.closeOnScroll,q.closeOnScroll=!1,"webkitRequestFullscreen"!==this.enterK?a.template[this.enterK]():void a.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT)},b.exit=function(){return q.closeOnScroll=j,document[this.exitK]()},b.isFullscreen=function(){return document[this.elementK]}),b}};return a}); 8813// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-gallery-photoswipe/php/../js/photoswipe.min.js 8814/*! PhotoSwipe - v4.1.3 - 2019-01-08 8815* http://photoswipe.com 8816* Copyright (c) 2019 Dmitry Semenov; */ 8817!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.PhotoSwipe=b()}(this,function(){"use strict";var a=function(a,b,c,d){var e={features:null,bind:function(a,b,c,d){var e=(d?"remove":"add")+"EventListener";b=b.split(" ");for(var f=0;f<b.length;f++)b[f]&&a[e](b[f],c,!1)},isArray:function(a){return a instanceof Array},createEl:function(a,b){var c=document.createElement(b||"div");return a&&(c.className=a),c},getScrollY:function(){var a=window.pageYOffset;return void 0!==a?a:document.documentElement.scrollTop},unbind:function(a,b,c){e.bind(a,b,c,!0)},removeClass:function(a,b){var c=new RegExp("(\\s|^)"+b+"(\\s|$)");a.className=a.className.replace(c," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")},addClass:function(a,b){e.hasClass(a,b)||(a.className+=(a.className?" ":"")+b)},hasClass:function(a,b){return a.className&&new RegExp("(^|\\s)"+b+"(\\s|$)").test(a.className)},getChildByClass:function(a,b){for(var c=a.firstChild;c;){if(e.hasClass(c,b))return c;c=c.nextSibling}},arraySearch:function(a,b,c){for(var d=a.length;d--;)if(a[d][c]===b)return d;return-1},extend:function(a,b,c){for(var d in b)if(b.hasOwnProperty(d)){if(c&&a.hasOwnProperty(d))continue;a[d]=b[d]}},easing:{sine:{out:function(a){return Math.sin(a*(Math.PI/2))},inOut:function(a){return-(Math.cos(Math.PI*a)-1)/2}},cubic:{out:function(a){return--a*a*a+1}}},detectFeatures:function(){if(e.features)return e.features;var a=e.createEl(),b=a.style,c="",d={};if(d.oldIE=document.all&&!document.addEventListener,d.touch="ontouchstart"in window,window.requestAnimationFrame&&(d.raf=window.requestAnimationFrame,d.caf=window.cancelAnimationFrame),d.pointerEvent=!!window.PointerEvent||navigator.msPointerEnabled,!d.pointerEvent){var f=navigator.userAgent;if(/iP(hone|od)/.test(navigator.platform)){var g=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);g&&g.length>0&&(g=parseInt(g[1],10),g>=1&&g<8&&(d.isOldIOSPhone=!0))}var h=f.match(/Android\s([0-9\.]*)/),i=h?h[1]:0;i=parseFloat(i),i>=1&&(i<4.4&&(d.isOldAndroid=!0),d.androidVersion=i),d.isMobileOpera=/opera mini|o
8817pera mobi/i.test(f)}for(var j,k,l=["transform","perspective","animationName"],m=["","webkit","Moz","ms","O"],n=0;n<4;n++){c=m[n];for(var o=0;o<3;o++)j=l[o],k=c+(c?j.charAt(0).toUpperCase()+j.slice(1):j),!d[j]&&k in b&&(d[j]=k);c&&!d.raf&&(c=c.toLowerCase(),d.raf=window[c+"RequestAnimationFrame"],d.raf&&(d.caf=window[c+"CancelAnimationFrame"]||window[c+"CancelRequestAnimationFrame"]))}if(!d.raf){var p=0;d.raf=function(a){var b=(new Date).getTime(),c=Math.max(0,16-(b-p)),d=window.setTimeout(function(){a(b+c)},c);return p=b+c,d},d.caf=function(a){clearTimeout(a)}}return d.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,e.features=d,d}};e.detectFeatures(),e.features.oldIE&&(e.bind=function(a,b,c,d){b=b.split(" ");for(var e,f=(d?"detach":"attach")+"Event",g=function(){c.handleEvent.call(c)},h=0;h<b.length;h++)if(e=b[h])if("object"==typeof c&&c.handleEvent){if(d){if(!c["oldIE"+e])return!1}else c["oldIE"+e]=g;a[f]("on"+e,c["oldIE"+e])}else a[f]("on"+e,c)});var f=this,g=25,h=3,i={allowPanToNext:!0,spacing:.12,bgOpacity:1,mouseUsed:!1,loop:!0,pinchToClose:!0,closeOnScroll:!0,closeOnVerticalDrag:!0,verticalDragRange:.75,hideAnimationDuration:333,showAnimationDuration:333,showHideOpacity:!1,focus:!0,escKey:!0,arrowKeys:!0,mainScrollEndFriction:.35,panEndFriction:.35,isClickableElement:function(a){return"A"===a.tagName},getDoubleTapZoom:function(a,b){return a?1:b.initialZoomLevel<.7?1:1.33},maxSpreadZoom:1.33,modal:!0,scaleMode:"fit"};e.extend(i,d);var j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma=function(){return{x:0,y:0}},na=ma(),oa=ma(),pa=ma(),qa={},ra=0,sa={},ta=ma(),ua=0,va=!0,wa=[],xa={},ya=!1,za=function(a,b){e.extend(f,b.publicMethods),wa.push(a)},Aa=function(a){var b=ac();return a>b-1?a-b:a<0?b+a:a},Ba={},Ca=function(a,b){return Ba[a]||(Ba[a]=[]),Ba[a].push(b)},Da=function(a){var b=Ba[a];if(b){var c=Array.prototype.slice.call(arguments);c.shift();for(var d=0;d<b.length;d++)b[d].apply(f,c)}},Ea=function(){return(new Date).getTime()},Fa=function(a){ja=a,f.bg.style.opacity=a*i.bgOpacity},Ga=function(a,b,c,d,e){(!ya||e&&e!==f.currItem)&&(d/=e?e.fitRatio:f.currItem.fitRatio),a[E]=u+b+"px, "+c+"px"+v+" scale("+d+")"},Ha=function(a){ea&&(a&&(s>f.currItem.fitRatio?ya||(mc(f.currItem,!1,!0),ya=!0):ya&&(mc(f.currItem),ya=!1)),Ga(ea,pa.x,pa.y,s))},Ia=function(a){a.container&&Ga(a.container.style,a.initialPosition.x,a.initialPosition.y,a.initialZoomLevel,a)},Ja=function(a,b){b[E]=u+a+"px, 0px"+v},Ka=function(a,b){if(!i.loop&&b){var c=m+(ta.x*ra-a)/ta.x,d=Math.round(a-tb.x);(c<0&&d>0||c>=ac()-1&&d<0)&&(a=tb.x+d*i.mainScrollEndFriction)}tb.x=a,Ja(a,n)},La=function(a,b){var c=ub[a]-sa[a];return oa[a]+na[a]+c-c*(b/t)},Ma=function(a,b){a.x=b.x,a.y=b.y,b.id&&(a.id=b.id)},Na=function(a){a.x=Math.round(a.x),a.y=Math.round(a.y)},Oa=null,Pa=function(){Oa&&(e.unbind(document,"mousemove",Pa),e.addClass(a,"pswp--has_mouse"),i.mouseUsed=!0,Da("mouseUsed")),Oa=setTimeout(function(){Oa=null},100)},Qa=function(){e.bind(document,"keydown",f),N.transform&&e.bind(f.scrollWrap,"click",f),i.mouseUsed||e.bind(document,"mousemove",Pa),e.bind(window,"resize scroll orientationchange",f),Da("bindEvents")},Ra=function(){e.unbind(window,"resize scroll orientationchange",f),e.unbind(window,"scroll",r.scroll),e.unbind(document,"keydown",f),e.unbind(document,"mousemove",Pa),N.transform&&e.unbind(f.scrollWrap,"click",f),V&&e.unbind(window,p,f),clearTimeout(O),Da("unbindEvents")},Sa=function(a,b){var c=ic(f.currItem,qa,a);return b&&(da=c),c},Ta=function(a){return a||(a=f.currItem),a.initialZoomLevel},Ua=function(a){return a||(a=f.currItem),a.w>0?i.maxSpreadZoom:1},Va=function(a,b,c,d){return d===f.currItem.initialZoomLevel?(c[a]=f.currItem.initialPosition[a],!0):(c[a]=La(a,d),c[a]>b.min[a]?(c[a]=b.min[a],!0):c[a]<b.max[a]&&(c[a]=b.max[a],!0))},Wa=function(){if(E){var b=N.perspective&&!G;return u="translate"+(b?"3d(":"("),void(v=N.perspective?", 0px)":")")}E="left",e.addClass(a,"pswp--ie"),Ja=function(a,b){b.left=a+"px"},Ia=function(a){var b=a.fitRatio>1?1:a.fitRatio,c=a.container.style,d=b*a.w,e=b*a.h;c.width=d+"px",c.height=e+"px",c.left=a.initialPosition.x+"px",c.top=a.initialPosition.y+"px"},Ha=function(){if(ea){var a=ea,b=f.currItem,c=b.fitRatio>1?1:b.fitRatio,d=c*b.w,e=c*b.h;a.width=d+"px",a.height=e+"px",a.left=pa.x+"px",a.top=pa.y+"px"}}},Xa=function(a){var b="";i.escKey&&27===a.keyCode?b="close":i.arrowKeys&&(37===a.keyCode?b="prev":39===a.keyCode&&(b="next")),b&&(a.ctrlKey||a.altKey||a.shiftKey||a.metaKey||(a.preventDefault?a.preventDefault():a.returnValue=!1,f[b]()))},Ya=function(a){a&&(Y||X||fa||T)&&(a.preventDefault(),a.stopPropagation())},Za=function(){f.setScrollOffset(0,e.getScrollY())},$a={},_a=0,ab=function(a){$a[a]&&($a[a].raf&&I($a[a].raf),_a--,delete $a[a])},bb=function(a){$a[a]&&ab(a),$a[a]||(_a++,$a[a]={})},cb=function(){for(var a in $a)$a.hasOwnProperty(a)&&ab(a)},db=function(a,b,c,d,e,f,g){var h,i=Ea();
8817bb(a);var j=function(){if($a[a]){if(h=Ea()-i,h>=d)return ab(a),f(c),void(g&&g());f((c-b)*e(h/d)+b),$a[a].raf=H(j)}};j()},eb={shout:Da,listen:Ca,viewportSize:qa,options:i,isMainScrollAnimating:function(){return fa},getZoomLevel:function(){return s},getCurrentIndex:function(){return m},isDragging:function(){return V},isZooming:function(){return aa},setScrollOffset:function(a,b){sa.x=a,M=sa.y=b,Da("updateScrollOffset",sa)},applyZoomPan:function(a,b,c,d){pa.x=b,pa.y=c,s=a,Ha(d)},init:function(){if(!j&&!k){var c;f.framework=e,f.template=a,f.bg=e.getChildByClass(a,"pswp__bg"),J=a.className,j=!0,N=e.detectFeatures(),H=N.raf,I=N.caf,E=N.transform,L=N.oldIE,f.scrollWrap=e.getChildByClass(a,"pswp__scroll-wrap"),f.container=e.getChildByClass(f.scrollWrap,"pswp__container"),n=f.container.style,f.itemHolders=y=[{el:f.container.children[0],wrap:0,index:-1},{el:f.container.children[1],wrap:0,index:-1},{el:f.container.children[2],wrap:0,index:-1}],y[0].el.style.display=y[2].el.style.display="none",Wa(),r={resize:f.updateSize,orientationchange:function(){clearTimeout(O),O=setTimeout(function(){qa.x!==f.scrollWrap.clientWidth&&f.updateSize()},500)},scroll:Za,keydown:Xa,click:Ya};var d=N.isOldIOSPhone||N.isOldAndroid||N.isMobileOpera;for(N.animationName&&N.transform&&!d||(i.showAnimationDuration=i.hideAnimationDuration=0),c=0;c<wa.length;c++)f["init"+wa[c]]();if(b){var g=f.ui=new b(f,e);g.init()}Da("firstUpdate"),m=m||i.index||0,(isNaN(m)||m<0||m>=ac())&&(m=0),f.currItem=_b(m),(N.isOldIOSPhone||N.isOldAndroid)&&(va=!1),a.setAttribute("aria-hidden","false"),i.modal&&(va?a.style.position="fixed":(a.style.position="absolute",a.style.top=e.getScrollY()+"px")),void 0===M&&(Da("initialLayout"),M=K=e.getScrollY());var l="pswp--open ";for(i.mainClass&&(l+=i.mainClass+" "),i.showHideOpacity&&(l+="pswp--animate_opacity "),l+=G?"pswp--touch":"pswp--notouch",l+=N.animationName?" pswp--css_animation":"",l+=N.svg?" pswp--svg":"",e.addClass(a,l),f.updateSize(),o=-1,ua=null,c=0;c<h;c++)Ja((c+o)*ta.x,y[c].el.style);L||e.bind(f.scrollWrap,q,f),Ca("initialZoomInEnd",function(){f.setContent(y[0],m-1),f.setContent(y[2],m+1),y[0].el.style.display=y[2].el.style.display="block",i.focus&&a.focus(),Qa()}),f.setContent(y[1],m),f.updateCurrItem(),Da("afterInit"),va||(w=setInterval(function(){_a||V||aa||s!==f.currItem.initialZoomLevel||f.updateSize()},1e3)),e.addClass(a,"pswp--visible")}},close:function(){j&&(j=!1,k=!0,Da("close"),Ra(),cc(f.currItem,null,!0,f.destroy))},destroy:function(){Da("destroy"),Xb&&clearTimeout(Xb),a.setAttribute("aria-hidden","true"),a.className=J,w&&clearInterval(w),e.unbind(f.scrollWrap,q,f),e.unbind(window,"scroll",f),zb(),cb(),Ba=null},panTo:function(a,b,c){c||(a>da.min.x?a=da.min.x:a<da.max.x&&(a=da.max.x),b>da.min.y?b=da.min.y:b<da.max.y&&(b=da.max.y)),pa.x=a,pa.y=b,Ha()},handleEvent:function(a){a=a||window.event,r[a.type]&&r[a.type](a)},goTo:function(a){a=Aa(a);var b=a-m;ua=b,m=a,f.currItem=_b(m),ra-=b,Ka(ta.x*ra),cb(),fa=!1,f.updateCurrItem()},next:function(){f.goTo(m+1)},prev:function(){f.goTo(m-1)},updateCurrZoomItem:function(a){if(a&&Da("beforeChange",0),y[1].el.children.length){var b=y[1].el.children[0];ea=e.hasClass(b,"pswp__zoom-wrap")?b.style:null}else ea=null;da=f.currItem.bounds,t=s=f.currItem.initialZoomLevel,pa.x=da.center.x,pa.y=da.center.y,a&&Da("afterChange")},invalidateCurrItems:function(){x=!0;for(var a=0;a<h;a++)y[a].item&&(y[a].item.needsUpdate=!0)},updateCurrItem:function(a){if(0!==ua){var b,c=Math.abs(ua);if(!(a&&c<2)){f.currItem=_b(m),ya=!1,Da("beforeChange",ua),c>=h&&(o+=ua+(ua>0?-h:h),c=h);for(var d=0;d<c;d++)ua>0?(b=y.shift(),y[h-1]=b,o++,Ja((o+2)*ta.x,b.el.style),f.setContent(b,m-c+d+1+1)):(b=y.pop(),y.unshift(b),o--,Ja(o*ta.x,b.el.style),f.setContent(b,m+c-d-1-1));if(ea&&1===Math.abs(ua)){var e=_b(z);e.initialZoomLevel!==s&&(ic(e,qa),mc(e),Ia(e))}ua=0,f.updateCurrZoomItem(),z=m,Da("afterChange")}}},updateSize:function(b){if(!va&&i.modal){var c=e.getScrollY();if(M!==c&&(a.style.top=c+"px",M=c),!b&&xa.x===window.innerWidth&&xa.y===window.innerHeight)return;xa.x=window.innerWidth,xa.y=window.innerHeight,a.style.height=xa.y+"px"}if(qa.x=f.scrollWrap.clientWidth,qa.y=f.scrollWrap.clientHeight,Za(),ta.x=qa.x+Math.round(qa.x*i.spacing),ta.y=qa.y,Ka(ta.x*ra),Da("beforeResize"),void 0!==o){for(var d,g,j,k=0;k<h;k++)d=y[k],Ja((k+o)*ta.x,d.el.style),j=m+k-1,i.loop&&ac()>2&&(j=Aa(j)),g=_b(j),g&&(x||g.needsUpdate||!g.bounds)?(f.cleanSlide(g),f.setContent(d,j),1===k&&(f.currItem=g,f.updateCurrZoomItem(!0)),g.needsUpdate=!1):d.index===-1&&j>=0&&f.setContent(d,j),g&&g.container&&(ic(g,qa),mc(g),Ia(g));x=!1}
8817t=s=f.currItem.initialZoomLevel,da=f.currItem.bounds,da&&(pa.x=da.center.x,pa.y=da.center.y,Ha(!0)),Da("resize")},zoomTo:function(a,b,c,d,f){b&&(t=s,ub.x=Math.abs(b.x)-pa.x,ub.y=Math.abs(b.y)-pa.y,Ma(oa,pa));var g=Sa(a,!1),h={};Va("x",g,h,a),Va("y",g,h,a);var i=s,j={x:pa.x,y:pa.y};Na(h);var k=function(b){1===b?(s=a,pa.x=h.x,pa.y=h.y):(s=(a-i)*b+i,pa.x=(h.x-j.x)*b+j.x,pa.y=(h.y-j.y)*b+j.y),f&&f(b),Ha(1===b)};c?db("customZoomTo",0,1,c,d||e.easing.sine.inOut,k):k(1)}},fb=30,gb=10,hb={},ib={},jb={},kb={},lb={},mb=[],nb={},ob=[],pb={},qb=0,rb=ma(),sb=0,tb=ma(),ub=ma(),vb=ma(),wb=function(a,b){return a.x===b.x&&a.y===b.y},xb=function(a,b){return Math.abs(a.x-b.x)<g&&Math.abs(a.y-b.y)<g},yb=function(a,b){return pb.x=Math.abs(a.x-b.x),pb.y=Math.abs(a.y-b.y),Math.sqrt(pb.x*pb.x+pb.y*pb.y)},zb=function(){Z&&(I(Z),Z=null)},Ab=function(){V&&(Z=H(Ab),Qb())},Bb=function(){return!("fit"===i.scaleMode&&s===f.currItem.initialZoomLevel)},Cb=function(a,b){return!(!a||a===document)&&(!(a.getAttribute("class")&&a.getAttribute("class").indexOf("pswp__scroll-wrap")>-1)&&(b(a)?a:Cb(a.parentNode,b)))},Db={},Eb=function(a,b){return Db.prevent=!Cb(a.target,i.isClickableElement),Da("preventDragEvent",a,b,Db),Db.prevent},Fb=function(a,b){return b.x=a.pageX,b.y=a.pageY,b.id=a.identifier,b},Gb=function(a,b,c){c.x=.5*(a.x+b.x),c.y=.5*(a.y+b.y)},Hb=function(a,b,c){if(a-Q>50){var d=ob.length>2?ob.shift():{};d.x=b,d.y=c,ob.push(d),Q=a}},Ib=function(){var a=pa.y-f.currItem.initialPosition.y;return 1-Math.abs(a/(qa.y/2))},Jb={},Kb={},Lb=[],Mb=function(a){for(;Lb.length>0;)Lb.pop();return F?(la=0,mb.forEach(function(a){0===la?Lb[0]=a:1===la&&(Lb[1]=a),la++})):a.type.indexOf("touch")>-1?a.touches&&a.touches.length>0&&(Lb[0]=Fb(a.touches[0],Jb),a.touches.length>1&&(Lb[1]=Fb(a.touches[1],Kb))):(Jb.x=a.pageX,Jb.y=a.pageY,Jb.id="",Lb[0]=Jb),Lb},Nb=function(a,b){var c,d,e,g,h=0,j=pa[a]+b[a],k=b[a]>0,l=tb.x+b.x,m=tb.x-nb.x;return c=j>da.min[a]||j<da.max[a]?i.panEndFriction:1,j=pa[a]+b[a]*c,!i.allowPanToNext&&s!==f.currItem.initialZoomLevel||(ea?"h"!==ga||"x"!==a||X||(k?(j>da.min[a]&&(c=i.panEndFriction,h=da.min[a]-j,d=da.min[a]-oa[a]),(d<=0||m<0)&&ac()>1?(g=l,m<0&&l>nb.x&&(g=nb.x)):da.min.x!==da.max.x&&(e=j)):(j<da.max[a]&&(c=i.panEndFriction,h=j-da.max[a],d=oa[a]-da.max[a]),(d<=0||m>0)&&ac()>1?(g=l,m>0&&l<nb.x&&(g=nb.x)):da.min.x!==da.max.x&&(e=j))):g=l,"x"!==a)?void(fa||$||s>f.currItem.fitRatio&&(pa[a]+=b[a]*c)):(void 0!==g&&(Ka(g,!0),$=g!==nb.x),da.min.x!==da.max.x&&(void 0!==e?pa.x=e:$||(pa.x+=b.x*c)),void 0!==g)},Ob=function(a){if(!("mousedown"===a.type&&a.button>0)){if($b)return void a.preventDefault();if(!U||"mousedown"!==a.type){if(Eb(a,!0)&&a.preventDefault(),Da("pointerDown"),F){var b=e.arraySearch(mb,a.pointerId,"id");b<0&&(b=mb.length),mb[b]={x:a.pageX,y:a.pageY,id:a.pointerId}}var c=Mb(a),d=c.length;_=null,cb(),V&&1!==d||(V=ha=!0,e.bind(window,p,f),S=ka=ia=T=$=Y=W=X=!1,ga=null,Da("firstTouchStart",c),Ma(oa,pa),na.x=na.y=0,Ma(kb,c[0]),Ma(lb,kb),nb.x=ta.x*ra,ob=[{x:kb.x,y:kb.y}],Q=P=Ea(),Sa(s,!0),zb(),Ab()),!aa&&d>1&&!fa&&!$&&(t=s,X=!1,aa=W=!0,na.y=na.x=0,Ma(oa,pa),Ma(hb,c[0]),Ma(ib,c[1]),Gb(hb,ib,vb),ub.x=Math.abs(vb.x)-pa.x,ub.y=Math.abs(vb.y)-pa.y,ba=ca=yb(hb,ib))}}},Pb=function(a){if(a.preventDefault(),F){var b=e.arraySearch(mb,a.pointerId,"id");if(b>-1){var c=mb[b];c.x=a.pageX,c.y=a.pageY}}if(V){var d=Mb(a);if(ga||Y||aa)_=d;else if(tb.x!==ta.x*ra)ga="h";else{var f=Math.abs(d[0].x-kb.x)-Math.abs(d[0].y-kb.y);Math.abs(f)>=gb&&(ga=f>0?"h":"v",_=d)}}},Qb=function(){if(_){var a=_.length;if(0!==a)if(Ma(hb,_[0]),jb.x=hb.x-kb.x,jb.y=hb.y-kb.y,aa&&a>1){if(kb.x=hb.x,kb.y=hb.y,!jb.x&&!jb.y&&wb(_[1],ib))return;Ma(ib,_[1]),X||(X=!0,Da("zoomGestureStarted"));var b=yb(hb,ib),c=Vb(b);c>f.currItem.initialZoomLevel+f.currItem.initialZoomLevel/15&&(ka=!0);var d=1,e=Ta(),g=Ua();if(c<e)if(i.pinchToClose&&!ka&&t<=f.currItem.initialZoomLevel){var h=e-c,j=1-h/(e/1.2);Fa(j),Da("onPinchClose",j),ia=!0}else d=(e-c)/e,d>1&&(d=1),c=e-d*(e/3);else c>g&&(d=(c-g)/(6*e),d>1&&(d=1),c=g+d*e);d<0&&(d=0),ba=b,Gb(hb,ib,rb),na.x+=rb.x-vb.x,na.y+=rb.y-vb.y,Ma(vb,rb),pa.x=La("x",c),pa.y=La("y",c),S=c>s,s=c,Ha()}else{if(!ga)return;if(ha&&(ha=!1,Math.abs(jb.x)>=gb&&(jb.x-=_[0].x-lb.x),Math.abs(jb.y)>=gb&&(jb.y-=_[0].y-lb.y)),kb.x=hb.x,kb.y=hb.y,0===jb.x&&0===jb.y)return;if("v"===ga&&i.closeOnVerticalDrag&&!Bb()){na.y+=jb.y,pa.y+=jb.y;var k=Ib();return T=!0,Da("onVerticalDrag",k),Fa(k),void Ha()}Hb(Ea(),hb.x,hb.y),Y=!0,da=f.currItem.bounds;var l=Nb("x",jb);l||(Nb("y",jb),Na(pa),Ha())}}}
8817,Rb=function(a){if(N.isOldAndroid){if(U&&"mouseup"===a.type)return;a.type.indexOf("touch")>-1&&(clearTimeout(U),U=setTimeout(function(){U=0},600))}Da("pointerUp"),Eb(a,!1)&&a.preventDefault();var b;if(F){var c=e.arraySearch(mb,a.pointerId,"id");if(c>-1)if(b=mb.splice(c,1)[0],navigator.msPointerEnabled){var d={4:"mouse",2:"touch",3:"pen"};b.type=d[a.pointerType],b.type||(b.type=a.pointerType||"mouse")}else b.type=a.pointerType||"mouse"}var g,h=Mb(a),j=h.length;if("mouseup"===a.type&&(j=0),2===j)return _=null,!0;1===j&&Ma(lb,h[0]),0!==j||ga||fa||(b||("mouseup"===a.type?b={x:a.pageX,y:a.pageY,type:"mouse"}:a.changedTouches&&a.changedTouches[0]&&(b={x:a.changedTouches[0].pageX,y:a.changedTouches[0].pageY,type:"touch"})),Da("touchRelease",a,b));var k=-1;if(0===j&&(V=!1,e.unbind(window,p,f),zb(),aa?k=0:sb!==-1&&(k=Ea()-sb)),sb=1===j?Ea():-1,g=k!==-1&&k<150?"zoom":"swipe",aa&&j<2&&(aa=!1,1===j&&(g="zoomPointerUp"),Da("zoomGestureEnded")),_=null,Y||X||fa||T)if(cb(),R||(R=Sb()),R.calculateSwipeSpeed("x"),T){var l=Ib();if(l<i.verticalDragRange)f.close();else{var m=pa.y,n=ja;db("verticalDrag",0,1,300,e.easing.cubic.out,function(a){pa.y=(f.currItem.initialPosition.y-m)*a+m,Fa((1-n)*a+n),Ha()}),Da("onVerticalDrag",1)}}else{if(($||fa)&&0===j){var o=Ub(g,R);if(o)return;g="zoomPointerUp"}if(!fa)return"swipe"!==g?void Wb():void(!$&&s>f.currItem.fitRatio&&Tb(R))}},Sb=function(){var a,b,c={lastFlickOffset:{},lastFlickDist:{},lastFlickSpeed:{},slowDownRatio:{},slowDownRatioReverse:{},speedDecelerationRatio:{},speedDecelerationRatioAbs:{},distanceOffset:{},backAnimDestination:{},backAnimStarted:{},calculateSwipeSpeed:function(d){ob.length>1?(a=Ea()-Q+50,b=ob[ob.length-2][d]):(a=Ea()-P,b=lb[d]),c.lastFlickOffset[d]=kb[d]-b,c.lastFlickDist[d]=Math.abs(c.lastFlickOffset[d]),c.lastFlickDist[d]>20?c.lastFlickSpeed[d]=c.lastFlickOffset[d]/a:c.lastFlickSpeed[d]=0,Math.abs(c.lastFlickSpeed[d])<.1&&(c.lastFlickSpeed[d]=0),c.slowDownRatio[d]=.95,c.slowDownRatioReverse[d]=1-c.slowDownRatio[d],c.speedDecelerationRatio[d]=1},calculateOverBoundsAnimOffset:function(a,b){c.backAnimStarted[a]||(pa[a]>da.min[a]?c.backAnimDestination[a]=da.min[a]:pa[a]<da.max[a]&&(c.backA
8817nimDestination[a]=da.max[a]),void 0!==c.backAnimDestination[a]&&(c.slowDownRatio[a]=.7,c.slowDownRatioReverse[a]=1-c.slowDownRatio[a],c.speedDecelerationRatioAbs[a]<.05&&(c.lastFlickSpeed[a]=0,c.backAnimStarted[a]=!0,db("bounceZoomPan"+a,pa[a],c.backAnimDestination[a],b||300,e.easing.sine.out,function(b){pa[a]=b,Ha()}))))},calculateAnimOffset:function(a){c.backAnimStarted[a]||(c.speedDecelerationRatio[a]=c.speedDecelerationRatio[a]*(c.slowDownRatio[a]+c.slowDownRatioReverse[a]-c.slowDownRatioReverse[a]*c.timeDiff/10),c.speedDecelerationRatioAbs[a]=Math.abs(c.lastFlickSpeed[a]*c.speedDecelerationRatio[a]),c.distanceOffset[a]=c.lastFlickSpeed[a]*c.speedDecelerationRatio[a]*c.timeDiff,pa[a]+=c.distanceOffset[a])},panAnimLoop:function(){if($a.zoomPan&&($a.zoomPan.raf=H(c.panAnimLoop),c.now=Ea(),c.timeDiff=c.now-c.lastNow,c.lastNow=c.now,c.calculateAnimOffset("x"),c.calculateAnimOffset("y"),Ha(),c.calculateOverBoundsAnimOffset("x"),c.calculateOverBoundsAnimOffset("y"),c.speedDecelerationRatioAbs.x<.05&&c.speedDecelerationRatioAbs.y<.05))return pa.x=Math.round(pa.x),pa.y=Math.round(pa.y),Ha(),void ab("zoomPan")}};return c},Tb=function(a){return a.calculateSwipeSpeed("y"),da=f.currItem.bounds,a.backAnimDestination={},a.backAnimStarted={},Math.abs(a.lastFlickSpeed.x)<=.05&&Math.abs(a.lastFlickSpeed.y)<=.05?(a.speedDecelerationRatioAbs.x=a.speedDecelerationRatioAbs.y=0,a.calculateOverBoundsAnimOffset("x"),a.calculateOverBoundsAnimOffset("y"),!0):(bb("zoomPan"),a.lastNow=Ea(),void a.panAnimLoop())},Ub=function(a,b){var c;fa||(qb=m);var d;if("swipe"===a){var g=kb.x-lb.x,h=b.lastFlickDist.x<10;g>fb&&(h||b.lastFlickOffset.x>20)?d=-1:g<-fb&&(h||b.lastFlickOffset.x<-20)&&(d=1)}var j;d&&(m+=d,m<0?(m=i.loop?ac()-1:0,j=!0):m>=ac()&&(m=i.loop?0:ac()-1,j=!0),j&&!i.loop||(ua+=d,ra-=d,c=!0));var k,l=ta.x*ra,n=Math.abs(l-tb.x);return c||l>tb.x==b.lastFlickSpeed.x>0?(k=Math.abs(b.lastFlickSpeed.x)>0?n/Math.abs(b.lastFlickSpeed.x):333,k=Math.min(k,400),k=Math.max(k,250)):k=333,qb===m&&(c=!1),fa=!0,Da("mainScrollAnimStart"),db("mainScroll",tb.x,l,k,e.easing.cubic.out,Ka,function(){cb(),fa=!1,qb=-1,(c||qb!==m)&&f.updateCurrItem(),Da("mainScrollAnimComplete")}),c&&f.updateCurrItem(!0),c},Vb=function(a){return 1/ca*a*t},Wb=function(){var a=s,b=Ta(),c=Ua();s<b?a=b:s>c&&(a=c);var d,g=1,h=ja;return ia&&!S&&!ka&&s<b?(f.close(),!0):(ia&&(d=function(a){Fa((g-h)*a+h)}),f.zoomTo(a,0,200,e.easing.cubic.out,d),!0)};za("Gestures",{publicMethods:{initGestures:function(){var a=function(a,b,c,d,e){A=a+b,B=a+c,C=a+d,D=e?a+e:""};F=N.pointerEvent,F&&N.touch&&(N.touch=!1),F?navigator.msPointerEnabled?a("MSPointer","Down","Move","Up","Cancel"):a("pointer","down","move","up","cancel"):N.touch?(a("touch","start","move","end","cancel"),G=!0):a("mouse","down","move","up"),p=B+" "+C+" "+D,q=A,F&&!G&&(G=navigator.maxTouchPoints>1||navigator.msMaxTouchPoints>1),f.likelyTouchDevice=G,r[A]=Ob,r[B]=Pb,r[C]=Rb,D&&(r[D]=r[C]),N.touch&&(q+=" mousedown",p+=" mousemove mouseup",r.mousedown=r[A],r.mousemove=r[B],r.mouseup=r[C]),G||(i.allowPanToNext=!1)}}});var Xb,Yb,Zb,$b,_b,ac,bc,cc=function(b,c,d,g){Xb&&clearTimeout(Xb),$b=!0,Zb=!0;var h;b.initialLayout?(h=b.initialLayout,b.initialLayout=null):h=i.getThumbBoundsFn&&i.getThumbBoundsFn(m);var j=d?i.hideAnimationDuration:i.showAnimationDuration,k=function(){ab("initialZoom"),d?(f.template.removeAttribute("style"),f.bg.removeAttribute("style")):(Fa(1),c&&(c.style.display="block"),e.addClass(a,"pswp--animated-in"),Da("initialZoom"+(d?"OutEnd":"InEnd"))),g&&g(),$b=!1};if(!j||!h||void 0===h.x)return Da("initialZoom"+(d?"Out":"In")),s=b.initialZoomLevel,Ma(pa,b.initialPosition),Ha(),a.style.opacity=d?0:1,Fa(1),void(j?setTimeout(function(){k()},j):k());var n=function(){var c=l,g=!f.currItem.src||f.currItem.loadError||i.showHideOpacity;b.miniImg&&(b.miniImg.style.webkitBackfaceVisibility="hidden"),d||(s=h.w/b.w,pa.x=h.x,pa.y=h.y-K,f[g?"template":"bg"].style.opacity=.001,Ha()),bb("initialZoom"),d&&!c&&e.removeClass(a,"pswp--animated-in"),g&&(d?e[(c?"remove":"add")+"Class"](a,"pswp--animate_opacity"):setTimeout(function(){e.addClass(a,"pswp--animate_opacity")},30)),Xb=setTimeout(function(){if(Da("initialZoom"+(d?"Out":"In")),d){var f=h.w/b.w,i={x:pa.x,y:pa.y},l=s,m=ja,n=function(b){1===b?(s=f,pa.x=h.x,pa.y=h.y-M):(s=(f-l)*b+l,pa.x=(h.x-i.x)*b+i.x,pa.y=(h.y-M-i.y)*b+i.y),Ha(),g?a.style.opacity=1-b:Fa(m-b*m)};c?db("initialZoom",0,1,j,e.easing.cubic.out,n,k):(n(1),Xb=setTimeout(k,j+20))}else s=b.initialZoomLevel,Ma(pa,b.initialPosition),Ha(),Fa(1),g?a.style.opacity=1:Fa(1),Xb=setTimeout(k,j+20)},d?25:90)};n()},dc={},ec=[],fc={index:0,errorMsg:'<div class="pswp__error-msg"><a href="%url%" target="_blank">The image</a> could not be loaded.</div>',forceProgressiveLoading:!1,preload:[1,1],getNumItemsFn:function(){return Yb.length}},gc=function(){return{center:{x:0,y:0},max:{x:0,y:0},min:{x:0,y:0}}},hc=function(a,b,c){var d=a.bounds;d.center.x=Math.round((dc.x-b)/2),d.center.y=Math.round((dc.y-c)/2)+a.vGap.top,d.max.x=b>dc.x?Math.round(dc.x-b):d.center.x,d.max.y=c>dc.y?Math.round(dc.y-c)+a.vGap.top:d.center.y,d.min.x=b>dc.x?0:d.center.x,d.min.y=c>dc.y?a.vGap.top:d.center.y},ic=function(a,b,c){if(a.src&&!a.loadError){var d=!c;if(d&&(a.vGap||(a.vGap={top:0,bottom:0}),Da("parseVerticalMargin",a)),dc.x=b.x,dc.y=b.y-a.vGap.top-a.vGap.bottom,d){var e=dc.x/a.w,f=dc.y/a.h;a.fitRatio=e<f?e:f;var g=i.scaleMode;"orig"===g?c=1:"fit"===g&&(c=a.fitRatio),c>1&&(c=1),a.initialZoomLevel=c,a.bounds||(a.bounds=gc())}if(!c)return;return hc(a,a.w*c,a.h*c),d&&c===a.initialZoomLevel&&(a.initialPosition=a.bounds.center),a.bounds}return a.w=a.h=0,a.initialZoomLevel=a.fitRatio=1,a.bounds=gc(),a.initialPosition=a.bounds.center,a.bounds},jc=function(a,b,c,d,e,g){b.loadError||d&&(b.imageAppended=!0,mc(b,d,b===f.currItem&&ya),c.appendChild(d),g&&setTimeout(function(){b&&b.loaded&&b.placeholder&&(b.placeholder.style.display="none",b.placeholder=null)},500))},kc=function(a){a.loading=!0,a.loaded=!1;var b=a.img=e.createEl("pswp__img","img"),c=function(){a.loading=!1,a.loaded=!0,a.loadComplete?a.loadComplete(a):a.img=null,b.onload=b.onerror=null,b=null};
8817return b.onload=c,b.onerror=function(){a.loadError=!0,c()},b.src=a.src,b},lc=function(a,b){if(a.src&&a.loadError&&a.container)return b&&(a.container.innerHTML=""),a.container.innerHTML=i.errorMsg.replace("%url%",a.src),!0},mc=function(a,b,c){if(a.src){b||(b=a.container.lastChild);var d=c?a.w:Math.round(a.w*a.fitRatio),e=c?a.h:Math.round(a.h*a.fitRatio);a.placeholder&&!a.loaded&&(a.placeholder.style.width=d+"px",a.placeholder.style.height=e+"px"),b.style.width=d+"px",b.style.height=e+"px"}},nc=function(){if(ec.length){for(var a,b=0;b<ec.length;b++)a=ec[b],a.holder.index===a.index&&jc(a.index,a.item,a.baseDiv,a.img,!1,a.clearPlaceholder);ec=[]}};za("Controller",{publicMethods:{lazyLoadItem:function(a){a=Aa(a);var b=_b(a);b&&(!b.loaded&&!b.loading||x)&&(Da("gettingData",a,b),b.src&&kc(b))},initController:function(){e.extend(i,fc,!0),f.items=Yb=c,_b=f.getItemAt,ac=i.getNumItemsFn,bc=i.loop,ac()<3&&(i.loop=!1),Ca("beforeChange",function(a){var b,c=i.preload,d=null===a||a>=0,e=Math.min(c[0],ac()),g=Math.min(c[1],ac());for(b=1;b<=(d?g:e);b++)f.lazyLoadItem(m+b);for(b=1;b<=(d?e:g);b++)f.lazyLoadItem(m-b)}),Ca("initialLayout",function(){f.currItem.initialLayout=i.getThumbBoundsFn&&i.getThumbBoundsFn(m)}),Ca("mainScrollAnimComplete",nc),Ca("initialZoomInEnd",nc),Ca("destroy",function(){for(var a,b=0;b<Yb.length;b++)a=Yb[b],a.container&&(a.container=null),a.placeholder&&(a.placeholder=null),a.img&&(a.img=null),a.preloader&&(a.preloader=null),a.loadError&&(a.loaded=a.loadError=!1);ec=null})},getItemAt:function(a){return a>=0&&(void 0!==Yb[a]&&Yb[a])},allowProgressiveImg:function(){return i.forceProgressiveLoading||!G||i.mouseUsed||screen.width>1200},setContent:function(a,b){i.loop&&(b=Aa(b));var c=f.getItemAt(a.index);c&&(c.container=null);var d,g=f.getItemAt(b);if(!g)return void(a.el.innerHTML="");Da("gettingData",b,g),a.index=b,a.item=g;var h=g.container=e.createEl("pswp__zoom-wrap");if(!g.src&&g.html&&(g.html.tagName?h.appendChild(g.html):h.innerHTML=g.html),lc(g),ic(g,qa),!g.src||g.loadError||g.loaded)g.src&&!g.loadError&&(d=e.createEl("pswp__img","img"),d.style.opacity=1,d.src=g.src,mc(g,d),jc(b,g,h,d,!0));else{if(g.loadComplete=function(c){if(j){if(a&&a.index===b){if(lc(c,!0))return c.loadComplete=c.img=null,ic(c,qa),Ia(c),void(a.index===m&&f.updateCurrZoomItem());c.imageAppended?!$b&&c.placeholder&&(c.placeholder.style.display="none",c.placeholder=null):N.transform&&(fa||$b)?ec.push({item:c,baseDiv:h,img:c.img,index:b,holder:a,clearPlaceholder:!0}):jc(b,c,h,c.img,fa||$b,!0)}c.loadComplete=null,c.img=null,Da("imageLoadComplete",b,c)}},e.features.transform){var k="pswp__img pswp__img--placeholder";k+=g.msrc?"":" pswp__img--placeholder--blank";var l=e.createEl(k,g.msrc?"img":"");g.msrc&&(l.src=g.msrc),mc(g,l),h.appendChild(l),g.placeholder=l}g.loading||kc(g),f.allowProgressiveImg()&&(!Zb&&N.transform?ec.push({item:g,baseDiv:h,img:g.img,index:b,holder:a}):jc(b,g,h,g.img,!0,!0))}Zb||b!==m?Ia(g):(ea=h.style,cc(g,d||g.img)),a.el.innerHTML="",a.el.appendChild(h)},cleanSlide:function(a){a.img&&(a.img.onload=a.img.onerror=null),a.loaded=a.loading=a.img=a.imageAppended=!1}}});var oc,pc={},qc=function(a,b,c){var d=document.createEvent("CustomEvent"),e={origEvent:a,target:a.target,releasePoint:b,pointerType:c||"touch"};d.initCustomEvent("pswpTap",!0,!0,e),a.target.dispatchEvent(d)};za("Tap",{publicMethods:{initTap:function(){Ca("firstTouchStart",f.onTapStart),Ca("touchRelease",f.onTapRelease),Ca("destroy",function(){pc={},oc=null})},onTapStart:function(a){a.length>1&&(clearTimeout(oc),oc=null)},onTapRelease:function(a,b){if(b&&!Y&&!W&&!_a){var c=b;if(oc&&(clearTimeout(oc),oc=null,xb(c,pc)))return void Da("doubleTap",c);if("mouse"===b.type)return void qc(a,b,"mouse");var d=a.target.tagName.toUpperCase();if("BUTTON"===d||e.hasClass(a.target,"pswp__single-tap"))return void qc(a,b);Ma(pc,c),oc=setTimeout(function(){qc(a,b),oc=null},300)}}}});var rc;za("DesktopZoom",{publicMethods:{initDesktopZoom:function(){L||(G?Ca("mouseUsed",function(){f.setupDesktopZoom()}):f.setupDesktopZoom(!0))},setupDesktopZoom:function(b){rc={};var c="wheel mousewheel DOMMouseScroll";Ca("bindEvents",function(){e.bind(a,c,f.handleMouseWheel)}),Ca("unbindEvents",function(){rc&&e.unbind(a,c,f.handleMouseWheel)}),f.mouseZoomedIn=!1;var d,g=function(){f.mouseZoomedIn&&(e.removeClass(a,"pswp--zoomed-in"),f.mouseZoomedIn=!1),s<1?e.addClass(a,"pswp--zoom-allowed"):e.removeClass(a,"pswp--zoom-allowed"),h()},h=function(){d&&(e.removeClass(a,"pswp--dragging"),d=!1)};Ca("resize",g),Ca("afterChange",g),Ca("pointerDown",function(){f.mouseZoomedIn&&(d=!0,e.addClass(a,"pswp--dragging"))}),Ca("pointerUp",h),b||g()}
8817,handleMouseWheel:function(a){if(s<=f.currItem.fitRatio)return i.modal&&(!i.closeOnScroll||_a||V?a.preventDefault():E&&Math.abs(a.deltaY)>2&&(l=!0,f.close())),!0;if(a.stopPropagation(),rc.x=0,"deltaX"in a)1===a.deltaMode?(rc.x=18*a.deltaX,rc.y=18*a.deltaY):(rc.x=a.deltaX,rc.y=a.deltaY);else if("wheelDelta"in a)a.wheelDeltaX&&(rc.x=-.16*a.wheelDeltaX),a.wheelDeltaY?rc.y=-.16*a.wheelDeltaY:rc.y=-.16*a.wheelDelta;else{if(!("detail"in a))return;rc.y=a.detail}Sa(s,!0);var b=pa.x-rc.x,c=pa.y-rc.y;(i.modal||b<=da.min.x&&b>=da.max.x&&c<=da.min.y&&c>=da.max.y)&&a.preventDefault(),f.panTo(b,c)},toggleDesktopZoom:function(b){b=b||{x:qa.x/2+sa.x,y:qa.y/2+sa.y};var c=i.getDoubleTapZoom(!0,f.currItem),d=s===c;f.mouseZoomedIn=!d,f.zoomTo(d?f.currItem.initialZoomLevel:c,b,333),e[(d?"remove":"add")+"Class"](a,"pswp--zoomed-in")}}});var sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec={history:!0,galleryUID:1},Fc=function(){return Cc.hash.substring(1)},Gc=function(){sc&&clearTimeout(sc),uc&&clearTimeout(uc)},Hc=function(){var a=Fc(),b={};if(a.length<5)return b;var c,d=a.split("&");for(c=0;c<d.length;c++)if(d[c]){var e=d[c].split("=");e.length<2||(b[e[0]]=e[1])}if(i.galleryPIDs){var f=b.pid;for(b.pid=0,c=0;c<Yb.length;c++)if(Yb[c].pid===f){b.pid=c;break}}else b.pid=parseInt(b.pid,10)-1;return b.pid<0&&(b.pid=0),b},Ic=function(){if(uc&&clearTimeout(uc),_a||V)return void(uc=setTimeout(Ic,500));vc?clearTimeout(tc):vc=!0;var a=m+1,b=_b(m);b.hasOwnProperty("pid")&&(a=b.pid);var c=yc+"&gid="+i.galleryUID+"&pid="+a;zc||Cc.hash.indexOf(c)===-1&&(Bc=!0);var d=Cc.href.split("#")[0]+"#"+c;Dc?"#"+c!==window.location.hash&&history[zc?"replaceState":"pushState"]("",document.title,d):zc?Cc.replace(d):Cc.hash=c,zc=!0,tc=setTimeout(function(){vc=!1},60)};za("History",{publicMethods:{initHistory:function(){if(e.extend(i,Ec,!0),i.history){Cc=window.location,Bc=!1,Ac=!1,zc=!1,yc=Fc(),Dc="pushState"in history,yc.indexOf("gid=")>-1&&(yc=yc.split("&gid=")[0],yc=yc.split("?gid=")[0]),Ca("afterChange",f.updateURL),Ca("unbindEvents",function(){e.unbind(window,"hashchange",f.onHashChange)});var a=function(){xc=!0,Ac||(Bc?history.back():yc?Cc.hash=yc:Dc?history.pushState("",document.title,Cc.pathname+Cc.search):Cc.hash=""),Gc()};Ca("unbindEvents",function(){l&&a()}),Ca("destroy",function(){xc||a()}),Ca("firstUpdate",function(){m=Hc().pid});var b=yc.indexOf("pid=");b>-1&&(yc=yc.substring(0,b),"&"===yc.slice(-1)&&(yc=yc.slice(0,-1))),setTimeout(function(){j&&e.bind(window,"hashchange",f.onHashChange)},40)}},onHashChange:function(){return Fc()===yc?(Ac=!0,void f.close()):void(vc||(wc=!0,f.goTo(Hc().pid),wc=!1))},updateURL:function(){Gc(),wc||(zc?sc=setTimeout(Ic,800):Ic())}}}),e.extend(f,eb)};return a}); 8818// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-gallery-photoswipe/php/../js/front.js 8819jQuery(document).ready(function(){ 8820 8821 jQuery(document).on("append-html", function( e, oNode, html ){ 8822 ctlGalleryPhotoSwipeInit('.ctl-gallery-photoswipe'); 8823 }); 8824 8825 jQuery(document).on("set-html", function( e, oNode, html ){ 8826 ctlGalleryPhotoSwipeInit('.ctl-gallery-photoswipe'); 8827 }); 8828 8829 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 8830 ctlGalleryPhotoSwipeInit('.ctl-gallery-photoswipe'); 8831 }); 8832 8833 ctlGalleryPhotoSwipeInit('.ctl-gallery-photoswipe'); 8834}); 8835 8836function ctlGalleryPhotoSwipeInit(gallerySelector) { 8837 8838 // parse slide data (url, title, size ...) from DOM elements 8839 // (children of gallerySelector) 8840 var parseThumbnailElements = function(el) { 8841 8842 //var thumbElements = el.childNodes, 8843 var thumbElements = el.querySelectorAll("FIGURE"), 8844 numNodes = thumbElements.length, 8845 items = [], 8846 figureEl, 8847 linkEl, 8848 size, 8849 item; 8850 8851 8852 for(var i = 0; i < numNodes; i++) { 8853 8854 figureEl = thumbElements[i]; // <figure> element 8855 8856 // include only element nodes 8857 if(figureEl.nodeType !== 1) { 8858 continue; 8859 } 8860 8861 linkEl = figureEl.querySelector("A"); // <a> element 8862 size = linkEl.getAttribute('data-size').split('x'); 8863 8864 // create slide object 8865 item = { 8866 src: linkEl.getAttribute('href'), 8867 w: parseInt(size[0], 10), 8868 h: parseInt(size[1], 10), 8869 width: 100, 8870 height :100 8871 }; 8872 8873 if(figureEl.children.length > 1) { 8874 item.title = figureEl.querySelector("FIGCAPTION").innerHTML; 8875 } 8876 8877 if(linkEl.children.length > 0) { 8878 // <img> thumbnail element, retrieving thumbnail url 8879 item.msrc = linkEl.querySelector("IMG").getAttribute('src'); 8880 } 8881 8882 item.el = figureEl; // save link to element for getThumbBoundsFn 8883 items.push(item); 8884 } 8885 8886 return items; 8887 }; 8888 8889 // find nearest parent element 8890 var closest = function closest(el, fn) { 8891 return el && ( fn(el) ? el : closest(el.parentNode, fn) ); 8892 }; 8893 8894 // triggers when user clicks on thumbnail 8895 var onThumbnailsClick = function(e) { 8896 e = e || window.event; 8897 e.preventDefault ? e.preventDefault() : e.returnValue = false;
8898 8899 var eTarget = e.target || e.srcElement; 8900 8901 // find root element of slide 8902 var clickedListItem = closest(eTarget, function(el) { 8903 return (el.tagName && 8904 (el.tagName.toUpperCase() === 'FIGURE' ) ); 8905 }); 8906 8907 8908 if(!clickedListItem) { 8909 return; 8910 } 8911 8912 // find index of clicked item by looping through all child nodes 8913 // alternatively, you may define index via data- attribute 8914 8915 var clickedGallery = clickedListItem.closest(gallerySelector), 8916 childNodes = clickedGallery.querySelectorAll("figure"), 8917 numChildNodes = childNodes.length, 8918 nodeIndex = 0, 8919 index; 8920 8921 for (var i = 0; i < numChildNodes; i++) { 8922 if(childNodes[i].nodeType !== 1) { 8923 continue; 8924 } 8925 8926 if(childNodes[i] === clickedListItem) { 8927 index = nodeIndex; 8928 break; 8929 } 8930 nodeIndex++; 8931 } 8932 8933 if(index >= 0) { 8934 // open PhotoSwipe if valid index found 8935 openPhotoSwipe( index, clickedGallery ); 8936 } 8937 return false; 8938 }; 8939 8940 // parse picture index and gallery index from URL (#&pid=1&gid=2) 8941 var photoswipeParseHash = function() { 8942 var hash = window.location.hash.substring(1), 8943 params = {}; 8944 8945 if(hash.length < 5) { 8946 return params; 8947 } 8948 8949 var vars = hash.split('&'); 8950 for (var i = 0; i < vars.length; i++) { 8951 if(!vars[i]) { 8952 continue; 8953 } 8954 var pair = vars[i].split('='); 8955 if(pair.length < 2) { 8956 continue; 8957 } 8958 params[pair[0]] = pair[1]; 8959 } 8960 8961 if(params.gid) { 8962 params.gid = parseInt(params.gid, 10); 8963 } 8964 8965 return params; 8966 }; 8967 8968 var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) { 8969 var pswpElement = document.querySelectorAll('.pswp')[0], 8970 gallery, 8971 options, 8972 items; 8973 8974 items = parseThumbnailElements(galleryElement); 8975 8976 // define options (if needed) 8977 options = { 8978 history: false, 8979 // define gallery index (for URL) 8980 galleryUID: galleryElement.getAttribute('data-pswp-uid'), 8981 8982 getThumbBoundsFn: function(index) { 8983 // See Options -> getThumbBoundsFn section of documentation for more info 8984 var thumbnail = items[index].el.getElementsByTagName('img')[0], // find thumbnail 8985 pageYScroll = window.pageYOffset || document.documentElement.scrollTop, 8986 rect = thumbnail.getBoundingClientRect(); 8987 8988 return {x:rect.left, y:rect.top + pageYScroll, w:rect.width}; 8989 } 8990 }; 8991 8992 // PhotoSwipe opened from URL 8993 if(fromURL) { 8994 if(options.galleryPIDs) { 8995 // parse real index when custom PIDs are used 8996 // http://photoswipe.com/documentation/faq.html#custom-pid-in-url 8997 for(var j = 0; j < items.length; j++) { 8998 if(items[j].pid === index) { 8999 options.index = j; 9000 break; 9001 } 9002 } 9003 } else { 9004 // in URL indexes start from 1 9005 options.index = parseInt(index, 10) - 1; 9006 } 9007 } else { 9008 options.index = parseInt(index, 10); 9009 } 9010 9011 // exit if index not found 9012 if( isNaN(options.index) ) { 9013 return; 9014 } 9015 9016 if(disableAnimation) { 9017 options.showAnimationDuration = 0; 9018 } 9019 9020 // Pass data to PhotoSwipe and initialize it 9021 gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options); 9022 gallery.init(); 9023 }; 9024 9025 // loop through all gallery elements and bind events 9026 var galleryElements = document.querySelectorAll( gallerySelector ); 9027 9028 for(var i = 0, l = galleryElements.length; i < l; i++) { 9029 galleryElements[i].setAttribute('data-pswp-uid', i+1); 9030 galleryElements[i].onclick = onThumbnailsClick; 9031 } 9032 9033 // Parse URL and open gallery if it contains #&pid=3&gid=1 9034 var hashData = photoswipeParseHash(); 9035 if(hashData.pid && hashData.gid) { 9036 openPhotoSwipe( hashData.pid , galleryElements[ hashData.gid - 1 ], true, true ); 9037 } 9038}; 9039// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-html-block/php/../js/front.js 9040jQuery(document).ready(function(){ 9041 9042 jQuery(".ctl-audio-bars audio").each(function(){ 9043 var oAudio = jQuery(this)[0]; 9044 oAudio.addEventListener('ended',function(){ 9045 if ( jQuery(this).prop("loop")){ 9046 return; 9047 } 9048 this.currentTime = 0; 9049 var oNodeBars = jQuery(this).closest(".ctl-audio-bars"); 9050 oNodeBars.removeClass("animated"); 9051 }); 9052 }); 9053 9054 jQuery(document).on("click", ".ctl-audio-bars", function(){ 9055 var oNodeAudio = jQuery(this).find("audio"); 9056 var oAudio = oNodeAudio[0]; 9057 oAudio.volume = 1; 9058 9059 if ( jQuery(this).hasClass("animated") ){ 9060 oAudio.muted = true; 9061 oAudio.pause(); 9062 jQuery(this).removeClass("animated"); 9063 }else{ 9064 oAudio.muted = false;
9065 oAudio.play(); 9066 jQuery(this).addClass("animated"); 9067 } 9068 }); 9069 9070 jQuery(document).on("click", ".ctl-img-block-cta a", function(e){ 9071 var szUrl = jQuery(this).attr("href"); 9072 if ( szUrl.length > 1 && szUrl.charAt(0) === "#"){ 9073 e.preventDefault(); 9074 e.stopPropagation(); 9075 g_oCTLWPStudio.scrollToSelector(szUrl, -100); 9076 } 9077 }); 9078 9079 jQuery(document).on("click", ".ctl-video-block-action-restart", function(){ 9080 jQuery(this).closest(".ctl-video-block-item-wrapper").find("video")[0].currentTime = 0; 9081 }); 9082 9083 jQuery(document).on("click", ".ctl-video-block-action-toggle-volume", function(){ 9084 switch(jQuery(this).attr("data-state")){ 9085 case "on":{ 9086 jQuery(this).attr("data-state", "off"); 9087 jQuery(this).find('i').addClass("ctl-wp-studio-icons-volume-off"); 9088 jQuery(this).find('i').removeClass("ctl-wp-studio-icons-volume-up-1"); 9089 jQuery(this).closest(".ctl-video-block-item-wrapper").find("video").prop('muted', true); 9090 }break; 9091 case "off":{ 9092 jQuery(this).attr("data-state", "on"); 9093 jQuery(this).find('i').removeClass("ctl-wp-studio-icons-volume-off"); 9094 jQuery(this).find('i').addClass("ctl-wp-studio-icons-volume-up-1"); 9095 jQuery(this).closest(".ctl-video-block-item-wrapper").find("video").prop('muted', false); 9096 }break; 9097 } 9098 }); 9099 9100 jQuery(document).on("click", ".ctl-video-block-action-cover-video-toggle-play", function(){ 9101 // check first current controls 9102 var oNodeTogglePlay = jQuery(this).closest( 9103 ".ctl-video-block-item-wrapper").find(".ctl-video-block-action-toggle-play"); 9104 if ( oNodeTogglePlay.length > 0 ){ 9105 oNodeTogglePlay.click(); 9106 return; 9107 } 9108 9109 // direct video play/pause 9110 var oVideo = jQuery(this)[0]; 9111 if ( oVideo.paused ){ 9112 oVideo.play(); 9113 }else{ 9114 oVideo.pause(); 9115 } 9116 }); 9117 9118 jQuery(document).on("click", ".ctl-video-block-action-toggle-play", function(){ 9119 switch(jQuery(this).attr("data-state")){ 9120 case "on":{ 9121 jQuery(this).attr("data-state", "off"); 9122 jQuery(this).find('i').removeClass("ctl-wp-studio-icons-pause"); 9123 jQuery(this).find('i').addClass("ctl-wp-studio-icons-play"); 9124 jQuery(this).closest(".ctl-video-block-item-wrapper").find("video")[0].pause(); 9125 }break; 9126 case "off":{ 9127 jQuery(this).attr("data-state", "on"); 9128 jQuery(this).find('i').addClass("ctl-wp-studio-icons-pause"); 9129 jQuery(this).find('i').removeClass("ctl-wp-studio-icons-play"); 9130 jQuery(this).closest(".ctl-video-block-item-wrapper").find("video")[0].play(); 9131 }break; 9132 } 9133 }); 9134 9135}); 9136// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-php-block/php/../js/front.js 9137jQuery(document).ready(function(){ 9138 jQuery(document).on("click", ".ctl-daemon-edit-action-toggle-status", function(){ 9139 let bRunning = jQuery(this).data("status") === "running" ? true : false; 9140 if(bRunning){ 9141 stopJavaDaemon.call(this); 9142 }else{ 9143 startJavaDaemon.call(this); 9144 } 9145 } 9146 ); 9147 9148 jQuery(document).on("click", ".ctl-vulcano-java-daemon-handler-container .ctl-java-daemon-stop", stopJavaDaemon); 9149 jQuery(document).on("click", ".ctl-vulcano-java-daemon-handler-container .ctl-java-daemon-start", startJavaDaemon); 9150 jQuery(document).on("click", ".ctl-daemon-edit-action-edit-settings", saveDaemonSettings); 9151}); 9152 9153function saveDaemonSettings(){ 9154 let oNodeForm = jQuery(this).closest("form"); 9155 9156 if(!ctlFormFieldsCheckIfFormIsFilled(oNodeForm)){ 9157 return; 9158 } 9159 9160 let oFormData = oNodeForm.serializeObject(); 9161 9162 oFormData['action'] = 'ctl-wp-studio'; 9163 oFormData['execute'] = 'ctl-php-block'; 9164 oFormData['extension-action'] = 'save-daemon-settings'; 9165 9166 let idLoading = g_oCTLWPStudio.showLoading(""); 9167 9168 jQuery.ajax({ 9169 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 9170 type: "POST", 9171 data : oFormData, 9172 cache: false, 9173 method: 'POST', 9174 success:function(response, textStatus, jqXHR){ 9175 var oResponse = jQuery.parseJSON(response); 9176 9177 if( oResponse.res === false ){ 9178 g_oCTLWPStudio.closeDlg(idLoading); 9179 if ( oResponse.alert ){ 9180 alert(oResponse.alert); 9181 }else{ 9182 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 9183 } 9184 }else{ 9185 if ( oResponse.to_be_restarted ){ 9186 g_oCTLWPStudio.closeDlg(idLoading); 9187 9188 g_oCTLBootstrapModals.alert( 9189 oResponse.title, 9190 oResponse.html, 9191 ()=> { 9192 g_oCTLWPStudio.showLoading(""); 9193 window.location.reload(); 9194 } 9195 ); 9196 }else{ 9197 window.location.reload(); 9198 } 9199 9200 9201 } 9202 }, 9203 error: function(jqXHR, textStatus, errorThrown){ 9204 g_oCTLWPStudio.closeDlg(idLoading); 9205 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 9206 } 9207 }); 9208} 9209 9210function stopJavaDaemon(){ 9211 9212 var oFormData = {}; 9213 9214 oFormData['action'] = 'ctl-wp-studio'; 9215 oFormData['execute'] = 'ctl-php-block'; 9216 oFormData['extension-action'] = 'stop-java-daemon'; 9217 oFormData['daemon-id'] = jQuery(this).val(); 9218 9219 let idLoading = g_oCTLWPStudio.showLoading(""); 9220 9221 jQuery.ajax({ 9222 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 9223 type: "POST", 9224 data : oFormData, 9225 cache: false, 9226 method: 'POST', 9227 success:function(response, textStatus, jqXHR){ 9228 var oResponse = jQuery.parseJSON(response); 9229 9230 if( oResponse.res === false ){ 9231 g_oCTLWPStudio.closeDlg(idLoading); 9232 if ( oResponse.alert ){ 9233 alert(oResponse.alert); 9234 }else{ 9235 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 9236 } 9237 }else{ 9238 __changeDaemonStatusButton(oFormData['daemon-id'], false); 9239 g_oCTLWPStudio.closeDlg(idLoading); 9240 //window.location.reload(); 9241 } 9242 }, 9243 error: function(jqXHR, textStatus, errorThrown){ 9244 g_oCTLWPStudio.closeDlg(idLoading); 9245 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 9246 } 9247 }); 9248} 9249 9250function startJavaDaemon(){ 9251 var oFormData = {}; 9252 9253 oFormData['action'] = 'ctl-wp-studio'; 9254 oFormData['execute'] = 'ctl-php-block'; 9255 oFormData['extension-action'] = 'start-java-daemon'; 9256 oFormData['daemon-id'] = jQuery(this).val(); 9257 9258 let idLoading = g_oCTLWPStudio.showLoading(""); 9259 9260 jQuery.ajax({ 9261 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 9262 type: "POST", 9263 data : oFormData, 9264 cache: false, 9265 method: 'POST', 9266 success:function(response, textStatus, jqXHR){ 9267 var oResponse = jQuery.parseJSON(response); 9268 9269 if( oResponse.res === false ){ 9270 g_oCTLWPStudio.closeDlg(idLoading); 9271 if ( oResponse.alert ){ 9272 alert(oResponse.alert); 9273 }else{ 9274 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 9275 } 9276 }else{ 9277 //window.location.reload(); 9278 __changeDaemonStatusButton(oFormData['daemon-id'], true); 9279 g_oCTLWPStudio.closeDlg(idLoading); 9280 //jQuery(".ctl-vulcano-java-daemon-handler-container .ctl-java-daemon-stop[value='"+oFormData['daemon-id']+"']"); 9281 } 9282 }, 9283 error: function(jqXHR, textStatus, errorThrown){ 9284 g_oCTLWPStudio.closeDlg(idLoading); 9285 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 9286 } 9287 }); 9288} 9289 9290function __changeDaemonStatusButton(idButton, bRunning){ 9291 let oNodeButton = jQuery(".ctl-daemon-edit-action-toggle-status-"+idButton); 9292 let szIconStop = oNodeButton.data("icon-off"); 9293 let szIconStart = oNodeButton.data("icon-on"); 9294 if(bRunning){ 9295 let szIcon = oNodeButton.data("icon-on"); 9296 let szButtonTitle = oNodeButton.data("toggle-on"); 9297 oNodeButton.removeClass("ctl-java-daemon-start").addClass("ctl-java-daemon-stop"); 9298 oNodeButton.find("i").removeClass(szIconStart).addClass(szIconStop); 9299 oNodeButton.find("span").text(szButtonTitle); 9300 oNodeButton.data("status", "running"); 9301 }else{ 9302 9303 let szButtonTitle = oNodeButton.data("toggle-off"); 9304 oNodeButton.removeClass("ctl-java-daemon-stop").addClass("ctl-java-daemon-start"); 9305 oNodeButton.find("i").removeClass(szIconStop).addClass(szIconStart); 9306 oNodeButton.find("span").text(szButtonTitle); 9307 oNodeButton.data("status", "stopped"); 9308 } 9309} 9310// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-scroll-top/php/../js/commons.js 9311var g_bCtlScrollTopAnimation = false;
9312 9313jQuery(window).ready(function(){ 9314 9315 jQuery(document).on("click", ".ctl-scroll-top-scroll-button", function(){ 9316 g_bCtlScrollTopAnimation = true; 9317 ctlScrollTopFadeOut(); 9318 g_oCTLWPStudio.scrollToTop(ctlScrollTopEndAnimation,window); 9319 }); 9320 9321 ctlScrollTopUpdateScrollButton(); 9322}); 9323 9324jQuery(window).resize(function () { 9325 ctlScrollTopUpdateScrollButton(); 9326}); 9327 9328jQuery(window).scroll(function () { 9329 ctlScrollTopUpdateScrollButton(); 9330}); 9331 9332function ctlScrollTopEndAnimation(){ 9333 g_bCtlScrollTopAnimation = false; 9334} 9335 9336function ctlScrollTopFadeIn(){ 9337 jQuery(".ctl-scroll-top-scroll-button").addClass("ctl-scroll-top-fade-in"); 9338} 9339 9340function ctlScrollTopFadeOut(){ 9341 jQuery(".ctl-scroll-top-scroll-button").removeClass("ctl-scroll-top-fade-in"); 9342} 9343 9344function ctlScrollTopUpdateScrollButton(){ 9345 9346 if(g_bCtlScrollTopAnimation === true){ 9347 return; 9348 } 9349 9350 var iCurScroll = jQuery(window).scrollTop(); 9351 9352 if( iCurScroll > parseInt(jQuery(".ctl-scroll-top-scroll-button").attr("data-min-scroll")) ){ 9353 ctlScrollTopFadeIn(); 9354 }else{ 9355 ctlScrollTopFadeOut(); 9356 } 9357} 9358// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-theme-wp-widgets/php/../js/front.js 9359jQuery(document).ready(function(){ 9360 jQuery('.ctlwpmenu-collapsible .dropright').hover(function() { 9361 jQuery(this).find('.dropdown-menu').first().stop(true, true).delay(0).fadeIn(200); 9362 }, function() { 9363 jQuery(this).find('.dropdown-menu').first().stop(true, true).delay(100).fadeOut(200); 9364 }); 9365 9366 if ( jQuery("body").hasClass("page")){ 9367 jQuery(".menu-item-page-active").each(function(){ 9368 var oNodeCollapsible = jQuery(this).closest(".ctlwpmenu-collapsible"); 9369 if ( oNodeCollapsible.length > 0 ){ 9370 oNodeCollapsible.closest(".menu-item").find(".expandable").click(); 9371 } 9372 }); 9373 } 9374}); 9375// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-user-roles/php/../js/front.js 9376jQuery(document).ready(function(){ 9377 9378 jQuery(document).on("click", ".ctl-user-roles-action-switch-user", function(){ 9379 ctlUserRolesSwitchUser(jQuery(this)); 9380 }); 9381 9382 if( jQuery(".ctl-user-roles-login-tabs .nav-tabs").length > 0 ){ 9383 jQuery(".ctl-user-roles-login-tabs .nav-tabs").find(".nav-item").first().click(); 9384 } 9385 9386 jQuery(".ctl-user-roles-login-wrapper input").on('keyup', function (e) { 9387 if (e.keyCode === 13) { 9388 jQuery(this).blur(); 9389 ctlUserRolesTryLogin( jQuery(this).closest(".ctl-user-roles-login-wrapper").find("form") ); 9390 } 9391 }); 9392 9393 jQuery(document).on( "click", ".ctl-user-role-action-change-role", function(){ 9394 ctlUserRolesListRolesAndShowChangeRoleDialog(true); 9395 }); 9396 9397 jQuery(document).on( "click", ".ctl-user-roles-action-login", function(){ 9398 ctlUserRolesTryLogin( jQuery(this).closest(".ctl-user-roles-login-wrapper").find("form") ); 9399 }); 9400 9401 jQuery(document).on( "click", ".ctl-user-roles-action-logout", function(e){ 9402 e.preventDefault(); 9403 ctlUserRolesLogout(); 9404 }); 9405}); 9406 9407function ctlUserRolesLogout(){ 9408 9409 var oFormData = {}; 9410 oFormData["action"] = "ctl-wp-studio"; 9411 oFormData["execute"] = "ctl-user-roles"; 9412 oFormData['extension-action'] = "logout"; 9413 9414 var idLoading = g_oCTLWPStudio.showLoading(""); 9415 jQuery.post( 9416 ctl_wp_studio_common_localization["ajaxurl"], oFormData ).done( 9417 function(response){ 9418 var oResult = JSON.parse(response); 9419 9420 if ( oResult.redirect ){ 9421 window.location.href = oResult.redirect; 9422 }else{ 9423 g_oCTLWPStudio.closeDlg(idLoading); 9424 } 9425 9426 }).fail( function(){ 9427 g_oCTLWPStudio.closeDlg(idLoading); 9428 alert(ctl_wp_studio_common_localization["Error"]); 9429 }); 9430} 9431 9432function ctlUserRolesSwitchUser( oNodeButton ){ 9433 9434 var oNodeForm = oNodeButton.closest("form"); 9435 var oFormData = oNodeForm.serializeObject(); 9436 9437 oFormData["action"] = "ctl-wp-studio"; 9438 oFormData["execute"] = "ctl-user-roles"; 9439 oFormData['extension-action'] = "switch-user"; 9440 9441 var idLoading = g_oCTLWPStudio.showLoading(""); 9442 jQuery.post( 9443 ctl_wp_studio_common_localization["ajaxurl"], oFormData ).done( 9444 function(response){ 9445 var oResult = JSON.parse(response); 9446 9447 if ( oResult.res == false ){ 9448 g_oCTLWPStudio.closeDlg(idLoading); 9449 if ( oResult.redirect ){ 9450 g_oCTLWPStudio.showLoading(""); 9451 window.location.href = oResult.redirect; 9452 }else if(oResult.desc){ 9453 alert(oResult.desc); 9454 } 9455 }else{ 9456 if ( oResult.redirect ){ 9457 window.location.href = oResult.redirect; 9458 } 9459 } 9460 }).fail( function(){ 9461 g_oCTLWPStudio.closeDlg(idLoading); 9462 alert(ctl_wp_studio_common_localization["Error"]); 9463 }); 9464} 9465 9466function ctlUserRolesListRolesAndShowChangeRoleDialog( bClose ){ 9467 var oFormData = {}; 9468 oFormData["limit-extensions"] = [ "ctl-user-roles" ]; 9469 oFormData["action"] = "ctl-wp-studio"; 9470 oFormData["execute"] = "ctl-user-roles"; 9471 oFormData['extension-action'] = "list-user-roles-urls"; 9472 9473 var idLoading = g_oCTLWPStudio.showLoading(""); 9474 jQuery.post( 9475 ctl_wp_studio_common_localization["ajaxurl"], oFormData ).done( 9476 function(response){ 9477 9478 g_oCTLWPStudio.closeDlg(idLoading); 9479 9480 var oResult = JSON.parse(response); 9481 9482 if ( oResult.res == false ){ 9483 if ( oResult.redirect ){ 9484 g_oCTLWPStudio.showLoading(""); 9485 window.location.href = oResult.redirect; 9486 }else if(oResult.desc){ 9487 alert(oResult.desc); 9488 } 9489 }else{ 9490 if ( oResult.redirect ){ 9491 ctlUserRolesShowChangeRoleDialog( 9492 oResult.redirect, 9493 bClose, oResult['label-change-role-modal']); 9494 } 9495 } 9496 9497 }).fail( function(){ 9498 g_oCTLWPStudio.closeDlg(idLoading); 9499 alert(ctl_wp_studio_common_localization["Error"]); 9500 }); 9501} 9502 9503function ctlUserRolesShowChangeRoleDialog( aRedirect, bClose, szModalTitle ){ 9504 if ( aRedirect && aRedirect.length > 1 ){ 9505 var html = ''; 9506 html += '<div class="w-100">'; 9507 html += '<div class="row mb-n3">'; 9508 for( var i = 0; i < aRedirect.length; i++ ){ 9509 html += '<div class="col col-12 col-md-6 mb-3">'; 9510 if (g_bEnablePageAjaxLoading){ 9511 html += '<div data-page-id="' + aRedirect[i]["page-id"] + '" data-href="'+ 9512 aRedirect[i].url + 9513 '" class="d-flex align-items-center justify-content-center ctl-ajax-loading-page btn btn-primary w-100 h-100 btn-action-close-modal">'; 9514 html += aRedirect[i].label; 9515 html += '</div>'; 9516 }else{ 9517 html += '<a target="_self" href="'+ 9518 aRedirect[i].url + 9519 '" class="d-flex align-items-center justify-content-center btn btn-primary w-100 h-100 btn-action-close-modal ctl-show-loading">'; 9520 html += aRedirect[i].label; 9521 html += '</a>'; 9522 } 9523 html += '</div>'; 9524 } 9525 html += '</div>'; 9526 html += '</div>'; 9527 9528 var oModalData = { 9529 modal_title : szModalTitle, 9530 modal_content : html, 9531 position : "centered", 9532 entrance_animation : "animate__slideInUp", 9533 exit_animation : "animate__slideOutDown", 9534 }; 9535 9536 if ( !bClose ){ 9537 oModalData["closeable"] = false;
9538 oModalData["footer_btn_close"] = false; 9539 } 9540 9541 g_oCTLBootstrapModals.showModal(oModalData); 9542 9543 }else{ 9544 g_oCTLWPStudio.showLoading(""); 9545 window.location.href = aRedirect[0].url; 9546 } 9547} 9548 9549function ctlUserRolesTryLogin( oNodeForm ){ 9550 9551 if ( !ctlFormFieldsCheckIfFormIsFilled(oNodeForm) ){ 9552 return; 9553 } 9554 9555 ctlFormFieldsCleanErrors(oNodeForm); 9556 9557 var oFormData = oNodeForm.serializeObject(); 9558 oFormData["action"] = "ctl-wp-studio"; 9559 oFormData["execute"] = "ctl-user-roles"; 9560 oFormData['extension-action'] = "try-login"; 9561 9562 var idLoading = g_oCTLWPStudio.showLoading(""); 9563 jQuery.post( 9564 ctl_wp_studio_common_localization["ajaxurl"], oFormData ).done( 9565 function(response){ 9566 var oResult = JSON.parse(response); 9567 9568 if ( oResult.res === false ){ 9569 var bReload = false; 9570 if ( oResult.errors && oResult.errors.length > 0 ){ 9571 9572 ctlFormFieldsApplyErrors( oNodeForm, oResult.errors); 9573 9574 var szDialogMessages = ""; 9575 for( var i = 0; i < oResult.errors.length; i++ ){ 9576 var oError = oResult.errors[i]; 9577 if( !oError.name ){ 9578 szDialogMessages += '<p>'+ oError.desc + "</p>"; 9579 if ( oError.code === "invalid_nonce" ){ 9580 bReload = true; 9581 } 9582 } 9583 } 9584 9585 if ( szDialogMessages !== "" ){ 9586 var oModalConfig = { 9587 wrapper_classes : "ctl-quick-login-modal-errors", 9588 modal_content : szDialogMessages, 9589 button_close_title : g_oCTLUserRolesLocalizationFront['Continue'], 9590 button_close_class : "btn-primary", 9591 position : "centered", 9592 closeable : false 9593 }; 9594 9595 if ( bReload ){ 9596 oModalConfig["button_close_class"] += ' btn-refresh-page'; 9597 oModalConfig["button_close_title"] = g_oCTLUserRolesLocalizationFront['Reload the page']; 9598 } 9599 9600 g_oCTLBootstrapModals.showModal(oModalConfig); 9601 } 9602 9603 g_oCTLWPStudio.closeDlg(idLoading); 9604 } 9605 } 9606 9607 if ( oResult.redirect ){ 9608 g_oCTLWPStudio.closeDlg(idLoading); 9609 ctlUserRolesShowChangeRoleDialog(oResult.redirect, false, oResult['label-change-role-modal']); 9610 }else{ 9611 g_oCTLWPStudio.closeDlg(idLoading); 9612 } 9613 9614 }).fail( function(){ 9615 g_oCTLWPStudio.closeDlg(idLoading); 9616 alert(ctl_wp_studio_common_localization["Error"]); 9617 }); 9618} 9619// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-justified-gallery/php/../js/jquery.justifiedGallery.min.js
vendor: 19,284 bytes, lines 9620-9627
9620/*! 9621 * justifiedGallery - v3.8.1 9622 * http://miromannino.github.io/Justified-Gallery/ 9623 * Copyright (c) 2020 Miro Mannino 9624 * Licensed under the MIT license. 9625 */ 9626 9627!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,i){return void 0===i&&(i="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(i),i}:e(jQuery)}(function(l){var r=function(t,i){this.settings=i,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.yield={every:2,flushed:0},this.border=0<=i.border?i.border:i.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.rows=0,this.spinner={phase:0,timeSlot:150,$el:l('<div class="jg-spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.scrollBarOn=!1,this.checkWidthIntervalId=null,this.galleryWidth=t.width(),this.$gallery=t};r.prototype.getSuffix=function(t,i){var e,s;for(e=i<t?t:i,s=0;s<this.suffixRanges.length;s++)if(e<=this.suffixRanges[s])return this.settings.sizeRangeSuffixes[this.suffixRanges[s]];return this.settings.sizeRangeSuffixes[this.suffixRanges[s-1]]},r.prototype.removeSuffix=function(t,i){return t.substring(0,t.length-i.length)},r.prototype.endsWith=function(t,i){return-1!==t.indexOf(i,t.length-i.length)},r.prototype.getUsedSuffix=function(t){for(var i in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(i)){if(0===this.settings.sizeRangeSuffixes[i].length)continue;if(this.endsWith(t,this.settings.sizeRangeSuffixes[i]))return this.settings.sizeRangeSuffixes[i]}return""},r.prototype.newSrc=function(t,i,e,s){var n;if(this.settings.thumbnailPath)n=this.settings.thumbnailPath(t,i,e,s);else{var r=t.match(this.settings.extension),o=null!==r?r[0]:"";n=t.replace(this.settings.extension,""),n=this.removeSuffix(n,this.getUsedSuffix(n)),n+=this.getSuffix(i,e)+o}return n},r.prototype.showImg=function(t,i){this.settings.cssAnimation?(t.addClass("jg-entry-visible"),i&&i()):(t.stop().fadeTo(this.settings.imagesAnimationDuration,1,i),t.find(this.settings.imgSelector).stop().fadeTo(this.settings.imagesAnimationDuration,1,i))},r.prototype.extractImgSrcFromImage=function(t){var i=t.data("safe-src"),e="data-safe-src";return void 0===i&&(i=t.attr("src"),e="src"),t.data("jg.originalSrc",i),t.data("jg.src",i),t.data("jg.originalSrcLoc",e),i},r.prototype.imgFromEntry=function(t){var i=t.find(this.settings.imgSelector);return 0===i.length?null:i},r.prototype.captionFromEntry=function(t){var i=t.find("> .jg-caption");return 0===i.length?null:i},r.prototype.displayEntry=function(t,i,e,s,n,r){t.width(s),t.height(r),t.css("top",e),t.css("left",i);var o=this.imgFromEntry(t);if(null!==o){o.css("width",s),o.css("height",n),o.css("margin-left",-s/2),o.css("margin-top",-n/2);var a=o.data("jg.src");if(a){a=this.newSrc(a,s,n,o[0]),o.one("error",function(){this.resetImgSrc(o)});var h=function(){o.attr("src",a)};"skipped"===t.data("jg.loaded")&&a?this.onImageEvent(a,function(){this.showImg(t,h),t.data("jg.loaded",!0)}.bind(this)):this.showImg(t,h)}}else this.showImg(t);this.displayEntryCaption(t)},r.prototype.displayEntryCaption=function(t){var i=this.imgFromEntry(t);if(null!==i&&this.settings.captions){var e=this.captionFromEntry(t);if(null===e){var s=i.attr("alt");this.isValidCaption(s)||(s=t.attr("title")),this.isValidCaption(s)&&(e=l('<div class="jg-caption">'+s+"</div>"),t.append(e),t.data("jg.createdCaption",!0))}null!==e&&(this.settings.cssAnimation||e.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(t))}else this.removeCaptionEventsHandlers(t)},r.prototype.isValidCaption=function(t){return void 0!==t&&0<t.length},r.prototype.onEntryMouseEnterForCaption=function(t){var i=this.captionFromEntry(l(t.currentTarget));this.settings.cssAnimation?i.addClass("jg-caption-visible").removeClass("jg-caption-hidden"):i.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},r.prototype.onEntryMouseLeaveForCaption=function(t){var i=this.captionFromEntry(l(t.currentTarget));this.settings.cssAnimation?i.removeClass("jg-caption-visible").removeClass("jg-caption-hidden"):i.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},r.prototype.addCaptionEventsHandlers=function(t){var i=t.data("jg.captionMouseEvents");void 0===i&&(i={mouseenter:l.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:l.proxy(this.onEntryMouseLeaveForCaption,this)},t.on("mouseenter",void 0,void 0,i.mouseenter),t.on("mouseleave",void 0,void 0,i.mouseleave),t.data("jg.captionMouseEvents",i))},r.prototype.removeCaptionEventsHandlers=function(t){var i=t.data("jg.captionMouseEvents");void 0!==i&&(t.off("mouseenter",void 0,i.mouseenter),t.off("mouseleave",void 0,i.mouseleave),t.removeData("jg.captionMouseEvents"))},r.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},r.prototype.prepareBuildingRow=function(t,i){var e,s,n,r,o,a=!0,h=0,g=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,l=g/this.buildingRow.aspectRatio,u=this.settings.rowHeight,d=this.buildingRow.width/g>this.settings.justifyThreshold;if(i||t&&"hide"===this.settings.lastRow&&!d){for(e=0;e<this.buildingRow.entriesBuff.length;e++)s=this.buildingRow.entriesBuff[e],this.settings.cssAnimation?s.removeClass("jg-entry-visible"):(s.stop().fadeTo(0,.1),s.find("> img, > a > img").fadeTo(0,0));return-1}for(t&&!d&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(a=!1,0<this.rows&&(a=(u=(this.offY-this.border-this.settings.margins*this.rows)/this.rows)*this.buildingRow.aspectRatio/g>this.settings.justifyThreshold)),e=0;e<this.buildingRow.entriesBuff.length;e++)n=(s=this.buildingRow.entriesBuff[e]).data("jg.width")/s.data("jg.height"),o=a?(r=e===this.buildingRow.entriesBuff.length-1?g:l*n,l):(r=u*n,u),g-=Math.round(r),s.data("jg.jwidth",Math.round(r)),s.data("jg.jheight",Math.ceil(o)),(0===e||o<h)&&(h=o);return this.buildingRow.height=h,a},r.prototype.flushRow=function(t,i){var e,s,n,r=this.settings,o=this.border;if(s=this.prepareBuildingRow(t,i),i||t&&"hide"===r.lastRow&&-1===s)this.clearBuildingRow();else{if(this.maxRowHeight&&this.maxRowHeight<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight),t&&("center"===r.lastRow||"right"===r.lastRow)){var a=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*r.margins;for(n=0;n<this.buildingRow.entriesBuff.length;n++)a-=(e=this.buildingRow.entriesBuff[n]).data("jg.jwidth");"center"===r.lastRow?o+=Math.round(a/2):"right"===r.lastRow&&(o+=a)}var h=this.buildingRow.entriesBuff.length-1;for(n=0;n<=h;n++)e=this.buildingRow.entriesBuff[this.settings.rtl?h-n:n],this.displayEntry(e,o,this.offY,e.data("jg.jwidth"),e.data("jg.jheight"),this.buildingRow.height),o+=e.data("jg.jwidth")+r.margins;this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border,this.setGalleryTempHeight(this.galleryHeightToSet+this.getSpinnerHeight()),(!t||this.buildingRow.height<=r.rowHeight&&s)&&(this.offY+=this.buildingRow.height+r.margins,this.rows+=1,this.clearBuildingRow(),this.settings.triggerEvent.call(this,"jg.rowflush"))}};var i=0;r.prototype.rememberGalleryHeight=function(){i=this.$gallery.height(),this.$gallery.height(i)},r.prototype.setGalleryTempHeight=function(t){i=Math.max(t,i),this.$gallery.height(i)},r.prototype.setGalleryFinalHeight=function(t){i=t,this.$gallery.height(t)},r.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval(l.proxy(function(){if(this.$gallery.is(":visible")){var t=parseFloat(this.$gallery.width());Math.abs(t-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=t,this.rewind(),this.rememberGalleryHeight(),this.startImgAnalyzer(!0))}},this),this.settings.refreshTime)},r.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},r.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},r.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.setGalleryTempHeight(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},r.prototype.startLoadingSpinnerAnimation=function(){var t=this.spinner,i=t.$el.find("span");clearInterval(t.intervalId),this.$gallery.append(t.$el),this.setGalleryTempHeight(this.offY+this.buildingRow.height+this.getSpinnerHeight()),t.intervalId=setInterval(function(){t.phase<i.length?i.eq(t.phase).fadeTo(t.timeSlot,1):i.eq(t.phase-i.length).fadeTo(t.timeSlot,0),t.phase=(t.phase+1)%(2*i.length)},t.timeSlot)},r.prototype.rewind=function(){this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.offY=this.border,this.rows=0,this.clearBuildingRow()},r.prototype.getSelectorWithoutSpinner=function(){return this.settings.selector+", div:not(.jg-spinner)"},r.prototype.getAllEntries=function(){var t=this.getSelectorWithoutSpinner();return this.$gallery.children(t).toArray()},r.prototype.updateEntries=function(t){var i;if(t&&null!=this.lastFetchedEntry){var e=this.getSelectorWithoutSpinner();i=l(this.lastFetchedEntry).nextAll(e).toArray()}else this.entries=[],i=this.getAllEntries();return 0<i.length&&(l.isFunction(this.settings.sort)?i=this.sortArray(i):this.settings.randomize&&(i=this.shuffleArray(i)),this.lastFetchedEntry=i[i.length-1],this.settings.filter?i=this.filterArray(i):this.resetFilters(i)),this.entries=this.entries.concat(i),!0},r.prototype.insertToGallery=function(t){var i=this;l.each(t,function(){l(this).appendTo(i.$gallery)})},r.prototype.shuffleArray=function(t){var i,e,s;for(i=t.length-1;0<i;i--)e=Math.floor(Math.random()*(i+1)),s=t[i],t[i]=t[e],t[e]=s;return this.insertToGallery(t),t},r.prototype.sortArray=function(t){return t.sort(this.settings.sort),this.insertToGallery(t),t},r.prototype.resetFilters=function(t){for(var i=0;i<t.length;i++)l(t[i]).removeClass("jg-filtered")},r.prototype.filterArray=function(t){var e=this.settings;if("string"===l.type(e.filter))return t.filter(function(t){var i=l(t);return i.is(e.filter)?(i.removeClass("jg-filtered"),!0):(i.addClass("jg-filtered").removeClass("jg-visible"),!1)});if(l.isFunction(e.filter)){for(var i=t.filter(e.filter),s=0;s<t.length;s++)-1===i.indexOf(t[s])?l(t[s]).addClass("jg-filtered").removeClass("jg-visible"):l(t[s]).removeClass("jg-filtered");return i}},r.prototype.resetImgSrc=function(t){"src"===t.data("jg.originalSrcLoc")?t.attr("src",t.data("jg.originalSrc")):t.attr("src","")},r.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),this.stopImgAnalyzerStarter(),l.each(this.getAllEntries(),l.proxy(function(t,i){var e=l(i);e.css("width",""),e.css("height",""),e.css("top",""),e.css("left",""),e.data("jg.loaded",void 0),e.removeClass("jg-entry jg-filtered jg-entry-visible");var s=this.imgFromEntry(e);s&&(s.css("width",""),s.css("height",""),s.css("margin-left",""),s.css("margin-top",""),this.resetImgSrc(s),s.data("jg.originalSrc",void 0),s.data("jg.originalSrcLoc",void 0),s.data("jg.src",void 0)),this.removeCaptionEventsHandlers(e);var n=this.captionFromEntry(e);e.data("jg.createdCaption")?(e.data("jg.createdCaption",void 0),null!==n&&n.remove()):null!==n&&n.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0),this.settings.triggerEvent.call(this,"jg.destroy")},r.prototype.analyzeImages=function(t){for(var i=this.lastAnalyzedIndex+1;i<this.entries.length;i++){var e=l(this.entries[i]);if(!0===e.data("jg.loaded")||"skipped"===e.data("jg.loaded")){var s=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,n=e.data("jg.width")/e.data("jg.height");if(this.buildingRow.entriesBuff.push(e),this.buildingRow.aspectRatio+=n,this.buildingRow.width+=n*this.settings.rowHeight,this.lastAnalyzedIndex=i,s/(this.buildingRow.aspectRatio+n)<this.settings.rowHeight&&(this.flushRow(!1,0<this.settings.maxRowsCount&&this.rows===this.settings.maxRowsCount),++this.yield.flushed>=this.yield.every))return void this.startImgAnalyzer(t)}else if("error"!==e.data("jg.loaded"))return}0<this.buildingRow.entriesBuff.length&&this.flushRow(!0,0<this.settings.maxRowsCount&&this.rows===this.settings.maxRowsCount),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.setGalleryFinalHeight(this.galleryHeightToSet),this.settings.triggerEvent.call(this,t?"jg.resize":"jg.complete")},r.prototype.stopImgAnalyzerStarter=function(){this.yield.flushed=0,null!==this.imgAnalyzerTimeout&&(clearTimeout(this.imgAnalyzerTimeout),this.imgAnalyzerTimeout=null)},r.prototype.startImgAnalyzer=function(t){var i=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){i.analyzeImages(t)},.001)},r.prototype.onImageEvent=function(t,i,e){if(i||e){var s=new Image,n=l(s);i&&n.one("load",function(){n.off("load error"),i(s)}),e&&n.one("error",function(){n.off("load error"),e(s)}),s.src=t}},r.prototype.init=function(){var a=!1,h=!1,g=this;l.each(this.entries,function(t,i){var e=l(i),s=g.imgFromEntry(e);if(e.addClass("jg-entry"),!0!==e.data("jg.loaded")&&"skipped"!==e.data("jg.loaded"))if(null!==g.settings.rel&&e.attr("rel",g.settings.rel),null!==g.settings.target&&e.attr("target",g.settings.target),null!==s){var n=g.extractImgSrcFromImage(s);if(!1===g.settings.waitThumbnailsLoad||!n){var r=parseFloat(s.attr("width")),o=parseFloat(s.attr("height"));if("svg"===s.prop("tagName")&&(r=parseFloat(s[0].getBBox().width),o=parseFloat(s[0].getBBox().height)),!isNaN(r)&&!isNaN(o))return e.data("jg.width",r),e.data("jg.height",o),e.data("jg.loaded","skipped"),h=!0,g.startImgAnalyzer(!1),!0}e.data("jg.loaded",!1),a=!0,g.isSpinnerActive()||g.startLoadingSpinnerAnimation(),g.onImageEvent(n,function(t){e.data("jg.width",t.width),e.data("jg.height",t.height),e.data("jg.loaded",!0),g.startImgAnalyzer(!1)},function(){e.data("jg.loaded","error"),g.startImgAnalyzer(!1)})}else e.data("jg.loaded",!0),e.data("jg.width",e.width()|parseFloat(e.css("width"))|1),e.data("jg.height",e.height()|parseFloat(e.css("height"))|1)}),a||h||this.startImgAnalyzer(!1),this.checkWidth()},r.prototype.checkOrConvertNumber=function(t,i){if("string"===l.type(t[i])&&(t[i]=parseFloat(t[i])),"number"!==l.type(t[i]))throw i+" must be a number";if(isNaN(t[i]))throw"invalid number for "+i},r.prototype.checkSizeRangesSuffixes=function(){if("object"!==l.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var t=[];for(var i in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(i)&&t.push(i);for(var e={0:""},s=0;s<t.length;s++)if("string"===l.type(t[s]))try{e[parseInt(t[s].replace(/^[a-z]+/,""),10)]=this.settings.sizeRangeSuffixes[t[s]]}catch(t){throw"sizeRangeSuffixes keys must contains correct numbers ("+t+")"}else e[t[s]]=this.settings.sizeRangeSuffixes[t[s]];this.settings.sizeRangeSuffixes=e},r.prototype.retrieveMaxRowHeight=function(){var t=null,i=this.settings.rowHeight;if("string"===l.type(this.settings.maxRowHeight))t=this.settings.maxRowHeight.match(/^[0-9]+%$/)?i*parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100:parseFloat(this.settings.maxRowHeight);else{if("number"!==l.type(this.settings.maxRowHeight)){if(!1===this.settings.maxRowHeight||null==this.settings.maxRowHeight)return null;throw"maxRowHeight must be a number or a percentage"}t=this.settings.maxRowHeight}if(isNaN(t))throw"invalid number for maxRowHeight";return t<i&&(t=i),t},r.prototype.checkSettings=function(){this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border"),this.checkOrConvertNumber(this.settings,"maxRowsCount");var t=["justify","nojustify","left","center","right","hide"];if(-1===t.indexOf(this.settings.lastRow))throw"lastRow must be one of: "+t.join(", ");if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||1<this.settings.justifyThreshold)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==l.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==l.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||1<this.settings.captionSettings.visibleOpacity)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||1<this.settings.captionSettings.nonVisibleOpacity)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==l.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==l.type(this.settings.selector))throw"selector must be a string";if(!1!==this.settings.sort&&!l.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(!1!==this.settings.filter&&!l.isFunction(this.settings.filter)&&"string"!==l.type(this.settings.filter))throw"filter must be false, a string or a filter function"},r.prototype.retrieveSuffixRanges=function(){var t=[];for(var i in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(i)&&t.push(parseInt(i,10));return t.sort(function(t,i){return i<t?1:t<i?-1:0}),t},r.prototype.updateSettings=function(t){this.settings=l.extend({},this.settings,t),this.checkSettings(),this.border=0<=this.settings.border?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},r.prototype.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:!1,maxRowsCount:0,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!0,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,rtl:!1,sort:!1,filter:!1,selector:"a",imgSelector:"> img, > a > img, > svg, > a > svg",triggerEvent:function(t){this.$gallery.trigger(t)}},l.fn.justifiedGallery=function(n){return this.each(function(t,i){var e=l(i);e.addClass("justified-gallery");var s=e.data("jg.controller");if(void 0===s){if(null!=n&&"object"!==l.type(n)){if("destroy"===n)return;throw"The argument must be an object"}s=new r(e,l.extend({},r.prototype.defaults,n)),e.data("jg.controller",s)}else if("norewind"===n);else{if("destroy"===n)return void s.destroy();s.updateSettings(n),s.rewind()}s.updateEntries("norewind"===n)&&s.init()})}});
9627 9628// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-theme-bootstrap-breadcrumb/php/../js/front.js 9629jQuery(document).ready(function(){ 9630 9631 window.addEventListener("orientationchange", function(){ 9632 ctlThemeBootstrapBreadcrumbTabsHorizontalScrollCheck(); 9633 }); 9634 9635 jQuery(window).resize(function() { 9636 ctlThemeBootstrapBreadcrumbTabsHorizontalScrollCheck(); 9637 }); 9638 9639 ctlThemeBootstrapBreadcrumbTabsHorizontalScrollCheck(); 9640}); 9641 9642function ctlThemeBootstrapBreadcrumbTabsHorizontalScrollCheck(){ 9643 jQuery(".breadcrumb").each(function(){ 9644 if (this.scrollWidth > this.clientWidth){ 9645 jQuery(this).scrollLeft(this.scrollWidth); 9646 } 9647 }); 9648} 9649// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-vulcano-theme/php/../js/front.js 9650jQuery(window).on('load', function() { 9651 9652 ctlVulcanoThemeUpdateSidebar(); 9653 ctlVulcanoStartColAnimations(); 9654 ctlVulcanoThemeUpdateSiteContent(); 9655}); 9656 9657jQuery(document).ready(function(){ 9658 9659 ctlUpdateOnlineStatus(); 9660 window.addEventListener('online', ctlUpdateOnlineStatus); 9661 window.addEventListener('offline', ctlUpdateOnlineStatus); 9662 9663 const width = window.innerWidth || 9664 document.documentElement.clientWidth || 9665 document.body.clientWidth; 9666 9667 if ( width < 992 ){ 9668 setTimeout(function(){ 9669 document.getElementsByTagName("body")[0].classList.add("layout-ready"); 9670 jQuery("body").removeClass("stop-transitions"); 9671 }, 300); 9672 }else{ 9673 document.getElementsByTagName("body")[0].classList.add("layout-ready"); 9674 jQuery("body").removeClass("stop-transitions"); 9675 } 9676 9677 9678 if ( jQuery(".ctl-theme-section-dots-navigation").length > 0 ){ 9679 var html = ""; 9680 html += '<ul class="ctl-theme-section-dots-navigation-menu">'; 9681 9682 var iCnt = 0; 9683 jQuery(".ctl-theme-section-dots-navigation").each(function(){ 9684 html += '<li>'; 9685 html += '<a class="ctl-scroll-to" href="#' + jQuery(this).attr("id") + '">'; 9686 html += '<i data-index="'+iCnt+'" class="ctl-wp-studio-icons-circle-empty"></i>'; 9687 html += '</a>'; 9688 html += '</li>'; 9689 iCnt++; 9690 }); 9691 9692 html += '</ul>'; 9693 jQuery(".layout-site-content-inner").append(html); 9694 } 9695 9696 9697 jQuery(document).on('shown.bs.collapse', '.accordion .collapse', function () { 9698 ctlVulcanoResizeLayout(); 9699 }); 9700 9701 jQuery(document).on('hidden.bs.collapse', '.accordion .collapse', function () { 9702 ctlVulcanoResizeLayout(); 9703 }); 9704 9705 jQuery(document).on("click", '.ctl-theme-section-dots-navigation-menu a', function(e){ 9706 var oNodeIcon = jQuery(this).find("i"); 9707 9708 if( oNodeIcon.hasClass("ctl-wp-studio-icons-dot-circled") ){ 9709 oNodeIcon.removeClass("ctl-wp-studio-icons-dot-circled"); 9710 oNodeIcon.addClass("ctl-wp-studio-icons-circle-empty"); 9711 }else{ 9712 oNodeIcon.removeClass("ctl-wp-studio-icons-circle-empty"); 9713 oNodeIcon.addClass("ctl-wp-studio-icons-dot-circled"); 9714 } 9715 9716 jQuery('.ctl-theme-section-dots-navigation-menu i').each(function(){ 9717 if ( jQuery(this).attr("data-index") != oNodeIcon.attr("data-index") ){ 9718 jQuery(this).removeClass("ctl-wp-studio-icons-dot-circled"); 9719 jQuery(this).addClass("ctl-wp-studio-icons-circle-empty"); 9720 } 9721 }); 9722 }); 9723 9724 jQuery(document).on("click", '.ctl-scroll-to', function(e){ 9725 var oNodeAnchor = jQuery(this); 9726 var iOffsetTop = jQuery(oNodeAnchor.attr("href")).eq(0).offset().top; 9727 9728 var iAddingOffset = 150; 9729 if ( jQuery("header").length > 0 ){ 9730 iAddingOffset = Math.floor(jQuery("header").outerHeight()); 9731 } 9732 9733 jQuery("body").addClass("scroll-to-animating"); 9734 9735 if( oNodeAnchor.closest(".modal").length > 0 ){ 9736 iOffsetTop -= jQuery('.modal-body').offset().top; 9737 jQuery('.modal-body').animate({ scrollTop: iOffsetTop }, 'slow', function(){ 9738 jQuery("body").removeClass("scroll-to-animating"); 9739 ctlVulcanoUpdateDotsMenu(); 9740 }); 9741 }else{ 9742 iOffsetTop -= iAddingOffset; 9743 jQuery('html,body').animate({ scrollTop: iOffsetTop }, 'slow', function(){ 9744 jQuery("body").removeClass("scroll-to-animating"); 9745 ctlVulcanoUpdateDotsMenu(); 9746 }); 9747 } 9748 }); 9749 9750 9751 jQuery(document).on("mouseenter", 9752 "body.layout-collapsible-menu-collapsed .layout-collapsible-menu", function(e){ 9753 jQuery("body").removeClass("layout-collapsible-menu-collapsed"); 9754 ctlVulcanoResizeLayout(); 9755 }); 9756 9757 jQuery(document).on("mouseleave", ".layout-collapsible-menu", function(e){ 9758 if ( !jQuery("body").hasClass("layout-collapsible-menu-collapsed") && 9759 jQuery("body").hasClass("bp-up-to-md") ){ 9760 jQuery("body").addClass("layout-collapsible-menu-collapsed"); 9761 ctlVulcanoResizeLayout(); 9762 } 9763 }); 9764 9765 jQuery(window).scroll(function(){ 9766 ctlVulcanoStartColAnimations(); 9767 ctlVulcanoThemeUpdateSidebar(); 9768 ctlVulcanoUpdateDotsMenu(); 9769 }); 9770 9771 jQuery(document).on("click", ".ctl-ajax-loading-page", function(e){ 9772 e.preventDefault(); 9773 9774 if (window.location.href == jQuery(this).attr("data-href") ){ 9775 return; 9776 } 9777 9778 var oNodeButton = jQuery(this); 9779 var idDialog = g_oCTLWPStudio.showLoading(); 9780 9781 var oFormData = {}; 9782 oFormData["action"] = 'ctl-wp-studio'; 9783 oFormData["execute"] = 'ctl-vulcano-theme'; 9784 oFormData["extension-action"] = 'print-layout'; 9785 oFormData["layout-id"] = jQuery(this).attr("data-layout-id"); 9786 oFormData["page-id"] = jQuery(this).attr("data-page-id"); 9787 oFormData["page-url"] = jQuery(this).attr("data-href"); 9788 9789 jQuery.post( 9790 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 9791 ).done( function(response){ 9792 var oResponse = jQuery.parseJSON(response); 9793 g_oCTLWPStudio.closeDlg(idDialog); 9794 if( oResponse.res === false ){ 9795 g_oCTLWPStudio.closeDlg(idDialog); 9796 if ( oResponse.desc ){ 9797 g_oCTLBootstrapModals.alert("Attenzione", oResponse.desc); 9798 }else{ 9799 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 9800 } 9801 }else{ 9802 var html = Base64.decode(oResponse.html); 9803 jQuery(".layout-site-content-outer").remove(); 9804 jQuery("body").prepend(html); 9805 window.history.pushState(oResponse.title, "", oNodeButton.attr("data-href")); 9806 document.title = oResponse.title; 9807 9808 g_oCTLWPStudio.applyChromaCorrection(); 9809 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", jQuery(".layout-site-content-outer") ); 9810 ctlVulcanoResizeLayout(); 9811 } 9812 }).fail( function(){ 9813 g_oCTLWPStudio.closeDlg(idDialog); 9814 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 9815 }); 9816 }); 9817 9818 jQuery(document).on("click", ".ctl-vulcano-theme-sidebar-toggle", function(e){ 9819 e.preventDefault(); 9820 9821 jQuery("body").toggleClass("layout-collapsible-menu-collapsed"); 9822 ctlVulcanoResizeLayout(); 9823 }); 9824 9825 jQuery(document).on("mouseleave", ".layout-mega-menu", function(e){ 9826 var oNodeNavLink = jQuery(this).closest("li"); 9827 oNodeNavLink.removeClass("show-mega-menu"); 9828 }); 9829 9830 jQuery(document).on("click", "header .navbar .nav-link", function(e){ 9831 9832 var idMenuItem = jQuery(this).closest("li").attr("id"); 9833 9834 if ( jQuery(this).find(".open-mega-menu").length > 0 ){ 9835 e.preventDefault(); 9836 } 9837 9838 jQuery(".open-mega-menu").each(function(){ 9839 var oNodeMenuItem = jQuery(this).closest("li"); 9840 if ( idMenuItem === oNodeMenuItem.attr("id")){ 9841 oNodeMenuItem.toggleClass("show-mega-menu"); 9842 }else{ 9843 oNodeMenuItem.removeClass("show-mega-menu"); 9844 } 9845 }); 9846 }); 9847 9848 jQuery(document).on("mouseover", "header .navbar .nav-link", function(e){ 9849 var idMenuItem = jQuery(this).closest("li").attr("id"); 9850 jQuery(".open-mega-menu").each(function(){ 9851 var oNodeMenuItem = jQuery(this).closest("li"); 9852 if ( idMenuItem === oNodeMenuItem.attr("id")){ 9853 oNodeMenuItem.addClass("show-mega-menu"); 9854 }else{ 9855 oNodeMenuItem.removeClass("show-mega-menu"); 9856 } 9857 }); 9858 }); 9859 9860 var oNodeLayout = jQuery("body").find(".layout"); 9861 if( oNodeLayout.length === 0 ){ 9862 jQuery(".ctlthemelayout-action-edit-layout").remove(); 9863 return; 9864 } 9865 9866 jQuery(document).on( "click", ".ctlthemelayout-action-edit-layout", function(e){ 9867 9868 e.preventDefault(); 9869 e.stopPropagation(); 9870 9871 var oNodeLayout = jQuery("body").find(".layout-site-content-inner"); 9872 9873 var id = null; 9874 9875 if ( oNodeLayout.length > 0 ){ 9876 id = oNodeLayout.attr("data-layout-id"); 9877 } 9878 9879 if (id === null){ 9880 oNodeLayout = jQuery("body").find(".layout"); 9881 if ( oNodeLayout.length > 0 ){ 9882 oNodeLayout = oNodeLayout.first(); 9883 id = oNodeLayout.attr("data-layout-id"); 9884 } 9885 } 9886 9887 if (id === null){ 9888 return; 9889 } 9890 9891 9892 var szAdminUrl = jQuery(this).find("span").attr("data-admin-url"); 9893 window.location.href= szAdminUrl + "post.php?post="+id+"&action=edit"; 9894 9895 }); 9896 9897 9898 window.addEventListener("orientationchange", function(){ 9899 ctlVulcanoApplyBreakpointClass(); 9900 ctlVulcanoResizeSidebar(); 9901 ctlVulcanoResizeLayout(); 9902 }); 9903 window.addEventListener("touchmove", function(){ 9904 ctlVulcanoThemeUpdateSidebar(); 9905 }); 9906 jQuery(window).resize(function() { 9907 ctlVulcanoApplyBreakpointClass(); 9908 ctlVulcanoResizeSidebar(); 9909 ctlVulcanoResizeLayout(); 9910 }); 9911 9912 wpdk_add_action("ctl-vulcano-theme-resize-layout", function(){ 9913 ctlVulcanoResizeLayout(); 9914 }); 9915 9916 ctlVulcanoApplyBreakpointClass(); 9917 ctlVulcanoResizeSidebar(); 9918 ctlVulcanoResizeLayout(); 9919}); 9920 9921 9922function __ctlVulcanoResizeLayout(){ 9923 vhCheck(); 9924 ctlVulcanoThemeUpdateSidebar(); 9925 ctlVulcanoThemeUpdateSiteContent(); 9926 ctlVulcanoInitColAnimations(); 9927 ctlVulcanoStartColAnimations(); 9928 ctlVulcanoUpdateDotsMenu(); 9929 9930 wpdk_do_action("on_ctl-vulcano-theme-resize-layout"); 9931} 9932 9933function ctlVulcanoResizeLayout(){ 9934 9935 __ctlVulcanoResizeLayout(); 9936 9937 setTimeout(function(){ 9938 __ctlVulcanoResizeLayout(); 9939 }, 350); 9940} 9941 9942function ctlVulcanoUpdateDotsMenu(){ 9943 // fixfix 9944 9945 if (jQuery("body").hasClass("scroll-to-animating")){ 9946 return; 9947 } 9948 9949 if ( jQuery(".ctl-theme-section-dots-navigation").length == 0 ){ 9950 return; 9951 } 9952 9953 var idVisibileSection = null; 9954 var iCnt = 0; 9955 jQuery(".ctl-theme-section-dots-navigation").each(function(){ 9956 var oNodeSection = jQuery(this); 9957 if ( ctlVulcanoThemeCalculateVisibilityForDiv(oNodeSection) > 0 ){ 9958 idVisibileSection = iCnt; 9959 } 9960 iCnt++; 9961 }); 9962 9963 jQuery('.ctl-theme-section-dots-navigation-menu i').each(function(){ 9964 if ( jQuery(this).attr("data-index") == idVisibileSection ){ 9965 jQuery(this).removeClass("ctl-wp-studio-icons-circle-empty"); 9966 jQuery(this).addClass("ctl-wp-studio-icons-dot-circled"); 9967 }else{ 9968 jQuery(this).removeClass("ctl-wp-studio-icons-dot-circled"); 9969 jQuery(this).addClass("ctl-wp-studio-icons-circle-empty"); 9970 } 9971 }); 9972} 9973 9974function ctlVulcanoThemeUpdateSiteContent(){ 9975 var oNodeSiteContent = jQuery(".layout-site-content-automatic-margin-top"); 9976 9977 if (oNodeSiteContent.length === 0 ){ 9978 return; 9979 } 9980 9981 var fHeaderVisibility = 0; 9982 var fHeaderOffset = 0; 9983 9984 if ( jQuery("header").length > 0 && jQuery("header").css("position") === "fixed" ){ 9985 fHeaderVisibility += jQuery("header").outerHeight(); 9986 fHeaderOffset += jQuery("header").position().top; 9987 } 9988 fHeaderOffset = 0; 9989 oNodeSiteContent.css("margin-top", (fHeaderVisibility+fHeaderOffset)+ "px") 9990} 9991 9992function ctlVulcanoThemeLoadLayout( idLayout, cb, cbOwner, aGetParams = {}, aPostParams = {} ){ 9993 var idDialog = g_oCTLWPStudio.showLoading(); 9994 9995 var oFormData = {}; 9996 oFormData["action"] = 'ctl-wp-studio'; 9997 oFormData["execute"] = 'ctl-vulcano-theme'; 9998 oFormData["extension-action"] = 'get-layout'; 9999 oFormData["layout-id"] = idLayout; 10000 oFormData["get-params"] = aGetParams; 10001 oFormData["post-params"] = aPostParams; 10002 10003 jQuery.post( 10004 g_oCTLWPStudio._oLangCommon["ajaxurl"], oFormData 10005 ).done( function(response){ 10006 var oResponse = jQuery.parseJSON(response); 10007 g_oCTLWPStudio.closeDlg(idDialog); 10008 if( oResponse.res === false ){ 10009 g_oCTLWPStudio.closeDlg(idDialog); 10010 if ( oResponse.desc ){ 10011 g_oCTLBootstrapModals.alert("Attenzione", oResponse.desc); 10012 }else{ 10013 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 10014 } 10015 }else{ 10016 var html = Base64.decode(oResponse.html); 10017 cb.call( cbOwner, html ); 10018 g_oCTLWPStudio.applyChromaCorrection(); 10019 ctlVulcanoResizeLayout(); 10020 } 10021 10022 }).fail( function(){ 10023 g_oCTLWPStudio.closeDlg(idDialog); 10024 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 10025 }); 10026} 10027 10028function ctlVulcanoResizeSidebar(){ 10029 if ( jQuery(".layout-sidebar-menu").length > 0 ){ 10030 if ( jQuery("body.bp-up-to-md").length > 0 ){ 10031 jQuery("body").addClass("layout-collapsible-menu-collapsed"); 10032 }else{ 10033 jQuery("body").removeClass("layout-collapsible-menu-collapsed"); 10034 } 10035 jQuery("body").addClass("layout-sidebar-active"); 10036 } 10037} 10038 10039function ctlVulcanoThemeUpdateSidebar(){ 10040 var fSidebarOffset = 0; 10041 var fHeaderVisibility = 0; 10042 var fHeaderOffset = 0; 10043 var fFooterVisibility = 0; 10044 10045 if ( jQuery("header").length > 0 && jQuery("header").css("position") === "fixed" ){ 10046 fHeaderVisibility += jQuery("header").outerHeight(); 10047 fHeaderOffset += jQuery("header").position().top; 10048 } 10049 10050 if ( jQuery("footer").length > 0 ){ 10051 if ( jQuery("footer").css("position") === "fixed"){ 10052 fFooterVisibility = jQuery("footer").outerHeight(); 10053 }else{ 10054 fFooterVisibility = ctlVulcanoThemeCalculateVisibilityForDiv(jQuery("footer")); 10055 } 10056 } 10057 10058 if ( jQuery(".layout-menu-external").length == 0 ){ 10059 if ( jQuery(window).width() < 576 ){ 10060 fSidebarOffset = fHeaderVisibility + fHeaderOffset; 10061 }else{ 10062 fSidebarOffset = fHeaderVisibility + fHeaderOffset + fFooterVisibility; 10063 } 10064 }else{ 10065 if ( jQuery(window).width() < 576 ){ 10066 fSidebarOffset = fHeaderOffset + fHeaderVisibility; 10067 }else{ 10068 fSidebarOffset = fHeaderOffset; 10069 } 10070 } 10071 10072 document.querySelector(':root').style.setProperty('--vh-sidebar-offset', fSidebarOffset + 'px'); 10073 10074 __ctlVulcanoThemeUpdateFooterBar(); 10075} 10076 10077function __ctlVulcanoThemeUpdateFooterBar(){ 10078 10079 if ( jQuery(".layout-sidebar-menu").length == 0 ){ 10080 return; 10081 } 10082 10083 if ( jQuery("body").hasClass("bp-xs") ){ 10084 if ( jQuery(".layout-footer-menu").length == 0 ){ 10085 var html = ""; 10086 html += '<div class="layout-footer-menu d-flex fixed-bottom w-100 justify-content-around"></div>'; 10087 jQuery("body").append(html); 10088 10089 if(g_bCTLVulcanoThemeHistoryBackInMobileFooterMenuEnabled){ 10090 // check if browser history is available 10091 if (window.history && window.history.pushState && window.history.length > 1 && 10092 ctl_wp_studio_common_localization["szHomeUrl"] != window.location.href ) { 10093 10094 var url = window.location.href; 10095 url = url.replace(ctl_wp_studio_common_localization["szHomeUrl"], ""); 10096
10096 var aUrlParts = url.split("/"); 10097 var i = 0; 10098 while( i < aUrlParts.length ){ 10099 if (aUrlParts[i] == ""){ 10100 aUrlParts.splice(i,1); 10101 }else{ 10102 i++; 10103 } 10104 } 10105 10106 if ( aUrlParts.length > 1 ){ 10107 var html = '<a href="#" class="ctl-action-history-back mobile-footer-menu p-2 w-100 text-center" ><i class="ctl-wp-studio-icons-level-up menu-item-icon"></i><span class="menu-item-text w-100 text-center d-block m-0">' + g_oCTLVulcanoThemeLocalizationFront["Back"] + '</span></a>'; 10108 jQuery(".layout-footer-menu").append(html); 10109 } 10110 } 10111 } 10112 10113 jQuery(".layout-sidebar-menu a.mobile-footer-menu").each(function(){ 10114 var oNode = jQuery(this).clone(); 10115 10116 // clean anchor 10117 //oNode.find(".menu-item-text").remove(); 10118 oNode.addClass("p-2"); 10119 oNode.find(".menu-item-text").addClass("w-100"); 10120 oNode.find(".menu-item-text").addClass("text-center"); 10121 oNode.find(".menu-item-text").addClass("d-block"); 10122 oNode.find(".menu-item-text").addClass("m-0"); 10123 oNode.addClass("w-100"); 10124 oNode.addClass("text-center"); 10125 oNode.removeClass("d-flex"); 10126 oNode.removeClass("align-items-baseline"); 10127 10128 jQuery(".layout-footer-menu").append(oNode); 10129 }); 10130 10131 10132 var iOffset = jQuery(".layout-footer-menu").outerHeight(); 10133 10134 jQuery(".ctl-scroll-top-scroll-button").css("margin-bottom", iOffset + "px"); 10135 if ( jQuery("footer").length > 0 ){ 10136 jQuery("footer").css("margin-bottom", iOffset + "px"); 10137 } 10138 jQuery('.layout-site-content-outer').css("margin-bottom", iOffset + "px"); 10139 } 10140 }else if ( jQuery(".layout-footer-menu").length > 0 ){ 10141 jQuery(".layout-footer-menu").remove(); 10142 jQuery(".ctl-scroll-top-scroll-button").css("margin-bottom", "0px"); 10143 if ( jQuery("footer").length > 0 ){ 10144 jQuery("footer").css("margin-bottom", "0px"); 10145 } 10146 jQuery('.layout-site-content-outer').css("margin-bottom", "0px"); 10147 } 10148} 10149 10150 10151function ctlVulcanoThemeCalculateVisibilityForDiv(div$) { 10152 var windowHeight = jQuery(window).height(), 10153 docScroll = jQuery(document).scrollTop(), 10154 divPosition = div$.offset().top, 10155 divHeight = div$.outerHeight(), 10156 hiddenBefore = docScroll - divPosition, 10157 hiddenAfter = (divPosition + divHeight) - (docScroll + windowHeight); 10158 10159 if ((docScroll > divPosition + divHeight) || (divPosition > docScroll + windowHeight)) { 10160 return 0; 10161 } else { 10162 var result = 100; 10163 var pixels = 0; 10164 10165 if (hiddenBefore > 0) { 10166 result -= (hiddenBefore * 100) / divHeight; 10167 pixels += hiddenBefore; 10168 } 10169 10170 if (hiddenAfter > 0) { 10171 result -= (hiddenAfter * 100) / divHeight; 10172 pixels += hiddenAfter; 10173 } 10174 10175 result = divHeight + (hiddenBefore + hiddenAfter); 10176 10177 return divHeight - pixels; 10178 } 10179} 10180 10181function ctlVulcanoInitColAnimations(){ 10182 10183 var szBreakPoint = jQuery("body").attr("bp"); 10184 if ( szBreakPoint == "xxl"){ 10185 szBreakPoint = "xl"; 10186 } 10187 10188 var szLastBreakPoint = jQuery("body").attr("data-last-entrance-bp"); 10189 10190 if ( szBreakPoint == szLastBreakPoint){ 10191 return; 10192 } 10193 10194 jQuery( ".ctl-col-animation").each(function(){ 10195 var szAnimation = jQuery(this).attr("data-entrance-animation-"+szBreakPoint); 10196 10197 if ( szAnimation ){ 10198 var szOffset = jQuery(this).attr("data-entrance-offset-"+szBreakPoint); 10199 var szIterations = jQuery(this).attr("data-entrance-animation-iterations-"+szBreakPoint); 10200 var szSpeed = jQuery(this).attr("data-entrance-animation-speed-"+szBreakPoint); 10201 var szDelay = jQuery(this).attr("data-entrance-animation-delay-"+szBreakPoint); 10202 var szFadein = jQuery(this).attr("data-entrance-fadein-"+szBreakPoint); 10203 10204 jQuery(this).attr("data-entrance-animation", szAnimation); 10205 jQuery(this).attr("data-entrance-offset", szOffset); 10206 10207 if ( szFadein ){ 10208 jQuery(this).attr("data-entrance-fadein", szFadein); 10209 jQuery(this).animate({opacity:0}
10209,0); 10210 } 10211 10212 jQuery(this).attr("data-entrance-iterations", szIterations); 10213 jQuery(this).attr("data-entrance-speed", szSpeed); 10214 jQuery(this).attr("data-entrance-delay", szDelay); 10215 10216 jQuery(this).addClass("ctl-col-breakpoint-animation"); 10217 10218 } 10219 }); 10220 10221 jQuery("body").attr("data-last-entrance-bp", szBreakPoint); 10222} 10223 10224function ctlVulcanoApplyBreakpointClass(){ 10225 var width = window.innerWidth; 10226 10227 jQuery("body").removeClass("bp-xs"); 10228 jQuery("body").removeClass("bp-sm"); 10229 jQuery("body").removeClass("bp-md"); 10230 jQuery("body").removeClass("bp-lg"); 10231 jQuery("body").removeClass("bp-xl"); 10232 jQuery("body").removeClass("bp-xxl"); 10233 10234 jQuery("body").removeClass("bp-up-to-sm"); 10235 jQuery("body").removeClass("bp-up-to-md"); 10236 jQuery("body").removeClass("bp-up-to-lg"); 10237 jQuery("body").removeClass("bp-up-to-xl"); 10238 10239 if( width >= 1400 ){ 10240 jQuery("body").attr("bp","xxl"); 10241 jQuery("body").addClass("bp-xxl"); 10242 }else if( width >= 1200 ){ 10243 jQuery("body").attr("bp","xl"); 10244 jQuery("body").addClass("bp-xl"); 10245 jQuery("body").addClass("bp-up-to-xl"); 10246 }else if( width >= 992 ){ 10247 jQuery("body").attr("bp","lg"); 10248 jQuery("body").addClass("bp-lg"); 10249 jQuery("body").addClass("bp-up-to-xl"); 10250 jQuery("body").addClass("bp-up-to-lg"); 10251 }else if( width >= 768 ){ 10252 jQuery("body").attr("bp","md"); 10253 jQuery("body").addClass("bp-md"); 10254 jQuery("body").addClass("bp-up-to-xl"); 10255 jQuery("body").addClass("bp-up-to-lg"); 10256 jQuery("body").addClass("bp-up-to-md"); 10257 }else if( width >= 576 ){ 10258 jQuery("body").attr("bp","sm"); 10259 jQuery("body").addClass("bp-sm"); 10260 jQuery("body").addClass("bp-up-to-xl"); 10261 jQuery("body").addClass("bp-up-to-lg"); 10262 jQuery("body").addClass("bp-up-to-md"); 10263 jQuery("body").addClass("bp-up-to-sm"); 10264 }else{ 10265 jQuery("body").attr("bp","xs"); 10266 jQuery("body").addClass("bp-xs"); 10267 jQuery("body").addClass("bp-up-to-xl"); 10268 jQuery("body").addClass("bp-up-to-lg"); 10269 jQuery("body").addClass("bp-up-to-md"); 10270 jQuery("body").addClass("bp-up-to-sm"); 10271 } 10272 10273} 10274 10275 10276function ctlVulcanoStartColAnimations(){ 10277 var scrollTop = jQuery(window).scrollTop(); 10278 var iWindowOffset = scrollTop + jQuery(window).outerHeight(); 10279 10280 jQuery(".ctl-col-breakpoint-animation").each(function(){ 10281 10282 var iOffset = Number(jQuery(this).attr("data-entrance-offset")); 10283 10284 if (!iOffset){ 10285 iOffset = 50; 10286 } 10287 10288 var iFadein = Number(jQuery(this).attr("data-entrance-fadein")); 10289 10290 10291 if ( iWindowOffset - iOffset >= jQuery(this).offset().top ) { 10292 jQuery(this).addClass("animate__animated"); 10293 jQuery(this).addClass(jQuery(this).attr("data-entrance-animation")); 10294 if ( jQuery(this).attr("data-entrance-iterations") ){ 10295 jQuery(this).addClass(jQuery(this).attr("data-entrance-iterations")); 10296 } 10297 10298 if ( jQuery(this).attr("data-entrance-speed") ){ 10299 jQuery(this).addClass(jQuery(this).attr("data-entrance-speed")); 10300 } 10301 10302 if ( jQuery(this).attr("data-entrance-delay") ){ 10303 jQuery(this).addClass(jQuery(this).attr("data-entrance-delay")); 10304 10305 var iDelay = 0; 10306 switch(jQuery(this).attr("data-entrance-delay")){ 10307 case "animate__delay-250ms":{ 10308 iDelay = 250; 10309 }break; 10310 case "animate__delay-500ms":{ 10311 iDelay = 500; 10312 }break; 10313 case "animate__delay-750ms":{ 10314 iDelay = 750; 10315 }break; 10316 case "animate__delay-1s":{ 10317 iDelay = 1000; 10318 }break; 10319 case "animate__delay-1250ms":{ 10320 iDelay = 1250; 10321 }break; 10322 case "animate__delay-1500ms":{ 10323 iDelay = 1500; 10324 }break; 10325 case "animate__delay-1750ms":{ 10326 iDelay = 1750; 10327 }break; 10328 case "animate__delay-2s":{ 10329 iDelay = 2000; 10330 }break; 10331 case "animate__delay-3s":{ 10332 iDelay = 3000; 10333 }break; 10334 case "animate__delay-4s":{ 10335 iDelay = 4000; 10336 }break; 10337 case "animate__delay-5s":{ 10338 iDelay = 5000; 10339 }break; 10340 } 10341 10342 if (iFadein){ 10343 jQuery(this).delay(iDelay).animate({opacity:1},iFadein); 10344 } 10345 10346 }else{ 10347 10348 if (iFadein){ 10349 jQuery(this).animate({opacity:1},iFadein); 10350 } 10351 } 10352 } 10353 }); 10354} 10355 10356function ctlUpdateOnlineStatus(event) {
10357 if ( navigator ){ 10358 if ( navigator.onLine ){ 10359 jQuery("body").removeClass("offline"); 10360 jQuery(".ctl-vulcano-theme-online-monitor .ctl-theme-bootstrap-menu-item-text").text( 10361 g_oCTLVulcanoThemeLocalizationFront["online"]); 10362 jQuery(".ctl-vulcano-theme-online-monitor h3").text( 10363 g_oCTLVulcanoThemeLocalizationFront["online"]); 10364 }else{ 10365 jQuery("body").addClass("offline"); 10366 jQuery(".ctl-vulcano-theme-online-monitor .ctl-theme-bootstrap-menu-item-text").text( 10367 g_oCTLVulcanoThemeLocalizationFront["offline"]); 10368 jQuery(".ctl-vulcano-theme-online-monitor h3").text( 10369 g_oCTLVulcanoThemeLocalizationFront["offline"]); 10370 } 10371 } 10372 } 10373 10374/* THEME ANALYZER */ 10375var g_iTimeStart = Date.now(); 10376jQuery(document).ready(function(){ 10377 jQuery('#ctl-theme-analyzer').draggable({ 10378 handle: "h2", 10379 containment : "window" 10380 }); 10381}); 10382jQuery(window).on('load', function() { 10383 jQuery(".ctl-theme-analyzer-loading-time").text( (Date.now() - g_iTimeStart) + " ms" ); 10384}); 10385// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-vulcano-theme/php/../js/vh-check.min.js 10386!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.vhCheck=n()}(this,function(){"use strict";var r=function(){return(r=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)};function n(){var e,n,t=((e=document.createElement("div")).style.cssText="position: fixed; top: 0; height: 100vh; pointer-events: none;",document.documentElement.insertBefore(e,document.documentElement.firstChild),e),o=window.innerHeight,r=t.offsetHeight,i=r-o;return n=t,document.documentElement.removeChild(n),{vh:r,windowHeight:o,offset:i,isNeeded:0!==i,value:0}}function i(){}function e(){var e=n();return e.value=e.offset,e}var c=Object.freeze({noop:i,computeDifference:e,redefineVhUnit:function(){var e=n();return e.value=.01*e.windowHeight,e}});function u(e){return"string"==typeof e&&0<e.length}var a=Object.freeze({cssVarName:"vh-offset",redefineVh:!1,method:e,force:!1,bind:!0,updateOnTouch:!1,onUpdate:i});var t=!1,o=[];try{var f=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",f,f),window.removeEventListener("test",f,f)}catch(e){t=!1}function d(e,n){o.push({eventName:e,callback:n}),window.addEventListener(e,n,!!t&&{passive:!0})}function s(){o.forEach(function(e){window.removeEventListener(e.eventName,e.callback)}),o=[]}function m(e,n){document.documentElement.style.setProperty("--"+e,n.value+"px")}function h(e,n){return r({},e,{unbind:s,recompute:n.method})}return function(e){var n=Object.freeze(function(e){if(u(e))return r({},a,{cssVarName:e});if("object"!=typeof e)return a;var n,t={force:!0===e.force,bind:!1!==e.bind,updateOnTouch:!0===e.updateOnTouch,onUpdate:(n=e.onUpdate,"function"==typeof n?e.onUpdate:i)},o=!0===e.redefineVh;return t.method=c[o?"redefineVhUnit":"computeDifference"],t.cssVarName=u(e.cssVarName)?e.cssVarName:o?"vh":a.cssVarName,t}(e)),t=h(n.method(),n);if(!t.isNeeded&&!n.force)return t;if(m(n.cssVarName,t),n.onUpdate(t),!n.bind)return t;function o(){window.requestAnimationFrame(function(){var e=n.method();m(n.cssVarName,e),n.onUpdate(h(e,n))})}return t.unbind(),d("orientationchange",o),n.updateOnTouch&&d("touchmove",o),t}}); 10387 10388// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-theme-bootstrap-menu/php/../js/front.js 10389jQuery(window).scroll(function () { 10390 var st = jQuery(this).scrollTop(); 10391 jQuery("nav.navbar").each(function(){ 10392 if ( st > jQuery(this).height() ){ 10393 jQuery(this).addClass("ctlthememenu-scroll"); 10394 }else{ 10395 jQuery(this).removeClass("ctlthememenu-scroll"); 10396 } 10397 }); 10398}); 10399 10400 10401jQuery(document).ready(function(){ 10402 10403 jQuery(".ctl-nav-menu-action-buttons.ctl-navbar-action-change-main-filters").each(function(){ 10404 var oNodeButton = jQuery(this); 10405 let aParams = oNodeButton.attr("data-params"); 10406 10407 if (aParams){ 10408 let iCntFoundParamsInUrl = 0; 10409 10410 aParams = JSON.parse(aParams); 10411 10412 for( let i = 0; i < aParams.length; i++ ){ 10413 if ( g_oCTLWPStudio.getUrlParam(aParams[i].param + (aParams[i].multiple ? "[]" : "") ) ){ 10414 iCntFoundParamsInUrl++; 10415 } 10416 } 10417 10418 if ( iCntFoundParamsInUrl > 0 ){ 10419 oNodeButton.find(".counter").text(iCntFoundParamsInUrl).removeClass("d-none"); 10420 } 10421 } 10422 }); 10423 10424 jQuery(document).on("mouseover",'.dropdown-show-on-hover .navbar-nav .dropdown:not(.show)',function(e) { 10425 e.preventDefault(); 10426 var oNodeToggle = jQuery(this).find(".dropdown-toggle-action").first(); 10427 oNodeToggle.click(); 10428 oNodeToggle.blur(); 10429 }); 10430 10431 jQuery(document).on("mouseleave",'.dropdown-show-on-hover .navbar-nav .dropdown.show',function(e) { 10432 e.preventDefault(); 10433 var oNodeToggle = jQuery(this).find(".dropdown-toggle-action").first(); 10434 oNodeToggle.click(); 10435 oNodeToggle.blur(); 10436 }); 10437 10438 jQuery(window).resize(function(){ 10439 10440 var oNodeToggler = jQuery(".navbar-toggler"); 10441 10442 if ( oNodeToggler.length === 0 ){ 10443 return; 10444 } 10445 10446 if ( oNodeToggler.css("display") === "none" ){ 10447 jQuery("body").removeClass("hamburger-shown"); 10448 var oNodeHamburger = oNodeToggler.find(".hamburger"); 10449 oNodeHamburger.removeClass("is-active"); 10450 oNodeToggler.attr("aria-expanded", "false"); 10451 10452 var oNodeNav = oNodeToggler.closest("nav"); 10453 10454 oNodeNav.find(".navbar-collapse").each(function(){ 10455 jQuery(this).removeClass("show"); 10456 }); 10457 10458 oNodeNav.find(".dropdown-toggle").each( function(){ 10459 jQuery(this).dropdown("dispose"); 10460 }); 10461 10462 }else{ 10463 jQuery("body").addClass("hamburger-shown"); 10464 } 10465 }); 10466 10467 jQuery('[data-toggle="offcanvas-collapse"]').on('click', function () { 10468 jQuery('.offcanvas-collapse').toggleClass('open'); 10469 jQuery(this).toggleClass('open'); 10470 jQuery("body").toggleClass('noscroll'); 10471 jQuery("html").toggleClass('noscroll'); 10472 }); 10473 10474 jQuery(document).on("click",'.ctl-main-filters-action-submit',function(e) { 10475 g_oCTLWPStudio.showLoading(""); 10476 var oNodeForm = jQuery(this).closest(".modal").find("form"); 10477 oNodeForm.submit(); 10478 }); 10479 10480 jQuery(document).on("click",'.ctl-navbar-action-change-main-filters',function(e) { 10481 10482 var oFormData = {}; 10483 oFormData["action"] = "ctl-wp-studio"; 10484 oFormData["execute"] = "ctl-theme-bootstrap-menu"; 10485 oFormData["widget-id"] = jQuery(this).attr("data-widget-id"); 10486 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 10487 oFormData['extension-action'] = "change-main-filters"; 10488 oFormData['limit-extensions'] = ["ctl-theme-bootstrap-menu", "ctl-form-fields"]; 10489 10490 var idLoading = g_oCTLWPStudio.showLoading(""); 10491 jQuery.post( 10492 ctl_wp_studio_common_localization["ajaxurl"], oFormData ).done( 10493 function(response){ 10494 10495 g_oCTLWPStudio.closeDlg(idLoading); 10496 10497 var oResult = JSON.parse(response); 10498 10499 if ( oResult.res == true ){ 10500 g_oCTLBootstrapModals.showModal({ 10501 modal_title : Base64.decode(oResult.title), 10502 modal_content : Base64.decode(oResult.html), 10503 position : "centered", 10504 entrance_animation : "animate__slideInUp", 10505 exit_animation : "animate__slideOutDown", 10506 }); 10507 }else{ 10508 g_oCTLBootstrapModals.alert(oResult.desc); 10509 } 10510 10511 }).fail( function(){ 10512 g_oCTLWPStudio.closeDlg(idLoading); 10513 alert(ctl_wp_studio_common_localization["Error"]); 10514 }); 10515 }); 10516 10517 jQuery(document).on("click",'.ctl-nav-menu-action-alert-logout',function(e) { 10518 10519 var oNodeButton = jQuery(this); 10520 10521 g_oCTLBootstrapModals.confirm( 10522 oNodeButton.attr("data-alert-title") ? Base64.decode(oNodeButton.attr("data-alert-title")) : "", 10523 oNodeButton.attr("data-alert-message") ? Base64.decode(oNodeButton.attr("data-alert-message")) : "", 10524 oNodeButton.attr("data-alert-continue") ? Base64.decode(oNodeButton.attr("data-alert-continue")) : "", function(){ 10525 g_oCTLBootstrapModals.closeModalAndStack(); 10526 ctlUserRolesLogout(); 10527 }); 10528 }); 10529 10530 jQuery('.navbar-toggler').on('click', function (){ 10531 10532 jQuery("body").addClass("hamburger-shown"); 10533 10534 var oNodeHamburger = jQuery(this).find(".hamburger"); 10535 10536 var oNodeLabelOpen = jQuery(this).find(".ctlthememenu-toggle-label-open-menu"); 10537 var oNodeLabelClose = jQuery(this).find(".ctlthememenu-toggle-label-close-menu"); 10538
10539 if( jQuery(this).attr("aria-expanded") === "false" ){ 10540 oNodeHamburger.addClass("is-active"); 10541 10542 if(oNodeLabelOpen.length > 0 ){ 10543 oNodeLabelOpen.addClass("ctlthememenu-display-none"); 10544 oNodeLabelClose.removeClass("ctlthememenu-display-none"); 10545 } 10546 }else{ 10547 oNodeHamburger.removeClass("is-active"); 10548 10549 if(oNodeLabelOpen.length > 0 ){ 10550 oNodeLabelOpen.removeClass("ctlthememenu-display-none"); 10551 oNodeLabelClose.addClass("ctlthememenu-display-none"); 10552 } 10553 } 10554 }); 10555 10556 10557}); 10558// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-theme-bootstrap-modals/php/../js/front.js 10559var CTL_BOOTSTRAP_MODALS = function(){ 10560 this._aDialogs = []; 10561}; 10562 10563 10564var CTL_TOASTS = function(){ 10565 10566}; 10567 10568var g_oToasts = new CTL_TOASTS(); 10569var g_oCTLBootstrapModals = new CTL_BOOTSTRAP_MODALS(); 10570 10571jQuery(window).ready(function(){ 10572 10573 10574 g_oToasts.showToasts(); 10575 10576 jQuery(document).on("click", ".ctl-theme-bootstrap-toasts-content .close", function(){ 10577 var oNodeToast = jQuery(this).closest(".toast"); 10578 10579 oNodeToast.removeClass( "animate__fadeInRight"); 10580 oNodeToast.addClass( "animate__fadeOutRight"); 10581 10582 oNodeToast.fadeOut(1000, function(){ 10583 oNodeToast.remove(); 10584 }); 10585 }); 10586 10587 jQuery(document).on("click", ".btn-action-open-modal", function(e){ 10588 e.preventDefault(); 10589 g_oCTLBootstrapModals.loadModal( 10590 jQuery(this).attr("data-modal-id"), 10591 null, 10592 jQuery(this).attr("data-modal-extra-data")); 10593 }); 10594 10595 jQuery(document).on("show.bs.modal", ".modal", function(){ 10596 10597 if ( !jQuery(this).hasClass("ctl-modal")){ 10598 return; 10599 } 10600 10601 var oModalDialog = jQuery(this).find(".modal-dialog"); 10602 if( oModalDialog.hasClass("animated")){ 10603 oModalDialog.addClass( jQuery(this).attr("data-anim-entrance")); 10604 10605 if ( jQuery(this).attr("data-entrance-alpha") === "true"){ 10606 oModalDialog.animate({duration:1000}); 10607 } 10608 } 10609 }); 10610 10611 jQuery(document).on("click", ".btn-action-close-stack-modals", function(e){ 10612 g_oCTLBootstrapModals.closeModalAndStack(); 10613 }); 10614 10615 jQuery(document).on("click", ".btn-action-dialog-maximize", function(e){ 10616 e.preventDefault(); 10617 var oNodeButton = jQuery(this); 10618 var idModal = oNodeButton.attr("data-maximize-selector"); 10619 var bMaximized = oNodeButton.attr("data-maximized"); 10620 var oNodeModal = jQuery(idModal).find(".modal-dialog"); 10621 10622 if (bMaximized == "true"){ 10623 oNodeButton.attr("data-maximized", "false"); 10624 oNodeButton.find("i").attr("class", "ctl-wp-studio-icons-resize-full-alt"); 10625 oNodeModal.removeClass('modal-dialog-100vw'); 10626 oNodeModal.removeClass('modal-dialog-100vh'); 10627 }else{ 10628 oNodeButton.attr("data-maximized", "true"); 10629 oNodeButton.find("i").attr("class", "ctl-wp-studio-icons-resize-small"); 10630 oNodeModal.addClass('modal-dialog-100vw'); 10631 oNodeModal.addClass('modal-dialog-100vh'); 10632 } 10633 }); 10634 10635 jQuery(document).on("click", ".btn-action-close-modal", function(e){ 10636 g_oCTLBootstrapModals.closeModal(jQuery(this).closest(".modal")); 10637 }); 10638 10639 jQuery(document).on("hidden.bs.modal", ".modal", function(){ 10640 10641 if ( !jQuery(this).hasClass("ctl-modal")){ 10642 return; 10643 } 10644 10645 for( var i = 0; i < g_oCTLBootstrapModals._aDialogs.length; i++){ 10646 if (g_oCTLBootstrapModals._aDialogs[i] === jQuery(this).attr("id")){ 10647 g_oCTLBootstrapModals._aDialogs.splice(i,1); 10648 break; 10649 } 10650 } 10651 10652 jQuery(this).remove(); 10653 10654 if ( g_oCTLBootstrapModals._aDialogs.length > 0 ){ 10655 var oNodeLastModal = jQuery("#"+g_oCTLBootstrapModals._aDialogs[g_oCTLBootstrapModals._aDialogs.length-1] ) 10656 oNodeLastModal.fadeIn(); 10657 oNodeLastModal.next().fadeIn(); 10658 } 10659 10660 if ( g_oCTLBootstrapModals._aDialogs.length === 0 ){ 10661 jQuery("html").css("overflow","auto"); 10662 } 10663 }); 10664 10665 jQuery(document).on("hide.bs.modal", ".modal", function(e){ 10666 if ( !jQuery(this).hasClass("ctl-modal")){ 10667 return; 10668 } 10669 10670 var oModal = jQuery(this);
10671 var oModalDialog = oModal.find(".modal-dialog"); 10672 if( oModalDialog.hasClass("animated")){ 10673 oModalDialog.removeClass( oModal.attr("data-anim-entrance")); 10674 oModalDialog.addClass( oModal.attr("data-anim-exit")); 10675 10676 oModalDialog.fadeOut({duration:1000}); 10677 } 10678 }); 10679}); 10680 10681CTL_BOOTSTRAP_MODALS.prototype.loadModal = function( idModal, oExtraData, idLayoutExtraData, cbClose = null ){ 10682 var idLoading = g_oCTLWPStudio.showLoading(""); 10683 10684 var oFormData = {}; 10685 oFormData['action'] ='ctl-wp-studio'; 10686 oFormData['execute'] ='ctl-theme-bootstrap-modals'; 10687 oFormData['extension-action'] = 'open-modal'; 10688 oFormData['modal-id'] = idModal; 10689 10690 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 10691 10692 if ( oExtraData ){ 10693 jQuery.extend( oFormData, oExtraData); 10694 } 10695 10696 if ( idLayoutExtraData ){ 10697 var oNodeForm = jQuery(".layout-" + idLayoutExtraData); 10698 10699 if(ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 10700 return; 10701 } 10702 10703 var oData = oNodeForm.serializeObject(); 10704 jQuery.extend( oFormData, oData); 10705 } 10706 10707 if ( jQuery(this).closest("form").length > 0 ){ 10708 var oNodeForm = jQuery(this).closest("form"); 10709 var oData = oNodeForm.serializeObject(); 10710 10711 jQuery.extend( oFormData, oData); 10712 } 10713 10714 jQuery.ajax({ 10715 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 10716 type: "POST", 10717 data : oFormData, 10718 cache: false, 10719 method: 'POST', 10720 success:function(response, textStatus, jqXHR){ 10721 g_oCTLWPStudio.closeDlg(idLoading); 10722 10723 var oResponse = jQuery.parseJSON(response); 10724 10725 if( oResponse.res === false ){ 10726 10727 10728 }else{ 10729 var aFooterButtons = []; 10730 10731 if ( oResponse.footer_buttons ){ 10732 aFooterButtons = oResponse.footer_buttons.map((szB64HTMLButton) => { 10733 return Base64.decode(szB64HTMLButton); 10734 }); 10735 } 10736 10737 let szNewUrl = window.location.href; 10738 for (let index = 0; index < oResponse.params_to_append_to_url.length; index++) { 10739 let szKey = oResponse.params_to_append_to_url[index]; 10740 10741 if(!oFormData.hasOwnProperty(szKey)){ 10742 continue; 10743 10744 } 10745 szNewUrl = g_oCTLWPStudio.addParameterToUrl(szNewUrl, szKey, oFormData[szKey]); 10746 } 10747 10748 window.history.pushState(document.title, '', szNewUrl); 10749 10750 g_oCTLBootstrapModals.showModal({ 10751 modal_id : idModal, 10752 cb_close : cbClose, 10753 closeable : oResponse.closeable === 0 ? false : true, 10754 modal_title : oResponse.modal_title, 10755 modal_content : Base64.decode(oResponse.html), 10756 footer_btn_close : oResponse.footer_btn_close === 0 ? false : true, 10757 10758 width : oResponse.width, 10759 height : oResponse.height, 10760 rounded : oResponse.rounded === 0 ? false : true, 10761 entrance_animation : oResponse.entrance_animation, 10762 exit_animation : oResponse.exit_animation , 10763 entrance_alpha : oResponse.entrance_alpha === 0 ? false : true, 10764 exit_alpha : oResponse.exit_alpha === 0 ? false : true, 10765 position : oResponse.position, 10766 animation : true, 10767 wrapper_classes : oResponse.classes, 10768 draggable : oResponse.draggable === 0 ? false : true, 10769 closing_action : (!oResponse.closing_action) ? "close_modal" : oResponse.closing_action, 10770 closing_redirect : oResponse.closing_redirect, 10771 closing_external_url : oResponse.closing_external_url, 10772 10773 button_close_title : oResponse.label_close, 10774 button_close_class : "btn-secondary", 10775 no_margins : false, 10776 10777 footer_buttons : aFooterButtons, 10778 }); 10779 } 10780 }, 10781 error: function(jqXHR, textStatus, errorThrown){ 10782 g_oCTLWPStudio.closeDlg(idLoading); 10783 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 10784 } 10785 }); 10786}; 10787 10788CTL_BOOTSTRAP_MODALS.prototype.closeLastModal = function(){ 10789 if ( g_oCTLBootstrapModals._aDialogs.length > 0 ){ 10790 let idLastModal = g_oCTLBootstrapModals._aDialogs[g_oCTLBootstrapModals._aDialogs.length-1]; 10791 g_oCTLBootstrapModals.closeModal(jQuery("#"+idLastModal)); 10792 } 10793}; 10794 10795CTL_BOOTSTRAP_MODALS.prototype.closeModalAndStack = function( oNodeModal = null ){ 10796 var iLimitDialog = 0; 10797 var idLastModal = 0; 10798 10799 if ( g_oCTLBootstrapModals._aDialogs.length > 0 ){ 10800 iLimitDialog = g_oCTLBootstrapModals._aDialogs.length-1; 10801 idLastModal = g_oCTLBootstrapModals._aDialogs[g_oCTLBootstrapModals._aDialogs.length-1]; 10802 10803 for( var i = 0; i < iLimitDialog; i++){ 10804 var id = g_oCTLBootstrapModals._aDialogs[i]; 10805 jQuery("#"+id).modal("dispose"); 10806 jQuery("#"+id).next().remove(); 10807 jQuery("#"+id).remove(); 10808 } 10809 } 10810 10811 g_oCTLBootstrapModals._aDialogs = []; 10812 10813 if (!oNodeModal){ 10814 if ( idLastModal !== 0 ){ 10815 g_oCTLBootstrapModals.closeModal(jQuery("#"+idLastModal)); 10816 } 10817 }else{ 10818 g_oCTLBootstrapModals.closeModal(oNodeModal); 10819 } 10820}; 10821 10822CTL_BOOTSTRAP_MODALS.prototype.closeModal = function( oNodeModal ){ 10823
10824 var oModalDialog = oNodeModal.find(".modal-dialog"); 10825 var oModalBackdrop = jQuery(".modal-backdrop").last(); 10826 if( oModalDialog.hasClass("animated")){ 10827 oModalDialog.removeClass( oNodeModal.attr("data-anim-entrance")); 10828 oModalDialog.addClass( oNodeModal.attr("data-anim-exit")); 10829 10830 if ( oNodeModal.attr("data-exit-alpha") === "true"){ 10831 oModalDialog.fadeOut({duration:1000}); 10832 } 10833 10834 setTimeout(function(){ 10835 oNodeModal.modal("hide"); 10836 },1000); 10837 setTimeout(function(){ 10838 oModalBackdrop.fadeOut(); 10839 10840 10841 switch(oNodeModal.attr("data-closing-action")){ 10842 case "close_and_reload": 10843 g_oCTLWPStudio.showLoading(); 10844 window.location.reload(); 10845 break; 10846 case "close_and_redirect": 10847 if ( !oNodeModal.attr("data-closing-redirect") ){ 10848 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"] + " - Redirect is empty"); 10849 break; 10850 } 10851 window.location.href = oNodeModal.attr("data-closing-redirect"); 10852 break; 10853 case "close_and_open_external_url": 10854 if ( !oNodeModal.attr("data-closing-external-url") ){ 10855 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"] + " - External link is empty"); 10856 break; 10857 } 10858 window.open(oNodeModal.attr("data-closing-external-url"), "_self"); 10859 break; 10860 } 10861 10862 10863 },200); 10864 } 10865}; 10866 10867CTL_BOOTSTRAP_MODALS.prototype.buildModal = function( oConfig ){ 10868 10869 var html = ''; 10870 var id = g_oCTLWPStudio.makeCode(); 10871 var szModalClasses = 'modal-dialog'; 10872 var szModalWrapperClasses = 'modal ctl-modal'; 10873 var szModalContentClasses = 'modal-content ctl-modal-content'; 10874 var szAttrs = ''; 10875 10876 szModalClasses += ' modal-dialog-' + oConfig.position; 10877 10878 if ( oConfig.no_margins ){ 10879 szModalClasses += ' modal-dialog-no-margins'; 10880 } 10881 10882 switch(oConfig.width){ 10883 case "100":{ 10884 szModalClasses += ' modal-dialog-100vw'; 10885 }break; 10886 case "90":{ 10887 szModalClasses += ' modal-dialog-90vw'; 10888 }break; 10889 case "80":{ 10890 szModalClasses += ' modal-dialog-80vw'; 10891 }break; 10892 case "70":{ 10893 szModalClasses += ' modal-dialog-70vw'; 10894 }break; 10895 } 10896 10897 switch(oConfig.height){ 10898 case "100":{ 10899 szModalClasses += ' modal-dialog-100vh'; 10900 }break; 10901 case "90":{ 10902 szModalClasses += ' modal-dialog-90vh'; 10903 }break; 10904 case "80":{ 10905 szModalClasses += ' modal-dialog-80vh'; 10906 }break; 10907 case "70":{ 10908 szModalClasses += ' modal-dialog-70vh'; 10909 }break; 10910 default:{ 10911 szModalClasses += ' modal-dialog-height-auto'; 10912 } 10913 } 10914 10915 if ( oConfig.animation === true ){ 10916 szModalClasses += ' animated animate__animated'; 10917 } 10918 10919 if ( oConfig.wrapper_classes !== "" ){ 10920 szModalWrapperClasses += ' ' + oConfig.wrapper_classes; 10921 } 10922 10923 if ( oConfig.modal_id ){ 10924 szModalWrapperClasses += ' ctl-modal-' + oConfig.modal_id; 10925 szAttrs += ' data-widget-id="' + oConfig.modal_id + '"'; 10926 } 10927 10928 szAttrs += ' data-anim-entrance="' + oConfig.entrance_animation +'"'; 10929 szAttrs += ' data-anim-exit="' + oConfig.exit_animation + '"'; 10930 10931 szAttrs += ' data-entrance-alpha="' + oConfig.entrance_alpha + '"'; 10932 szAttrs += ' data-exit-alpha="' + oConfig.exit_alpha + '"'; 10933 10934 szAttrs += ' data-closing-action="' + oConfig.closing_action + '"'; 10935 10936 szAttrs += ' data-closing-redirect="' + oConfig.closing_redirect + '"'; 10937 10938 szAttrs += ' data-closing-external-url="' + oConfig.closing_external_url + '"'; 10939 10940 10941 10942 10943 if ( oConfig.attributes ){ 10944 szAttrs += ' ' + oConfig.attributes; 10945 } 10946 10947 if ( oConfig.rounded === false ){ 10948 szModalContentClasses += ' rounded-0'; 10949 } 10950 10951 if ( oConfig.footer_btn_close ){ 10952 var szCloseBtn = '<button type="button" class="btn btn-action-close-modal '+ 10953 oConfig.button_close_class+'">'+oConfig.button_close_title +'</button>'; 10954 10955 oConfig.footer_buttons.unshift(szCloseBtn); 10956 } 10957 10958 html += '<div id="'+id+'" class="'+szModalWrapperClasses+'" tabindex="-1" role="dialog" aria-hidden="true"'+szAttrs+'>'; 10959 html += '<div class="'+szModalClasses+'" role="document">'; 10960 html += '<div class="'+szModalContentClasses+'">'; 10961 10962 10963 var szHeader = '<div class="modal-header align-items-center ctl-modal-header">'; 10964 var bJumpHeader = true; 10965 if ( oConfig.modal_title && oConfig.modal_title !== "" ){ 10966 szHeader += '<h5 class="modal-title ctl-modal-title">' + oConfig.modal_title + '</h5>'; 10967 bJumpHeader = false;
10968 } 10969 10970 szHeader += '<div class="ctl-modal-header-buttons d-flex ml-auto">'; 10971 10972 if ( oConfig.width != "100" && oConfig.height != "100" ){ 10973 szHeader += '<button data-maximized="false" data-maximize-selector="#'+id+'" type="button" class="btn-action-dialog-maximize">'; 10974 szHeader += '<i class="ctl-wp-studio-icons-resize-full-alt"></i>'; 10975 szHeader += '</button>'; 10976 } 10977 10978 if ( oConfig.modal_id && jQuery(".ctl-documentation-action-show-current-page-doc").length > 0 ){ 10979 szHeader += '<button type="button" class="ctl-documentation-action-show-current-modal-doc" data-widget-id="'+oConfig.modal_id+'" aria-label="'+ 10980 g_oCTLBootstrapModalsLocalizationFront["Documentation"] +'">'; 10981 szHeader += '<i class="ctl-wp-studio-icons-help"></i>'; 10982 szHeader += '</button>'; 10983 } 10984 10985 if ( oConfig.closeable ){ 10986 szHeader += '<button type="button" class="close btn-action-close-modal" aria-label="'+ 10987 oConfig.button_close_title +'">'; 10988 //szHeader += '<span aria-hidden="true">×</span>'; 10989 szHeader += '<i class="ctl-wp-studio-icons-cancel-1"></i>'; 10990 szHeader += '</button>'; 10991 bJumpHeader = false;
10992 } 10993 szHeader += '</div>'; 10994 10995 szHeader += '</div>'; 10996 10997 if (!bJumpHeader){ 10998 html += szHeader; 10999 } 11000 11001 html += '<div class="modal-body ctl-modal-body">'; 11002 html += oConfig.modal_content; 11003 html += '</div>'; 11004 11005 if ( oConfig.footer_buttons.length > 0 ){ 11006 html += '<div class="modal-footer ctl-modal-footer">'; 11007 html += '<div class="modal-footer-extra-buttons">'; 11008 html += '</div>'; 11009 html += '<div class="modal-footer-buttons">'; 11010 for( var i = 0; i < oConfig.footer_buttons.length; i++ ){ 11011 html += oConfig.footer_buttons[i]; 11012 } 11013 html += '</div>'; 11014 html += '</div>'; 11015 }else{ 11016 html += '<div class="modal-footer d-none">'; 11017 html += '<div class="modal-footer-extra-buttons">'; 11018 html += '</div>'; 11019 html += '<div class="modal-footer-buttons">'; 11020 html += '</div>'; 11021 html += '</div>'; 11022 } 11023 11024 11025 html += '</div>'; 11026 html += '</div>'; 11027 html += '</div>'; 11028 11029 return { html : html, id : id }; 11030}; 11031 11032CTL_BOOTSTRAP_MODALS.prototype.message = function( szHtmlContent, szBtnTitle, cb = null ){ 11033 var id = this.showModal({ 11034 modal_content : szHtmlContent, 11035 closeable : false, 11036 position: "centered", 11037 button_close_title : szBtnTitle, 11038 button_close_class : "btn-primary" 11039 }); 11040 11041 if(cb){ 11042 jQuery('#'+id + ' .btn-action-close-modal').on( "click", cb); 11043 } 11044 11045 return id; 11046}; 11047 11048CTL_BOOTSTRAP_MODALS.prototype.alert = function( szTitle, szHtmlContent, cb = null, szBtnClose = null ){ 11049 var oConfig = { 11050 modal_title : szTitle, 11051 modal_content : szHtmlContent, 11052 position : "centered", 11053 closeable : false 11054 }; 11055 11056 if (szBtnClose){ 11057 oConfig["button_close_title"] = szBtnClose; 11058 } 11059 11060 var id = this.showModal(oConfig); 11061 11062 if(cb){ 11063 jQuery('#'+id + ' .btn-action-close-modal').on( "click", cb); 11064 } 11065 11066 return id; 11067}; 11068 11069CTL_BOOTSTRAP_MODALS.prototype.confirm = function( szTitle, szHtmlContent, 11070 szConfirmBtnTitle, cb = null ){ 11071 var id = this.showModal({ 11072 modal_title : szTitle, 11073 modal_content : szHtmlContent, 11074 closeable : ( szTitle && szTitle !== "" ) ? true : false, 11075 position: "centered", 11076 entrance_animation : "animate__slideInUp", 11077 exit_animation : "animate__slideOutDown", 11078 footer_buttons : ['<button class="btn btn-primary" data-confirm="modal">'+szConfirmBtnTitle+'</button>'] 11079 }); 11080 11081 if(cb){ 11082 jQuery('#'+id + ' button[data-confirm="modal"]').on( "click", cb); 11083 } 11084 11085 return id; 11086}; 11087 11088CTL_BOOTSTRAP_MODALS.prototype.showModal = function( oConfig ){ 11089 11090 var oData = { 11091 cb_close : null, 11092 closeable : true, 11093 modal_id : null, 11094 modal_title : "", 11095 modal_content : "", 11096 button_close_title : g_oCTLBootstrapModalsLocalizationFront["Close"], 11097 button_close_class : "btn-secondary", 11098 position : 'default', 11099 no_margins : false, 11100 width : 'auto', 11101 height : 'auto', 11102 animation : true, 11103 rounded : true, 11104 entrance_animation : 'animate__fadeIn', 11105 exit_animation : 'animate__fadeOut', 11106 entrance_alpha : false, 11107 exit_alpha : false, 11108 footer_btn_close : true, 11109 wrapper_classes : '', 11110 attributes : '', 11111 footer_buttons : [], 11112 draggable : false, 11113 closing_action : "close_modal", 11114 closing_redirect : "", 11115 closing_external_url : "", 11116 11117 }; 11118 jQuery.extend( oData, oConfig); 11119 11120 oConfig = oData; 11121 11122 if (this._aDialogs.length > 0 ){ 11123 jQuery("#"+this._aDialogs[this._aDialogs.length-1]).fadeOut({duration:200});
11124 jQuery(".modal-backdrop").last().fadeOut({duration:200}); 11125 } 11126 11127 var oModalData = this.buildModal(oConfig); 11128 11129 jQuery('body').append(oModalData.html); 11130 11131 var oBootstrapConfig = {}; 11132 11133 if ( oConfig.closeable === false ){ 11134 oBootstrapConfig["backdrop"] = 'static'; 11135 oBootstrapConfig["keyboard"] = false; 11136 } 11137 11138 jQuery('#'+oModalData.id).modal(oBootstrapConfig); 11139 11140 if ( oConfig.draggable === true ){ 11141 jQuery('#'+oModalData.id).draggable({ 11142 handle: ".modal-header" 11143 }); 11144 } 11145 11146 if ( oConfig.cb_close ){ 11147 $('#'+oModalData.id).on("hidden.bs.modal", function () { 11148 oConfig.cb_close(); 11149 }); 11150 } 11151 11152 g_oCTLWPStudio.applyChromaCorrection(); 11153 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", jQuery('#'+oModalData.id) ); 11154 11155 g_oCTLWPStudio.onResize(jQuery('#'+oModalData.id)); 11156 11157 g_oCTLWPStudio.resizeAspectRatioElements(jQuery('#'+oModalData.id)); 11158 11159 jQuery("html").css("overflow","hidden"); 11160 11161 this._aDialogs.push(oModalData.id); 11162 11163 return oModalData.id; 11164}; 11165 11166CTL_TOASTS.prototype.showToasts = function(){ 11167 jQuery(".toast.animated").each(function(){ 11168 if ( !jQuery(this).hasClass("animate__fadeInRight")){ 11169 jQuery(this).addClass("animate__fadeInRight"); 11170 } 11171 }); 11172}; 11173 11174CTL_TOASTS.prototype.appendToast = function( szTitle, szMessage, szCode, szClass, bAutoClose ){ 11175 var guid = g_oCTLWPStudio.makeCode(4); 11176 jQuery(".ctl-theme-bootstrap-toasts-content").append( 11177 this.buildToast( szTitle, szMessage, szCode, szClass, guid ) ); 11178 this.showToasts(); 11179 11180 if ( bAutoClose === true ){ 11181 setTimeout(function(){ 11182 jQuery("#"+guid).find(".close").click(); 11183 }, 5000); 11184 } 11185}; 11186 11187CTL_TOASTS.prototype.buildToast = function( szTitle, szMessage, szCode, szUserClasses, guid ){ 11188 var html = ''; 11189 11190 szClass = 'toast animated animate__animated'; 11191 11192 if (szUserClasses){ 11193 szClass += ' ' + szUserClasses; 11194 } 11195 11196 if ( szCode ){ 11197 szMessage = '<div class="alert alert-' + szCode + '">' + szMessage + '</div>'; 11198 } 11199 11200 html += '<div id="'+guid+'" class="'+szClass+'" role="alert" aria-live="assertive" aria-atomic="true">'; 11201 html += '<div class="toast-header">'; 11202 //html += '<img src="..." class="rounded mr-2" alt="...">'; 11203 html += '<strong class="mr-auto">'+szTitle+'</strong>'; 11204 html += '<small class="text-muted"></small>'; 11205 html += '<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="' + 11206 g_oCTLBootstrapModalsLocalizationFront["Close"] + '">'; 11207 html += '<span aria-hidden="true">×</span>'; 11208 html += '</button>'; 11209 html += '</div>'; 11210 html += '<div class="toast-body">'; 11211 html += szMessage; 11212 html += '</div>'; 11213 html += '</div>'; 11214 11215 return html; 11216}; 11217 11218 11219 11220CTL_TOASTS.prototype.onCheckUserNotifications = function(){ 11221 var oParent = this; 11222 11223 jQuery.post( 11224 g_oCTLWPStudio._oLangCommon["ajaxurl"],{ 11225 'action' : 'ctl-wp-studio', 11226 'execute' : 'ctl-theme-bootstrap-modals', 11227 'extension-action' : 'user-notification' 11228 } 11229 ).done( function(response){ 11230 var aData = JSON.parse(response); 11231 11232 for( var i = 0; i < aData.notifications.length; i++ ){ 11233 var oNotification = aData.notifications[i]; 11234 11235 oParent.appendToast( 11236 oNotification["title"], 11237 oNotification["message"], 11238 oNotification["url"], 11239 oNotification["code"], 11240 oNotification["class"]); 11241 } 11242 11243 }).fail( function(){ 11244 setTimeout( function(){ 11245 oParent.onCheckUserNotifications(); 11246 }, 5000); 11247 }); 11248 11249}; 11250// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-form-fields/php/../js/common.js 11251var CTL_GEO = function(){ 11252 11253}; 11254 11255CTL_GEO.prototype.filterSelect2ChangeValue = function( oNodeSelect, szValue ){ 11256 switch(oNodeSelect.attr("name")){ 11257 case "country":{ 11258 11259 var aExcludedCountry = ["AF","AT","AX","BE","BH","BI","CZ","DE","DK","EE","FI","FR","GP","GF","IS","IL","IM","KR","KW","LB","LU","MQ","MT","NL","NO","PL","PT","RE","RS","SG","SK","SI","LK","SE"]; 11260 11261 if ( aExcludedCountry.includes(szValue)){ 11262 jQuery(".ctl-geo-zone-select").closest(".ctl-geo-address-zone").addClass("d-none"); 11263 }else{ 11264 var oNodeZone = jQuery(".ctl-geo-zone-select"); 11265 if ( oNodeZone.length > 0 ){ 11266 oNodeZone.val("").trigger('change'); 11267 } 11268 jQuery(".ctl-geo-zone-select").closest(".ctl-geo-address-zone").removeClass("d-none"); 11269 } 11270 11271 var oNodeCity = jQuery(".ctl-geo-city-select"); 11272 if ( oNodeCity.length > 0 ){ 11273 oNodeCity.val("").trigger('change'); 11274 } 11275 }break; 11276 case "zone":{ 11277 var oNodeCity = jQuery(".ctl-geo-city-select"); 11278 if ( oNodeCity.length > 0 ){ 11279 oNodeCity.val("").trigger('change'); 11280 } 11281 }break; 11282 } 11283}; 11284 11285CTL_GEO.prototype.filterSelect2AjaxData = function( oData, oNodeSelect ){ 11286 11287 switch( oData.type_search ){ 11288 case "QUERY_SET_FILTER_WOO_ZONES":{ 11289 var szGeoGuid = oNodeSelect.attr("data-geo-guid"); 11290 var oNodeCountry = jQuery(".ctl-geo-country-select."+szGeoGuid); 11291 // var oNodeCountry = oNodeSelect.closest(".ctl-geo-fields").find(".ctl-geo-country-select"); 11292 if( oNodeCountry.val() ){ 11293 oData["country"] = oNodeCountry.val(); 11294 } 11295 }break; 11296 case "QUERY_SET_FILTER_CITIES":{ 11297 var szGeoGuid = oNodeSelect.attr("data-geo-guid"); 11298 var oNodeCountry = jQuery(".ctl-geo-country-select."+szGeoGuid); 11299 11300 // var oNodeCountry = oNodeSelect.closest(".ctl-geo-fields").find(".ctl-geo-country-select"); 11301 if( oNodeCountry.val() ){ 11302 oData["country"] = oNodeCountry.val(); 11303 } 11304 11305 var oNodeZone = jQuery(".ctl-geo-zone-select."+szGeoGuid); 11306 // var oNodeZone = oNodeSelect.closest(".ctl-geo-fields").find(".ctl-geo-zone-select"); 11307 if( oNodeZone.val() ){ 11308 oData["zone"] = oNodeZone.val(); 11309 } 11310 }break; 11311 } 11312 11313 return oData; 11314}; 11315 11316var g_oCTLGeo = new CTL_GEO(); 11317 11318function ctlSummernoteInit(){ 11319 jQuery(".summernote-textarea").each(function(){ 11320 let szFieldName = jQuery(this).attr("name"); 11321 var oConfig = { 11322 cleaner:{ 11323 limitChars: jQuery(this).attr("maxlength"), 11324 limitDisplay: "both", 11325 limitStop: false, 11326 limitType: "text", 11327 }, 11328 callbacks: { 11329 onChange: function(contents, editable) { 11330 let oNodeTextArea = editable.closest(".ctltextareafield").find("[name='" + szFieldName + "']"); 11331 11332 const text = $('<div>').html(contents).text(); 11333 const maxLength = parseInt(oNodeTextArea.attr("maxlength"), 10); 11334 11335 if (text.length > maxLength && maxLength > 0) { 11336 const truncated = text.substring(0, maxLength); 11337 $(this).summernote('code', truncated); 11338 oNodeTextArea.val(truncated).trigger("change"); 11339 let $editable = jQuery(editable); 11340 let editableNode = $editable[0]; 11341 11342 // Posizionamento caret alla fine del contenuto dell'area modificabile 11343 if (editableNode) { 11344 $editable.focus(); 11345 11346 var range = document.createRange(); 11347 var sel = window.getSelection(); 11348 11349 // Seleziona tutto il contenuto dell'area modificabile 11350 range.selectNodeContents(editableNode); 11351
11352 // collapse(false) sposta il punto di inserimento esattamente alla FINE 11353 range.collapse(false); 11354 11355 sel.removeAllRanges(); 11356 sel.addRange(range); 11357 } 11358 }else{ 11359 oNodeTextArea.val(contents).trigger("change"); 11360 } 11361 }, 11362 onKeydown: function(e) { 11363 const text = $(this).summernote('code') 11364 .replace(/<[^>]*>/g, '') // rimuove i tag HTML 11365 .replace(/ /g, ' '); 11366 11367 let oNodeTextArea = $(this).closest(".ctltextareafield").find("[name='" + szFieldName + "']"); 11368 const maxLength = parseInt(oNodeTextArea.attr("maxlength"), 10); 11369 11370 if (text.length >= maxLength && 11371 window.getSelection().toString().length == 0 && 11372 e.key.length === 1 && 11373 e.keyCode !== 8 && // Backspace 11374 e.keyCode !== 46 && // Delete 11375 !e.ctrlKey && 11376 !e.metaKey) { 11377 e.preventDefault(); 11378 } 11379 } 11380 } 11381 }; 11382 if( jQuery(this).attr("data-summernote-tabsize") ){ 11383 oConfig["tabsize"] = parseInt(jQuery(this).attr("data-summernote-tabsize")); 11384 } 11385 if( jQuery(this).attr("data-summernote-height") ){ 11386 oConfig["height"] = parseInt(jQuery(this).attr("data-summernote-height")); 11387 } 11388 11389 if ( jQuery(this).closest(".modal").length > 0 ){ 11390 oConfig["dialogsInBody"] = true; 11391 } 11392 11393 let guid = jQuery(this).attr("id"); 11394 jQuery("#"+guid).summernote(oConfig); 11395 }); 11396} 11397 11398jQuery(document).ready(function(){ 11399 11400 ctlSignatureFormControl(); 11401 11402 var szSelectorToMaximize = g_oCTLWPStudio.getUrlVar("maximize"); 11403 if (szSelectorToMaximize){ 11404 var oNodeButton = jQuery('button[data-maximize-selector="' + szSelectorToMaximize + '"]'); 11405 if ( oNodeButton.length > 0 ){ 11406 ctlFormFieldsMaximizeSelector(oNodeButton); 11407 } 11408 } 11409 11410 g_oCTLWPStudio._aSelect2AjaxDataFilters.push( { 11411 cb : g_oCTLGeo.filterSelect2AjaxData, 11412 cbOwner : g_oCTLGeo 11413 }); 11414 11415 g_oCTLWPStudio._aSelect2ChangeValue.push( { 11416 cb : g_oCTLGeo.filterSelect2ChangeValue, 11417 cbOwner : g_oCTLGeo 11418 }); 11419 11420 jQuery(document).on("change", ".ctls2searchfield.print-layout-on-change-value select", function(){ 11421 let oNodeSelect = jQuery(this); 11422 let szValue = oNodeSelect.val(); 11423 11424 let oNodeFormGroup = oNodeSelect.closest(".form-group"); 11425 let idWidget = oNodeFormGroup.attr("widget-id"); 11426 let oNodeChangeValueLayoutWrapper = oNodeFormGroup.parent().find(".change-value-layout-wrapper[widget-id='" + idWidget + "']"); 11427 11428 let oFormData = {}; 11429 oFormData['action'] = 'ctl-wp-studio'; 11430 oFormData['execute'] = 'ctl-form-fields'; 11431 oFormData['extension-action'] = 'search-field-print-change-value-layout'; 11432 oFormData['widget-id'] = idWidget; 11433 oFormData['value'] = szValue; 11434 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 11435 11436 var idLoading = g_oCTLWPStudio.showLoading(""); 11437 jQuery.ajax({ 11438 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 11439 type: "POST", 11440 data : oFormData, 11441 cache: false, 11442 method: 'POST', 11443 success: function(response, textStatus, jqXHR){ 11444 g_oCTLWPStudio.closeDlg(idLoading); 11445 var oResponse = jQuery.parseJSON(response); 11446 if( oResponse.res === false ){ 11447 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 11448 }else{ 11449 oNodeChangeValueLayoutWrapper.html(Base64.decode(oResponse.html)); 11450 oNodeChangeValueLayoutWrapper.removeClass("d-none"); 11451 11452 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", oNodeChangeValueLayoutWrapper); 11453 ctlVulcanoResizeLayout(); 11454 } 11455 },error: function(jqXHR, textStatus, errorThrown){ 11456 g_oCTLWPStudio.closeDlg(idLoading); 11457 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 11458 } 11459 }); 11460 }); 11461 11462 jQuery(document).on("click", ".ctl-form-field-repeater-remove-item", function(){ 11463 let oNodeRemoveButton = jQuery(this); 11464 11465 let oNodeWrapper = oNodeRemoveButton.closest(".ctl-form-field-repeater-wrapper"); 11466 let oNodeLayoutList = oNodeWrapper.find(".ctl-form-field-repeater-layout-list"); 11467 let aNodesListItems = oNodeLayoutList.find(".ctl-form-field-repeater-layout-list-item"); 11468 11469 if(aNodesListItems.length-1 <= Number(oNodeLayoutList.data("min-layouts"))){ 11470 oNodeRemoveButton.addClass("d-none"); 11471 } 11472 11473 oNodeLayoutList.find(".ctl-form-field-repeater-layout-list-item").last().remove(); 11474 }); 11475 11476 jQuery(document).on("click", ".ctl-form-field-repeater-add-item", function(){ 11477 let oNodeAddButton = jQuery(this); 11478 let oNodeWrapper = oNodeAddButton.closest(".ctl-form-field-repeater-wrapper"); 11479 let oNodeLayoutList = oNodeWrapper.find(".ctl-form-field-repeater-layout-list"); 11480 11481 var oFormData = {}; 11482 oFormData['action'] = 'ctl-wp-studio'; 11483 oFormData['execute'] = 'ctl-form-fields'; 11484 oFormData['extension-action'] = 'repeater-layout'; 11485 oFormData['widget-id'] = oNodeWrapper.data("widget-id"); 11486 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 11487 11488 var idLoading = g_oCTLWPStudio.showLoading(""); 11489 jQuery.ajax({ 11490 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 11491 type: "POST", 11492 data : oFormData, 11493 cache: false, 11494 method: 'POST', 11495 success: function(response, textStatus, jqXHR){ 11496 g_oCTLWPStudio.closeDlg(idLoading); 11497 var oResponse = jQuery.parseJSON(response); 11498 if( oResponse.res === false ){ 11499 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 11500 }else{ 11501 var html = Base64.decode(oResponse.html); 11502 oNodeLayoutList.append(html); 11503 11504 let aNodesListItems = oNodeLayoutList.find(".ctl-form-field-repeater-layout-list-item"); 11505 if( aNodesListItems.length > Number(oNodeLayoutList.data("min-layouts")) ){ 11506 oNodeWrapper.find(".ctl-form-field-repeater-remove-item").removeClass("d-none"); 11507 } 11508 11509 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", oNodeLayoutList); 11510 ctlVulcanoResizeLayout(); 11511 } 11512 },error: function(jqXHR, textStatus, errorThrown){ 11513 g_oCTLWPStudio.closeDlg(idLoading); 11514 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 11515 } 11516 }); 11517 }); 11518 11519 jQuery(document).on("change", ".ctl-form-fields-radio-dynamic-layout input[type=radio]", function(){ 11520 11521 let idDynamicLayouts = jQuery(this).attr("data-guid-dynamic-layouts"); 11522 let oNodeAttachLayout = jQuery("#"+idDynamicLayouts); 11523 let szDataLayouts = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper").data("radio-layouts"); 11524 11525 if (!szDataLayouts || 11526 szDataLayouts === ""){ 11527 return; 11528 } 11529 11530 let aLayouts = JSON.parse(Base64.decode(szDataLayouts)); 11531 let idOption = aLayouts[jQuery(this).val()]; 11532 11533 if (!idOption){ 11534 oNodeAttachLayout.html(""); 11535 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", oNodeAttachLayout); 11536 ctlVulcanoResizeLayout(); 11537 return; 11538 } 11539 11540 var oFormData = {}; 11541 oFormData['action'] ='ctl-wp-studio'; 11542 oFormData['execute'] ='ctl-form-fields'; 11543 oFormData['extension-action'] ='radio-option-layout'; 11544 oFormData['option-id'] = idOption; 11545 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 11546 11547 var idLoading = g_oCTLWPStudio.showLoading(""); 11548 jQuery.ajax({ 11549 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 11550 type: "POST", 11551 data : oFormData, 11552 cache: false, 11553 method: 'POST', 11554 success: function(response, textStatus, jqXHR){ 11555 g_oCTLWPStudio.closeDlg(idLoading); 11556 var oResponse = jQuery.parseJSON(response); 11557 if( oResponse.res === false ){ 11558 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 11559 }else{ 11560 var html = Base64.decode(oResponse.html); 11561 oNodeAttachLayout.html(html); 11562 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", oNodeAttachLayout); 11563 ctlVulcanoResizeLayout(); 11564 } 11565 },error: function(jqXHR, textStatus, errorThrown){ 11566 g_oCTLWPStudio.closeDlg(idLoading); 11567 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 11568 } 11569 }); 11570 }); 11571 11572 jQuery(document).on("change", "select.ctl-form-fields-select-dynamic-layout", function(){ 11573 11574 let idDynamicLayouts = jQuery(this).attr("data-guid-dynamic-layouts"); 11575 let oNodeAttachLayout = jQuery("#"+idDynamicLayouts); 11576 11577 let szDataLayouts = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper").data("select-layouts"); 11578 11579 if (!szDataLayouts || 11580 szDataLayouts === ""){ 11581 return; 11582 } 11583 11584 let aLayouts = JSON.parse(Base64.decode(szDataLayouts)); 11585 let idOption = aLayouts[jQuery(this).val()]; 11586 11587 if (!idOption){ 11588 oNodeAttachLayout.html(""); 11589 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", oNodeAttachLayout); 11590 ctlVulcanoResizeLayout(); 11591 return; 11592 } 11593 11594 var oFormData = {}; 11595 oFormData['action'] ='ctl-wp-studio'; 11596 oFormData['execute'] ='ctl-form-fields'; 11597 oFormData['extension-action'] ='select-option-layout'; 11598 oFormData['option-id'] = idOption; 11599 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 11600 11601 var idLoading = g_oCTLWPStudio.showLoading(""); 11602 jQuery.ajax({ 11603 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 11604 type: "POST", 11605 data : oFormData, 11606 cache: false, 11607 method: 'POST', 11608 success: function(response, textStatus, jqXHR){ 11609 g_oCTLWPStudio.closeDlg(idLoading); 11610 var oResponse = jQuery.parseJSON(response); 11611 if( oResponse.res === false ){ 11612 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 11613 }else{ 11614 var html = Base64.decode(oResponse.html); 11615 oNodeAttachLayout.html(html); 11616 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", oNodeAttachLayout); 11617 ctlVulcanoResizeLayout(); 11618 } 11619 },error: function(jqXHR, textStatus, errorThrown){ 11620 g_oCTLWPStudio.closeDlg(idLoading); 11621 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 11622 } 11623 }); 11624 }); 11625 11626 11627 jQuery(document).on("click", ".btn-action-switch-3s-state", function(){ 11628 let oNodeFormControl = jQuery(this).closest(".ctlswitch3sfield"); 11629 let oNodeSwitch = oNodeFormControl.find(".switch"); 11630 let oNodeControlWrapper = oNodeFormControl.find(".ctl-switch-3s-control-wrapper"); 11631 let oNodeInput = oNodeFormControl.find('input[type=hidden]'); 11632 let szNewState = jQuery(this).data("state"); 11633 11634 let szOldState = oNodeControlWrapper.data("state"); 11635 if (szOldState){ 11636 oNodeControlWrapper.removeClass("ctl-switch-3s-" + szOldState); 11637 11638 if ( szOldState == szNewState ){ 11639 szNewState = "neutral"; 11640 oNodeFormControl.find('input[type=hidden]').val(""); 11641 } 11642 } 11643 11644 oNodeControlWrapper.data("state", szNewState); 11645 oNodeControlWrapper.addClass("ctl-switch-3s-" + szNewState); 11646 11647 switch(szNewState ){ 11648 case "on":{ 11649 oNodeInput.val(oNodeSwitch.attr("data-on-value")); 11650 }break; 11651 case "off":{ 11652 oNodeInput.val(oNodeSwitch.attr("data-off-value")); 11653 }break; 11654 case "neutral":{ 11655 oNodeInput.val(""); 11656 }break; 11657 } 11658 }); 11659 11660 11661 11662 jQuery(document).on("input change paste", ".profit-field input[type=number]", function(){ 11663 var oNode = jQuery(this); 11664 11665 oNode.removeClass("ctl-positive-color"); 11666 oNode.removeClass("ctl-negative-color"); 11667 oNode.removeClass("ctl-neutral-color"); 11668 11669 if ( oNode.val() > 0 ){ 11670 oNode.addClass("ctl-positive-color"); 11671 }else if ( oNode.val() < 0 ){ 11672 oNode.addClass("ctl-negative-color"); 11673 }else{ 11674 oNode.addClass("ctl-neutral-color"); 11675 } 11676 }); 11677 11678 jQuery(document).on("click", ".btn-action-open-create-modal", function(){ 11679 var idCreateModal = jQuery(this).attr("data-modal-id"); 11680 var oNodeWrapper = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper"); 11681 var oNodeSelect = oNodeWrapper.find("select"); 11682 11683 if ( oNodeSelect.is('[readonly]') ){ 11684 return; 11685 } 11686 11687 if ( oNodeSelect.hasClass("ctl-form-fields-cascading-select2-search-cpt") ){ 11688 var iParentIndex = Number(oNodeSelect.attr("data-parent-select-index")); 11689 11690 if ( isNaN(iParentIndex) === false ){ 11691 var oNodeParentSelect = jQuery(".ctl-form-fields-cascading-select2-search-cpt-"+iParentIndex); 11692 var idParentValue = Number(oNodeParentSelect.val()); 11693 11694 if ( isNaN(idParentValue) === false && idParentValue > 0 ){
11695 g_oCTLBootstrapModals.loadModal(idCreateModal, { "parent-id" : idParentValue }); 11696 } 11697 }else{ 11698 g_oCTLBootstrapModals.loadModal(idCreateModal); 11699 } 11700 }else{ 11701 g_oCTLBootstrapModals.loadModal(idCreateModal); 11702 } 11703 }); 11704 11705 jQuery(document).on("click", ".btn-action-open-edit-modal", function(){ 11706 var idEditModal = jQuery(this).attr("data-modal-id"); 11707 var oNodeWrapper = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper"); 11708 var oNodeSelect = oNodeWrapper.find("select"); 11709 11710 if ( oNodeSelect.is('[readonly]') ){ 11711 return; 11712 } 11713 11714 g_oCTLBootstrapModals.loadModal(idEditModal, { "resource-id" : oNodeSelect.val() }); 11715 }); 11716 11717 jQuery(document).on("input change paste", ".ctl-wp-studio-select2-search", function(){ 11718 var oNodeWrapper = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper"); 11719 var oNodeBtnOpenEditModal = oNodeWrapper.find(".btn-action-open-edit-modal"); 11720 11721 if ( oNodeBtnOpenEditModal.length > 0 ){ 11722 if ( jQuery(this).val() !== "" && jQuery(this).val() !== null ){ 11723 oNodeBtnOpenEditModal.removeClass("d-none"); 11724 }else{ 11725 oNodeBtnOpenEditModal.addClass("d-none"); 11726 } 11727 } 11728 }); 11729 11730 jQuery(document).on("focus", "input.form-control,textarea.form-control", function(){ 11731 if ( !jQuery("body").hasClass("bp-xs")){ 11732 return; 11733 } 11734 var oNode = jQuery(this); 11735 var iOffsetTop = oNode.offset().top; 11736 if( oNode.closest(".modal").length > 0 ){ 11737 iOffsetTop -= jQuery('.modal-body').offset().top; 11738 jQuery('.modal-body').animate({ scrollTop: iOffsetTop }, 'slow'); 11739 }else{ 11740 iOffsetTop -= 150; 11741 jQuery('html,body').animate({ scrollTop: iOffsetTop }, 'slow'); 11742 } 11743 }); 11744 11745 jQuery(document).on("click", ".ctl-form-fields-action-edit-text-field", function(){ 11746 var idConfigField = jQuery(this).attr("data-id-field-config"); 11747 var oNodeName = jQuery(this).closest(".modal-content").find("input[name=field-name]"); 11748 var oNodeGuid = jQuery(this).closest(".modal-content").find("input[name=guid]"); 11749 var oNodeForm = jQuery(this).closest(".modal-content").find("form"); 11750 var oFormData = oNodeForm.serializeObject(); 11751 11752 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 11753 return; 11754 } 11755 11756 var oConfig = { 11757 "id" : g_oCTLWPStudio.makeCode(4), 11758 "title" : oNodeName.val(), 11759 "name" : g_oCTLWPStudio.sanitizeTitle(oNodeName.val()), 11760 "type" : "text", 11761 "mandatory" : oFormData["mandatory"] 11762 }; 11763 11764 g_oCTLBootstrapModals.closeModal(jQuery(this).closest(".modal")); 11765 11766 oNodeFieldData = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-data"); 11767 oNodeFieldContainer = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-container"); 11768 11769 var szConfig = oNodeFieldData.val(); 11770 aConfigFields = JSON.parse(Base64.decode(szConfig)); 11771 for( var i = 0; i < aConfigFields.length; i++ ){ 11772 if ( aConfigFields[i].id == oNodeGuid.val() ){ 11773 aConfigFields[i] = jQuery.extend(aConfigFields[i], oConfig); 11774 break; 11775 } 11776 } 11777 11778 __ctlFormFieldsUpdateConfigFieldList(oNodeFieldContainer, aConfigFields); 11779 oNodeFieldData.val( Base64.encode(JSON.stringify(aConfigFields)) ); 11780 }); 11781 11782 jQuery(document).on("click", ".ctl-form-fields-action-edit-calendar-field", function(){ 11783 var idConfigField = jQuery(this).attr("data-id-field-config"); 11784 var oNodeName = jQuery(this).closest(".modal-content").find("input[name=field-name]"); 11785 var oNodeGuid = jQuery(this).closest(".modal-content").find("input[name=guid]"); 11786 var oNodeForm = jQuery(this).closest(".modal-content").find("form"); 11787 var oFormData = oNodeForm.serializeObject(); 11788 11789 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 11790 return; 11791 } 11792 11793 var oConfig = { 11794 "id" : g_oCTLWPStudio.makeCode(4), 11795 "title" : oNodeName.val(), 11796 "name" : g_oCTLWPStudio.sanitizeTitle(oNodeName.val()), 11797 "type" : "text", 11798 "mandatory" : oFormData["mandatory"] 11799 }; 11800 11801 g_oCTLBootstrapModals.closeModal(jQuery(this).closest(".modal")); 11802 11803 oNodeFieldData = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-data"); 11804 oNodeFieldContainer = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-container"); 11805 11806 var szConfig = oNodeFieldData.val(); 11807 aConfigFields = JSON.parse(Base64.decode(szConfig)); 11808 for( var i = 0; i < aConfigFields.length; i++ ){ 11809 if ( aConfigFields[i].id == oNodeGuid.val() ){ 11810 aConfigFields[i] = jQuery.extend(aConfigFields[i], oConfig); 11811 break; 11812 } 11813 } 11814 11815 __ctlFormFieldsUpdateConfigFieldList(oNodeFieldContainer, aConfigFields); 11816 oNodeFieldData.val( Base64.encode(JSON.stringify(aConfigFields)) ); 11817 }); 11818 11819 jQuery(document).on("click", ".ctl-form-fields-action-edit-radio-field", function(){ 11820 var idConfigField = jQuery(this).attr("data-id-field-config"); 11821 var oNodeSelect = jQuery(this).closest(".modal-content").find(".ctl-draggable-hidden-select"); 11822 var oNodeName = jQuery(this).closest(".modal-content").find("input[name=field-name]"); 11823 var oNodeGuid = jQuery(this).closest(".modal-content").find("input[name=guid]"); 11824 var oNodeForm = jQuery(this).closest(".modal-content").find(".ctl-form-fields-add-field"); 11825 11826 var oFormData = oNodeForm.serializeObject(); 11827 11828 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 11829 return; 11830 } 11831 11832 var aRadioFieldData = []; 11833 oNodeSelect.find("option").each(function(){ 11834 aRadioFieldData.push({ 11835 value : jQuery(this).attr("value"), 11836 label : jQuery(this).text() 11837 }); 11838 }); 11839 11840 var oConfig = { 11841 "id" : oNodeGuid.val(), 11842 "title" : oNodeName.val(), 11843 "name" : g_oCTLWPStudio.sanitizeTitle(oNodeName.val()), 11844 "type" : "radio", 11845 "items" : aRadioFieldData, 11846 "mandatory" : oFormData["mandatory"] 11847 }; 11848 11849 g_oCTLBootstrapModals.closeModal(jQuery(this).closest(".modal")); 11850 11851 oNodeFieldData = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-data"); 11852 oNodeFieldContainer = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-container"); 11853 11854 var szConfig = oNodeFieldData.val(); 11855 aConfigFields = JSON.parse(Base64.decode(szConfig)); 11856 for( var i = 0; i < aConfigFields.length; i++ ){ 11857 if ( aConfigFields[i].id == oNodeGuid.val() ){ 11858 aConfigFields[i] = jQuery.extend(aConfigFields[i], oConfig); 11859 break; 11860 } 11861 } 11862 11863 __ctlFormFieldsUpdateConfigFieldList(oNodeFieldContainer, aConfigFields); 11864 oNodeFieldData.val( Base64.encode(JSON.stringify(aConfigFields)) ); 11865 }); 11866 11867 jQuery(document).on("click", ".ctl-form-field-action-signature-clear", function(){ 11868 jQuery(this).closest(".ctl-signature-img-container").addClass("d-none"); 11869 var oNodeSignatureField = jQuery(this).closest(".ctlsignaturefield"); 11870 oNodeSignatureField.find("textarea").val(""); 11871 11872 let oNodeIFrame = oNodeSignatureField.find(".ctl-signature-iframe").first(); 11873 let szStrokeColor = oNodeIFrame.data('stroke-color'); 11874 let szStrokeWidth = oNodeIFrame.data('stroke-width'); 11875 11876 oNodeIFrame[0].contentWindow.triggerEvent( 11877 'changeColor', 11878 szStrokeColor 11879 ); 11880 11881 oNodeIFrame[0].contentWindow.triggerEvent( 11882 'changeStrokeWidth', 11883 szStrokeWidth 11884 ); 11885 11886 oNodeSignatureField.find(".ctl-signature-iframe-container").removeClass("d-none"); 11887 g_oCTLWPStudio.onResize(); 11888 11889 oNodeIFrame[0].scrollIntoView({block:"nearest",container:"nearest"}); 11890 }); 11891 11892 jQuery(document).on("click", ".ctl-form-field-show-upload-signature-dialog", function(){ 11893 var oFormData = {}; 11894 11895 let oNodeFormControlWrapper = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper"); 11896 let szWidgetID = oNodeFormControlWrapper.data("widget-id"); 11897 11898 let html = ''; 11899 html += '<form data-widget-id="'+ szWidgetID +'">'; 11900 html += formFieldsBuildUploadAreaField({ 11901 "field-name" : "upload-image", 11902 // "preview-image" : szTypeMedia === "image" ? true : false, 11903 "browse-icon" : "", 11904 "btn-outlined" : true, 11905 "mandatory" : true, 11906 "mandatory-on-label" : true, 11907 "label-button" : g_oCTLEditorsFrameworkLocalizationFront["Browse"], 11908 "append-buttons" : '<button type="button" class="' + 11909 'btn btn-outline-primary ctl-form-fields-upload-signature">'+ 11910 g_oCTLEditorsFrameworkLocalizationFront["Continue"]+'</button>' 11911 }); 11912 html += '</form>'; 11913 11914 g_oCTLBootstrapModals.showModal({ 11915 wrapper_classes : "ctl-form-field-upload-signature-dialog", 11916 modal_title : g_oCTLDropBoxLocalizationFront["Upload file"], 11917 modal_content : html, 11918 closeable : true, 11919 width: '80', 11920 position: "centered", 11921 entrance_animation : "animate__slideInUp", 11922 exit_animation : "animate__slideOutDown", 11923 }); 11924 }); 11925 11926 jQuery(document).on("click", ".ctl-form-fields-upload-signature", function(){ 11927 let oNodeForm = jQuery(this).closest("form"); 11928 let szWidgetID = oNodeForm.data("widget-id"); 11929 11930 let oNodeModal = jQuery(this).closest(".modal"); 11931 let oInputFiles = oNodeForm.find('input[name="upload-image"]')[0].files; 11932 11933 if(oInputFiles.length > 0) { 11934 let oNodeSignatureFormControlWrapper = 11935 jQuery(".ctl-wp-studio-form-control-wrapper.ctlsignaturefield[data-widget-id='"+ szWidgetID +"']"); 11936 let oNodeIFrame = oNodeSignatureFormControlWrapper.find(".ctl-signature-iframe-container iframe").first(); 11937 let oContentWindow = oNodeIFrame[0].contentWindow; 11938 let oFileToPrint = oInputFiles.item(0); 11939 11940 let aAllowedFileTypes = ['image/jpeg', 'image/png']; 11941 if (!aAllowedFileTypes.includes(oFileToPrint.type)) { 11942 alert(g_oCTLFormFieldsLocalizationCommon["Invalid file type. Please upload a JPEG or PNG image."]); 11943 return; 11944 } 11945 11946 let oFileReader = new FileReader();
11947 oFileReader.readAsDataURL(oFileToPrint); 11948 oFileReader.onload = function () { 11949 oContentWindow.triggerEvent('drawUploadedImage', oFileReader.result); 11950 g_oCTLBootstrapModals.closeModal(oNodeModal); 11951 }; 11952 oFileReader.onerror = function (error) { 11953 alert(g_oCTLFormFieldsLocalizationCommon["Ooops! Something Went Wrong!"]); 11954 }; 11955 } 11956 }); 11957 11958 jQuery(document).on("click", ".ctl-form-fields-action-config-fields-edit-item", function(){ 11959 var oNodeListItem = jQuery(this).closest("li"); 11960 11961 var szData = oNodeListItem.attr("data-field"); 11962 var oData = JSON.parse(Base64.decode(szData)); 11963 11964 switch(oData.type){ 11965 case "radio":{ 11966 __ctlFormFieldsConfigFieldsEditRadioField(oData, 11967 jQuery(this).closest(".ctlcustomfields").attr("id") ); 11968 }break; 11969 case "text":{ 11970 __ctlFormFieldsConfigFieldsEditTextField(oData, 11971 jQuery(this).closest(".ctlcustomfields").attr("id") ); 11972 }break; 11973 case "calendar":{ 11974 __ctlFormFieldsConfigFieldsEditCalendarField(oData, 11975 jQuery(this).closest(".ctlcustomfields").attr("id") ); 11976 }break; 11977 } 11978 }); 11979 11980 jQuery(document).on("click", ".ctl-form-fields-action-config-fields-remove-item", function(){ 11981 var oNodeListItem = jQuery(this).closest("li"); 11982 var oNodeContainer = oNodeListItem.closest(".container-fluid"); 11983 var base64Data = oNodeContainer.find(".ctl-form-fields-config-fields-data").val(); 11984 11985 var aConfig = JSON.parse(Base64.decode(base64Data)); 11986 11987 aConfig.splice(oNodeListItem.index(),1); 11988 11989 oNodeContainer.find(".ctl-form-fields-config-fields-data").val(Base64.encode(JSON.stringify(aConfig))); 11990 11991 oNodeListItem.remove(); 11992 }); 11993 11994 jQuery(".ctl-form-fields-config-fields-container").each(function(){ 11995 if( g_oCTLWPStudio._oLangCommon["bIsMobile"] !== 1){ 11996 jQuery(this).sortable({ 11997 update : function(){ 11998 11999 var oNodeList = jQuery(this); 12000 var aUpdatedData = []; 12001 oNodeList.find("li").each(function(){ 12002 aUpdatedData.push(JSON.parse(Base64.decode(jQuery(this).attr("data-field")))); 12003 }); 12004 12005 var oNodeValue = oNodeList.closest(".ctlcustomfields").find(".ctl-form-fields-config-fields-data"); 12006 12007 oNodeValue.val(Base64.encode(JSON.stringify(aUpdatedData))); 12008 }, 12009 helper: g_oCTLWPStudio.getSortableHelper(), 12010 placeholder: "ui-sortable-placeholder" 12011 }).disableSelection(); 12012 } 12013 }); 12014 12015 12016 jQuery(document).on("click", ".ctl-form-fields-action-insert-radio-field", function(){ 12017 12018 var idConfigField = jQuery(this).attr("data-id-field-config"); 12019 var oNodeSelect = jQuery(this).closest(".modal-content").find(".ctl-draggable-hidden-select"); 12020 var oNodeName = jQuery(this).closest(".modal-content").find("input[name=field-name]"); 12021 var oNodeForm = jQuery(this).closest(".modal-content").find(".ctl-form-fields-add-field"); 12022 12023 var oFormData = oNodeForm.serializeObject(); 12024 12025 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 12026 return; 12027 } 12028 12029 var aRadioFieldData = []; 12030 oNodeSelect.find("option").each(function(){ 12031 aRadioFieldData.push({ 12032 value : jQuery(this).attr("value"), 12033 label : jQuery(this).text() 12034 }); 12035 }); 12036 12037 var oConfig = { 12038 "id" : g_oCTLWPStudio.makeCode(4), 12039 "title" : oNodeName.val(), 12040 "name" : g_oCTLWPStudio.sanitizeTitle(oNodeName.val()), 12041 "type" : "radio", 12042 "items" : aRadioFieldData, 12043 "mandatory" : oFormData["mandatory"] 12044 }; 12045 12046 g_oCTLBootstrapModals.closeModal(jQuery(this).closest(".modal")); 12047 12048 oNodeFieldData = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-data"); 12049 oNodeFieldContainer = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-container"); 12050 12051 var szConfig = oNodeFieldData.val(); 12052 var aConfigFields = null; 12053 if (!szConfig){ 12054 aConfigFields = []; 12055 }else{ 12056 aConfigFields = JSON.parse(Base64.decode(szConfig)); 12057 } 12058 aConfigFields.push(oConfig); 12059 __ctlFormFieldsUpdateConfigFieldList(oNodeFieldContainer, aConfigFields); 12060 oNodeFieldData.val( Base64.encode(JSON.stringify(aConfigFields)) ); 12061 }); 12062 12063 jQuery(document).on("click", ".ctl-form-fields-action-insert-text-field", function(){ 12064 var idConfigField = jQuery(this).attr("data-id-field-config"); 12065 var oNodeName = jQuery(this).closest(".modal-content").find("input[name=field-name]"); 12066 var oNodeForm = jQuery(this).closest(".modal-content").find(".ctl-form-fields-add-field"); 12067 var oFormData = oNodeForm.serializeObject(); 12068 12069 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 12070 return; 12071 } 12072 12073 var oConfig = { 12074 "id" : g_oCTLWPStudio.makeCode(4), 12075 "title" : oNodeName.val(), 12076 "name" : g_oCTLWPStudio.sanitizeTitle(oNodeName.val()), 12077 "type" : "text", 12078 "mandatory" : oFormData["mandatory"] 12079 }; 12080 12081 g_oCTLBootstrapModals.closeModal(jQuery(this).closest(".modal")); 12082 12083 oNodeFieldData = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-data"); 12084 oNodeFieldContainer = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-container"); 12085 12086 var szConfig = oNodeFieldData.val(); 12087 var aConfigFields = null; 12088 if (!szConfig){ 12089 aConfigFields = []; 12090 }else{ 12091 aConfigFields = JSON.parse(Base64.decode(szConfig)); 12092 } 12093 aConfigFields.push(oConfig); 12094 __ctlFormFieldsUpdateConfigFieldList(oNodeFieldContainer, aConfigFields); 12095 oNodeFieldData.val( Base64.encode(JSON.stringify(aConfigFields)) ); 12096 }); 12097 12098 jQuery(document).on("click", ".ctl-form-fields-action-insert-calendar-field", function(){ 12099 var idConfigField = jQuery(this).attr("data-id-field-config"); 12100 var oNodeName = jQuery(this).closest(".modal-content").find("input[name=field-name]"); 12101 var oNodeForm = jQuery(this).closest(".modal-content").find(".ctl-form-fields-add-field"); 12102 var oFormData = oNodeForm.serializeObject(); 12103 12104 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 12105 return; 12106 } 12107 12108 var oConfig = { 12109 "id" : g_oCTLWPStudio.makeCode(4), 12110 "title" : oNodeName.val(), 12111 "name" : g_oCTLWPStudio.sanitizeTitle(oNodeName.val()), 12112 "type" : "calendar", 12113 "mandatory" : oFormData["mandatory"] 12114 }; 12115 12116 g_oCTLBootstrapModals.closeModal(jQuery(this).closest(".modal")); 12117 12118 oNodeFieldData = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-data"); 12119 oNodeFieldContainer = jQuery("#" + idConfigField).find(".ctl-form-fields-config-fields-container"); 12120 12121 var szConfig = oNodeFieldData.val(); 12122 var aConfigFields = null; 12123 if (!szConfig){ 12124 aConfigFields = []; 12125 }else{ 12126 aConfigFields = JSON.parse(Base64.decode(szConfig)); 12127 } 12128 aConfigFields.push(oConfig); 12129 __ctlFormFieldsUpdateConfigFieldList(oNodeFieldContainer, aConfigFields); 12130 oNodeFieldData.val( Base64.encode(JSON.stringify(aConfigFields)) ); 12131 }); 12132 12133 jQuery(document).on("click", ".ctl-form-fields-action-add-radio-field", function(){ 12134 var oNodeButton = jQuery(this); 12135 var oNodeModal = oNodeButton.closest(".modal"); 12136 12137 var html = ""; 12138 12139 html += '<form class="ctl-form-fields-add-field">'; 12140 12141 html += formFieldsBuildTextField({ 12142 'label-title' : "Nome campo", 12143 'field-name' : 'field-name', 12144 'classes' : 'form-control-sm', 12145 'mandatory' : true, 12146 'display' : 12, 12147 }); 12148 12149 html += formFieldsBuildDraggableListField({ 12150 "fieldname" : "radio-values", 12151 "display" : 12, 12152 "label-title" : "Input radio per scelta singola", 12153 "show-values" : true, 12154 "manually-add-items" : true, 12155 "delete-items" : true, 12156 'mandatory' : true, 12157 }); 12158 12159 html += formFieldsBuildRadioField({ 12160 'label-title' : "Obbligatorio?", 12161 "field-name" : "mandatory", 12162 "display" : 12, 12163 'mandatory' : true, 12164 }, [ { "label" : "si", "value" : 1, "selected" : false }, 12165 { "label" : "no", "value" : 0, "selected" : false } ]); 12166 12167 html += '</form>'; 12168 12169 g_oCTLBootstrapModals.showModal({ 12170 modal_title : "Radio field", 12171 modal_content : html, 12172 position : "centered", 12173 entrance_animation : "animate__slideInUp", 12174 exit_animation : "animate__slideOutDown", 12175 footer_buttons : ['<button data-id-field-config="' + 12176 oNodeButton.attr("data-id-field-config") + 12177 '" class="btn btn-primary ctl-form-fields-action-insert-radio-field">inserisci</button>'] 12178 }); 12179 }); 12180 12181 jQuery(document).on("click", ".ctl-form-fields-action-add-calendar-field", function(){ 12182 var oNodeButton = jQuery(this); 12183 var oNodeModal = oNodeButton.closest(".modal"); 12184 12185 var html = ""; 12186 12187 html += '<form class="ctl-form-fields-add-field">'; 12188 12189 html += formFieldsBuildTextField({ 12190 'label-title' : "Nome campo", 12191 'field-name' : 'field-name', 12192 'classes' : 'form-control-sm', 12193 'mandatory' : true, 12194 'display' : 12, 12195 }); 12196 12197 html += formFieldsBuildRadioField({ 12198 'label-title' : "Obbligatorio?", 12199 "field-name" : "mandatory", 12200 "display" : 12, 12201 'mandatory' : true, 12202 }, [ { "label" : "si", "value" : 1, "selected" : false }, 12203 { "label" : "no", "value" : 0, "selected" : false } ]); 12204 12205 html += '</form>'; 12206 12207 g_oCTLBootstrapModals.showModal({ 12208 modal_title : "Calendar date", 12209 modal_content : html, 12210 position : "centered", 12211 entrance_animation : "animate__slideInUp", 12212 exit_animation : "animate__slideOutDown", 12213 footer_buttons : ['<button data-id-field-config="' + 12214 oNodeButton.attr("data-id-field-config") + 12215 '" class="btn btn-primary ctl-form-fields-action-insert-calendar-field">inserisci</button>'] 12216 }); 12217 }); 12218 12219 jQuery(document).on("click", ".ctl-form-fields-action-add-text-field", function(){ 12220 var oNodeButton = jQuery(this); 12221 var oNodeModal = oNodeButton.closest(".modal"); 12222 12223 var html = ""; 12224 12225 html += '<form class="ctl-form-fields-add-field">'; 12226 12227 html += formFieldsBuildTextField({ 12228 'label-title' : "Nome campo", 12229 'field-name' : 'field-name', 12230 'classes' : 'form-control-sm', 12231 'display' : 12, 12232 'mandatory' : true, 12233 }); 12234 12235 html += formFieldsBuildRadioField({ 12236 'label-title' : "Obbligatorio?", 12237 "field-name" : "mandatory", 12238 "display" : 12, 12239 'mandatory' : true, 12240 }, [ { "label" : "si", "value" : 1, "selected" : false }, 12241 { "label" : "no", "value" : 0, "selected" : false } ]); 12242 12243 html += '</form>'; 12244 12245 g_oCTLBootstrapModals.showModal({ 12246 modal_title : "Text field", 12247 modal_content : html, 12248 position : "centered", 12249 entrance_animation : "animate__slideInUp", 12250 exit_animation : "animate__slideOutDown", 12251 footer_buttons : ['<button data-id-field-config="' + 12252 oNodeButton.attr("data-id-field-config") + 12253 '" class="btn btn-primary ctl-form-fields-action-insert-text-field">inserisci</button>'] 12254 }); 12255 }); 12256 12257 jQuery(document).on("click", ".ctl-form-fields-action-delete-fields", function(){ 12258 var oNodeButton = jQuery(this); 12259 var oNodeContainer = oNodeButton.closest(".ctl-form-fields-config-fields-container"); 12260 oNodeContainer.html(""); 12261 alert("delete"); 12262 }); 12263 12264 12265 jQuery(document).on("click", ".ctl-form-fields-config-action-add-field", function(){ 12266 var oNodeButton = jQuery(this); 12267 var oNodeContainer = oNodeButton.closest(".ctl-form-fields-config-fields-container"); 12268 12269 var html = ''; 12270 html += '<div class="container-fluid">'; 12271 html += '<div class="row">'; 12272 html += '<div class="col col-12 col-md-6">'; 12273 html += '<button class="btn btn-xs mb-3 btn-primary w-100 ctl-form-fields-action-add-radio-field" data-id-field-config="' + 12274 oNodeButton.attr("data-id-field-config") + '">'; 12275 html += 'radio'; 12276 html += '</button>'; 12277 html += '</div>'; 12278 html += '<div class="col col-12 col-md-6">'; 12279 html += '<button class="btn btn-xs mb-3 btn-primary w-100 ctl-form-fields-action-add-text-field" data-id-field-config="' + 12280 oNodeButton.attr("data-id-field-config") + '">'; 12281 html += 'input text'; 12282 html += '</button>'; 12283 html += '</div>'; 12284 html += '<div class="col col-12 col-md-6">'; 12285 html += '<button class="btn btn-xs mb-3 btn-primary w-100 ctl-form-fields-action-add-calendar-field" data-id-field-config="' + 12286 oNodeButton.attr("data-id-field-config") + '">'; 12287 html += 'calendar'; 12288 html += '</button>'; 12289 html += '</div>'; 12290 html += '</div>'; 12291 html += '</div>'; 12292 12293 g_oCTLBootstrapModals.showModal({ 12294 modal_title : "elementi", 12295 modal_content : html, 12296 position : "centered", 12297 entrance_animation : "animate__slideInUp", 12298 exit_animation : "animate__slideOutDown", 12299 }); 12300 }); 12301 12302 12303 jQuery(document).on("change", ".ctl-commercial-user-type input[type=radio]", function(){ 12304 12305 var idGuid = jQuery(this).closest(".custom-radio").attr("data-commercial-user-type-guid"); 12306 12307 formFieldRefreshCommercialUserFields(idGuid, true); 12308 }); 12309 12310 jQuery(document).on("click", ".ctl-form-fields-action-delete-gallery-media", function(){ 12311 var oNodeForm = jQuery(this).closest("form"); 12312 var oFormData = oNodeForm.serializeObject(); 12313 12314 formFieldsDeleteGalleryMedia( 12315 oFormData["resource-id"], 12316 oFormData["resource-type"], 12317 oFormData["field-name"], 12318 jQuery(this).attr("data-id"), 12319 oFormData["edit-widget-id"] ); 12320 }); 12321 12322 12323 jQuery(document).on("click",".ctl-form-fields-action-upload-gallery-media", function(){ 12324 var oNodeForm = jQuery(this).closest("form"); 12325 12326 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 12327 return; 12328 } 12329 12330 var idEditWidget = oNodeForm.find('input[name=edit-widget-id').val(); 12331 var szFieldName = oNodeForm.find('input[name=field-name]').val(); 12332 12333 var oFormData = new FormData(); 12334 oFormData.append( 'resource-id', oNodeForm.find('input[name=resource-id]').val() ); 12335 oFormData.append( 'resource-type', oNodeForm.find('input[name=resource-type]').val() ); 12336 oFormData.append( 'edit-widget-id', idEditWidget ); 12337 oFormData.append( 'field-name', szFieldName); 12338
12338 oFormData.append( 'file', oNodeForm.find('input[name=upload-image]')[0].files[0] ); 12339 oFormData.append( 'action', 'ctl-wp-studio' ); 12340 oFormData.append( 'execute', 'ctl-form-fields' ); 12341 oFormData.append( 'extension-action', 'upload-gallery-media' ); 12342 12343 ctlFormFieldsAjaxUpdateFormData(oNodeForm, oFormData, function(oResponse){ 12344 if ( oResponse.res === true ){ 12345 jQuery("#media-gallery .alert-warning").addClass("d-none"); 12346 jQuery(".ctl-media-gallery-folder").prepend( 12347 formFieldsHtmlImageInMediaGallery(oResponse.last_media )); 12348 12349 var oNodeContainer = jQuery('.ctl-edit-data-container-'+idEditWidget); 12350 var oNodGalleryList = oNodeContainer.find('.ctl-media-gallery-list[data-field-name="'+ 12351 szFieldName+'"]'); 12352 12353 var htmlImg = ctlFormFieldsHtmlMediaPreview(oResponse.last_media.url); 12354 var html = ""; 12355 12356 html += '<li data-id="' + oResponse.last_media.id + '">'; 12357 html += '<input type="hidden" name="' + szFieldName + 12358 '[]" value="' + oResponse.last_media.id + '"/>'; 12359 html += htmlImg; 12360 html += '</li>'; 12361 12362 oNodGalleryList.append(html); 12363 12364 ctlFormFieldsCleanErrors(oNodGalleryList.closest(".form-group")); 12365 12366 ctlFormFieldsClearForm(oNodeForm); 12367 jQuery(".ctl-media-gallery-modal .tab-link-media-gallery").click(); 12368 g_oCTLWPStudio.onResize(jQuery(".ctl-media-gallery-folder")); 12369 } else{ 12370 if ( oResponse.desc ){ 12371 g_oCTLBootstrapModals.alert("", oResponse.desc ); 12372 } 12373 } 12374 }); 12375 }); 12376 12377 jQuery(document).on("click", ".ctl-form-fields-action-edit-media-gallery", function(){ 12378 var oNodeContainer = jQuery(this).closest(".ctl-form-fields-media-gallery-list-wrapper"); 12379 formFieldsMediaGallery(oNodeContainer, 12380 jQuery(this).attr("data-field-name"), 12381 jQuery(this).attr("data-resource-id"), 12382 jQuery(this).attr("data-resource-type"), 12383 jQuery(this).attr("data-edit-widget-id")); 12384 }); 12385 12386 jQuery(document).on("click", ".ctl-editors-action-empty-media-field", function(){ 12387 ctlEditorFrameworkEmptyMediaField(jQuery(this)); 12388 }); 12389 12390 jQuery(document).on("click", ".ctl-editor-framework-action-upload-file", function(){ 12391 ctlEditorFrameworkUploadFileInVulcanoMediaGallery(jQuery(this)); 12392 }); 12393 12394 jQuery(document).on("change", ".ctl-form-fields-cascading-select2-search-cpt", 12395 function(e, bAvoidRefresh){ 12396 12397 if ( bAvoidRefresh === true ){ 12398 return; 12399 } 12400 12401 var oNodeSelect = jQuery(this); 12402 var idCascadingFieldGuid = oNodeSelect.attr("data-cascading-fields-guid"); 12403 12404 var index = Number(oNodeSelect.attr("data-select-index")); 12405 12406 while(true){ 12407 var oNodeNextSelect = 12408 jQuery("."+idCascadingFieldGuid+".ctl-form-fields-cascading-select2-search-cpt-"+(index+1)+ ""); 12409 if ( oNodeNextSelect.length === 0 ){ 12410 break; 12411 } 12412 12413 oNodeNextSelect.val(null); 12414 oNodeNextSelect.trigger("change",[true]); 12415 oNodeNextSelect.attr("readonly", true); 12416 ctlFormFieldsCreateCascadingSelect2CPT(oNodeNextSelect); 12417 12418 index++; 12419 } 12420 12421 if ( oNodeSelect.val() !== "" && oNodeSelect.val() !== null ){ 12422 var oNodeNextSelect = 12423 jQuery("."+idCascadingFieldGuid+".ctl-form-fields-cascading-select2-search-cpt-"+ 12424 (Number(oNodeSelect.attr("data-select-index"))+1)+ ""); 12425 12426 if ( oNodeNextSelect.length > 0 ){ 12427 var oFormData = {}; 12428 oFormData['action'] = 'ctl-wp-studio'; 12429 oFormData['execute'] = 'ctl-form-fields'; 12430 oFormData['extension-action'] = 'check-next-cascading-select-items-availability'; 12431 oFormData['post-parent'] = oNodeSelect.val(); 12432 oFormData['select-id'] = oNodeNextSelect.attr("data-select-id"); 12433 oFormData['widget-id'] = oNodeSelect.attr("data-widget-id"); 12434 12435 var idLoading = g_oCTLWPStudio.showLoading(""); 12436 12437 jQuery.ajax({ 12438 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 12439 type: "POST", 12440 data : oFormData, 12441 cache: false, 12442 method: 'POST', 12443 success:function(response, textStatus, jqXHR){ 12444 12445 var oResponse = jQuery.parseJSON(response); 12446 g_oCTLWPStudio.closeDlg(idLoading); 12447 12448 let oNodeNextSelectWrapper = oNodeNextSelect.closest(".ctl-wp-studio-form-control-wrapper"); 12449 let oNodeNextSelectFormGroup = oNodeNextSelect.closest(".form-group"); 12450 12451 if( oResponse.res === true ){ 12452 if(oNodeNextSelect.attr("data-mandatory") === "true"){ 12453 oNodeNextSelectWrapper.addClass("mandatory"); 12454 oNodeNextSelectFormGroup.addClass("mandatory-on-label"); 12455 } 12456 }else{ 12457 oNodeNextSelectWrapper.removeClass("mandatory"); 12458 oNodeNextSelectFormGroup.removeClass("mandatory-on-label"); 12459 } 12460 }, 12461 error: function(jqXHR, textStatus, errorThrown){ 12462 g_oCTLWPStudio.closeDlg(idLoading); 12463 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 12464 } 12465 }); 12466 12467 oNodeNextSelect.removeAttr('readonly'); 12468 oNodeNextSelect.trigger("change",[true]); 12469 } 12470 } 12471 }); 12472 12473 jQuery(document).on("change", ".ctlbirthdatefield select", function(){ 12474 12475 var oNodeBirthDate = jQuery(this).closest(".ctlbirthdatefield"); 12476 var oNodeInput = oNodeBirthDate.find(".final-value"); 12477 12478 let aDateContents = ["year","month","day"]; 12479 var szFinalDate = ""; 12480 for (let i = 0; i < aDateContents.length; i++) { 12481 const szContent = aDateContents[i]; 12482 if (oNodeBirthDate.find('select[name="'+ oNodeInput.attr("name")+'-'+szContent+'"]').length > 0) { 12483 let szValue = oNodeBirthDate.find('select[name="'+ oNodeInput.attr("name")+'-'+szContent+'"]').val(); 12484 if(szValue){ 12485 szFinalDate += szValue + "-"; 12486 } 12487 } 12488 } 12489 12490 if (szFinalDate.length > 0) { 12491 szFinalDate = szFinalDate.substring(0,szFinalDate.length-1); 12492 } 12493 12494 oNodeInput.val(szFinalDate); 12495 }); 12496 12497 jQuery(document).on("append-html", function( e, oNode, html ){ 12498 ctlSummernoteInit(); 12499 }); 12500 12501 jQuery(document).on("set-html", function( e, oNode, html ){ 12502 ctlSummernoteInit(); 12503 }); 12504 12505 ctlSummernoteInit(); 12506 12507 jQuery("body").find(".ctl-form-field-repeater-layout-list").each( 12508 function(){ 12509 ctlFormFieldsAssignIndexesToArrayFields(jQuery(this).find(".ctl-form-field-repeater-layout-list-item") 12510 ); 12511 } 12512 ); 12513 12514 jQuery(document).on("click", ".ctl-pinpad-action-digit", function(){ 12515 var iValue = jQuery(this).val(); 12516 var oNodeInput = jQuery(this).closest(".ctlpinpadfield").find('input.form-control'); 12517 oNodeInput.val(oNodeInput.val()+iValue); 12518 12519 ctlFormFieldCleanError(oNodeInput); 12520 }); 12521 12522 jQuery(document).on("click", ".ctl-calculator-action-digit", function(){ 12523 var iValue = jQuery(this).val(); 12524 var oNodeInput = jQuery(this).closest(".ctlcalcfield").find('input.form-control'); 12525 oNodeInput.val(oNodeInput.val()+iValue); 12526 12527 ctlFormFieldCleanError(oNodeInput); 12528 }); 12529 12530 jQuery(document).on("click", ".ctl-pinpad-action-send", function(){ 12531 var oNodeInput = jQuery(this).closest(".ctlpinpadfield").find('input.form-control'); 12532 jQuery(document).trigger('ctlpinpadfield-enter',[oNodeInput]); 12533 }); 12534 12535 jQuery(document).on("click", ".ctl-calculator-action-submit", function(){ 12536 var oNodeForm = jQuery(this).closest("form"); 12537 var oNodeInput = jQuery(this).closest(".ctlcalcfield").find('input.form-control'); 12538 12539 oNodeForm.find(".ctl-calculator-action-equal").click(); 12540 12541 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm)){ 12542 if(jQuery(this).hasClass("ctl-calculator-show-loading-dlg")){ 12543 g_oCTLWPStudio.showLoading(); 12544 } 12545 oNodeForm.trigger("submit"); 12546 } 12547 }); 12548 12549 jQuery(document).on("click", ".ctl-pinpad-action-canc", function(){ 12550 var oNodeInput = jQuery(this).closest(".ctlpinpadfield").find('input.form-control'); 12551 var szValue = oNodeInput.val(); 12552 oNodeInput.val(szValue.substring(0,szValue.length-1)); 12553 }); 12554 12555 jQuery(document).on("click", ".ctl-calculator-action-canc", function(){ 12556 var oNodeInput = jQuery(this).closest(".ctlcalcfield").find('input.form-control'); 12557 var szValue = oNodeInput.val(); 12558 oNodeInput.val(szValue.substring(0,szValue.length-1)); 12559 }); 12560 12561 jQuery(document).on("click", ".ctl-calculator-action-equal", function(){ 12562 var oNodeInput = jQuery(this).closest(".ctlcalcfield").find('input.form-control'); 12563 var szValue = oNodeInput.val(); 12564 12565 var oEpsilon = new Epsilon.ExpressionParser(); 12566 oEpsilon.setExpression(szValue); 12567 try { 12568 szResult = oEpsilon.evaluate(); 12569 } catch (e) { 12570 szResult = ""; 12571 } 12572 oNodeInput.val(szResult); 12573 }); 12574 12575 12576 jQuery(document).on("click", ".ctl-editors-action-show-media-field-dlg", function(){ 12577 ctlEditorFrameworkMediaFieldDlg(jQuery(this)); 12578 }); 12579 12580 jQuery(document).on("dblclick", ".ctl-pinpad-action-canc", function(){ 12581 jQuery(this).closest(".ctlpinpadfield").find('input.form-control').val(""); 12582 }); 12583 12584 jQuery(document).on("dblclick", ".ctl-calculator-action-canc", function(){ 12585 jQuery(this).closest(".ctlcalcfield").find('input.form-control').val(""); 12586 }); 12587 12588 jQuery(document).on("append-html", function( e, oNode, html ){ 12589 ctlApplySelect2(oNode); 12590 new ClipboardJS('.ctl-btn-action-clipboard'); 12591 ctlApplyColorPicker(oNode); 12592 }); 12593 12594 jQuery(document).on("set-html", function( e, oNode, html ){ 12595 ctlApplySelect2(oNode); 12596 new ClipboardJS('.ctl-btn-action-clipboard'); 12597 ctlApplyColorPicker(oNode); 12598 }); 12599 12600 wpdk_add_action("ctl-theme-bootstrap-tabs-shown-tab", function( oNodeTab ){ 12601 ctlApplySelect2(oNodeTab); 12602 }); 12603 12604 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 12605 ctlApplySelect2(oNodeModal); 12606 12607 new ClipboardJS('.ctl-btn-action-clipboard'); 12608 12609 ctlApplyColorPicker(oNodeModal); 12610 ctlSignatureFormControl(oNodeModal); 12611 12612 ctlSummernoteInit(); 12613 ctlApplyCommercialUserFields(); 12614 12615 oNodeModal.find(".ctl-form-field-repeater-layout-list").each(function(){ 12616 ctlFormFieldsAssignIndexesToArrayFields(jQuery(this).find(".ctl-form-field-repeater-layout-list-item")); 12617 }); 12618 }); 12619 12620 jQuery(document).on('input keypress change paste', '.force-uppercase', function() { 12621 jQuery(this).val(function (index, value) { 12622 value = value.toUpperCase(); 12623 return value; 12624 }); 12625 }); 12626 12627 jQuery(document).on('blur', '.floating-label input[type=text], .floating-label input[type=password], .floating-label input[type=email], .floating-label input[type=number], textarea', function() { 12628 if (jQuery(this).val() === "" ){ 12629 var oNodeFormGroup = jQuery(this).closest(".floating-label"); 12630 oNodeFormGroup.removeClass("floating-label-normal"); 12631 } 12632 }); 12633 12634 jQuery(document).on('focus', '.floating-label input[type=text], .floating-label input[type=password], .floating-label input[type=email], .floating-label input[type=number], textarea', function() { 12635 var oNodeFormGroup = jQuery(this).closest(".floating-label"); 12636 oNodeFormGroup.addClass("floating-label-normal"); 12637 }); 12638 12639 12640 12641 jQuery(document).on('input keypress change paste', '.force-lowercase', function() { 12642 jQuery(this).val(function (index, value) { 12643 value = value.toLowerCase(); 12644 return value; 12645 }); 12646 }); 12647 12648 jQuery(document).on("click",".draggable-search-in-list .btn-cancel-search", function(){ 12649 var oNodeInputSearch = jQuery(this).closest(".draggable-search-in-list"). 12650 find(".draggable-action-search-in-list"); 12651 oNodeInputSearch.val(""); 12652 ctlDraggableSearchInList( 12653 jQuery(this).closest(".draggable"), ""); 12654 }); 12655 12656 jQuery(document).on("click", ".btn-action-print", function(){ 12657 g_oCTLWPStudio.printLayout(jQuery(this).attr("data-print-selector")); 12658 }); 12659 12660 jQuery(document).on("click", ".btn-action-maximize", function(){ 12661 var szSelectorToMaximize = jQuery(this).attr("data-maximize-selector"); 12662 12663 var oNodeButton = jQuery('button[data-maximize-selector="' + szSelectorToMaximize + '"]'); 12664 12665 ctlFormFieldsMaximizeSelector(oNodeButton); 12666 }); 12667 12668 jQuery(document).on("input paste",".draggable-action-search-in-list", function(){ 12669 ctlDraggableSearchInList( 12670 jQuery(this).closest(".draggable"), jQuery(this).val()); 12671 }); 12672 12673 jQuery(document).on("click", ".btn-action-toggle-password-type", function(e){ 12674 e.preventDefault(); 12675 12676 var oNodeInput = jQuery(this).closest(".input-group").find("input"); 12677 var oNodeIcon = jQuery(this).find("i"); 12678 12679 if ( oNodeInput.attr("type") === "text" ){ 12680 oNodeInput.attr("type", "password"); 12681 oNodeIcon.removeClass("ctl-wp-studio-icons-eye-off"); 12682 oNodeIcon.addClass("ctl-wp-studio-icons-eye"); 12683 }else if ( oNodeInput.attr("type") === "password" ){ 12684 oNodeInput.attr("type", "text"); 12685 oNodeIcon.addClass("ctl-wp-studio-icons-eye-off"); 12686 oNodeIcon.removeClass("ctl-wp-studio-icons-eye"); 12687 } 12688 }); 12689 12690 jQuery(document).on("click", ".btn-action-next-date", function(){ 12691 var oNodeFormGroup = jQuery(this).closest(".form-group"); 12692 12693 if ( oNodeFormGroup.hasClass("ctldatetimefield-wrapper")){ 12694 var oNodeDatePicker = oNodeFormGroup.find(".date-gfx"); 12695 var oMomentNow = moment(oNodeDatePicker.val(), oNodeDatePicker.attr("data-format")).add(1, 'days'); 12696 12697 oNodeDatePicker.val( 12698 oMomentNow 12699 .format(oNodeDatePicker.attr("data-format"))).trigger('input'); 12700 12701 }else{ 12702 var oNodeDatePicker = oNodeFormGroup.find(".datetimepicker-input"); 12703 12704 if (!oNodeDatePicker.val()){ 12705 return; 12706 } 12707 oNodeDatePicker.val( 12708 moment(oNodeDatePicker.val(), oNodeDatePicker.attr("data-format")) 12709 .add(1, 'days') 12710 .format(oNodeDatePicker.attr("data-format"))).trigger('input'); 12711 } 12712 }); 12713 12714 jQuery(document).on("click", ".btn-action-today-date", function(){ 12715 var oNodeFormGroup = jQuery(this).closest(".form-group"); 12716 12717 if ( oNodeFormGroup.hasClass("ctldatetimefield-wrapper")){ 12718 var oNodeDatePicker = oNodeFormGroup.find(".date-gfx"); 12719 var oNodeTimePicker = oNodeFormGroup.find(".time-gfx"); 12720 12721 var oMomentNow = moment();
12721 12722 12723 oNodeDatePicker.val( 12724 oMomentNow 12725 .format(oNodeDatePicker.attr("data-format"))).trigger('input'); 12726 oNodeTimePicker.val( 12727 oMomentNow 12728 .format(oNodeTimePicker.attr("data-format"))).trigger('input'); 12729 12730 }else{ 12731 var oNodeDatePicker = oNodeFormGroup.find(".datetimepicker-input"); 12732 oNodeDatePicker.val( 12733 moment() 12734 .format(oNodeDatePicker.attr("data-format"))).trigger('input'); 12735 } 12736 }); 12737 12738 jQuery(document).on("click", ".btn-action-prev-date", function(){ 12739 var oNodeFormGroup = jQuery(this).closest(".form-group"); 12740 12741 if ( oNodeFormGroup.hasClass("ctldatetimefield-wrapper")){ 12742 var oNodeDatePicker = oNodeFormGroup.find(".date-gfx"); 12743 var oMomentNow = moment(oNodeDatePicker.val(), oNodeDatePicker.attr("data-format")).add(-1, 'days'); 12744 12745 oNodeDatePicker.val( 12746 oMomentNow 12747 .format(oNodeDatePicker.attr("data-format"))).trigger('input'); 12748 12749 }else{ 12750 var oNodeDatePicker = oNodeFormGroup.find(".datetimepicker-input"); 12751 12752 if (!oNodeDatePicker.val()){ 12753 return; 12754 } 12755 oNodeDatePicker.val( 12756 moment(oNodeDatePicker.val(), oNodeDatePicker.attr("data-format")) 12757 .add(-1, 'days') 12758 .format(oNodeDatePicker.attr("data-format"))).trigger('input'); 12759 } 12760 }); 12761 12762 12763 jQuery(document).on("click", ".btn-action-empty-date", function(){ 12764 jQuery(this).closest(".form-group").find(".datetimepicker-input").val(""); 12765 jQuery(this).closest(".form-group").find(".datetimepicker-input").trigger('empty-field'); 12766 }); 12767 12768 jQuery(document).on("click", ".btn-action-empty-select2", function(){ 12769 jQuery(this).closest(".form-group").find("select").val(null).trigger('change'); 12770 }); 12771 12772 jQuery(document).on("click", ".btn-action-all-select2", function(){ 12773 jQuery(this).closest(".form-group").find("select > option").prop("selected", false); 12774 12775 jQuery(this).closest(".form-group").find("select > option").each(function(){ 12776 if ( jQuery(this).attr("value") !== "" && jQuery(this).attr("value") !== null && 12777 jQuery(this).attr("value") !== undefined ){ 12778 jQuery(this).prop("selected","selected"); 12779 } 12780 }); 12781 jQuery(this).closest(".form-group").find("select").trigger('change'); 12782 }); 12783 12784 jQuery(document).on("click",".btn-clear-field-in-group", function(){ 12785 var oNodeInputGroup = jQuery(this).closest(".input-group"); 12786 if ( oNodeInputGroup.find("input").length > 0 ){ 12787 var szClearValue = oNodeInputGroup.find("input").attr("data-clear-value"); 12788 oNodeInputGroup.find("input").val( szClearValue ? szClearValue : ""); 12789 } 12790 }); 12791 12792 jQuery(document).on("click",".btn-action-generate-strong-password", function(){ 12793 var oNodeFormControlWrapper = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper"); 12794 if ( oNodeFormControlWrapper.find("input").length > 0 ){ 12795 var oNodeInput = oNodeFormControlWrapper.find("input"); 12796 12797 var code = ""; 12798 var aCharsets = [ 12799 { set : "!?*#$", min : 1, max : 4 }, 12800 { set : "ABCDEFGHIJKLMNOPQRSTUVWXYZ", min : 4, max : 8 }, 12801 { set : "abcdefghijklmnopqrstuvwxyz", min : 4, max : 8 }, 12802 { set : "0123456789", min : 1, max : 8 } 12803 ] 12804 12805 for ( var k = 0; k < aCharsets.length; k++ ){ 12806 var iLimit = Math.floor(Math.random() * aCharsets[k].max); 12807 iLimit = iLimit < aCharsets[k].min ? aCharsets[k].min : iLimit; 12808 for( var i = 0; i < iLimit; i++ ){ 12809 code += aCharsets[k].set.charAt(Math.floor(Math.random() * aCharsets[k].set.length)); 12810 } 12811 } 12812 12813 code = g_oCTLWPStudio.shuffleString(code); 12814 12815 oNodeInput.val(code); 12816 if (oNodeInput.attr("type") == "password"){ 12817 oNodeFormControlWrapper.find(".btn-action-toggle-password-type").click(); 12818 } 12819 } 12820 }); 12821 12822 jQuery(document).on("click", ".select-on-focus", function () { 12823 jQuery(this).select(); 12824 }); 12825 12826 jQuery(document).on("click", ".ctlbtnfield .btn", function(){ 12827 if ( jQuery(this).attr("data-task-loading") !== "1" ){ 12828 return; 12829 } 12830 12831 if ( jQuery(this).hasClass("loading") && 12832 jQuery(this).attr("data-task-stoppable") === "1" && 12833 !jQuery(this).hasClass("closing") ){ 12834 jQuery(this).addClass("closing"); 12835 }else{ 12836 jQuery(this).addClass("loading"); 12837 jQuery(this).removeClass("closing"); 12838 } 12839 }); 12840 12841 jQuery(document).on("click", ".switch-label", function(){ 12842 var oNodeSwitch = jQuery(this).closest(".switch"); 12843 var oNodeFormGroup = oNodeSwitch.closest(".form-group"); 12844 var oNodeInput = oNodeFormGroup.find(".ctlswitchfield input"); 12845 12846 if ( oNodeSwitch.hasClass("on")){ 12847 oNodeSwitch.removeClass("on"); 12848 oNodeInput.val(oNodeSwitch.attr("data-off-value")); 12849 }else{ 12850 oNodeInput.val(oNodeSwitch.attr("data-on-value")); 12851 oNodeSwitch.addClass("on"); 12852 } 12853 12854 jQuery(document).trigger('ctlswitchfield-change',[oNodeSwitch, oNodeInput]); 12855 }); 12856 12857 // Drag enter 12858 jQuery(document).on("dragenter", '.ctl-file-upload-drag-drop-area-content', function (e) { 12859 e.stopPropagation(); 12860 e.preventDefault(); 12861 }); 12862 // Drag over 12863 jQuery(document).on("dragover", '.ctl-file-upload-drag-drop-area-content', function (e) { 12864 e.stopPropagation(); 12865 e.preventDefault(); 12866 jQuery(this).addClass("ctl-file-upload-drag-drop-area-content-hover"); 12867 }); 12868 12869 // Drag leave 12870 jQuery(document).on("dragleave", '.ctl-file-upload-drag-drop-area-content', function (e) { 12871 e.stopPropagation(); 12872 e.preventDefault(); 12873 jQuery(this).removeClass("ctl-file-upload-drag-drop-area-content-hover"); 12874 }); 12875 12876 // Open file selector on div click 12877 jQuery(document).on("click", '.ctl-file-upload-drag-drop-area-content', function(){ 12878 jQuery(this).closest(".ctl-upload-file-field-wrapper").find(".custom-file-input").click(); 12879 }); 12880 12881 // Drop 12882 jQuery(document).on('drop', '.ctl-file-upload-drag-drop-area-content', function (e) { 12883 e.stopPropagation(); 12884 e.preventDefault(); 12885 12886 jQuery(this).removeClass("ctl-file-upload-drag-drop-area-content-hover"); 12887 12888 var file = e.originalEvent.dataTransfer.files; 12889 12890 12891 var oNodeInput = jQuery(this).closest(".ctl-upload-file-field-wrapper").find(".custom-file-input"); 12892 var oNodeLabel = jQuery(this).closest(".ctl-upload-file-field-wrapper").find(".custom-file-label"); 12893 12894 oNodeInput.prop('files', file); 12895 12896 for (let i = 0; i < file.length; i++) { 12897 if (i > 0) {
12898 oNodeLabel.text(oNodeLabel.text() + ", " + file[i].name); 12899 }else{ 12900 oNodeLabel.text(file[i].name); 12901 } 12902 } 12903 12904 oNodeInput.trigger('change'); 12905 }); 12906 12907 jQuery(document).on('change', 'select.ctl-vat-country', function (e) { 12908 let oNodeSelect = jQuery(this); 12909 let szVal = oNodeSelect.val(); 12910 let oNodeVATNumber = oNodeSelect.closest(".input-group").find(".ctl-vat-number"); 12911 12912 let aAlphaVatCountries = [ 12913 'AT', 12914 'CY', 12915 'ES', 12916 'FR', 12917 'GB', 12918 'IE' 12919 ]; 12920 12921 if (!aAlphaVatCountries.includes(szVal)) { 12922 // Solo numeri 12923 oNodeVATNumber.val(oNodeVATNumber.val().replace(/\D/g, '')); 12924 } else { 12925 // Solo lettere e numeri 12926 oNodeVATNumber.val(oNodeVATNumber.val().replace(/[^a-zA-Z0-9]/g, '').toUpperCase()); 12927 } 12928 }); 12929 12930 jQuery(document).on('input', 'input.ctl-vat-number', function (e) { 12931 let aAlphaVatCountries = [ 12932 'AT', 12933 'CY', 12934 'ES', 12935 'FR', 12936 'GB', 12937 'IE' 12938 ]; 12939 12940 let oNodeInput = jQuery(this); 12941 let szVATCountry = oNodeInput.closest(".input-group").find(".ctl-vat-country").val(); 12942 if (!aAlphaVatCountries.includes(szVATCountry)) { 12943 // Solo numeri 12944 oNodeInput.val(oNodeInput.val().replace(/\D/g, '')); 12945 } else { 12946 // Solo lettere e numeri 12947 oNodeInput.val(oNodeInput.val().replace(/[^a-zA-Z0-9]/g, '').toUpperCase()); 12948 } 12949 }); 12950 12951 jQuery(document).on('change keydown paste input', '.vat-number-check', function(){ 12952 let aButtonClassesToRemove = ["btn-success", "btn-danger"]; 12953 12954 let oNodeButton = jQuery('.btn-action-check-vat-number'); 12955 for(var i = 0; i < aButtonClassesToRemove.length; i++){ 12956 oNodeButton.removeClass(aButtonClassesToRemove[i]); 12957 } 12958 12959 oNodeButton.addClass("btn-outline-secondary"); 12960 12961 let aIconClassesToRemove = ["ctl-wp-studio-icons-ok", "ctl-wp-studio-icons-cancel"]; 12962 let oNodeIcon = oNodeButton.find("i"); 12963 12964 for(var i = 0; i < aIconClassesToRemove.length; i++){ 12965 oNodeIcon.removeClass(aIconClassesToRemove[i]); 12966 } 12967 12968 oNodeIcon.addClass("ctl-wp-studio-icons-info"); 12969 }); 12970 12971 jQuery(document).on('click', '.btn-action-check-vat-number', function() { 12972 12973 var oNodeWrapper = jQuery(this).closest(".ctlvatfield"); 12974 var oNodeVatCountry = oNodeWrapper.find(".ctl-vat-country"); 12975 var oNodeVatNumber = oNodeWrapper.find(".ctl-vat-number"); 12976 12977 if ( !oNodeVatCountry.val() || !oNodeVatNumber.val() ){ 12978 return; 12979 } 12980 12981 var oFormData = {}; 12982 oFormData['action'] = 'ctl-wp-studio'; 12983 oFormData['execute'] = 'ctl-form-fields'; 12984 oFormData['extension-action'] = 'check-vat-number'; 12985 oFormData['vat-number'] = oNodeVatNumber.val(); 12986 oFormData['vat-country'] = oNodeVatCountry.val(); 12987 12988 var idLoading = g_oCTLWPStudio.showLoading(""); 12989 12990 var oNodeButton = jQuery(this); 12991 var oNodeIcon = jQuery(this).find("i"); 12992 12993 jQuery.ajax({ 12994 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 12995 type: "POST", 12996 data : oFormData, 12997 cache: false, 12998 method: 'POST', 12999 success:function(response, textStatus, jqXHR){ 13000 13001 var oResponse = jQuery.parseJSON(response); 13002 g_oCTLWPStudio.closeDlg(idLoading); 13003 if( oResponse.res === false ){ 13004 13005 if ( oResponse.errors ){ 13006 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 13007 } 13008 13009 if ( oResponse.alert ){ 13010 g_oCTLBootstrapModals.alert("", oResponse.alert ); 13011 } 13012 }else{ 13013 g_oCTLWPStudio.closeDlg(idLoading); 13014 13015 let szIconClassToReplace = oResponse.valid ? "ctl-wp-studio-icons-ok" : "ctl-wp-studio-icons-cancel"; 13016 oNodeIcon.removeClass("ctl-wp-studio-icons-info").addClass(szIconClassToReplace); 13017 13018 let szButtonClassToReplace = oResponse.valid ? "btn-success" : "btn-danger"; 13019 oNodeButton.removeClass("btn-outline-secondary").addClass(szButtonClassToReplace); 13020 13021 if ( oResponse.alert ){ 13022 g_oCTLBootstrapModals.alert("", oResponse.alert ); 13023 } 13024 } 13025 }, 13026 error: function(jqXHR, textStatus, errorThrown){ 13027 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false ] ); 13028 g_oCTLWPStudio.closeDlg(idLoading); 13029 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 13030 } 13031 }); 13032 }); 13033 13034 jQuery(document).on('click', '.btn-action-submit-ajax', function(){ 13035 var oNodeForm = jQuery(this).closest("form"); 13036 13037 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) ){ 13038 let oFormData = new FormData(); 13039 13040 oFormData.append( 'action', 'ctl-wp-studio' ); 13041 oFormData.append( 'execute', 'ctl-php-block' ); 13042 oFormData.append( 'extension-action', jQuery(this).attr("data-ajax-action")); 13043 13044 oInputFormData = oNodeForm.serializeObject() 13045 13046 for (let szKey in oInputFormData) { 13047 const value = oInputFormData[szKey]; 13048 13049 if (Array.isArray(value)) { 13050 value.forEach(item => { 13051 oFormData.append(szKey+"[]", item); 13052 }); 13053 } else { 13054 oFormData.append(szKey, value); 13055 } 13056 } 13057 13058 let aAttributes = jQuery(this).data(); 13059 for (let szKey in aAttributes) { 13060 if ( szKey === "ajaxAction" || szKey === "clickClass" || szKey === "ajaxUrl" ){ 13061 continue; 13062 } 13063 oFormData.append( szKey, aAttributes[szKey] ); 13064 } 13065 13066 if(oNodeForm.find('.custom-file-input').length > 0){ 13067 oNodeForm.find('.custom-file-input').each(function(){ 13068 let oInputFiles = jQuery(this)[0].files; 13069 let szFieldName = jQuery(this).attr("name"); 13070 for (let i = 0; i < oInputFiles.length; i++) { 13071 oFormData.append( szFieldName + '[]', oInputFiles[i] ); 13072 } 13073 }); 13074 } 13075 13076 var idLoading = g_oCTLWPStudio.showLoading(""); 13077 13078 jQuery.ajax({ 13079 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 13080 type: "POST", 13081 data : oFormData, 13082 cache: false, 13083 processData : false, 13084 contentType : false, 13085 method: 'POST', 13086 success:function(response, textStatus, jqXHR){ 13087 var oResponse = jQuery.parseJSON(response); 13088 13089 g_oCTLWPStudio.closeDlg(idLoading); 13090 13091 if ( oResponse.res == true ){ 13092 ctlFormFieldsClearForm(oNodeForm); 13093 } 13094 13095 if(oResponse.download){ 13096 g_oCTLWPStudio.downloadFile(oResponse.download); 13097 }else if ( oResponse.alert ){ 13098 g_oCTLBootstrapModals.alert("", oResponse.alert, function(){ 13099 if ( oResponse.res == true ){ 13100 g_oCTLWPStudio.showLoading(""); 13101 if ( oResponse.redirect ){ 13102 window.location.href = oResponse.redirect; 13103 }else{ 13104 window.location.reload(); 13105 } 13106 } 13107 } ); 13108 }else if ( oResponse.res == true ){ 13109 g_oCTLWPStudio.showLoading(""); 13110 if ( oResponse.redirect ){ 13111 window.location.href = oResponse.redirect; 13112 }else{ 13113 window.location.reload(); 13114 } 13115 } 13116 }, 13117 error: function(jqXHR, textStatus, errorThrown){ 13118 g_oCTLWPStudio.closeDlg(idLoading); 13119 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 13120 } 13121 }); 13122 } 13123 }); 13124 13125 jQuery(document).on('click', '.btn-action-submit-email', function() { 13126 13127 var oNodeForm = jQuery(this).closest("form"); 13128 var oNodeModal = jQuery(this).closest(".modal"); 13129 13130 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) ){ 13131 var oFormData = {}; 13132 oFormData['action'] = 'ctl-wp-studio'; 13133 oFormData['execute'] = 'ctl-form-fields'; 13134 oFormData['extension-action'] = 'submit-email'; 13135 oFormData['layout-id'] = oNodeForm.attr("data-layout-id"); 13136 oFormData['widget-id'] = jQuery(this).attr("widget-id"); 13137 oFormData['data'] = oNodeForm.serializeObject(); 13138 13139 var idLoading = g_oCTLWPStudio.showLoading(""); 13140 13141 jQuery.ajax({ 13142 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 13143 type: "POST", 13144 data : oFormData, 13145 cache: false, 13146 method: 'POST', 13147 success:function(response, textStatus, jqXHR){ 13148 13149 var oResponse = jQuery.parseJSON(response); 13150 13151 if( oResponse.res === false ){ 13152 g_oCTLWPStudio.closeDlg(idLoading); 13153 if ( oResponse.errors ){ 13154 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 13155 } 13156 13157 if ( oResponse.alert ){ 13158 g_oCTLBootstrapModals.alert("", oResponse.alert ); 13159 } 13160 }else{ 13161 g_oCTLWPStudio.closeDlg(idLoading); 13162 13163 if ( oNodeModal.length > 0 ){ 13164 g_oCTLBootstrapModals.closeModal(oNodeModal); 13165 } 13166 13167 if ( oResponse.alert ){ 13168 g_oCTLBootstrapModals.alert("", oResponse.alert ); 13169 } 13170 } 13171 }, 13172 error: function(jqXHR, textStatus, errorThrown){ 13173 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false ] ); 13174 g_oCTLWPStudio.closeDlg(idLoading); 13175 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 13176 } 13177 }); 13178 } 13179 }); 13180 13181 jQuery(document).on("submit", "form", function(e){ 13182 if ( ctlFormFieldsCheckIfFormIsFilled(jQuery(this)) ){ 13183 if ( jQuery(this).find(".btn-show-loading-on-submit").length > 0 ){ 13184 g_oCTLWPStudio.showLoading(); 13185 } 13186 return true; 13187 }else{ 13188 return false;
13189 } 13190 }); 13191 13192 jQuery(document).on("click", ".btn-refresh-page", function(){ 13193 g_oCTLWPStudio.showLoading(); 13194 window.location.reload(); 13195 }); 13196 13197 jQuery(document).on("click", ".btn-clear-form-and-submit", function(){ 13198 let oNodeForm = jQuery(this).closest("form"); 13199 ctlFormFieldsClearForm(oNodeForm); 13200 oNodeForm.submit(); 13201 }); 13202 13203 jQuery(document).on("click", ".btn-clear-form", function(){ 13204 ctlFormFieldsClearForm(jQuery(this).closest("form")); 13205 }); 13206 13207 jQuery(document).on("click", ".ctl-form-fields-clear-errors", function(){ 13208 var oNodeForm = jQuery(this).closest("form"); 13209 if ( oNodeForm.length > 0 ){ 13210 ctlFormFieldsCleanErrors(oNodeForm); 13211 } 13212 }); 13213 13214 jQuery(document).on("click", ".btn-action-open-view-page", function(){ 13215 var value = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper").find("select").val(); 13216 if (!value){ 13217 return; 13218 } 13219 13220 var szUrl = jQuery(this).attr("data-url"); 13221 var szReferral = jQuery(this).attr("data-referral"); 13222 var szTarget = jQuery(this).attr("data-target"); 13223 13224 szUrl = g_oCTLWPStudio.addParameterToUrl(szUrl,szReferral,value); 13225 13226 if ( szTarget === "_blank" ){ 13227 window.open(szUrl, '_blank'); 13228 }else{ 13229 g_oCTLWPStudio.showLoading(); 13230 window.location.href = szUrl; 13231 } 13232 13233 }); 13234 13235 jQuery(document).on("focus", ".ctltextareafield .note-editable,.form-control", function(){ 13236 ctlFormFieldCleanError(jQuery(this)); 13237 }); 13238 13239 jQuery(document).on("click", ".ctl-form-fields-action-click-custom-file-input", function(){ 13240 ctlFormFieldCleanError(jQuery(this)); 13241 }); 13242 13243 jQuery(document).on("click", ".custom-file-input", function(){ 13244 ctlFormFieldCleanError(jQuery(this)); 13245 }); 13246 13247 jQuery(document).on("focus", ".custom-radio", function(){ 13248 ctlFormFieldCleanError(jQuery(this)); 13249 }); 13250 13251 jQuery(document).on("focus", ".select2-selection", function(){ 13252 ctlFormFieldCleanError(jQuery(this)); 13253 }); 13254 13255 jQuery(document).on("focus", ".custom-checkbox", function(){ 13256 ctlFormFieldCleanError(jQuery(this)); 13257 }); 13258 13259 jQuery(document).on("click", ".ctl-form-fields-action-click-custom-file-input", function(){ 13260 jQuery(this).closest(".ctluploadfield").find('input[type=file]').click(); 13261 }); 13262 13263 jQuery(document).on("change", ".custom-file-image-input", function() { 13264 var oNodeFormControlWrapper = jQuery(this).closest(".ctl-upload-file-field-wrapper"); 13265 var oImageNode = oNodeFormControlWrapper.find(".image-preview"); 13266 13267 if ( oImageNode.length > 0) { 13268 let bSetDefaultImage = true; 13269 if(this.files && this.files[0]) { 13270 var aFileParts = this.files[0].name.split(".") 13271 13272 var ext = aFileParts[aFileParts.length-1]; 13273 if ( ext == "png" || ext == "gif" || ext == "jpg" || ext == "jpeg" || ext == "bmp" ){ 13274 oImageNode.attr("src", URL.createObjectURL(this.files[0])); 13275 oNodeFormControlWrapper.removeClass("img-default"); 13276
13277 bSetDefaultImage = false; 13278 } 13279 } 13280 13281 if(bSetDefaultImage){ 13282 oImageNode.attr("src", oImageNode.attr("data-default-image")); 13283 oNodeFormControlWrapper.addClass("img-default"); 13284 } 13285 } 13286 13287 13288 }); 13289 13290 jQuery(document).on("input paste change blur", ".ctlipfield input", function() { 13291 let oNodeInput = jQuery(this); 13292 let ipFormat = oNodeInput.attr("data-ip-format"); 13293 13294 switch(ipFormat){ 13295 case "ipv4":{ 13296 const value = oNodeInput.val().trim(); 13297 value.replace(/[^0-9.]/g, ''); 13298 13299 const parts = value.split("."); 13300 13301 // Se non ha 4 parti, non è valido 13302 if (parts.length > 4) { 13303 parts = parts.splice(0, 4); 13304 } 13305 13306 const validParts = parts.map(part => { 13307 // Rimuovi zeri iniziali e converti in numero 13308 let num = parseInt(part, 10); 13309 13310 // Se NaN o fuori range, resetta input 13311 if (isNaN(num) || num < 0 || num > 255) { 13312 return ""; 13313 } 13314 13315 return String(num); 13316 }); 13317 13318 // Ricostruisci IP "sanificato" 13319 oNodeInput.val(validParts.join(".")); 13320 }break; 13321 } 13322 }); 13323 13324 jQuery(document).on("change", ".custom-file-input", function() { 13325 /* var oNodeFormControlWrapper = jQuery(this).closest(".ctl-upload-file-field-wrapper"); 13326 var oNodeMultipleFiles = oNodeFormControlWrapper 13327 .find(".ctl-form-fields-multiple-files-preview"); 13328 */ 13329 13330 //var fileName = jQuery(this).val().split("\\").pop(); 13331 13332 /* 13333 var oImageNode = jQuery(this).closest(".ctl-upload-file-field-wrapper"). 13334 find(".image-preview"); 13335*/ 13336 var input = this; 13337 var szFileNames = ""; 13338 if (input.files){ 13339 for( var i = 0; i < input.files.length; i++){ 13340 szFileNames += input.files[i].name + ( input.files.length > 1 ? ", " : ""); 13341 } 13342 } 13343 13344 jQuery(this).siblings(".custom-file-label").addClass("selected").html(szFileNames); 13345 13346/* 13347 if (input.files && input.files[0]) { 13348 var reader = new FileReader(); 13349 reader.onload = function(e) { 13350 13351 if ( oNodeMultipleFiles.length ){ 13352 var html = ''; 13353 html = '<li>'; 13354 html += '<img class="image-preview rounded img-thumbnail" src="'+ e.target.result + '"/>'; 13355 html += '<span class="text-filename">'+ fileName +'</span>'; 13356 html += '<button class="btn btn-xs btn-anchor ctl-form-fields-multiple-files-action-remove"><i class="fas fa-trash-alt"></i></button>'; 13357 html += '<input class="d-none" name=""/>'; 13358 html += '</li>'; 13359 13360 oNodeMultipleFiles.append(html); 13361 }else if ( oImageNode.length > 0 ){ 13362 13363 var szFileName = fileName.replace(/^.*[\\\/]/, ''); 13364 var ext = szFileName.substring(szFileName.lastIndexOf('+ ')+1, szFileName.length) || szFileName; 13365 13366 if ( ext == "png" || ext == "gif" || ext == "jpg" || ext == "jpeg" || 13367 ext == "bmp" ){ 13368 oImageNode.attr('src', e.target.result); 13369 oImageNode.removeClass('d-none'); 13370 }else{ 13371 oImageNode.addClass('d-none'); 13372 } 13373 13374 oImageNode.closest(".ctl-wp-studio-form-control-wrapper").removeClass("img-default"); 13375 } 13376 }; 13377 reader.readAsDataURL(input.files[0]); 13378 } 13379 */ 13380 }); 13381 13382 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function (oNodeModal) { 13383 initCTLNumberFieldAjaxCalculation(oNodeModal); 13384 }); 13385 13386 jQuery("form").each(function(){ 13387 initCTLNumberFieldAjaxCalculation(jQuery(this)); 13388 }); 13389 13390 13391 ctlApplyAutoFocus(); 13392 ctlApplySelect2(); 13393 ctlApplyCustomFieldsEditor(); 13394 new ClipboardJS('.ctl-btn-action-clipboard'); 13395 ctlApplyColorPicker(); 13396 ctlApplyCommercialUserFields(); 13397}); 13398 13399 13400function initCTLNumberFieldAjaxCalculation(oNodeParent){ 13401 13402 oNodeParent.find('.ctl-number-field-ajax-calculation').each(function(){ 13403 let iWidgetID = jQuery(this).attr("data-widget-id"); 13404 let oNodeNumberFieldAjaxCalculation = jQuery(this); 13405 let oNodeEditPostDataContainer = oNodeNumberFieldAjaxCalculation.closest(".ctl-edit-post-data-container"); 13406 let oAjaxActive = null; 13407 if ( oNodeEditPostDataContainer.length > 0 ){ 13408 13409 let aNodesForm = oNodeEditPostDataContainer.children("form"); 13410 13411 for (let i = 0; i < aNodesForm.length; i++) { 13412 let oNodeForm = aNodesForm[i]; 13413 jQuery(oNodeForm).find(":input").each(function () { 13414 jQuery(this).off("paste input").on("paste input", function (e) { 13415 e.stopPropagation(); 13416 if(oAjaxActive !== null){ 13417 oAjaxActive.abort(); 13418 } 13419 oAjaxActive = ctlNumberFieldAjaxCalculation( 13420 oNodeNumberFieldAjaxCalculation, 13421 aNodesForm, 13422 iWidgetID, 13423 oNodeEditPostDataContainer 13424 ); 13425 }); 13426 }); 13427 } 13428 }else{ 13429 jQuery(this).closest("form").each(function () { 13430 let oNodeForm = jQuery(this); 13431 oNodeForm.find(":input").each(function () { 13432 jQuery(this).off("paste input").on("paste input", function () { 13433 if(oAjaxActive !== null){ 13434 oAjaxActive.abort(); 13435 } 13436 oAjaxActive = ctlNumberFieldAjaxCalculation( 13437 oNodeNumberFieldAjaxCalculation, 13438 [oNodeForm], 13439 iWidgetID, 13440 null 13441 ); 13442 }); 13443 }); 13444 }); 13445 } 13446 }); 13447} 13448 13449function ctlNumberFieldAjaxCalculation(oNodeNumberFieldAjaxCalculation, aNodesForm, iNumberFieldWidgetID, oNodeEditPostDataContainer = null){ 13450 let oNodeFormControlWrapper = jQuery(oNodeNumberFieldAjaxCalculation).find(".ctl-wp-studio-form-control-wrapper"); 13451 oNodeFormControlWrapper.removeClass("is-invalid"); 13452 13453 let oNodeInput = jQuery(oNodeNumberFieldAjaxCalculation).find("input"); 13454 oNodeInput.val(""); 13455 13456 let oFormData = new FormData(); 13457 13458 oFormData.append( 'action', 'ctl-wp-studio' ); 13459 oFormData.append( 'execute', 'ctl-form-fields' ); 13460 oFormData.append( 'extension-action', "number-field-ajax-calculation"); 13461 13462 let oInputFormData = {}; 13463 13464 for(let i = 0; i < aNodesForm.length; i++) { 13465 let oNodeForm = jQuery(aNodesForm[i]); 13466 oInputFormData = {...oInputFormData, ...oNodeForm.serializeObject()}; 13467 } 13468 13469 for (let szKey in oInputFormData) { 13470 const value = oInputFormData[szKey]; 13471 13472 if (Array.isArray(value)) { 13473 value.forEach(item => { 13474 oFormData.append(szKey+"[]", item); 13475 }); 13476 } else { 13477 oFormData.append(szKey, value); 13478 } 13479 } 13480 13481 let aAttributes = jQuery(this).data(); 13482 for (let szKey in aAttributes) { 13483 if ( szKey === "ajaxAction" || szKey === "clickClass" || szKey === "ajaxUrl" ){ 13484 continue; 13485 } 13486 oFormData.append( szKey, aAttributes[szKey] ); 13487 } 13488 13489 for(let i = 0; i < aNodesForm.length; i++) { 13490 let oNodeForm = jQuery(aNodesForm[i]); 13491 if(oNodeForm.find('.custom-file-input').length > 0){ 13492 oNodeForm.find('.custom-file-input').each(function(){ 13493 let oInputFiles = jQuery(this)[0].files; 13494 let szFieldName = jQuery(this).attr("name"); 13495 for (let i = 0; i < oInputFiles.length; i++) { 13496 oFormData.append( szFieldName + '[]', oInputFiles[i] ); 13497 } 13498 }); 13499 } 13500 } 13501 13502 oFormData.append('widget-id', iNumberFieldWidgetID); 13503 13504 let aGETParams = g_oCTLWPStudio.getUrlParams(); 13505 13506 for (let szKey in aGETParams) { 13507 const value = aGETParams[szKey]; 13508 oFormData.append(`get-params[${szKey}]`, value); 13509 } 13510 13511 bTriggerAutoSave = false;
13512 13513 if(oNodeEditPostDataContainer !== null 13514 && oNodeEditPostDataContainer.data("autosave") === 1){ 13515 bTriggerAutoSave = true; 13516 } 13517 13518 return jQuery.ajax({ 13519 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 13520 type: "POST", 13521 data : oFormData, 13522 cache: false, 13523 processData : false, 13524 contentType : false, 13525 method: 'POST', 13526 success:function(response, textStatus, jqXHR){ 13527 let oResponse = jQuery.parseJSON(response); 13528 13529 if ( oResponse.res === true ){ 13530 oNodeInput.val(oResponse.value); 13531 13532 if(bTriggerAutoSave){ 13533 ctlEditorFrameworkEditPostAutoSaveData(oNodeEditPostDataContainer.find(".ctl-editors-action-edit-post-data")); 13534 } 13535 13536 }else{ 13537 if ( oResponse.error ){ 13538 oNodeFormControlWrapper.addClass("is-invalid"); 13539 13540 jQuery(oNodeNumberFieldAjaxCalculation).find(".invalid-feedback").text(oResponse.error); 13541 }else if(oResponse.alert){ 13542 g_oCTLBootstrapModals.alert("", oResponse.alert ); 13543 }else{ 13544 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 13545 } 13546 } 13547 }, 13548 error: function(jqXHR, textStatus, errorThrown){ 13549 if (textStatus !== 'abort') { 13550 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 13551 } 13552 } 13553 }); 13554} 13555 13556 13557function ctlApplyAutoFocus(){ 13558 jQuery(".form-control.auto-focus").each(function(){ 13559 var oNode = jQuery(this); 13560 oNode.attr("tabindex", "0"); 13561 setTimeout(function(){ 13562 oNode.focus(); 13563 }, 100); 13564 }); 13565} 13566 13567function ctlApplyCommercialUserFields(){ 13568 jQuery(".ctl-commercial-user-type").each(function(){ 13569 var idGuid = jQuery(this).closest(".custom-radio").eq(0).attr("data-commercial-user-type-guid"); 13570 formFieldRefreshCommercialUserFields(idGuid, false); 13571 }); 13572} 13573 13574function ctlFormFieldsClearForm( oNodeForm ){ 13575 oNodeForm.find(".ctltextfield").each(function(){ 13576 if (jQuery(this).attr("type") === "hidden" ){ 13577 return; 13578 } 13579 jQuery(this).find('input').val(""); 13580 }); 13581 oNodeForm.find(".ctlcolorfield").each(function(){ 13582 jQuery(this).find('input').val(""); 13583 }); 13584 oNodeForm.find(".ctluploadfield").each(function(){ 13585 jQuery(this).find('input').val(""); 13586 jQuery(this).find('.custom-file-label').text(""); 13587 jQuery(this).find('input').trigger("change"); 13588 13589 var oNodePreviewImage = jQuery(this).find(".image-preview"); 13590 if ( oNodePreviewImage.length > 0 ){ 13591 oNodePreviewImage.attr("src", oNodePreviewImage.attr("data-default-image")); 13592 } 13593 }); 13594 oNodeForm.find(".ctltextareafield").each(function(){ 13595 jQuery(this).find('textarea').val(""); 13596 }); 13597 oNodeForm.find(".ctlipfield").each(function(){ 13598 jQuery(this).find('input').val(""); 13599 }); 13600 oNodeForm.find(".ctldatefield").each(function(){ 13601 jQuery(this).find('input').val(""); 13602 }); 13603 oNodeForm.find(".ctlnumfield").each(function(){ 13604 jQuery(this).find('input').val(""); 13605 }); 13606 oNodeForm.find(".ctlcheckfield").each(function(){ 13607 jQuery(this).find('input').prop("checked", false); 13608 }); 13609 oNodeForm.find(".ctlselectfield").each(function(){ 13610 jQuery(this).find("option:selected").prop("selected", false); 13611 }); 13612 oNodeForm.find(".ctlselectfield select").each(function(){ 13613 jQuery(this).val(null); 13614 jQuery(this).trigger('change'); 13615 }); 13616 oNodeForm.find(".ctls2searchfield").each(function(){ 13617 jQuery(this).find("option:selected").prop("selected", false); 13618 }); 13619 oNodeForm.find(".ctls2searchfield select").each(function(){ 13620 jQuery(this).val(null); 13621 jQuery(this).trigger('change'); 13622 }); 13623 13624 oNodeForm.find(".ctlswitch3sfield").each(function(){ 13625 jQuery(this).find("input").val(""); 13626 let oNodeControlWrapper = jQuery(this).find(".ctl-switch-3s-control-wrapper"); 13627 let szNewState = jQuery(this).data("state"); 13628 13629 let szOldState = oNodeControlWrapper.data("state"); 13630 13631 if (szNewState == null || szNewState == undefined){ 13632 szNewState = "neutral"; 13633 } 13634 13635 if (szOldState){ 13636 oNodeControlWrapper.removeClass("ctl-switch-3s-" + szOldState); 13637 if ( szOldState == szNewState ){ 13638 szNewState = "neutral"; 13639 oNodeControlWrapper.find('input[type=hidden]').val(""); 13640 } 13641 } 13642 13643 oNodeControlWrapper.data("state", szNewState); 13644 oNodeControlWrapper.addClass("ctl-switch-3s-" + szNewState); 13645 }); 13646 13647 oNodeForm.find(".ctlswitchfield").each(function(){ 13648 var oNodeInput = jQuery(this).find(".switch input"); 13649 var oNodeInputHidden = jQuery(this).find('input[type=hidden]') 13650 13651 var szOffValue = jQuery(this).find('.switch').attr("data-off-value"); 13652 13653 oNodeInputHidden.val(szOffValue) 13654 oNodeInput.val(szOffValue); 13655 13656 jQuery(this).find('.switch').removeClass('on'); 13657 jQuery(this).find('input[type=checkbox]').prop('checked', false); 13658 }); 13659 13660 ctlFormFieldsCleanErrors(oNodeForm); 13661} 13662 13663function ctlApplyColorPicker( oNodeParent = null ){ 13664 13665 if ( !oNodeParent ){ 13666 oNodeParent = jQuery("body"); 13667 } 13668 13669 oNodeParent.find(".ctl-color-picker").each(function(){ 13670 jQuery(this).colorpicker( 13671 { 13672 debug : true, 13673 format: "rgba", 13674 useAlpha: true, 13675 popover: { 13676 placement: 'top' 13677 } 13678 } 13679 ); 13680 }); 13681} 13682 13683function __ctlFormFieldsConfigFieldsEditTextField( oData, idConfigField ){ 13684 var html = ""; 13685 13686 html += '<form>'; 13687 13688 html += formFieldsBuildHiddenField({ 13689 'field-name' : 'guid', 13690 }, oData.id); 13691 13692 html += formFieldsBuildTextField({ 13693 'label-title' : "Nome campo", 13694 'field-name' : 'field-name', 13695 'classes' : 'form-control-sm', 13696 'display' : 12, 13697 'mandatory' : true, 13698 }, oData["title"]); 13699 13700 html += formFieldsBuildRadioField({ 13701 'label-title' : "Obbligatorio?", 13702 "field-name" : "mandatory", 13703 "display" : 12, 13704 'mandatory' : true, 13705 }, [ { "label" : "si", "value" : 1, "selected" : false }, 13706 { "label" : "no", "value" : 0, "selected" : false } ], oData["mandatory"]); 13707 13708 html += '</form>'; 13709 13710 g_oCTLBootstrapModals.showModal({ 13711 modal_title : "Text field", 13712 modal_content : html, 13713 position : "centered", 13714 entrance_animation : "animate__slideInUp", 13715 exit_animation : "animate__slideOutDown", 13716 footer_buttons : ['<button data-id-field-config="' + idConfigField + 13717 '" class="btn btn-primary ctl-form-fields-action-edit-text-field">modifica</button>'] 13718 }); 13719} 13720 13721function __ctlFormFieldsConfigFieldsEditCalendarField( oData, idConfigField ){ 13722 var html = ""; 13723 13724 html += '<form>'; 13725 13726 html += formFieldsBuildHiddenField({ 13727 'field-name' : 'guid', 13728 }, oData.id); 13729 13730 html += formFieldsBuildTextField({ 13731 'label-title' : "Nome campo", 13732 'field-name' : 'field-name', 13733 'classes' : 'form-control-sm', 13734 'display' : 12, 13735 'mandatory' : true, 13736 }, oData["title"]); 13737 13738 html += formFieldsBuildRadioField({ 13739 'label-title' : "Obbligatorio?", 13740 "field-name" : "mandatory", 13741 "display" : 12, 13742 'mandatory' : true, 13743 }, [ { "label" : "si", "value" : 1, "selected" : false }, 13744 { "label" : "no", "value" : 0, "selected" : false } ], oData["mandatory"]); 13745 13746 html += '</form>'; 13747 13748 g_oCTLBootstrapModals.showModal({ 13749 modal_title : "Text field", 13750 modal_content : html, 13751 position : "centered", 13752 entrance_animation : "animate__slideInUp", 13753 exit_animation : "animate__slideOutDown", 13754 footer_buttons : ['<button data-id-field-config="' + idConfigField + 13755 '" class="btn btn-primary ctl-form-fields-action-edit-calendar-field">modifica</button>'] 13756 }); 13757} 13758 13759function __ctlFormFieldsConfigFieldsEditRadioField( oData, idConfigField ){ 13760 var html = ""; 13761 13762 html += '<form>'; 13763 13764 html += formFieldsBuildHiddenField({ 13765 'field-name' : 'guid', 13766 }, oData.id); 13767 13768 html += formFieldsBuildTextField({ 13769 'label-title' : "Nome campo", 13770 'field-name' : 'field-name', 13771 'classes' : 'form-control-sm', 13772 'mandatory' : true, 13773 'display' : 12, 13774 }, oData.title); 13775 13776 html += formFieldsBuildDraggableListField({ 13777 "fieldname" : "radio-values", 13778 "display" : 12, 13779 "label-title" : "Input radio per scelta singola", 13780 "show-values" : true, 13781 "manually-add-items" : true, 13782 "delete-items" : true, 13783 'mandatory' : true, 13784 }, oData.items); 13785 13786 html += formFieldsBuildRadioField({ 13787 'label-title' : "Obbligatorio?", 13788 "field-name" : "mandatory", 13789 "display" : 12, 13790 'mandatory' : true, 13791 }, [ { "label" : "si", "value" : 1, "selected" : false }, 13792 { "label" : "no", "value" : 0, "selected" : false } ], oData["mandatory"] ); 13793 13794 html += '</form>'; 13795 13796 g_oCTLBootstrapModals.showModal({ 13797 modal_title : "Radio field", 13798 modal_content : html, 13799 position : "centered", 13800 entrance_animation : "animate__slideInUp", 13801 exit_animation : "animate__slideOutDown", 13802 footer_buttons : ['<button data-id-field-config="' + idConfigField + 13803 '" class="btn btn-primary ctl-form-fields-action-edit-radio-field">modifica</button>'] 13804 }); 13805} 13806 13807function ctlApplyCustomFieldsEditor(){ 13808 jQuery( ".ctl-wp-studio-form-control-wrapper .ctl-form-fields-config-fields-data").each(function(){ 13809 var szValue = jQuery(this).val(); 13810 if (!szValue){ 13811 return; 13812 } 13813 13814 var oNodeFieldContainer = jQuery(this).closest(".ctlcustomfields").find(".ctl-form-fields-config-fields-container"); 13815 __ctlFormFieldsUpdateConfigFieldList( oNodeFieldContainer, JSON.parse(Base64.decode(szValue)) ) 13816 }); 13817} 13818 13819function ctlFormFieldsAjaxUpdateFormData( oNodeForm, oFormData, cb ){ 13820 var idLoading = g_oCTLWPStudio.showLoading(""); 13821 13822 jQuery.ajax({ 13823 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 13824 type: "POST", 13825 data : oFormData, 13826 cache: false, 13827 processData : false, 13828 contentType : false, 13829 method: 'POST', 13830 success:function(response, textStatus, jqXHR){ 13831 var oResponse = jQuery.parseJSON(response); 13832 13833 if( oResponse.res === false ){ 13834 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 13835 } 13836 13837 g_oCTLWPStudio.closeDlg(idLoading); 13838 if (cb){ 13839 cb.call(this, oResponse); 13840 } 13841 }, 13842 error: function(jqXHR, textStatus, errorThrown){ 13843 g_oCTLWPStudio.closeDlg(idLoading); 13844 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 13845 } 13846 }); 13847} 13848 13849 13850function ctlFormFieldsMaximizeSelector( oNodeButton ){ 13851 13852 var url = window.location.href; 13853 oNodeToMaximize = jQuery(oNodeButton.attr("data-maximize-selector")); 13854 13855 var bMaximized = oNodeToMaximize.hasClass("ctl-maximize"); 13856 13857 if ( bMaximized ){ 13858 oNodeToMaximize.removeClass("ctl-maximize"); 13859 url = g_oCTLWPStudio.removeParameterFromUrl(url, "maximize"); 13860 }else{ 13861 oNodeToMaximize.addClass("ctl-maximize"); 13862 url = g_oCTLWPStudio.addParameterToUrl(url, "maximize", oNodeButton.attr("data-maximize-selector")); 13863 } 13864 13865 if ( oNodeButton.closest(".ctl-theme-table-main-wrapper").length > 0 ){ 13866 oNodeButton.closest(".ctl-theme-table-main-wrapper").find(".btn-action-maximize").each(function(){ 13867 if (bMaximized){ 13868 jQuery(this).find(".btn-text").text(g_oCTLFormFieldsLocalizationCommon["Maximize"]); 13869 jQuery(this).find("i").attr("class", "ctl-wp-studio-icons-resize-full-alt"); 13870 }else{ 13871 jQuery(this).find(".btn-text").text(g_oCTLFormFieldsLocalizationCommon["Minimize"]); 13872 jQuery(this).find("i").attr("class", "ctl-wp-studio-icons-resize-small"); 13873 } 13874 }); 13875 }else{ 13876 if (bMaximized){ 13877 oNodeButton.find(".btn-text").text(g_oCTLFormFieldsLocalizationCommon["Maximize"]); 13878 oNodeButton.find("i").attr("class", "ctl-wp-studio-icons-resize-full-alt"); 13879 }else{ 13880 oNodeButton.find(".btn-text").text(g_oCTLFormFieldsLocalizationCommon["Minimize"]); 13881 oNodeButton.find("i").attr("class", "ctl-wp-studio-icons-resize-small"); 13882 } 13883 } 13884 13885 oNodeButton.blur(); 13886 13887 if(history.pushState) { 13888 history.pushState(null, null, url); 13889 } 13890 13891 window.dispatchEvent(new Event('resize')); 13892 13893 if ( bMaximized ){ 13894 var iOffsetTop = oNodeToMaximize.offset().top; 13895 if( oNodeToMaximize.closest(".modal").length > 0 ){
13896 iOffsetTop -= jQuery('.modal-body').offset().top; 13897 jQuery('.modal-body').animate({ scrollTop: iOffsetTop }, 'slow'); 13898 }else{ 13899 iOffsetTop -= 150; 13900 jQuery('html,body').animate({ scrollTop: iOffsetTop }, 'slow'); 13901 } 13902 } 13903} 13904 13905/** 13906 * @param {jQuery} $aNodes - Un oggetto jQuery contenente i contenitori da indicizzare 13907 */ 13908function ctlFormFieldsAssignIndexesToArrayFields($aNodes) { 13909 13910 // Usiamo la collezione totale di nodi per garantire che l'index sia progressivo 13911 $aNodes.each(function(globalIndex) { 13912 const $container = $(this); 13913 13914 // Cerchiamo tutti gli elementi con un attributo 'name' nel blocco corrente 13915 $container.find('[name]').each(function() { 13916 const $campo = $(this); 13917 const currentName = $campo.attr('name') || ""; 13918 13919 // 1. Aggiornamento del Name (Cardinalità ) 13920 // La regex ora è più flessibile per catturare [] o [0], [1], ecc. 13921 const regex = /\[(\d*)\]/; 13922 13923 if (regex.test(currentName)) { 13924 // Sostituiamo qualsiasi cosa ci sia tra le quadre con globalIndex 13925 const newName = currentName.replace(regex, `[${globalIndex}]`); 13926 $campo.attr('name', newName); 13927 } 13928 13929 // 2. Ripristino del check (Cruciale per i radio che perdono il valore) 13930 if ($campo.is(':radio, :checkbox')) { 13931 if ($campo.attr('checked') !== undefined || $campo.prop('checked') === true) { 13932 $campo.prop('checked', true); 13933 } 13934 } 13935 13936 // 3. Gestione ID e Label per Bootstrap Custom Controls 13937 const oldId = $campo.attr('id'); 13938 if (oldId) { 13939 // Puliamo l'ID da eventuali indici precedenti per evitare accumuli (es: id_0_0_0) 13940 const baseId = oldId.replace(/_\d+$/, ""); 13941 const newId = `${baseId}_${globalIndex}`; 13942 13943 $campo.attr('id', newId); 13944 13945 // Aggiorniamo la label corrispondente 13946 // Cerchiamo la label che ha il vecchio ID o che è stata già rinominata 13947 $container.find(`label[for^="${baseId}"]`).attr('for', newId); 13948 } 13949 }); 13950 }); 13951} 13952 13953function ctlApplySelect2( oNodeParent = null ){ 13954 13955 if ( !oNodeParent ){ 13956 oNodeParent = jQuery('body'); 13957 } 13958 13959 oNodeParent.find( ".ctl-wp-studio-form-control-wrapper .ctl-wp-studio-select2-search" ).each(function(){ 13960/* 13961 google android drops with optimized ux on mobile, do fallback with select2, is the best way to use select multiple on mobile 13962 if ( !jQuery(this).attr("data-type-search") && 13963 jQuery(this).prop("multiple") && g_oCTLWPStudio._oLangCommon["bIsMobile"] ){ 13964 return; 13965 } 13966*/ 13967 g_oCTLWPStudio.createSelect2(jQuery(this)); 13968 }); 13969 13970 oNodeParent.find(".ctl-select2").each(function(){ 13971/* 13972 google android drops with optimized ux on mobile, do fallback with select2, is the best way to use select multiple on mobile 13973 if ( !jQuery(this).attr("data-type-search") && 13974 jQuery(this).prop("multiple") && g_oCTLWPStudio._oLangCommon["bIsMobile"] ){ 13975 jQuery(this).find("option[value='']").remove(); 13976 return; 13977 } 13978*/ 13979 var oConfig = { 13980 width: jQuery(this).data('width') ? 13981 jQuery(this).data('width') : 13982 jQuery(this).hasClass('w-100') ? 13983 '100%' : 'style', 13984 placeholder: ""}; 13985 13986 //if ( g_aActivatedExtension.includes("ctl-bootstrap-4")){ 13987 oConfig["theme"] = 'bootstrap4'; 13988 //} 13989 13990 jQuery(this).find("option").each(function(){ 13991 if ( jQuery(this).val() == "" || !jQuery(this).val() ){ 13992 oConfig["placeholder"] = jQuery(this).text(); 13993 } 13994 }); 13995 13996 if (!jQuery(this).attr("multiple")){ 13997 oConfig["allowClear"] = true; 13998 } 13999 14000 if ( jQuery(this).data('allow-clear') === false ){ 14001 oConfig["allowClear"] = false;
14002 } 14003 14004 if ( jQuery(this).data('search-input') === false ){ 14005 oConfig["minimumResultsForSearch"] = Infinity; 14006 } 14007 14008 jQuery(this).select2(oConfig); 14009 }); 14010 14011 oNodeParent.find(".ctl-form-fields-cascading-select2-search-cpt").each(function(){ 14012 ctlFormFieldsCreateCascadingSelect2CPT(jQuery(this)); 14013 }); 14014 14015 oNodeParent.find(".ctl-form-fields-cascading-select2-search-cpt").each(function(){ 14016 let index = jQuery(this).data("select-index"); 14017 if ( index == 0 && 14018 (jQuery(this).val() === "" || jQuery(this).val() === null) ){ 14019 jQuery(this).trigger("change"); 14020 } 14021 }); 14022 14023 oNodeParent.find(".ctl-wp-studio-select2-search-posts").each(function(){ 14024 ctlFormFieldsCreateSelect2SearchCPTs(jQuery(this)); 14025 }); 14026 14027 oNodeParent.find(".ctl-wp-studio-select2-search-users").each(function(){ 14028 ctlFormFieldsCreateSelect2SearchUsers(jQuery(this)); 14029 }); 14030} 14031 14032function ctlFormFieldsDeentitize( szValue ) { 14033 var ret = szValue.replace(/>/g, '>'); 14034 ret = ret.replace(/</g, '<'); 14035 ret = ret.replace(/"/g, '"'); 14036 ret = ret.replace(/'/g, "'"); 14037 ret = ret.replace(/&/g, '&'); 14038 return ret; 14039}; 14040 14041function ctlFormFieldsCreateSelect2SearchCPTs( oNodeSelect ){ 14042 var idWidget = oNodeSelect.attr("data-widget-id"); 14043 var idPostParent = oNodeSelect.data("post-parent-id"); 14044 14045 var bDisabled = oNodeSelect[0].hasAttribute("disabled"); 14046 14047 let szLabelSuggestion = oNodeSelect.data("label-suggestion"); 14048 if ( !szLabelSuggestion ){ 14049 szLabelSuggestion = g_oCTLWPStudio._oLangCommon["Search..."]; 14050 } 14051 var oSelectInit = { 14052 width: '100%', 14053 disabled : bDisabled, 14054 theme: 'bootstrap4', 14055 templateResult: function(state) { 14056 if(state.img){ 14057 return jQuery('<img onerror="g_oCTLWPStudio.onImageError(this)"class="ctl-wp-studio-select2-option-img" src="' + state.img + '"/><span>' + state.text + "</span>"); 14058 }else{ 14059 return state.text; 14060 } 14061 }, 14062 templateSelection: function (data) { 14063 if (!data.id) return data.text; 14064 14065 const $option = $(data.element); 14066 let szValue = ctlFormFieldsDeentitize($option.html()); 14067 return szValue; 14068 }, 14069 language: { 14070 inputTooShort: function (args) { 14071 var remainingChars = args.minimum - args.input.length; 14072 14073 return sprintf(g_oCTLWPStudio._oLangCommon["Please enter %d or more characters"], remainingChars); 14074 }, 14075 errorLoading: function () { 14076 return g_oCTLWPStudio._oLangCommon["The results could not be loaded."]; 14077 }, 14078 loadingMore: function () { 14079 return g_oCTLWPStudio._oLangCommon["Loading more results..."]; 14080 }, 14081 searching: function(){ 14082 return g_oCTLWPStudio._oLangCommon["Searching..."]; 14083 }, 14084 noResults: function(){ 14085 return g_oCTLWPStudio._oLangCommon["No Results Found!"]; 14086 } 14087 }, 14088 escapeMarkup: function (markup) { 14089 return markup; 14090 }, 14091 ajax: { 14092 url: g_oCTLWPStudio._oLangCommon.ajaxurl, 14093 dataType: 'json', 14094 type: 'POST', 14095 processResults: function (data) { 14096 // Tranforms the top-level key of the response object from 'items' to 'results' 14097 oNodeSelect.prop("data-items", data.items); 14098 14099 return { 14100 results: data.items 14101 }; 14102 }, 14103 data: function (params) { 14104 var query = { 14105 search : params.term, 14106 page : params.page || -1, 14107 action : g_oCTLWPStudio._szPluginCode, 14108 execute : "ctl-form-fields", 14109 "widget-id" : idWidget, 14110 "extension-action" : "select2-search-posts", 14111 "get-params" : g_oCTLWPStudio.getUrlParams() 14112 }; 14113 if(idPostParent){ 14114 query["post-parent-id"] = idPostParent; 14115 } 14116 return query; 14117 } 14118 }, 14119 placeholder: szLabelSuggestion 14120 }; 14121 14122 if ( oNodeSelect.closest(".input-group").length === 0 ){ 14123 oSelectInit["width"] = '100%'; 14124 oSelectInit["allowClear"] = true; 14125 }else{ 14126 if ( oNodeSelect.closest(".input-group").find(".btn-action-empty-select2").length === 0 ){ 14127 oSelectInit["allowClear"] = true; 14128 } 14129 } 14130 14131 oNodeSelect.select2(oSelectInit); 14132}; 14133 14134function ctlFormFieldsCreateSelect2SearchUsers( oNodeSelect ){ 14135 var idWidget = oNodeSelect.attr("data-widget-id"); 14136 let szTargetedPost = oNodeSelect.data("targeted-post-id"); 14137 14138 var bDisabled = oNodeSelect[0].hasAttribute("disabled"); 14139 14140 let szLabelSuggestion = oNodeSelect.data("label-suggestion"); 14141 if ( !szLabelSuggestion ){ 14142 szLabelSuggestion = g_oCTLWPStudio._oLangCommon["Search..."]; 14143 } 14144 14145 var oSelectInit = { 14146 disabled : bDisabled, 14147 theme: 'bootstrap4', 14148 templateResult: function(state) { 14149 if(state.img){ 14150 return jQuery('<img onerror="g_oCTLWPStudio.onImageError(this)"class="ctl-wp-studio-select2-option-img" src="' + state.img + '"/><span>' + state.text + "</span>"); 14151 }else{ 14152 return state.text; 14153 } 14154 }, 14155 templateSelection: function (data) { 14156 if (!data.id) return data.text; 14157 14158 const $option = $(data.element); 14159 return $option.html(); // mostra il contenuto anche nel campo selezionato 14160 }, 14161 language: { 14162 inputTooShort: function (args) { 14163 var remainingChars = args.minimum - args.input.length; 14164 14165 return sprintf(g_oCTLWPStudio._oLangCommon["Please enter %d or more characters"], remainingChars); 14166 }, 14167 errorLoading: function () { 14168 return g_oCTLWPStudio._oLangCommon["The results could not be loaded."]; 14169 }, 14170 loadingMore: function () { 14171 return g_oCTLWPStudio._oLangCommon["Loading more results..."]; 14172 }, 14173 searching: function(){ 14174 return g_oCTLWPStudio._oLangCommon["Searching..."]; 14175 }, 14176 noResults: function(){ 14177 return g_oCTLWPStudio._oLangCommon["No Results Found!"]; 14178 } 14179 }, 14180 escapeMarkup: function (markup) { 14181 return markup; 14182 }, 14183 ajax: { 14184 url: g_oCTLWPStudio._oLangCommon.ajaxurl, 14185 dataType: 'json', 14186 type: 'POST', 14187 processResults: function (data) { 14188 // Tranforms the top-level key of the response object from 'items' to 'results' 14189 oNodeSelect.prop("data-items", data.items); 14190 return { 14191 results: data.items 14192 }; 14193 }, 14194 data: function (params) { 14195 var query = { 14196 search : params.term, 14197 page : params.page || -1, 14198 action : g_oCTLWPStudio._szPluginCode, 14199 execute : "ctl-form-fields", 14200 "widget-id" : idWidget, 14201 "extension-action" : "select2-search-users", 14202 "get-params" : g_oCTLWPStudio.getUrlParams(), 14203 }; 14204 14205 if ( szTargetedPost ){ 14206 query["targeted-post-id"] = szTargetedPost; 14207 } 14208 14209 return query; 14210 } 14211 }, 14212 placeholder: szLabelSuggestion 14213 }; 14214 14215 if ( oNodeSelect.closest(".input-group").length === 0 ){ 14216 oSelectInit["width"] = '100%'; 14217 oSelectInit["allowClear"] = true; 14218 }else{ 14219 if ( oNodeSelect.closest(".input-group").find(".btn-action-empty-select2").length === 0 ){ 14220 oSelectInit["allowClear"] = true; 14221 } 14222 } 14223 14224 oNodeSelect.select2(oSelectInit); 14225}; 14226 14227function ctlFormFieldsCreateCascadingSelect2CPT( oNodeSelect ){ 14228 14229 var bDisabled = oNodeSelect[0].hasAttribute("disabled"); 14230 14231 let szLabelSuggestion = oNodeSelect.data("label-suggestion"); 14232 if ( !szLabelSuggestion ){ 14233 szLabelSuggestion = g_oCTLWPStudio._oLangCommon["Search..."]; 14234 } 14235 14236 var oSelectInit = { 14237 disabled : bDisabled, 14238 theme: 'bootstrap4', 14239 templateResult: function(state) { 14240 if(state.img){ 14241 return jQuery('<img onerror="g_oCTLWPStudio.onImageError(this)"class="ctl-wp-studio-select2-option-img" src="' + state.img + '"/><span>' + state.text + "</span>"); 14242 }else{ 14243 return state.text; 14244 } 14245 }, 14246 language: { 14247 inputTooShort: function (args) { 14248 var remainingChars = args.minimum - args.input.length; 14249 14250 return sprintf(g_oCTLWPStudio._oLangCommon["Please enter %d or more characters"], remainingChars); 14251 }, 14252 errorLoading: function () { 14253 return g_oCTLWPStudio._oLangCommon["The results could not be loaded."]; 14254 }, 14255 loadingMore: function () { 14256 return g_oCTLWPStudio._oLangCommon["Loading more results..."]; 14257 }, 14258 searching: function(){ 14259 return g_oCTLWPStudio._oLangCommon["Searching..."]; 14260 }, 14261 noResults: function(){ 14262 return g_oCTLWPStudio._oLangCommon["No Results Found!"]; 14263 } 14264 }, 14265 escapeMarkup: function (markup) { 14266 return markup; 14267 }, 14268 ajax: { 14269 url: g_oCTLWPStudio._oLangCommon.ajaxurl, 14270 dataType: 'json', 14271 type: 'POST', 14272 processResults: function (data) { 14273 // Tranforms the top-level key of the response object from 'items' to 'results' 14274 oNodeSelect.prop("data-items", data.items); 14275 return { 14276 results: data.items 14277 }; 14278 }, 14279 data: function (params) { 14280 var idCascadingFieldGuid = oNodeSelect.attr("data-cascading-fields-guid"); 14281 var idWidget = oNodeSelect.attr("data-widget-id"); 14282 var idSelect = oNodeSelect.attr("data-select-id"); 14283 var idParentSelect = oNodeSelect.attr("data-parent-select-index"); 14284 var oNodeParentSelect = jQuery( 14285 "."+idCascadingFieldGuid+".ctl-form-fields-cascading-select2-search-cpt-"+idParentSelect); 14286 var idPostParent = ( oNodeParentSelect.length > 0 ? oNodeParentSelect.val() : 0 ); 14287 14288 14289 var query = { 14290 search : params.term, 14291 page : params.page || -1, 14292 action : g_oCTLWPStudio._szPluginCode, 14293 execute : "ctl-form-fields", 14294 "widget-id" : idWidget, 14295 "select-id" : idSelect, 14296 "extension-action" : "cascading-select-search2-cpt", 14297 "post-parent" : idPostParent, 14298 "get-params" : g_oCTLWPStudio.getUrlParams() 14299 }; 14300 14301 return query; 14302 } 14303 }, 14304 placeholder: szLabelSuggestion 14305 }; 14306 14307 if ( oNodeSelect.closest(".input-group").length === 0 ){ 14308 oSelectInit["width"] = '100%'; 14309 oSelectInit["allowClear"] = true; 14310 }else{ 14311 if ( oNodeSelect.closest(".input-group").find(".btn-action-empty-select2").length === 0 ){ 14312 oSelectInit["allowClear"] = true; 14313 } 14314 } 14315 14316 oNodeSelect.select2(oSelectInit); 14317}; 14318 14319function ctlFormFieldsScrollToError(){ 14320 if ( jQuery(".is-invalid").length === 0 ){ 14321 return; 14322 } 14323 let oNodeAccordion = jQuery(".is-invalid").closest(".collapse"); 14324 if ( oNodeAccordion.length > 0 ){ 14325 oNodeAccordion.collapse('show'); 14326 } 14327 14328 var oNodefirstError = jQuery(".is-invalid").eq(0); 14329 var iOffsetTop = jQuery(".is-invalid").eq(0).offset().top; 14330 if( oNodefirstError.closest(".modal").length > 0 ){
14331 iOffsetTop -= jQuery('.modal-body').offset().top; 14332 jQuery('.modal-body').stop().animate({ scrollTop: iOffsetTop }, 'slow'); 14333 }else{ 14334 iOffsetTop -= 150; 14335 jQuery('html,body').stop().animate({ scrollTop: iOffsetTop }, 'slow'); 14336 } 14337} 14338 14339function ctlFormFieldCleanError( oNodeControl ){ 14340 var oNodeFormGroup = oNodeControl.closest(".form-group").eq(0); 14341 14342 oNodeFormGroup.find(".is-invalid").each(function(){ 14343 jQuery(this).removeClass("is-invalid"); 14344 }); 14345 oNodeFormGroup.find(".invalid-feedback").each(function(){ 14346 jQuery(this).text(""); 14347 }); 14348} 14349 14350function ctlFormFieldsCleanErrors( oNodeForm ){ 14351 if ( oNodeForm.length > 0 ){ 14352 oNodeForm.find(".is-invalid").each(function(){ 14353 jQuery(this).removeClass("is-invalid"); 14354 }); 14355 oNodeForm.find(".invalid-feedback").each(function(){ 14356 jQuery(this).text(""); 14357 }); 14358 } 14359} 14360 14361function ctlFormFieldsApplyErrors( oNodeForm, aErrors ){ 14362 14363 if ( !aErrors ){ 14364 return; 14365 } 14366 14367 if ( aErrors.length > 0 ){ 14368 for( var i = 0; i < aErrors.length; i++ ){ 14369 var oError = aErrors[i]; 14370 var oNodeField = oNodeForm.find('*[name="'+oError.name+'"]'); 14371 14372 if("index" in oError){ 14373 oNodeField = oNodeField.eq(oError.index); 14374 } 14375 14376 if( oNodeField.length > 0 ){ 14377 ctlFormFieldsApplyError( oNodeField, oError.desc ); 14378 } 14379 } 14380 ctlFormFieldsScrollToError(); 14381 } 14382} 14383 14384function ctlFormFieldsCheckIfFormIsFilled( oNode, bShowErrors = true ){ 14385 14386 if ( bShowErrors ){ 14387 ctlFormFieldsCleanErrors(oNode); 14388 } 14389 14390 var bFilled = true; 14391 14392 oNode.find(".ctl-wp-studio-form-control-wrapper").each(function(){ 14393 if ( !ctlFormFieldsCheckIfFormControlIsFilled(jQuery(this), bShowErrors) ){ 14394 bFilled = false; 14395 } 14396 }); 14397 14398 if (!bFilled && bShowErrors == true ){ 14399 ctlFormFieldsScrollToError(); 14400 } 14401 14402 return bFilled; 14403} 14404 14405function ctlFormFieldsCheckIfFormControlIsFilled( oNodeFormControlWrapper, bShowErrors = true ){ 14406 14407 if ( oNodeFormControlWrapper.hasClass("ctlhtmlfield")){ 14408 let oNodeDropboxFolderWrapper = oNodeFormControlWrapper.closest(".ctl-dropbox-folder-wrapper"); 14409 if(oNodeDropboxFolderWrapper.length > 0){ 14410 return __ctlFormFieldsValidateDropboxFolderField(oNodeDropboxFolderWrapper, bShowErrors); 14411 } 14412 } 14413 14414 if ( oNodeFormControlWrapper.hasClass("ctlnumfield") ){ 14415 return __ctlFormFieldsValidateNumberField(oNodeFormControlWrapper, bShowErrors ); 14416 }else if ( oNodeFormControlWrapper.hasClass("ctltextfield") ){ 14417 return __ctlFormFieldsValidateTextField(oNodeFormControlWrapper, bShowErrors); 14418 }else if ( oNodeFormControlWrapper.hasClass("ctlibanfield") ){ 14419 return __ctlFormFieldsValidateIbanField(oNodeFormControlWrapper, bShowErrors); 14420 }else if ( oNodeFormControlWrapper.hasClass("ctlcffield") ){ 14421 return __ctlFormFieldsValidateCFField(oNodeFormControlWrapper, bShowErrors); 14422 }else if ( oNodeFormControlWrapper.hasClass("ctlipfield") ){ 14423 return __ctlFormFieldsValidateIPField(oNodeFormControlWrapper, bShowErrors); 14424 }else if ( oNodeFormControlWrapper.hasClass("ctlcolorfield") ){ 14425 return __ctlFormFieldsValidateColorField(oNodeFormControlWrapper, bShowErrors); 14426 }else if ( oNodeFormControlWrapper.hasClass("ctltextareafield") ){ 14427 return __ctlFormFieldsValidateTextAreaField(oNodeFormControlWrapper, bShowErrors); 14428 }else if ( oNodeFormControlWrapper.hasClass("ctlselectfield") ){ 14429 return __ctlFormFieldsValidateSelectField(oNodeFormControlWrapper, bShowErrors); 14430 }else if ( oNodeFormControlWrapper.hasClass("ctls2searchfield") ){ 14431 return __ctlFormFieldsValidateSelectField(oNodeFormControlWrapper, bShowErrors); 14432 }else if ( oNodeFormControlWrapper.hasClass("ctlradiofield") ){ 14433 return __ctlFormFieldsValidateRadioField(oNodeFormControlWrapper, bShowErrors); 14434 }else if ( oNodeFormControlWrapper.hasClass("ctlcheckfield") ){ 14435 return __ctlFormFieldsValidateCheckField(oNodeFormControlWrapper, bShowErrors); 14436 }else if ( oNodeFormControlWrapper.hasClass("ctldatefield") ){ 14437 return __ctlFormFieldsValidateTextField(oNodeFormControlWrapper, bShowErrors); 14438 }else if ( oNodeFormControlWrapper.hasClass("ctluploadfield") ){ 14439 return __ctlFormFieldsValidateInputFileField(oNodeFormControlWrapper, bShowErrors); 14440 }else if ( oNodeFormControlWrapper.hasClass("ctlbirthdatefield") ){ 14441 return __ctlFormFieldsValidateBirthdateField(oNodeFormControlWrapper, bShowErrors); 14442 }else if ( oNodeFormControlWrapper.hasClass("ctldraglistfield") ){ 14443 return __ctlFormFieldsValidateDraggableListField(oNodeFormControlWrapper, bShowErrors); 14444 }else if ( oNodeFormControlWrapper.hasClass("ctlsignaturefield") ){ 14445 return __ctlFormFieldsValidateSignatureField(oNodeFormControlWrapper, bShowErrors); 14446 }else if ( oNodeFormControlWrapper.hasClass("mandatory")){ 14447 return __ctlFormFieldsValidateGenericField(oNodeFormControlWrapper, bShowErrors); 14448 } 14449 14450 return true; 14451} 14452 14453function __ctlFormFieldsValidateGenericField(oNodeFormControlWrapper, bShowErrors = true){ 14454 var oNodeField = oNodeFormControlWrapper.find('input[type=text]'); 14455 14456 if ( oNodeField.length === 0 ){ 14457 oNodeField = oNodeFormControlWrapper.find('input[type=password]'); 14458 } 14459 14460 if ( oNodeField.length === 0 ){ 14461 oNodeField = oNodeFormControlWrapper.find('input[type=email]'); 14462 } 14463 14464 if ( oNodeField.length === 0 ){ 14465 oNodeField = oNodeFormControlWrapper.find('input[type=hidden]'); 14466 } 14467 14468 if ( oNodeField.length === 0 ){ 14469 oNodeField = oNodeFormControlWrapper.find('input[type=number]'); 14470 } 14471 14472 if ( oNodeField.length === 0 ){ 14473 oNodeField = oNodeFormControlWrapper.find('textarea'); 14474 } 14475 14476 if ( oNodeField.length === 0 ){ 14477 oNodeField = oNodeFormControlWrapper.find('.ctl-media-gallery-list'); 14478 } 14479 14480 var szValue = oNodeField.val(); 14481 14482 if ( !szValue || szValue === "" || szValue === 0 ){ 14483 if (bShowErrors){ 14484 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 14485 } 14486 return false;
14487 } 14488 14489 return true; 14490} 14491 14492function ctlFormFieldsApplyError( oNodeField, szErrorMessage ){ 14493 oNodeField.closest(".ctl-wp-studio-form-control-wrapper").addClass("is-invalid"); 14494 oNodeField.addClass("is-invalid"); 14495 var oNodeInvalidFeedback = oNodeField.closest(".form-group").find(".invalid-feedback"); 14496 oNodeInvalidFeedback.text(szErrorMessage); 14497} 14498 14499function __ctlFormFieldsValidateNumberField(oNodeFormControlWrapper, bShowErrors = true ){ 14500 14501 var oNodeField = oNodeFormControlWrapper.find('input[type=number]'); 14502 var szValue = oNodeField.val(); 14503 14504 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 14505 if( szValue === "" ){ 14506 var aAlternativeFields = oNodeFormControlWrapper.attr("data-alternative-mandatory-fields"); 14507 if ( aAlternativeFields ){ 14508 var oNodeForm = oNodeFormControlWrapper.closest("form"); 14509 aAlternativeFields = aAlternativeFields.split(","); 14510 var bFound = false; 14511 for( var i = 0; i < aAlternativeFields.length; i++ ){ 14512 oNodeForm.find('input[name='+aAlternativeFields[i]+'],select[name='+aAlternativeFields[i]+'],textarea[name='+aAlternativeFields[i]+']' ).each(function(){ 14513 if ( jQuery(this).val() !== "" ){ 14514 bFound = true; 14515 } 14516 }); 14517 } 14518 if (!bFound){ 14519 if (bShowErrors){ 14520 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 14521 } 14522 return false; 14523 } 14524 }else{ 14525 if (bShowErrors){ 14526 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 14527 } 14528 return false; 14529 } 14530 } 14531 } 14532 14533 if ( szValue === "" ){ 14534 return true; 14535 } 14536 14537 if ( szValue !== "" && isNaN(szValue) ){ 14538 if (bShowErrors){ 14539 ctlFormFieldsApplyError(oNodeField, 14540 g_oCTLFormFieldsLocalizationCommon["This field accept only numbers"]); 14541 } 14542 return false; 14543 } 14544 14545 var fValue = Number(szValue); 14546
14547 if ( oNodeField.hasClass("validate-not-zero") ){ 14548 if ( fValue === 0 ){ 14549 if (bShowErrors){ 14550 ctlFormFieldsApplyError(oNodeField, 14551 g_oCTLFormFieldsLocalizationCommon["This field doesn't accept zero value"]); 14552 } 14553 return false; 14554 } 14555 } 14556 14557 if ( oNodeField.hasClass("validate-unsigned") ){ 14558 if (fValue < 0 ){ 14559 if (bShowErrors){ 14560 ctlFormFieldsApplyError(oNodeField, 14561 g_oCTLFormFieldsLocalizationCommon["This field accept only positive numbers"]); 14562 } 14563 return false; 14564 } 14565 } 14566 14567 if ( oNodeField.hasClass("validate-integer") ){ 14568 if (!Number.isInteger(Number(fValue)) ){ 14569 if (bShowErrors){ 14570 ctlFormFieldsApplyError(oNodeField, 14571 g_oCTLFormFieldsLocalizationCommon["This field accept only integer numbers"]); 14572 } 14573 return false; 14574 } 14575 } 14576 14577
14578 if ( oNodeField.hasClass("validate-min-value") ){ 14579 var iMin = Number(oNodeField.attr("min")); 14580 14581 if ( szValue === "" || fValue < iMin ){ 14582 if (bShowErrors){ 14583 ctlFormFieldsApplyError(oNodeField, 14584 sprintfNumber( 14585 g_oCTLFormFieldsLocalizationCommon["The value must be greater than or equal to %d"], 14586 g_oCTLFormFieldsLocalizationCommon["The value must be greater than or equal to %d"], 14587 g_oCTLFormFieldsLocalizationCommon["The value must be greater than or equal to %d"], 14588 iMin+"")); 14589 } 14590 return false; 14591 } 14592 } 14593 14594 if ( oNodeField.hasClass("validate-max-value") ){ 14595 var iMax = Number(oNodeField.attr("max")); 14596 14597 if ( fValue > iMax ){ 14598 if (bShowErrors){ 14599 ctlFormFieldsApplyError(oNodeField, 14600 sprintfNumber( 14601 g_oCTLFormFieldsLocalizationCommon["The value must be lower than or equal to %d"], 14602 g_oCTLFormFieldsLocalizationCommon["The value must be lower than or equal to %d"], 14603 g_oCTLFormFieldsLocalizationCommon["The value must be lower than or equal to %d"], 14604 iMax)); 14605 } 14606 return false; 14607 } 14608 } 14609 14610 return true; 14611} 14612 14613function __ctlFormFieldsValidateInputFileField(oNodeFormControlWrapper, bShowErrors = true){ 14614 14615 var oNodeField = oNodeFormControlWrapper.find('input[type=file]'); 14616 var szValue = oNodeField.val(); 14617 14618 if ( oNodeField.data("max-file-uploads") ){ 14619 var aFiles = oNodeField[0].files; 14620 let iMaxFileUploads = parseInt(oNodeField.data("max-file-uploads"), 10); 14621 14622 if (aFiles.length > iMaxFileUploads){ 14623 if (bShowErrors){ 14624 if(iMaxFileUploads > 1){ 14625 ctlFormFieldsApplyError(oNodeField, 14626 sprintf(g_oCTLFormFieldsLocalizationCommon["Exceeded the limit of %d files"], 14627 iMaxFileUploads 14628 ) 14629 ); 14630 }else{ 14631 ctlFormFieldsApplyError(oNodeField, 14632 g_oCTLFormFieldsLocalizationCommon["You can only upload one file"] 14633 ); 14634 } 14635 } 14636 return false; 14637 } 14638 } 14639 14640 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 14641 if( szValue === "" ){ 14642 if ( oNodeFormControlWrapper.hasClass("img-default") ){ 14643 return true; 14644 } 14645 14646 if (bShowErrors){ 14647 ctlFormFieldsApplyError(oNodeField, 14648 g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 14649 } 14650 return false; 14651 } 14652 } 14653 return true; 14654} 14655 14656function __ctlFormFieldsValidateColorField(oNodeFormControlWrapper, bShowErrors = true ){ 14657 var oNodeField = oNodeFormControlWrapper.find('input[type=text]'); 14658 14659 if ( oNodeField.length === 0 ){ 14660 return true; 14661 } 14662 14663 var szValue = oNodeField.val(); 14664 14665 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 14666 if( szValue === "" ){ 14667 var aAlternativeFields = oNodeFormControlWrapper.attr("data-alternative-mandatory-fields"); 14668 if ( aAlternativeFields ){ 14669 var oNodeForm = oNodeFormControlWrapper.closest("form"); 14670 aAlternativeFields = aAlternativeFields.split(","); 14671 var bFound = false; 14672 for( var i = 0; i < aAlternativeFields.length; i++ ){ 14673 oNodeForm.find('input[name='+aAlternativeFields[i]+'],select[name='+aAlternativeFields[i]+'],textarea[name='+aAlternativeFields[i]+']' ).each(function(){ 14674 if ( jQuery(this).val() !== "" ){ 14675 bFound = true; 14676 } 14677 }); 14678 } 14679 if (!bFound){ 14680 if (bShowErrors){ 14681 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 14682 } 14683 return false;
14684 } 14685 }else{ 14686 if (bShowErrors){ 14687 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 14688 } 14689 return false; 14690 } 14691 } 14692 } 14693 return true; 14694} 14695 14696function __ctlFormFieldsUpdateConfigFieldList( oNodeFieldContainer, aConfigFields ){ 14697 var html = ""; 14698 14699 for( var i = 0; i < aConfigFields.length; i++ ){ 14700 var oField = aConfigFields[i]; 14701 14702 html += '<li id="' + oField.id + '" data-field="' + Base64.encode(JSON.stringify(oField)) + '">'; 14703 html += '<span class="ctl-form-fields-config-field-title">' + oField.title + '</span>'; 14704 html += '<span class="ctl-form-fields-config-actions">'; 14705 html += '<i class="ctl-form-fields-action-config-fields-edit-item fas fa-pencil"></i>'; 14706 html += '<i class="ctl-form-fields-action-config-fields-remove-item fas fa-trash-alt"></i>'; 14707 html += '</span>'; 14708 html += '</li>'; 14709 } 14710 14711 oNodeFieldContainer.html(html); 14712} 14713 14714function ctlEditorFrameworkMediaFieldDlg( oNodeButton ){ 14715 var oNodeFormGroup = oNodeButton.closest(".form-group"); 14716 var oNodeInputHidden = oNodeFormGroup.find("input[type=hidden]"); 14717 var oNodeEditDataContainer = oNodeButton.closest(".ctl-edit-data-container"); 14718 14719 if ( oNodeEditDataContainer.length == 0 ){ 14720 alert("PLEASE USE MEDIA FIELD IN EDIT USER/POST DATA"); 14721 return; 14722 } 14723 14724 var oFormData = {}; 14725 oNodeEditDataContainer.find("form").each(function(){ 14726 oFormData = jQuery.extend(jQuery(this).serializeObject(), oFormData); 14727 }); 14728 14729 ctlEditorFrameworkShowVulcanoMediaGallery( oFormData["widget-id"], 14730 oNodeEditDataContainer.attr("data-type"), 14731 oNodeEditDataContainer.attr("data-type") == "post" ? 14732 oFormData["post-id"] : oFormData["user-id"], 14733 oNodeInputHidden.attr("name")); 14734} 14735 14736function ctlEditorFrameworkEmptyMediaField( oNodeButton ){ 14737 var oNodeWrapper = oNodeButton.closest(".ctl-wp-studio-form-control-wrapper"); 14738 oNodeWrapper.find(".ctl-form-fields-media-preview").html(""); 14739 oNodeWrapper.find('input[type=hidden]').val(""); 14740 oNodeWrapper.find('.ctl-editors-action-preview-media-field').addClass('d-none'); 14741 oNodeButton.addClass("d-none"); 14742} 14743 14744function ctlEditorFrameworkUploadFileInVulcanoMediaGallery( oNodeButton ){ 14745 var oNodeModal = oNodeButton.closest(".modal"); 14746 var oNodeForm = oNodeButton.closest("form"); 14747 14748 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 14749 return; 14750 } 14751 14752 var oFormData = new FormData(); 14753 var idWidget = oNodeForm.find('input[name=widget-id]').val(); 14754 var szMetaField = oNodeForm.find('input[name=meta-field]').val(); 14755 14756 oFormData.append( 'resource-id', oNodeForm.find('input[name=resource-id]').val() ); 14757 oFormData.append( 'data-type', oNodeForm.find('input[name=data-type]').val() ); 14758 oFormData.append( 'meta-field', szMetaField ); 14759 oFormData.append( 'file', oNodeForm.find('input[name=upload-file]')[0].files[0] ); 14760 oFormData.append( 'widget-id', idWidget ); 14761 oFormData.append( 'action', 'ctl-wp-studio' ); 14762 oFormData.append( 'execute', 'ctl-editors-framework' ); 14763 oFormData.append( 'extension-action', 'upload-media' ); 14764 14765 ctlEditorFrameworkAjaxUpdateFormData(oNodeForm, oFormData, false, function(oResponse){ 14766 if ( oResponse.res === true ){ 14767 var oNodeContainer = jQuery('.ctl-edit-data-container-'+idWidget); 14768 var oNodeInputField = oNodeContainer.find('input[name='+szMetaField+']'); 14769 var oNodeWrapper = oNodeInputField.closest(".ctl-wp-studio-form-control-wrapper"); 14770 var oNodPreview = oNodeWrapper.find(".ctl-form-fields-media-preview"); 14771 oNodPreview.html(ctlFormFieldsHtmlMediaPreview(oResponse.last_media.url)); 14772 oNodeInputField.val(oResponse.last_media.id); 14773 14774 oNodeWrapper.find('.ctl-editors-action-preview-media-field').attr("href", oResponse.last_media.url); 14775 oNodeWrapper.find('.ctl-editors-action-preview-media-field').removeClass('d-none'); 14776 oNodeWrapper.find('.ctl-editors-action-empty-media-field').removeClass('d-none'); 14777 14778 oNodeModal.modal("hide"); 14779 } 14780 }); 14781} 14782 14783function ctlFormFieldsHtmlMediaPreview( url ){ 14784 14785 if (!url){ 14786 return ""; 14787 } 14788 14789 var szFileName = url.replace(/^.*[\\\/]/, ''); 14790 var ext = szFileName.substring(szFileName.lastIndexOf('+ ')+1, szFileName.length) || szFileName; 14791 14792 htmlImg = ''; 14793 14794 switch(ext){ 14795 case 'jpg': 14796 case 'jpeg': 14797 case 'gif': 14798 case 'bmp': 14799 case 'png': { 14800 htmlImg += '<img class="img-fluid image-preview rounded img-thumbnail"'; 14801 htmlImg += ' src="' + url + '" />'; 14802 }break; 14803 case "pdf":{ 14804 htmlImg += '<div class="image-preview rounded img-thumbnail">'; 14805 htmlImg += '<i class="ctl-wp-studio-icons-file-pdf"></i></div>'; 14806 }break; 14807 case "zip":{ 14808 htmlImg += '<div class="img-fluid image-preview rounded img-thumbnail">'; 14809 htmlImg += '<i class="ctl-wp-studio-icons-file-archive"></i></div>'; 14810 }break; 14811 default:{ 14812 htmlImg += '<div class="img-fluid image-preview rounded img-thumbnail">'; 14813 htmlImg += '<i class="ctl-wp-studio-icons-doc-text"></i></div>'; 14814 } 14815 } 14816 14817 htmlImg += '<small class="d-block ctl-post-media-name">' + szFileName + '</small>'; 14818 14819 return htmlImg; 14820} 14821 14822 14823function ctlEditorFrameworkShowVulcanoMediaGallery( idWidget, 14824 szTypeResource, 14825 idResource, 14826 szFieldName){ 14827 var htmlHiddenFields = ""; 14828 14829 htmlHiddenFields += formFieldsBuildHiddenField({ 14830 'field-name' : 'widget-id', 14831 }, idWidget); 14832 14833 htmlHiddenFields += formFieldsBuildHiddenField({ 14834 'field-name' : 'meta-field', 14835 }, szFieldName); 14836 14837 htmlHiddenFields += formFieldsBuildHiddenField({ 14838 'field-name' : 'data-type', 14839 }, (!szTypeResource ? "" : szTypeResource) ); 14840 14841 htmlHiddenFields += formFieldsBuildHiddenField({ 14842 'field-name' : 'resource-id', 14843 }, (!idResource ? "" : idResource) ); 14844 14845 var html = ""; 14846 html += '<div id="upload-media">'; 14847 html += '<form method="post" enctype="multipart/form-data">'; 14848 14849 html += htmlHiddenFields; 14850 14851 html += formFieldsBuildUploadAreaField({ 14852 "field-name" : "upload-file", 14853 "wrapper-classes" : "mb-0", 14854 "preview-image" : true, 14855 "browse-icon" : "", 14856 "btn-outlined" : true, 14857 "mandatory" : true, 14858 "mandatory-on-label" : true, 14859 "label-button" : g_oCTLEditorsFrameworkLocalizationFront["Browse"], 14860 "append-buttons" : '<button type="button" class="' + 14861 'btn btn-outline-primary ctl-editor-framework-action-upload-file">'+ 14862 g_oCTLEditorsFrameworkLocalizationFront["Continue"]+'</button>' 14863 } ); 14864 14865 html += '</form>'; 14866 14867 html += '</div>'; 14868 14869 g_oCTLBootstrapModals.showModal({ 14870 wrapper_classes : "ctl-media-gallery-modal", 14871 modal_title : g_oCTLEditorsFrameworkLocalizationFront["Upload"], 14872 modal_content : html, 14873 closeable : true, 14874 width: '80', 14875 position: "centered", 14876 }); 14877} 14878 14879function __ctlFormFieldsValidateTextField(oNodeFormControlWrapper, bShowErrors = true ){ 14880 var oNodeField = oNodeFormControlWrapper.find('input[type=text]'); 14881 14882 if ( oNodeField.length === 0 ){ 14883 oNodeField = oNodeFormControlWrapper.find('input[type=password]'); 14884 } 14885 14886 if ( oNodeField.length === 0 ){ 14887 oNodeField = oNodeFormControlWrapper.find('input[type=email]'); 14888 } 14889 14890 if ( oNodeField.length === 0 ){ 14891 oNodeField = oNodeFormControlWrapper.find('input[type=hidden]'); 14892 } 14893 14894 if ( oNodeField.length === 0 ){ 14895 oNodeField = oNodeFormControlWrapper.find('textarea'); 14896 } 14897 14898 if ( oNodeField.length === 0 ){ 14899 return true; 14900 } 14901 14902 var szValue = oNodeField.val(); 14903 14904 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 14905 if( szValue === "" ){ 14906 var aAlternativeFields = oNodeFormControlWrapper.attr("data-alternative-mandatory-fields"); 14907 if ( aAlternativeFields ){ 14908 var oNodeForm = oNodeFormControlWrapper.closest("form"); 14909 aAlternativeFields = aAlternativeFields.split(","); 14910 var bFound = false;
14911 for( var i = 0; i < aAlternativeFields.length; i++ ){ 14912 oNodeForm.find('input[name='+aAlternativeFields[i]+'],select[name='+aAlternativeFields[i]+'],textarea[name='+aAlternativeFields[i]+']' ).each(function(){ 14913 if ( jQuery(this).val() !== "" ){ 14914 bFound = true; 14915 } 14916 }); 14917 } 14918 if (!bFound){ 14919 if (bShowErrors){ 14920 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 14921 } 14922 return false; 14923 } 14924 }else{ 14925 if (bShowErrors){ 14926 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 14927 } 14928 return false; 14929 } 14930 }else{ 14931 var aPairingFields = oNodeFormControlWrapper.attr("data-pairing-fields"); 14932 if ( aPairingFields ){ 14933 var oNodeForm = oNodeFormControlWrapper.closest("form"); 14934 aPairingFields = aPairingFields.split(","); 14935 var bFound = false; 14936 14937 var szErrMessage = ""; 14938 14939 for( var i = 0; i < aPairingFields.length; i++ ){ 14940 oNodeForm.find('input[name='+aPairingFields[i]+']' ).each(function(){ 14941 if ( jQuery(this).val() !== szValue ){ 14942 bFound = true; 14943 szErrMessage += 14944 sprintf(g_oCTLFormFieldsLocalizationCommon["This field must be equal to '%s'"], 14945 jQuery(this).closest(".form-group").find(".ctl-form-field-label").text())+ " "; 14946 } 14947 }); 14948 } 14949 if (bFound){ 14950 if (bShowErrors){ 14951 ctlFormFieldsApplyError(oNodeField, szErrMessage ); 14952 } 14953 return false; 14954 } 14955 } 14956 } 14957 } 14958 14959 if ( szValue !== "" ){ 14960 14961 if ( oNodeField.hasClass("trim-value") && szValue ){ 14962 szValue = szValue.trim(); 14963 oNodeField.val(szValue); 14964 } 14965
14966 if ( oNodeField.hasClass("validate-regex") ){ 14967 var szRegex = Base64.decode(oNodeField.attr("data-validate-regex")); 14968 14969 // check if the regex is in literal notation 14970 if ( szRegex.charAt(0) === '/' && 14971 szRegex.charAt(szRegex.length-1) === '/' ){ 14972 szRegex = szRegex.substring(1, szRegex.length-2); 14973 } 14974 14975 var re = new RegExp(szRegex, 'g'); 14976 var szError = Base64.decode(oNodeField.attr("data-label-fail-regex")); 14977 14978 var aMatches = szValue.match(re); 14979 14980 if ( !aMatches || aMatches[0] !== szValue ){ 14981 if (bShowErrors){ 14982 ctlFormFieldsApplyError(oNodeField, szError); 14983 } 14984 return false; 14985 } 14986 } 14987 14988 14989 if ( oNodeField.hasClass("validate-email") ){ 14990 var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/; 14991 if ( !re.test(szValue) ){ 14992 if (bShowErrors){ 14993 ctlFormFieldsApplyError(oNodeField, 14994 g_oCTLFormFieldsLocalizationCommon["Invalid email format"]); 14995 } 14996 return false; 14997 } 14998 } 14999
15000 if ( oNodeField.hasClass("validate-only-digits") ){ 15001 var re = /^\d+/g; 15002 if ( !re.test(szValue) ){ 15003 if (bShowErrors){ 15004 ctlFormFieldsApplyError(oNodeField, 15005 g_oCTLFormFieldsLocalizationCommon["This field accept only numbers"]); 15006 } 15007 return false; 15008 } 15009 } 15010 15011 if ( oNodeField.hasClass("validate-exclude-digits") ){ 15012 var szTest = szValue.replace(/[0-9]/g, ''); 15013 if ( szTest !== szValue){ 15014 if (bShowErrors){ 15015 ctlFormFieldsApplyError(oNodeField, 15016 g_oCTLFormFieldsLocalizationCommon["This field doesn't accept numbers"]); 15017 } 15018 return false; 15019 } 15020 } 15021 15022 if ( oNodeField.hasClass("validate-integer") ){ 15023 if (!Number.isInteger(Number(szValue)) ){ 15024 if (bShowErrors){ 15025 ctlFormFieldsApplyError(oNodeField, 15026 g_oCTLFormFieldsLocalizationCommon["This field accept only integer numbers"]); 15027 } 15028 return false; 15029 } 15030 } 15031
15032 if ( oNodeField.hasClass("validate-number") ){ 15033 if (isNaN(Number(szValue)) ){ 15034 if (bShowErrors){ 15035 ctlFormFieldsApplyError(oNodeField, 15036 g_oCTLFormFieldsLocalizationCommon["This field accept only numbers"]); 15037 } 15038 return false; 15039 } 15040 } 15041 15042 if ( oNodeField.hasClass("validate-one-uppercase") ){ 15043 var iCntUppercase = 0; 15044 for ( var i = 0; i < szValue.length; i++){ 15045 if ( "ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(szValue.charAt(i)) !== -1 ){ iCntUppercase++; 15046 break; 15047 } 15048 } 15049 if ( iCntUppercase === 0 ){ 15050 if (bShowErrors){ 15051 ctlFormFieldsApplyError(oNodeField, 15052 g_oCTLFormFieldsLocalizationCommon["Enter at least one uppercase char: A-Z"]); 15053 } 15054 return false; 15055 } 15056 } 15057
15058 if ( oNodeField.hasClass("validate-one-lowercase") ){ 15059 var iCntLowercase = 0; 15060 for ( var i = 0; i < szValue.length; i++){ 15061 if ( "abcdefghijklmnopqrstuvwxyz".indexOf(szValue.charAt(i)) !== -1 ){ iCntLowercase++; 15062 break; 15063 } 15064 } 15065 if ( iCntLowercase === 0 ){ 15066 if (bShowErrors){ 15067 ctlFormFieldsApplyError(oNodeField, 15068 g_oCTLFormFieldsLocalizationCommon["Enter at least one lowercase char: a-z"]); 15069 } 15070 return false; 15071 } 15072 } 15073 15074 if ( oNodeField.hasClass("validate-one-digit") ){ 15075 var iCntDigits = 0; 15076 for ( var i = 0; i < szValue.length; i++){ 15077 if ( "0123456789".indexOf(szValue.charAt(i)) !== -1 ){ iCntDigits++; 15078 break; 15079 } 15080 } 15081 if ( iCntDigits === 0 ){ 15082 if (bShowErrors){ 15083 ctlFormFieldsApplyError(oNodeField, 15084 g_oCTLFormFieldsLocalizationCommon["Enter at least one digit: 0-9"]); 15085 } 15086 return false; 15087 } 15088 } 15089
15090 if ( oNodeField.hasClass("validate-one-special") ){ 15091 var iCntSpecialChars = 0; 15092 for ( var i = 0; i < szValue.length; i++){ 15093 if ( "!#$%&()*+,-.:;<:?@[]^_{|}~".indexOf(szValue.charAt(i)) !== -1 ){ iCntSpecialChars++; 15094 break; 15095 } 15096 } 15097 if ( iCntSpecialChars === 0 ){ 15098 if (bShowErrors){ 15099 ctlFormFieldsApplyError(oNodeField, 15100 g_oCTLFormFieldsLocalizationCommon["Enter at least one special char: !#$%&()*+,-.:;<=>?@[]^_{|}~"]); 15101 } 15102 return false; 15103 } 15104 } 15105 15106 if ( oNodeField.hasClass("validate-unsigned") ){ 15107 var fValue = Number(szValue); 15108 if ( fValue < 0 || isNaN(fValue) ){ 15109 if (bShowErrors){ 15110 ctlFormFieldsApplyError(oNodeField, 15111 g_oCTLFormFieldsLocalizationCommon["This field accept only positive numbers"]); 15112 } 15113 return false; 15114 } 15115 } 15116
15117 if ( oNodeField.hasClass("validate-not-zero") ){ 15118 if ( szValue === "0" || szValue === 0 ){ 15119 if (bShowErrors){ 15120 ctlFormFieldsApplyError(oNodeField, 15121 g_oCTLFormFieldsLocalizationCommon["This field doesn't accept zero value"]); 15122 } 15123 return false; 15124 } 15125 } 15126 15127 if ( oNodeField.attr("data-exact-length") ){ 15128 var iLength = Number(oNodeField.attr("data-exact-length")); 15129 15130 if ( iLength > 0 && szValue.length !== iLength ){ 15131 if (bShowErrors){ 15132 ctlFormFieldsApplyError(oNodeField, 15133 sprintfNumber("", 15134 g_oCTLFormFieldsLocalizationCommon["The value must be %d character long"], 15135 g_oCTLFormFieldsLocalizationCommon["The value must be %d characters long"], 15136 iLength)); 15137 } 15138 return false; 15139 } 15140 } 15141 15142 if ( oNodeField.attr("data-min-length") ){ 15143 var iMin = Number(oNodeField.attr("data-min-length")); 15144 15145 if ( iMin > 0 && szValue.length < iMin ){ 15146 if (bShowErrors){ 15147 ctlFormFieldsApplyError(oNodeField, 15148 sprintfNumber("", 15149 g_oCTLFormFieldsLocalizationCommon["The value must be at least %d character"], 15150 g_oCTLFormFieldsLocalizationCommon["The value must be at least %d characters"], 15151 iMin)); 15152 } 15153 return false; 15154 } 15155 } 15156 15157 if ( oNodeField.attr("data-max-length") ){ 15158 var iMax = Number(oNodeField.attr("data-max-length")); 15159 15160 if ( szValue.length > iMax ){ 15161 if (bShowErrors){ 15162 ctlFormFieldsApplyError(oNodeField, 15163 sprintfNumber("", 15164 g_oCTLFormFieldsLocalizationCommon["The value must not exceed %d character"], 15165 g_oCTLFormFieldsLocalizationCommon["The value must not exceed %d characters"], 15166 iMax)); 15167 } 15168 return false; 15169 } 15170 } 15171 } 15172 15173 return true; 15174} 15175 15176function __ctlFormFieldsValidateIbanField( oNodeFormControlWrapper, bShowErrors = true ){ 15177 var oNodeField = oNodeFormControlWrapper.find('input[type=text]'); 15178 15179 if ( oNodeField.length === 0 ){ 15180 return true; 15181 } 15182 15183 var szValue = oNodeField.val(); 15184 15185 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15186 if( szValue === "" ){ 15187 var aAlternativeFields = oNodeFormControlWrapper.attr("data-alternative-mandatory-fields"); 15188 if ( aAlternativeFields ){ 15189 var oNodeForm = oNodeFormControlWrapper.closest("form"); 15190 aAlternativeFields = aAlternativeFields.split(","); 15191 var bFound = false; 15192 for( var i = 0; i < aAlternativeFields.length; i++ ){ 15193 oNodeForm.find('input[name='+aAlternativeFields[i]+'],select[name='+aAlternativeFields[i]+'],textarea[name='+aAlternativeFields[i]+']' ).each(function(){ 15194 if ( jQuery(this).val() !== "" ){ 15195 bFound = true; 15196 } 15197 }); 15198 } 15199 if (!bFound){ 15200 if (bShowErrors){ 15201 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15202 } 15203 return false; 15204 } 15205 }else{ 15206 if (bShowErrors){ 15207 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15208 } 15209 return false;
15210 } 15211 }else{ 15212 var aPairingFields = oNodeFormControlWrapper.attr("data-pairing-fields"); 15213 if ( aPairingFields ){ 15214 var oNodeForm = oNodeFormControlWrapper.closest("form"); 15215 aPairingFields = aPairingFields.split(","); 15216 var bFound = false; 15217 15218 var szErrMessage = ""; 15219 15220 for( var i = 0; i < aPairingFields.length; i++ ){ 15221 oNodeForm.find('input[name='+aPairingFields[i]+']' ).each(function(){ 15222 if ( jQuery(this).val() !== szValue ){ 15223 bFound = true; 15224 szErrMessage += 15225 sprintf(g_oCTLFormFieldsLocalizationCommon["This field must be equal to '%s'"], 15226 jQuery(this).closest(".form-group").find(".ctl-form-field-label").text())+ " "; 15227 } 15228 }); 15229 } 15230 if (bFound){ 15231 if (bShowErrors){ 15232 ctlFormFieldsApplyError(oNodeField, szErrMessage ); 15233 } 15234 return false; 15235 } 15236 } 15237 } 15238 } 15239 15240 if ( szValue !== "" ){ 15241 if ( oNodeField.hasClass("trim-value") && szValue ){ 15242 szValue = szValue.trim(); 15243 oNodeField.val(szValue); 15244 } 15245 15246 if ( oNodeField.attr("data-exact-length") ){ 15247 var iLength = Number(oNodeField.attr("data-exact-length")); 15248 15249 if ( iLength > 0 && szValue.length !== iLength ){ 15250 if (bShowErrors){ 15251 ctlFormFieldsApplyError(oNodeField, 15252 sprintfNumber("", 15253 g_oCTLFormFieldsLocalizationCommon["The value must be %d character long"], 15254 g_oCTLFormFieldsLocalizationCommon["The value must be %d characters long"], 15255 iLength)); 15256 } 15257 return false; 15258 } 15259 } 15260 } 15261 15262 return true; 15263} 15264 15265function __ctlFormFieldsValidateIPField(oNodeFormControlWrapper, bShowErrors = true){ 15266 var oNodeField = oNodeFormControlWrapper.find('input[type=text]'); 15267 15268 if ( oNodeField.length === 0 ){ 15269 return true; 15270 } 15271 15272 var szValue = oNodeField.val(); 15273 15274 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15275 if( szValue === "" ){ 15276 if (bShowErrors){ 15277 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15278 } 15279 return false; 15280 } 15281 } 15282 15283 if ( szValue !== "" ){ 15284 15285 if ( oNodeField.hasClass("trim-value") && szValue ){ 15286 szValue = szValue.trim(); 15287 oNodeField.val(szValue); 15288 } 15289 15290 switch( oNodeField.attr("data-ip-format")){ 15291 case "ipv4":{ 15292 const parts = szValue.trim().split("."); 15293 let bResult = true; 15294 15295 if (parts.length !== 4){ 15296 ctlFormFieldsApplyError(oNodeField, 15297 g_oCTLFormFieldsLocalizationCommon["Please type a valid ipv4 value"]); 15298 return false; 15299 } 15300 15301 bResult = parts.every(part => { 15302 if (!/^\d+$/.test(part)) return false; // solo numeri 15303 const n = Number(part); 15304 return n >= 0 && n <= 255 && String(n) === part; // niente zeri iniziali 15305 }); 15306 15307 if (!bResult && bShowErrors){ 15308 ctlFormFieldsApplyError(oNodeField, 15309 g_oCTLFormFieldsLocalizationCommon["Please type a valid ipv4 value"]); 15310 return false; 15311 } 15312 15313 }break; 15314 case "ipv6":{ 15315 const re = new RegExp('^(([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4}|::)|(([0-9a-fA-F]{1,4}:){1,7}:)|(([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4})|(([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2})|(([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3})|(([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4})|(([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5})|([0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|(::([0-9a-fA-F]{1,4}:){0,5}([0-9a-fA-F]{1,4}|:))|(::))$'); 15316 if ( !re.test(szValue) ){ 15317 if (bShowErrors){ 15318 ctlFormFieldsApplyError(oNodeField, 15319 g_oCTLFormFieldsLocalizationCommon["Please type a valid ipv6 value"]); 15320 } 15321 return false;
15322 } 15323 }break; 15324 } 15325 } 15326 15327 return true; 15328} 15329 15330function __ctlFormFieldsValidateCFField(oNodeFormControlWrapper, bShowErrors = true){ 15331 var oNodeField = oNodeFormControlWrapper.find('input[type=text]'); 15332 15333 if ( oNodeField.length === 0 ){ 15334 return true; 15335 } 15336 15337 var szValue = oNodeField.val(); 15338 15339 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15340 if( szValue === "" ){ 15341 if (bShowErrors){ 15342 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15343 } 15344 return false; 15345 } 15346 } 15347 15348 if ( szValue !== "" ){ 15349 15350 if ( oNodeField.hasClass("trim-value") && szValue ){ 15351 szValue = szValue.trim(); 15352 oNodeField.val(szValue); 15353 } 15354 15355 if ( oNodeField.attr("data-exact-length") ){ 15356 var iLength = Number(oNodeField.attr("data-exact-length")); 15357 15358 if ( iLength > 0 && szValue.length !== iLength ){ 15359 if (bShowErrors){ 15360 ctlFormFieldsApplyError(oNodeField, 15361 sprintfNumber("", 15362 g_oCTLFormFieldsLocalizationCommon["The value must be %d character long"], 15363 g_oCTLFormFieldsLocalizationCommon["The value must be %d characters long"], 15364 iLength)); 15365 } 15366 return false; 15367 } 15368 } 15369 } 15370 15371 return true; 15372} 15373 15374function __ctlFormFieldsValidateTextAreaField(oNodeFormControlWrapper, bShowErrors = true){ 15375 15376 var oNodeField = oNodeFormControlWrapper.find('textarea'); 15377 var szValue = oNodeField.val(); 15378 15379 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15380 if( szValue === "" ){ 15381 if (bShowErrors){ 15382 ctlFormFieldsApplyError(oNodeField, 15383 g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15384 } 15385 return false; 15386 } 15387
15388 if ( oNodeField.hasClass("validate-not-empty-tags") ){ 15389 var szCleanText = oNodeField.val().replace(/<\/?[^>]+(>|)/g, ""); 15390 szCleanText = szCleanText.replace("<br>",""); 15391 szCleanText = szCleanText.replace("</br>",""); 15392 szCleanText = szCleanText.replace("\n",""); 15393 szCleanText = szCleanText.replace("\r",""); 15394 szCleanText = szCleanText.replace("\t",""); 15395 szCleanText = szCleanText.trim(); 15396 15397 if ( szCleanText === "" ){ 15398 if (bShowErrors){ 15399 ctlFormFieldsApplyError(oNodeField, 15400 g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15401 } 15402 return false; 15403 } 15404 } 15405 } 15406 15407 return true; 15408} 15409 15410function __ctlFormFieldsValidateHtmlField(oNodeFormControlWrapper, bShowErrors = true){ 15411 return true; 15412} 15413 15414function __ctlFormFieldsValidateBirthdateField(oNodeFormControlWrapper, bShowErrors = true){ 15415 var oNodeFields = oNodeFormControlWrapper.find('select'); 15416 var iCnt = 0; 15417 var iNumFields = oNodeFields.length; 15418 15419 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15420 oNodeFormControlWrapper.find('select option:selected').each(function(){ 15421 if (jQuery(this).attr("value") || jQuery(this).attr("value") != ""){ 15422 iCnt++; 15423 }else{ 15424 var oNodeField = jQuery(this).closest("select"); 15425 if (bShowErrors){ 15426 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15427 } 15428 } 15429 }); 15430 15431 if( iCnt < iNumFields ){ 15432 return false; 15433 } 15434 } 15435 15436 return true; 15437} 15438 15439function __ctlFormFieldsValidateSignatureField(oNodeFormControlWrapper, bShowErrors = true) { 15440 var oNodeField = oNodeFormControlWrapper.find('textarea'); 15441 var szValue = oNodeField.val(); 15442 15443 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15444 if( !szValue || szValue === "" ){ 15445 if (bShowErrors){ 15446 oNodeFormControlWrapper.addClass("is-invalid"); 15447 oNodeField.addClass("is-invalid"); 15448 var oNodeInvalidFeedback = oNodeFormControlWrapper.children(".invalid-feedback").first(); 15449 oNodeInvalidFeedback.text(g_oCTLFormFieldsLocalizationCommon["Empty field"]); 15450 } 15451 return false; 15452 } 15453 } 15454 15455 return true; 15456} 15457 15458function __ctlFormFieldsValidateDropboxFolderField(oNodeDropboxFolderWrapper, bShowErrors = true) { 15459 var oNodeFormControlWrapper = oNodeDropboxFolderWrapper.find('.ctl-wp-studio-form-control-wrapper'); 15460 15461 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15462 let oNodeField = oNodeDropboxFolderWrapper.find('input.dropbox-files'); 15463 if( oNodeField.length == 0 || !oNodeField.val() || oNodeField.val() === "" ){ 15464 if (bShowErrors){ 15465 oNodeDropboxFolderWrapper.addClass("is-invalid"); 15466 var oNodeInvalidFeedback = oNodeDropboxFolderWrapper.find(".invalid-feedback").first(); 15467 oNodeInvalidFeedback.text(g_oCTLFormFieldsLocalizationCommon["Empty field"]); 15468 } 15469 return false; 15470 } 15471 } 15472 15473 return true; 15474} 15475 15476function __ctlFormFieldsValidateDraggableListField(oNodeFormControlWrapper, bShowErrors = true ){ 15477 var oNodeField = oNodeFormControlWrapper.find('select'); 15478 var szValue = oNodeField.find("option").length; 15479 15480 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15481 if( !szValue || szValue === "" || szValue === 0 ){ 15482 if (bShowErrors){ 15483 oNodeField.closest(".ctl-wp-studio-form-control-wrapper").addClass("is-invalid"); 15484 oNodeField.addClass("is-invalid"); 15485 var oNodeInvalidFeedback = oNodeFormControlWrapper.find(".draggable-error .invalid-feedback"); 15486 oNodeInvalidFeedback.text(g_oCTLFormFieldsLocalizationCommon["Empty field"]); 15487 } 15488 return false; 15489 } 15490 } 15491 15492 return true; 15493} 15494 15495function __ctlFormFieldsValidateSelectField(oNodeFormControlWrapper, bShowErrors = true ){ 15496 15497 if(oNodeFormControlWrapper.data("rendering-mode") === "checkbox"){ 15498 let oNodeField = oNodeFormControlWrapper.find('input[type=checkbox]'); 15499 15500 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15501 let bChecked = false;
15502 oNodeField.each(function(){ 15503 if ( jQuery(this).is(':checked') ){ 15504 bChecked = true; 15505 return; 15506 } 15507 }); 15508 15509 if (!bChecked){ 15510 if (bShowErrors){ 15511 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15512 } 15513 return false; 15514 } 15515 } 15516 }else{ 15517 var oNodeField = oNodeFormControlWrapper.find('select'); 15518 var oNodeOption = oNodeFormControlWrapper.find('select option:selected'); 15519 var szValue = oNodeOption.attr("value"); 15520 15521 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15522 if( !szValue || szValue === "" || 15523 ( Array.isArray(szValue) && szValue.length === 0 ) ){ 15524 15525 var aAlternativeFields = oNodeFormControlWrapper.attr("data-alternative-mandatory-fields"); 15526 if ( aAlternativeFields ){ 15527 var oNodeForm = oNodeFormControlWrapper.closest("form"); 15528 aAlternativeFields = aAlternativeFields.split(","); 15529 var bFound = false; 15530 for( var i = 0; i < aAlternativeFields.length; i++ ){ 15531 oNodeForm.find('input[name='+aAlternativeFields[i]+'],select[name='+aAlternativeFields[i]+'],textarea[name='+aAlternativeFields[i]+']' ).each(function(){ 15532 if ( jQuery(this).val() !== "" ){ 15533 bFound = true; 15534 } 15535 }); 15536 } 15537 if (!bFound){ 15538 if (bShowErrors){ 15539 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15540 } 15541 return false; 15542 } 15543 }else{ 15544 15545 // check exceptions 15546 if ( oNodeField.hasClass("ctl-geo-zone-select") && 15547 oNodeField.closest(".ctl-geo-address-zone").hasClass("d-none") ){ 15548 return true; 15549 } 15550 15551 if (bShowErrors){ 15552 ctlFormFieldsApplyError(oNodeField, g_oCTLFormFieldsLocalizationCommon["Empty field"] ); 15553 } 15554 return false; 15555 } 15556 } 15557 } 15558 } 15559 15560 15561 15562 return true; 15563} 15564 15565function __ctlFormFieldsValidateCheckField(oNodeFormControlWrapper, bShowErrors = true){ 15566 15567 var oNodeField = oNodeFormControlWrapper.find('input[type=checkbox]'); 15568 15569 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15570 if( !oNodeField.is(':checked') ){ 15571 if (bShowErrors){ 15572 ctlFormFieldsApplyError(oNodeField, 15573 g_oCTLFormFieldsLocalizationCommon["Empty field"]); 15574 } 15575 return false; 15576 } 15577 } 15578 15579 return true; 15580} 15581 15582function __ctlFormFieldsValidateRadioField(oNodeFormControlWrapper, bShowErrors = true){ 15583 var oNodeField = oNodeFormControlWrapper.find('input[type=radio]'); 15584 15585 if ( oNodeFormControlWrapper.hasClass("mandatory") ){ 15586 var bChecked = false; 15587
15588 if ( oNodeFormControlWrapper.hasClass("validate-yes") ){ 15589 var aValidValues = ["TRUE", "true", "True", "1", true, 1, 15590 "YES", "SI", "yes", "si", "Y", "y", "Yes" ]; 15591 15592 oNodeField.each(function(){ 15593 if ( jQuery(this).is(':checked') && 15594 aValidValues.includes(jQuery(this).val()) ){ 15595 bChecked = true; 15596 } 15597 }); 15598 15599 if( bChecked === false ){ 15600 if (bShowErrors){ 15601 ctlFormFieldsApplyError(oNodeField, 15602 g_oCTLFormFieldsLocalizationCommon["Select yes to continue"]); 15603 } 15604 return false; 15605 } 15606 }else{ 15607 oNodeField.each(function(){ 15608 if ( jQuery(this).is(':checked') ){ 15609 bChecked = true; 15610 } 15611 }); 15612 15613 if( bChecked === false ){ 15614 if (bShowErrors){ 15615 ctlFormFieldsApplyError(oNodeField, 15616 g_oCTLFormFieldsLocalizationCommon["Empty field"]); 15617 } 15618 return false; 15619 } 15620 } 15621 } 15622 15623 return true; 15624} 15625 15626function formFieldsBuildSwitchField( oConfig, szDefaultValue ){ 15627 15628 var oDefault = { 15629 "label-title" : "", 15630 "label-description" : "", 15631 "field-name" : "", 15632 "mandatory" : false, 15633 "display" : 12, 15634 "label-align" : "left", 15635 "label-v-align" : "", 15636 "readonly" : false, 15637 "data-attr" : "", 15638 "classes" : "", 15639 "control-classes" : "", 15640 "disabled" : false, 15641 15642 "data-on-label" : "", 15643 "data-on-value" : "1", 15644 15645 "data-off-label" : "", 15646 "data-off-value" : "0", 15647 15648 "mandatory-on-label" : true, 15649 }; 15650 15651 oConfig = jQuery.extend(oDefault, oConfig); 15652 15653 if ( szDefaultValue === null || szDefaultValue === undefined ){ 15654 szDefaultValue = oConfig["data-off-value"]; 15655 } 15656 15657 var guid = ""; 15658 if (oConfig["field-name"]){ 15659 guid = oConfig["field-name"] + "-"; 15660 } 15661 guid += g_oCTLWPStudio.makeCode(4); 15662 15663 var html = ""; 15664 15665 var szFormInputControl = "form-control"; 15666 var szFormGroupClasses = "form-group"; 15667 15668 var szLabelClasses = "ctl-form-field-label"; 15669 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 15670 15671 szFormControlClasses += " ctlswitchfield"; 15672 15673 if( oConfig["readonly"] ){ 15674 szFormControlClasses += " readonly"; 15675 } 15676 if( oConfig["disabled"] ){ 15677 szFormControlClasses += " disabled"; 15678 } 15679 15680 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 15681 szFormControlClasses += " mandatory"; 15682 15683 if ( oConfig["mandatory-on-label"] ){ 15684 szFormGroupClasses += " mandatory-on-label"; 15685 } 15686 } 15687 15688 15689 if( oConfig["classes"] ){ 15690 szFormInputControl += " " + oConfig["classes"]; 15691 } 15692 15693 if( oConfig["control-classes"] ){ 15694 szFormGroupClasses += " " + oConfig["control-classes"]; 15695 } 15696 15697 var iDisplay = oConfig["display"]; 15698 15699 switch(iDisplay){ 15700 case 12:{ 15701 szLabelClasses += " d-block"; 15702 }break; 15703 case 10:{ 15704 szFormGroupClasses += " row"; 15705 szLabelClasses += " col col-12 col-sm-10"; 15706 szFormControlClasses += " col col-12 col-sm-2"; 15707 if ( oConfig["label-v-align"] !== ""){ 15708 szFormGroupClasses += " " + oConfig["label-v-align"]; 15709 } 15710 }break; 15711 case 9:{ 15712 szFormGroupClasses += " row"; 15713 szLabelClasses += " col col-12 col-sm-9"; 15714 szFormControlClasses += " col col-12 col-sm-3"; 15715 if ( oConfig["label-v-align"] !== ""){ 15716 szFormGroupClasses += " " + oConfig["label-v-align"]; 15717 } 15718 }break; 15719 case 6:{ 15720 szFormGroupClasses += " row";
15721 szLabelClasses += " col col-12 col-sm-6"; 15722 szFormControlClasses += " col col-12 col-sm-6"; 15723 15724 if ( oConfig["label-v-align"] !== ""){ 15725 szFormGroupClasses += " " + oConfig["label-v-align"]; 15726 } 15727 }break; 15728 case 3:{ 15729 szFormGroupClasses += " row"; 15730 szLabelClasses += " col col-12 col-sm-3"; 15731 szFormControlClasses += " col col-12 col-sm-9"; 15732 15733 if ( oConfig["label-v-align"] !== ""){ 15734 szFormGroupClasses += " " + oConfig["label-v-align"]; 15735 } 15736 }break; 15737 case 2:{ 15738 szFormGroupClasses += " row"; 15739 szLabelClasses += " col col-12 col-sm-2"; 15740 szFormControlClasses += " col col-12 col-sm-10"; 15741 15742 if ( oConfig["label-v-align"] !== ""){ 15743 szFormGroupClasses += " " + oConfig["label-v-align"]; 15744 } 15745 }break; 15746 case -1:{ 15747 szFormGroupClasses+= " d-inline-block"; 15748 szLabelClasses += " col col-auto d-inline-block pr-0"; 15749 szFormControlClasses += " col col-auto d-inline-block"; 15750 15751 if ( oConfig["label-v-align"] !== ""){ 15752 szFormGroupClasses += " " + oConfig["label-v-align"]; 15753 } 15754 }break; 15755 case "inline-block":{ 15756 szLabelClasses += " col col-auto d-inline-block"; 15757 szFormControlClasses += " col col-auto d-inline-block"; 15758 }break; 15759 } 15760 15761 szLabelClasses += " text-" + oConfig["label-align"]; 15762 15763 html += '<div class="' + szFormGroupClasses +'">'; 15764 15765 if ( oConfig["label-title"] !== "" ){ 15766 html += '<label role="button" class="' + szLabelClasses +'" for="' + guid + '">' + 15767 oConfig["label-title"] + '</label>'; 15768 } 15769 15770 html += '<div class="' + szFormControlClasses + '">'; 15771 15772 html += '<input'; 15773 15774 html += ' type="hidden"'; 15775 html += ' name="' + oConfig["field-name"] + '"'; 15776 html += ' class="' + szFormInputControl + '"'; 15777 15778 html += ' value="' + szDefaultValue + '"'; 15779 15780 15781 var szSwitchLabelClasses = "switch-label"; 15782 15783 if ( oConfig["readonly"] ){ 15784 html += ' readonly'; 15785 szSwitchLabelClasses += " switch-readonly"; 15786 } 15787 15788 if ( oConfig["disabled"] ){ 15789 html += ' disabled'; 15790 szSwitchLabelClasses += " switch-disabled"; 15791 } 15792 15793 if ( oConfig["data-attr"] !== "" ){ 15794 html += ' ' + oConfig["data-attr"]; 15795 } 15796 15797 15798 html += ' />'; 15799 15800 html += '<div data-on-label="' + 15801 oConfig["data-on-label"] + '" data-on-value="'+ 15802 oConfig["data-on-value"] + '" data-off-label="'+ 15803 oConfig["data-off-label"] + '" data-off-value="'+ 15804 oConfig["data-off-value"] + '" class="switch switch-sm'+ 15805 ( oConfig["data-on-value"] === szDefaultValue ? ' on' : '') +'">'; 15806 15807 if ( oConfig["data-off-label"]){ 15808 html += '<span class="mr-2">' + oConfig["data-off-label"] + '</span>'; 15809 } 15810 15811 html += '<input type="checkbox" class="switch" id="' + guid +'" ' + 15812 ( oConfig["data-on-value"] === szDefaultValue ? ' checked' : '') + '>'; 15813 15814 html += '<label class="' + szSwitchLabelClasses + '"'; 15815 15816 if ( oConfig["readonly"] || oConfig["disabled"] ){ 15817 html += ' tabindex="-1"'; 15818 } 15819 15820 html += ' for="' + guid +'"></label>'; 15821 15822 if ( oConfig["data-on-label"]){ 15823 html += '<span class="ml-2">' + oConfig["data-on-label"] + '</span>'; 15824 } 15825 15826 html += '</div>'; 15827 15828 15829 if ( oConfig["label-description"] !== "" ){ 15830 html += '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 15831 } 15832 15833 html += '<div class="invalid-feedback"></div>'; 15834 15835 html += '</div>'; 15836 15837 html += '</div>'; 15838 15839 return html; 15840} 15841 15842 15843function formFieldsDisableSwitch( oNodeInput ){ 15844 var oNodeSwitchContainer = oNodeInput.closest('.ctlswitchfield'); 15845 oNodeInput.val(oNodeSwitchContainer.find('.switch').attr("data-off-value")); 15846 oNodeSwitchContainer.find('.switch').removeClass('on'); 15847 oNodeSwitchContainer.find('label').addClass('switch-disabled'); 15848 oNodeSwitchContainer.find('input[type=checkbox]').prop('checked', false); 15849} 15850 15851function formFieldsEnableSwitch( oNodeInput ){ 15852 var oNodeSwitchContainer = oNodeInput.closest('.ctlswitchfield'); 15853 oNodeSwitchContainer.find('label').removeClass('switch-disabled'); 15854} 15855 15856function formFieldsBuildCalendarDateField( oConfig, szDefaultValue = ""){ 15857 15858 var oDefault = { 15859 "label-title" : "", 15860 "label-suggestion" : "", 15861 "label-description" : "", 15862 "field-name" : "", 15863 "mandatory" : false, 15864 "display" : 12, 15865 "label-align" : "left", 15866 "label-v-align" : "", 15867 "readonly" : false, 15868 "readonly-to-data-field" : false, 15869 "data-attr" : "", 15870 "data-logic-attr" : "", 15871 "classes" : "", 15872 "autocomplete" : false, 15873 "align-value" : "left", 15874 "disabled" : false, 15875 "form-group-classes" : "", 15876 'show-empty-button' : false, 15877 "show-extra-buttons" : false, 15878 "mandatory-on-label" : true, 15879 "floating-label" : false, 15880 "debug" : false, 15881 'date-format' : "DD/MM/YYYY", 15882 15883 "alternative-mandatory-fields" : [], 15884 "widget-id" : 0, 15885 15886 "min-date" : "", 15887 "min-date-unit" : "", 15888 "min-date-type" : "", 15889 "max-date" : "", 15890 "max-date-unit" : "", 15891 "max-date-type" : "", 15892 15893 }; 15894 15895 oConfig = jQuery.extend(oDefault, oConfig); 15896 15897 if ( oConfig["readonly-to-data-field"] && 15898 oConfig["readonly"] ){ 15899 oConfig["rendering"] = "date"; 15900 // return $this->buildDataField( oConfig, szDefaultValue); 15901 return ''; 15902 } 15903 15904 var guid = g_oCTLWPStudio.makeCode(4); 15905 var iDisplay = oConfig["display"]; 15906 var html = ""; 15907 var szFormInputControl = "form-control"; 15908 15909 if ( !oConfig["readonly"] && !oConfig["disabled"] ){ 15910 szFormInputControl += " datetimepicker-input"; 15911 } 15912 15913 var szFormGroupClasses = 'form-group' + ' ' + oConfig["form-group-classes"] 15914 15915 var szLabelClasses = "ctl-form-field-label"; 15916 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 15917 15918 szFormControlClasses += " ctldatefield"; 15919 15920 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 15921 szFormControlClasses += " mandatory"; 15922 15923 if ( oConfig["mandatory-on-label"] ){ 15924 szFormGroupClasses += " mandatory-on-label"; 15925 } 15926 } 15927 15928 if( oConfig["classes"] ){ 15929 szFormInputControl += " " + oConfig["classes"]; 15930 } 15931 15932 if ( oConfig["floating-label"] && iDisplay == 12 ){ 15933 szFormGroupClasses += " floating-label"; 15934 15935 oConfig["label-suggestion"] = ""; 15936 oConfig["label-align"] = "left"; 15937 15938 if ( szDefaultValue ){ 15939 szFormGroupClasses += " floating-label-normal"; 15940 } 15941 } 15942 15943 szFormInputControl += " text-" + oConfig["align-value"]; 15944 15945 if ( !oConfig["autocomplete"] ){ 15946 oConfig["data-attr"] += ' autocomplete="off"'; 15947 } 15948 15949 if ( oConfig["debug"] ){ 15950 oConfig["data-attr"] += ' data-debug="true"'; 15951 }else{ 15952 oConfig["data-attr"] += ' data-debug="false"'; 15953 } 15954 15955 switch(iDisplay){ 15956 case 12:{ 15957 szLabelClasses += " d-block"; 15958 }break; 15959 case 10:{ 15960 szFormGroupClasses += " row";
15961 szLabelClasses += " col col-12 col-sm-10"; 15962 szFormControlClasses += " col col-12 col-sm-2"; 15963 if ( oConfig["label-v-align"]){ 15964 szFormGroupClasses += " " + oConfig["label-v-align"]; 15965 } 15966 }break; 15967 case 9:{ 15968 szFormGroupClasses += " row"; 15969 szLabelClasses += " col col-12 col-sm-9"; 15970 szFormControlClasses += " col col-12 col-sm-3"; 15971 15972 if ( oConfig["label-v-align"]){ 15973 szFormGroupClasses += " " + oConfig["label-v-align"]; 15974 } 15975 }break; 15976 case 6:{ 15977 szFormGroupClasses+= " row"; 15978 szLabelClasses += " col col-12 col-sm-6"; 15979 szFormControlClasses += " col col-12 col-sm-6"; 15980 15981 if ( oConfig["label-v-align"]){ 15982 szFormGroupClasses += " " + oConfig["label-v-align"]; 15983 } 15984 }break; 15985 case 3:{ 15986 szFormGroupClasses+= " row"; 15987 szLabelClasses += " col col-12 col-sm-3"; 15988 szFormControlClasses += " col col-12 col-sm-9"; 15989 15990 if ( oConfig["label-v-align"]){ 15991 szFormGroupClasses += " " + oConfig["label-v-align"]; 15992 } 15993 }break; 15994 case 2:{ 15995 szFormGroupClasses+= " row"; 15996 szLabelClasses += " col col-12 col-sm-2"; 15997 szFormControlClasses += " col col-12 col-sm-10"; 15998 15999 if ( oConfig["label-v-align"]){ 16000 szFormGroupClasses += " " + oConfig["label-v-align"]; 16001 } 16002 }break; 16003 case -1:{ 16004 szFormGroupClasses += " d-inline-block"; 16005 szLabelClasses += " col col-auto d-inline-block pr-0"; 16006 szFormControlClasses += " col col-auto d-inline-block"; 16007 16008 if ( oConfig["label-v-align"]){ 16009 szFormGroupClasses += " " + oConfig["label-v-align"]; 16010 } 16011 }break; 16012 case "inline-block":{ 16013 szLabelClasses += " col col-auto d-inline-block"; 16014 szFormControlClasses += " col col-auto d-inline-block"; 16015 }break; 16016 } 16017 16018 szLabelClasses += " text-" + oConfig["label-align"]; 16019 16020 html += '<div class="'+ szFormGroupClasses+ '"'; 16021 if ( oConfig["widget-id"]){ 16022 html += ' widget-id="'+ oConfig["widget-id"]+ '"'; 16023 } 16024 html += '>'; 16025 16026 if ( oConfig["label-title"] != "" || 16027 (iDisplay != 12 && iDisplay != "inline-block" && iDisplay != -1)){ 16028 html += '<label class="'+ szLabelClasses+ '" for="'+ guid+ '">'+ oConfig["label-title"]+ '</label>'; 16029 } 16030 16031 html += '<div class="'+ szFormControlClasses+ '"'; 16032 if (oConfig['alternative-mandatory-fields'] && 16033 Array.isArray(oConfig['alternative-mandatory-fields']) && 16034 oConfig['alternative-mandatory-fields'].length > 0 ){ 16035 html += ' data-alternative-mandatory-fields="' + 16036 oConfig['alternative-mandatory-fields'].join(',')+ '"'; 16037 } 16038 html += '>'; 16039 16040 html += '<input type="hidden" name="'+ oConfig["field-name"]+ '"'; 16041 if ( oConfig["data-logic-attr"] ){ 16042 html += ' ' + oConfig["data-logic-attr"]; 16043 } 16044 html += ' value="' + szDefaultValue + ' "/>'; 16045 16046 var guidDateTime = "datetime-" + g_oCTLWPStudio.makeCode(4); 16047 16048 html += '<div id="'+ guidDateTime+ '" class="input-group date" data-target-input="nearest">'; 16049 16050 16051 html += '<input id="'+ guid+ '"'; 16052 16053 html += ' data-bind="value:addStart,valueUpdate:\'input\'"'; 16054 16055 if ( !oConfig["readonly"] && !oConfig["disabled"] ){ 16056 html += ' data-toggle="datetimepicker" data-target="#' + guidDateTime + '"'; 16057 } 16058 16059 szGfxValue = szDefaultValue; 16060 16061 if ( oConfig['date-format'] != "none" && 16062 oConfig['date-format'] != "" ){ 16063 16064 if ( oConfig['date-format'] == "L" ){ 16065 oConfig['date-format'] = "DD/MM/YYYY"; 16066 } 16067 } 16068 16069 if( oConfig["min-date"] ){ 16070 html += ' data-min-date="' + oConfig["min-date"] + '"'; 16071 }else if ( oConfig["min-date-unit"] && oConfig["min-date-type"] ){ 16072 var oMoment = moment(); 16073 oMoment = oMoment.subtract(oConfig["min-date-unit"], oConfig["min-date-type"]); 16074 16075 html += ' data-min-date="' + oMoment.format("YYYY-MM-DD") + '"'; 16076 } 16077 16078 if( oConfig["max-date"] ){ 16079 html += ' data-max-date="' + oConfig["max-date"] + '"'; 16080 }else if ( oConfig["max-date-unit"] && oConfig["max-date-type"] ){ 16081 var oMoment = moment(); 16082 oMoment = oMoment.subtract(oConfig["max-date-unit"], oConfig["max-date-type"]); 16083 16084 html += ' data-max-date="' + oMoment.format("YYYY-MM-DD") + '"'; 16085 } 16086 16087 html += ' data-format="' + oConfig['date-format'] + '"'; 16088 16089 if (szDefaultValue){ 16090 var oMoment = moment(szDefaultValue, "YYYY-MM-DD"); 16091 switch(oConfig["date-format"]){ 16092 case "DD/MM/YYYY":{ 16093 szGfxValue = oMoment.format("DD/MM/YYYY"); 16094 }break; 16095 } 16096 } 16097 16098 html += ' type="text"'; 16099 html += ' name="'+ oConfig["field-name"]+ '-gfx"'; 16100 html += ' class="'+ szFormInputControl+ '"'; 16101 16102 html += ' data-value="'+ szDefaultValue+ '"'; 16103 html += ' value="'+ szGfxValue+ '"'; 16104 16105 if ( oConfig["readonly"] ){ 16106 html += ' readonly'; 16107 } 16108 16109 if ( oConfig["disabled"] ){ 16110 html += ' disabled'; 16111 } 16112 16113 if ( oConfig["label-suggestion"] ){ 16114 html += ' placeholder="'+ oConfig["label-suggestion"]+ '"'; 16115 } 16116 16117 if ( oConfig["data-attr"] ){ 16118 html += ' ' + oConfig["data-attr"]; 16119 } 16120 16121 html += ' onkeydown="return false" inputmode="none"'; 16122 16123 html += '/>'; 16124 16125 16126 html += '<div class="input-group-append" data-target="#'+ guidD
16126ateTime+ '"'; 16127 16128 if ( !oConfig["readonly"] && !oConfig["disabled"] ){ 16129 html += ' data-toggle="datetimepicker"'; 16130 } 16131 16132 html += '>'; 16133 16134 html += '<div class="input-group-text"><i class="ctl-wp-studio-icons-calendar"></i></div>'; 16135 html += '</div>'; 16136 16137 html += '</div>'; 16138 16139 16140 if ( !oConfig["readonly"] && oConfig["show-extra-buttons"] ){ 16141 html += '<button title="'+ g_oCTLFormFieldsLocalizationCommon["Prev"] + '" type="button" class="btn btn-xs mt-2 mr-2 btn-outline-secondary btn-action-prev-date"><i class="ctl-wp-studio-icons-left-open-1"></i></button>'; 16142 16143 html += '<button title="' + g_oCTLFormFieldsLocalizationCommon["Today"] + '" type="button" class="btn btn-xs mt-2 mr-2 btn-outline-secondary btn-action-today-date"><span class="btn-text">' + g_oCTLFormFieldsLocalizationCommon["Today"] + '</span></button>'; 16144 16145 html += '<button title="' + g_oCTLFormFieldsLocalizationCommon["Next"] + '" type="button" class="btn btn-xs mt-2 mr-2 btn-outline-secondary btn-action-next-date"><i class="ctl-wp-studio-icons-right-open-1"></i></button>'; 16146 } 16147 16148 if ( !oConfig["readonly"] && oConfig["show-empty-button"] ){ 16149 html += '<button title="' + g_oCTLFormFieldsLocalizationCommon["Empty"] + '" type="button" class="btn btn-xs mt-2 btn-outline-secondary btn-action-empty-date">'; 16150 16151 if (!oConfig["show-extra-buttons"]){ 16152 html += '<span class="btn-text ml-1">' + g_oCTLFormFieldsLocalizationCommon["Empty"] + '</span>'; 16153 } 16154 16155 html += '</button>'; 16156 } 16157 16158 if ( oConfig["label-description"] ){ 16159 html += '<small class="ctl-form-field-description">'+ oConfig["label-description"]+ '</small>'; 16160 } 16161 16162 html += '<div class="invalid-feedback text-' + oConfig["label-align"] + '"></div>'; 16163 16164 html += '</div>'; 16165 html += '</div>'; 16166 16167 return html; 16168} 16169 16170function formFieldsGenerateFieldGuid(oConfig){ 16171 let guid = ""; 16172 if ( oConfig["field-name"] ){ 16173 if ( oConfig["field-name"].endsWith("[]") ){ 16174 guid = oConfig["field-name"].substring(0, oConfig["field-name"].length-2) + "-"; 16175 }else{ 16176 guid = oConfig["field-name"] + "-"; 16177 } 16178 } 16179 guid += g_oCTLWPStudio.makeCode(4); 16180 16181 return guid; 16182} 16183 16184function formFieldsBuildCheck( oConfig, szDefaultValue, bChecked ){ 16185 16186 let oDefault = { 16187 "check-description" : "", 16188 "field-name" : "", 16189 "data-attr" : "", 16190 "classes" : "", 16191 "disabled" : false, 16192 "readonly" : false, 16193 "id" : "" 16194 }; 16195 16196 oConfig = jQuery.extend(oDefault, oConfig); 16197 16198 if(!oConfig["id"]){ 16199 guid = formFieldsGenerateFieldGuid(oConfig); 16200 }else{ 16201 guid = oConfig["id"]; 16202 } 16203 16204 var szItemClasses = "custom-control custom-checkbox"; 16205 16206 if ( oConfig["classes"] !== "" ){ 16207 szItemClasses += ' ' + oConfig["classes"]; 16208 } 16209 16210 let html = ""; 16211 16212 html += '<div class="' + szItemClasses + '" ' + oConfig["data-attr"] + '>'; 16213 16214 if ( !oConfig["field-name"].endsWith("[]") ){ 16215 html += '<input type="hidden" name="' + oConfig["field-name"] + '-hidden" value="1" />'; 16216 }else{ 16217 html += '<input type="hidden" name="' + oConfig["field-name"].replace("[]", "") + '-hidden[]" value="" />'; 16218 } 16219 16220 html += '<input type="checkbox" id="' + guid + '" value="' + szDefaultValue 16221 + '" name="' + oConfig["field-name"] + '" class="custom-control-input"'; 16222 16223 if ( oConfig["disabled"] ){ 16224 html += ' disabled'; 16225 } 16226 if ( oConfig["readonly"] ){ 16227 html += ' readonly'; 16228 } 16229 if ( bChecked ){ 16230 html += ' checked'; 16231 } 16232 16233 html += '>'; 16234 16235 html += '<label class="custom-control-label custom-checkbox-fake-label" for="' + guid + '">'; 16236 if ( oConfig["check-description"] !== "" ){ 16237 html += oConfig["check-description"]; 16238 } 16239 html += '</label>'; 16240 16241 html += '</div>'; 16242 return html; 16243} 16244 16245function formFieldsBuildCheckField( oConfig, szDefaultValue, bChecked ){ 16246 var oDefault = { 16247 "label-title" : "", 16248 "label-description" : "", 16249 "check-description" : "", 16250 "field-name" : "", 16251 "mandatory" : false, 16252 "display" : 12, 16253 "label-align" : "left", 16254 "label-v-align" : "", 16255 "data-attr" : "", 16256 "classes" : "", 16257 "control-classes" : "", 16258 "disabled" : false, 16259 "readonly" : false, 16260 "mandatory-on-label" : true, 16261 "id" : "", 16262 }; 16263 16264 oConfig = jQuery.extend(oDefault, oConfig); 16265 16266 let guid = ""; 16267 16268 if ( !oConfig["id"] ){ 16269 guid = formFieldsGenerateFieldGuid(oConfig); 16270 }else{ 16271 guid = oConfig["id"]; 16272 } 16273 16274 var html = ""; 16275 16276 var szFormGroupClasses = "form-group"; 16277 var szLabelClasses = "ctl-form-field-label"; 16278 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 16279 16280 szFormControlClasses += " ctlcheckfield"; 16281 16282 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 16283 szFormControlClasses += " mandatory"; 16284 16285 if ( oConfig["mandatory-on-label"] ){ 16286 szFormGroupClasses += " mandatory-on-label"; 16287 } 16288 } 16289 16290 if ( oConfig["control-classes"] !== "" ){ 16291 szFormControlClasses += ' ' + oConfig["control-classes"]; 16292 } 16293 16294 var iDisplay = parseInt(oConfig["display"]); 16295 16296 switch(iDisplay){ 16297 case 12:{ 16298 szLabelClasses += " d-block"; 16299 }break; 16300 case 10:{ 16301 szFormGroupClasses += " row";
16302 szLabelClasses += " col col-12 col-sm-10"; 16303 szFormControlClasses += " col col-12 col-sm-2"; 16304 16305 if ( oConfig["label-v-align"] !== ""){ 16306 szFormGroupClasses += " " + oConfig["label-v-align"]; 16307 } 16308 }break; 16309 case 9:{ 16310 szFormGroupClasses += " row"; 16311 szLabelClasses += " col col-12 col-sm-9"; 16312 szFormControlClasses += " col col-12 col-sm-3"; 16313 16314 if ( oConfig["label-v-align"] !== ""){ 16315 szFormGroupClasses += " " + oConfig["label-v-align"]; 16316 } 16317 }break; 16318 case 6:{ 16319 szFormGroupClasses += " row"; 16320 szLabelClasses += " col col-12 col-sm-6"; 16321 szFormControlClasses += " col col-12 col-sm-6"; 16322 16323 if ( oConfig["label-v-align"] !== ""){ 16324 szFormGroupClasses += " " + oConfig["label-v-align"]; 16325 } 16326 }break; 16327 case 3:{ 16328 szFormGroupClasses += " row"; 16329 szLabelClasses += " col col-12 col-sm-3"; 16330 szFormControlClasses += " col col-12 col-sm-9"; 16331 16332 if ( oConfig["label-v-align"] !== ""){ 16333 szFormGroupClasses += " " + oConfig["label-v-align"]; 16334 } 16335 }break; 16336 case 2:{ 16337 szFormGroupClasses += " row"; 16338 szLabelClasses += " col col-12 col-sm-2"; 16339 szFormControlClasses += " col col-12 col-sm-10"; 16340 16341 if ( oConfig["label-v-align"] !== ""){ 16342 szFormGroupClasses += " " + oConfig["label-v-align"]; 16343 } 16344 }break; 16345 case -1:{ 16346 szFormGroupClasses+= " d-inline-block"; 16347 szLabelClasses += " col col-auto d-inline-block pr-0"; 16348 szFormControlClasses += " col col-auto d-inline-block"; 16349 16350 if ( oConfig["label-v-align"] !== ""){ 16351 szFormGroupClasses += " " + oConfig["label-v-align"]; 16352 } 16353 }break; 16354 case -2:{ 16355 szFormGroupClasses += " row"; 16356 szLabelClasses += " col col-auto"; 16357 szFormControlClasses += " col col-auto"; 16358 16359 if ( oConfig["label-v-align"] !== ""){ 16360 szFormGroupClasses += " " + oConfig["label-v-align"]; 16361 } 16362 }break; 16363 } 16364 16365 szLabelClasses += " text-" + oConfig["label-align"] ; 16366 16367 html += '<div class="' + szFormGroupClasses + '">'; 16368 16369 if ( oConfig["label-title"] !== "" ){ 16370 html += '<label role="button" class="' + szLabelClasses + '" for="' + guid + 16371 '">' + oConfig["label-title"] + '</label>'; 16372 } 16373 16374 oConfig["id"] = guid; 16375 16376 html += '<div class="' + szFormControlClasses +'">'; 16377 16378 html += formFieldsBuildCheck( oConfig, szDefaultValue, bChecked ); 16379 16380 if ( oConfig["label-description"] !== "" ){ 16381 html += '<div><small class="ctl-form-field-description">' + oConfig["label-description"] + '</small></div>'; 16382 } 16383 16384 html += '<div class="invalid-feedback"></div>'; 16385 16386 html += '</div>'; 16387 16388 html += '</div>'; 16389 16390 return html; 16391} 16392 16393 16394function formFieldsBuildAnchorField( oConfig, szUrl ){ 16395 16396 let oDefault = { 16397 "label-anchor" : "", 16398 "label-title" : "", 16399 "display" : 12, 16400 "button-align" : "left", 16401 "semantic-color" : "link", 16402 "data-attr" : "", 16403 "classes" : "", 16404 "label-description" : "", 16405 "target" : "_self", 16406 "rel" : "none", 16407 "widget-id" : 0, 16408 "icon-align" : "left", 16409 "icon-class" : "", 16410 "remove-button-style" : false, 16411 "anchor-size" : "normal", 16412 16413 "control-classes" : "", 16414 "wrapper-classes" : "", 16415 16416 "title-attribute" : "", 16417 }; 16418 16419 oConfig = jQuery.extend(oDefault, oConfig); 16420 16421 let html = ""; 16422 16423 let szFormControlClasses = ""; 16424 let szFormGroupClasses = "form-group"; 16425 16426 if( oConfig["control-classes"] ){ 16427 szFormControlClasses += " " + oConfig["control-classes"]; 16428 } 16429 16430 if( oConfig["wrapper-classes"] ){ 16431 szFormGroupClasses += " " + oConfig["wrapper-classes"]; 16432 } 16433 16434 let iDisplay = Number(oConfig["display"]); 16435 16436 switch(iDisplay){ 16437 case 12:{ 16438 szFormControlClasses += " text-" + oConfig["button-align"]; 16439 }break; 16440 case 10:{ 16441 szFormGroupClasses += " row justify-content-end";
16442 szFormControlClasses += " col col-sm-2"; 16443 szFormControlClasses += " text-" + oConfig["button-align"]; 16444 }break; 16445 case 9:{ 16446 szFormGroupClasses += " row justify-content-end"; 16447 szFormControlClasses += " col col-sm-3"; 16448 szFormControlClasses += " text-" + oConfig["button-align"]; 16449 }break; 16450 case 6:{ 16451 szFormGroupClasses += " row justify-content-end"; 16452 szFormControlClasses += " col col-sm-6"; 16453 szFormControlClasses += " text-" + oConfig["button-align"]; 16454 }break; 16455 case 3:{ 16456 szFormGroupClasses += " row justify-content-end"; 16457 szFormControlClasses += " col col-sm-9"; 16458 szFormControlClasses += " text-" + oConfig["button-align"]; 16459 }break; 16460 case 2:{ 16461 szFormGroupClasses += " row justify-content-end"; 16462 szFormControlClasses += " col col-sm-10"; 16463 szFormControlClasses += " text-" + oConfig["button-align"]; 16464 }break; 16465 case -1:{ 16466 szFormGroupClasses += " d-inline-block justify-content-end"; 16467 szFormControlClasses += " col col-auto d-inline-block"; 16468 }break; 16469 default:{ 16470 if ( oConfig["display"] == "inline-block" ){ 16471 szFormGroupClasses += " d-inline-block"; 16472 } 16473 } 16474 } 16475 16476 html += '<div class="'+ szFormGroupClasses +'"'; 16477 if ( oConfig["widget-id"]){ 16478 html += ' widget-id="'+ oConfig["widget-id"] +'"'; 16479 } 16480 html += '>'; 16481 16482 html += '<div class="'+ szFormControlClasses.trim() +'">'; 16483 16484 html += formFieldsBuildAnchor(oConfig, szUrl); 16485 16486 if ( oConfig["label-description"] !== "" ){ 16487 html += '<div><small class="ctl-form-field-description">' + oConfig["label-description"] + '</small></div>'; 16488 } 16489 html += '</div>'; 16490 html += '</div>'; 16491 16492 16493 return html; 16494} 16495 16496function buildAnchor( oConfig, szUrl ){ 16497 let oDefault = { 16498 "label-anchor" : "", 16499 "label-title" : "", 16500 "display" : 12, 16501 "button-align" : "left", 16502 "semantic-color" : "link", 16503 "data-attr" : "", 16504 "classes" : "", 16505 "target" : "_self", 16506 "rel" : "none", 16507 "icon-align" : "left", 16508 "icon-class" : "", 16509 "remove-button-style" : false, 16510 "anchor-size" : "normal", 16511 "title-attribute" : "", 16512 }; 16513 16514 oConfig = jQuery.extend(oDefault, oConfig); 16515 16516 let szClasses = ""; 16517 16518 if(!oConfig["remove-button-style"]){ 16519 szClasses = "btn btn-" + oConfig["semantic-color"]; 16520 } 16521 16522 if (oConfig["anchor-size"]){ 16523 switch(oConfig["anchor-size"]){ 16524 case "extra-small":{ 16525 szClasses += " btn-xs"; 16526 }break; 16527 case "small":{ 16528 szClasses += " btn-sm"; 16529 }break; 16530 case "large":{ 16531 szClasses += " btn-lg"; 16532 }break; 16533 } 16534 } 16535 16536 if ( oConfig["classes"]){ 16537 szClasses += ' ' + oConfig["classes"]; 16538 } 16539 16540 html = ""; 16541 16542 html += '<a href="' + $szUrl + '"'; 16543 16544 if( oConfig["rel"] != "none"){ 16545 html += ' rel="' + oConfig["rel"] + '"'; 16546 } 16547 16548 html += ' target="' + oConfig["target"] + '"'; 16549 16550 16551 if ( oConfig["title-attribute"] ){ 16552 html += ' title="' + formFieldsEscapeHtmlAttr(oConfig["title-attribute"]) + '"'; 16553 }else if ( oConfig["label-anchor"] ){ 16554 html += ' title="' + formFieldsEscapeHtmlAttr(oConfig["label-anchor"]) + '"'; 16555 } 16556 16557 html += ' class="' + szClasses + '" '; 16558 html += oConfig["data-attr"] + '>'; 16559 16560 16561 if ( oConfig["icon-class"] ){ 16562 htmlIcon = '<i class="' + oConfig["icon-class"] + '"></i>'; 16563 16564 if( oConfig["icon-align"] == "left" ){ 16565 html += htmlIcon; 16566 } 16567 16568 let iMarginDimension = 2; 16569 if ( szClasses.indexOf("btn-sm") !== -1 ){ 16570 iMarginDimension = 1; 16571 } 16572 16573 if ( oConfig["label-anchor"] ){ 16574 html += '<span class="'; 16575 if(!oConfig["remove-button-style"]){ 16576 html += 'btn-text'; 16577 } 16578 16579 html += 16580 ( oConfig["icon-align"] == "right" ? (' mr-' + iMarginDimension) : (' ml-' + iMarginDimension)) 16581 + '">'; 16582 html += oConfig["label-anchor"]; 16583 html += '</span>'; 16584 } 16585 16586 if( oConfig["icon-align"] == "right" ){ 16587 html += htmlIcon; 16588 } 16589 }else{ 16590 html += oConfig["label-anchor"]; 16591 } 16592 16593 html += '</a>'; 16594 16595 return html; 16596} 16597 16598 16599function formFieldsBuildButtonField( oConfig, szDefaultValue ){ 16600 16601 var oDefault = { 16602 "label-title" : "", 16603 "label-align" : "text-left", 16604 "label-v-align" : "", 16605 "button-title" : "", 16606 'hide-button-title' : false, 16607 "label-description" : "", 16608 "field-name" : "", 16609 "display" : 12, 16610 "button-align" : "left", 16611 "button-size" : "normal", 16612 "semantic-color" : "primary", 16613 "data-attr" : "", 16614 16615 "classes" : "", 16616 "wrapper-classes" : "", 16617 "text-classes" : "", 16618 16619 "type" : "button", 16620 "clear-errors" : false, 16621 "form-method" : "post", 16622 "disabled" : false, 16623 "form-group-classes" : "", 16624 "button-id" : "", 16625 "icon-class" : "", 16626 "icon-align" : "left", 16627 16628 "show-loading-on-submit" : false, 16629 16630 "task-loading" : false, 16631 "task-stoppable" : false, 16632 16633 "selector-to-print" : "", 16634 "selector-to-maximize" : "", 16635 "background-color" : "", 16636 16637 "title-attribute" : "", 16638 }; 16639 16640 oConfig = jQuery.extend(oDefault, oConfig); 16641 16642 var html = ""; 16643 16644 var szLabelClasses = "ctl-form-field-label text-" + oConfig["label-align"]; 16645 var szFormControlClasses = ""; 16646 var szFormGroupClasses = "form-group"; 16647 16648 szFormGroupClasses += ' ' + oConfig["form-group-classes"]; 16649 szFormControlClasses += " ctlbtnfield"; 16650
16651 var szButtonClasses = "btn btn-" + oConfig["semantic-color"]; 16652 16653 if ( oConfig["classes"] ){ 16654 szButtonClasses += ' ' + oConfig["classes"]; 16655 } 16656 16657 if ( oConfig["clear-errors"] ){ 16658 szButtonClasses += ' ctl-form-fields-clear-errors'; 16659 } 16660 16661 var iDisplay = parseInt(oConfig["display"]); 16662 16663 switch(iDisplay){ 16664 case 12:{ 16665 szLabelClasses += " d-block"; 16666 szFormControlClasses += " text-" + oConfig["button-align"]; 16667 }break; 16668 case 10:{ 16669 szLabelClasses += " col col-12 col-sm-10"; 16670 szFormGroupClasses+= " row justify-content-end"; 16671 szFormControlClasses += " col col-12 col-sm-2"; 16672 szFormControlClasses += " text-" + oConfig["button-align"]; 16673 16674 if ( oConfig["label-title"] === "" ){ 16675 szFormControlClasses += " offset-sm-2"; 16676 } 16677 16678 if ( oConfig["label-v-align"] !== ""){ 16679 szFormGroupClasses += " " + oConfig["label-v-align"]; 16680 } 16681 }break; 16682 case 9:{ 16683 szLabelClasses += " col col-12 col-sm-9"; 16684 szFormGroupClasses+= " row justify-content-end"; 16685 szFormControlClasses += " col col-12 col-sm-3"; 16686 szFormControlClasses += " text-" + oConfig["button-align"]; 16687 16688 if ( oConfig["label-title"] === "" ){ 16689 szFormControlClasses += " offset-sm-3"; 16690 } 16691 16692 if ( oConfig["label-v-align"] !== ""){ 16693 szFormGroupClasses += " " + oConfig["label-v-align"]; 16694 } 16695 }break; 16696 case 6:{ 16697 szLabelClasses += " col col-12 col-sm-6"; 16698 szFormGroupClasses+= " row justify-content-end"; 16699 szFormControlClasses += " col col-12 col-sm-6"; 16700 szFormControlClasses += " text-" + oConfig["button-align"]; 16701 16702 if ( oConfig["label-title"] === "" ){ 16703 szFormControlClasses += " offset-sm-6"; 16704 } 16705 16706 if ( oConfig["label-v-align"] !== ""){ 16707 szFormGroupClasses += " " + oConfig["label-v-align"]; 16708 } 16709 }break; 16710 case 3:{ 16711 szLabelClasses += " col col-12 col-sm-3"; 16712 szFormGroupClasses+= " row justify-content-end"; 16713 szFormControlClasses += " col col-12 col-sm-9"; 16714 szFormControlClasses += " text-" + oConfig["button-align"]; 16715 16716 if ( oConfig["label-title"] === "" ){ 16717 szFormControlClasses += " offset-sm-3"; 16718 } 16719 16720 if ( oConfig["label-v-align"] !== ""){ 16721 szFormGroupClasses += " " + oConfig["label-v-align"]; 16722 } 16723 }break; 16724 case 2:{ 16725 szLabelClasses += " col col-12 col-sm-2"; 16726 szFormGroupClasses+= " row justify-content-end"; 16727 szFormControlClasses += " col col-12 col-sm-10"; 16728 szFormControlClasses += " text-" + oConfig["button-align"]; 16729 16730 if ( oConfig["label-title"] === "" ){ 16731 szFormControlClasses += " offset-sm-2"; 16732 } 16733 16734 if ( oConfig["label-v-align"] !== ""){ 16735 szFormGroupClasses += " " + oConfig["label-v-align"]; 16736 } 16737 }break; 16738 default:{ 16739 if ( oConfig["display"] === "inline-block" ){ 16740 szLabelClasses += " col col-auto d-inline-block"; 16741 if ( oConfig["label-title"] !== "" ){ 16742 szFormGroupClasses = "form-group col-auto d-inline-block"; 16743 }else{ 16744 szFormGroupClasses = "d-inline-block"; 16745 } 16746 } 16747 } 16748 } 16749 16750 if( oConfig["wrapper-classes"] ){ 16751 szFormGroupClasses += " " + oConfig["wrapper-classes"]; 16752 } 16753 16754 html+= '<div class="' + szFormGroupClasses + '">'; 16755 16756 if ( oConfig["label-title"] !== "" ){ 16757 html+= '<label class="' + szLabelClasses + '">' + oConfig["label-title"] + '</label>'; 16758 } 16759 16760 html += '<div class="' + szFormControlClasses + '">'; 16761 16762 html += formFieldsBuildButton(oConfig, szDefaultValue); 16763 16764 if ( oConfig["label-description"] !== "" ){ 16765 html+= '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 16766 } 16767 16768 html+= '</div>'; 16769 16770 html+= '</div>'; 16771 16772 16773 return html; 16774} 16775 16776function formFieldsBuildButton( oConfig, szDefaultValue ){ 16777 16778 oDefault = { 16779 "button-title" : "", 16780 'hide-button-title' : false, 16781 "field-name" : "", 16782 "display" : 12, 16783 "button-size" : "normal", 16784 "button-align" : "left", 16785 "semantic-color" : "primary", 16786 "data-attr" : "", 16787 "classes" : "", 16788 "text-classes" : "", 16789 "type" : "button", 16790 "clear-errors" : false, 16791 "form-method" : "post", 16792 "disabled" : false, 16793 "button-id" : "", 16794 "icon-class" : "", 16795 "icon-align" : "left", 16796 "show-loading-on-submit" : false, 16797 "task-loading" : false, 16798 "task-stoppable" : false, 16799 "modal-id" : 0, 16800 "widget-id" : 0, 16801 "selector-to-print" : '', 16802 "selector-to-maximize" : "", 16803 "background-color" : "", 16804 "title-attribute" : "", 16805 }; 16806 16807 oConfig = jQuery.extend(oDefault, oConfig); 16808 16809 var html = ""; 16810
16811 var szButtonClasses = "btn btn-" + oConfig["semantic-color"]; 16812 16813 if (oConfig["button-size"]){ 16814 switch(oConfig["button-size"]){ 16815 case "extra-small":{ 16816 szButtonClasses += " btn-xs"; 16817 }break; 16818 case "small":{ 16819 szButtonClasses += " btn-sm"; 16820 }break; 16821 case "large":{ 16822 szButtonClasses += " btn-lg"; 16823 }break; 16824 } 16825 } 16826 16827 if ( oConfig["classes"] ){ 16828 szButtonClasses += ' ' + oConfig["classes"]; 16829 } 16830 16831 if ( oConfig["clear-errors"] ){ 16832 szButtonClasses += ' ctl-form-fields-clear-errors'; 16833 } 16834 16835 html += '<button'; 16836 16837 if ( oConfig["button-id"] ){ 16838 html += ' id="' + oConfig["button-id"] + '"'; 16839 } 16840 16841 if ( oConfig["widget-id"] ){ 16842 html += ' widget-id="' + oConfig["widget-id"] + '"'; 16843 } 16844 16845 if ( oConfig["type"] == "submit" && oConfig["form-method"] ){ 16846 html += ' formmethod="' + oConfig["form-method"] + '"'; 16847 } 16848 16849 if ( oConfig["field-name"] ){ 16850 html += ' name="' + oConfig["field-name"] + '"'; 16851 } 16852 16853 if ( oConfig["background-color"]){ 16854 html += ' style="background-color:' + oConfig["background-color"] + '"'; 16855 } 16856 16857 switch(oConfig["type"]){ 16858 case "print":{ 16859 szButtonClasses += " btn-action-print"; 16860 }break; 16861 case "maximize":{ 16862 szButtonClasses += " btn-action-maximize"; 16863 oConfig["icon-class"] = "ctl-wp-studio-icons-resize-full-alt"; 16864 }break; 16865 case "clear-form-and-submit":{ 16866 szButtonClasses += " btn-clear-form-and-submit"; 16867 }break; 16868 case "clear-form":{ 16869 szButtonClasses += " btn-clear-form"; 16870 }break; 16871 case "refresh-page":{ 16872 szButtonClasses += " btn-refresh-page"; 16873 }break; 16874 case "close-modal":{ 16875 szButtonClasses += " btn-action-close-modal"; 16876 }break; 16877 case "close-stack-modals":{ 16878 szButtonClasses += " btn-action-close-stack-modals"; 16879 }break; 16880 case "logout":{ 16881 szButtonClasses += " ctl-user-roles-action-logout"; 16882 }break; 16883 case "toggle-sidebar":{ 16884 szButtonClasses += " ctl-vulcano-theme-sidebar-toggle"; 16885 }break; 16886 case "open-modal":{ 16887 szButtonClasses += " btn-action-open-modal"; 16888 }break; 16889 case "toggle":{ 16890 if ( oConfig["data-attr"] ){ 16891 oConfig["data-attr"] += ' '; 16892 } 16893 oConfig["data-attr"] += ' data-toggle="button"'; 16894 }break; 16895 case "submit-email":{ 16896 szButtonClasses += " btn-action-submit-email"; 16897 }break; 16898 case "submit":{ 16899 if ( oConfig["show-loading-on-submit"]){ 16900 szButtonClasses += " btn-show-loading-on-submit"; 16901 } 16902 }break; 16903 } 16904 16905 if ( szButtonClasses ){ 16906 html += ' class="' + szButtonClasses + '"'; 16907 } 16908 16909 if ( oConfig["data-attr"] ){ 16910 html += ' ' + oConfig["data-attr"]; 16911 } 16912
16913 if ( oConfig["type"] == "open-modal" && oConfig["modal-id"] ){ 16914 html += ' data-modal-id="' + oConfig["modal-id"] + '"'; 16915 } 16916 if ( oConfig["type"] == "print" && oConfig["selector-to-print"]){ 16917 html += ' data-print-selector="' + oConfig["selector-to-print"] + '"'; 16918 } 16919 if ( oConfig["type"] == "maximize" && oConfig["selector-to-maximize"]){ 16920 html += ' data-maximize-selector="' + oConfig["selector-to-maximize"] + '"'; 16921 } 16922 16923 if ( oConfig["disabled"] ){ 16924 html += ' disabled'; 16925 } 16926 16927 if ( oConfig["title-attribute"] ){ 16928 html += ' title="' + formFieldsEscapeHtmlAttr(oConfig["title-attribute"]) + '"'; 16929 }else if ( oConfig["button-title"] ){ 16930 html += ' title="' + formFieldsEscapeHtmlAttr(oConfig["button-title"]) + '"'; 16931 } 16932 16933 if ( oConfig["task-loading"] ){ 16934 html += ' data-task-loading="1"'; 16935 } 16936 16937 if ( oConfig["task-stoppable"] ){ 16938 html += ' data-task-stoppable="1"'; 16939 } 16940 16941 if ( szDefaultValue ){ 16942 html += ' value="' + szDefaultValue + '"'; 16943 } 16944 16945 switch(oConfig["type"]){ 16946 case "submit":{ 16947 html += ' type="submit">'; 16948 }break; 16949 default:{ 16950 html += ' type="button">'; 16951 } 16952 } 16953 16954 if ( oConfig["task-loading"] ){ 16955 html += ' <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>'; 16956 } 16957 16958 if ( oConfig["icon-align"] == "left" && oConfig["icon-class"] ){ 16959 html += '<i class="' + oConfig["icon-class"] + '"></i>'; 16960 } 16961 16962 if ( !oConfig['hide-button-title'] && oConfig["button-title"] !== "" ){ 16963 var szTextClasses = "btn-text"; 16964 if (oConfig["text-classes"]){ 16965 szTextClasses += ' ' + oConfig["text-classes"]; 16966 } 16967 16968 var iMarginDimension = 2; 16969 if ( szButtonClasses.indexOf("btn-xs") !== -1){ 16970 iMarginDimension = 1; 16971 } 16972 16973 if (oConfig["icon-class"]){ 16974 switch(oConfig["icon-align"]){ 16975 case "left":{ 16976 szTextClasses += ' ml-' + iMarginDimension; 16977 }break; 16978 case "right":{ 16979 szTextClasses += ' mr-' + iMarginDimension; 16980 }break; 16981 } 16982 } 16983 16984 html += '<span class="' + szTextClasses + '">'; 16985 html += oConfig["button-title"]; 16986 html += '</span>'; 16987 } 16988 16989 if ( oConfig["icon-align"] == "right" && oConfig["icon-class"] ){ 16990 html += '<i class="' + oConfig["icon-class"] + '"></i>'; 16991 } 16992 16993 html += '</button>'; 16994 16995 return html; 16996} 16997 16998function formFieldsEscapeHtmlAttr(str) { 16999 return str 17000 .replace(/&/g, "&") 17001 .replace(/"/g, """) 17002 .replace(/'/g, "'") 17003 .replace(/</g, "<") 17004 .replace(/>/g, ">"); 17005} 17006 17007function formFieldsBuildColorField( oConfig, szDefaultValue ){ 17008 17009 var oDefault = { 17010 "label-title" : "", 17011 "label-suggestion" : "", 17012 "label-description" : "", 17013 "field-name" : "", 17014 "mandatory" : false, 17015 "display" : 12, 17016 "label-align" : "left", 17017 "label-v-align" : "", 17018 "readonly" : false, 17019 "data-attr" : "", 17020 "classes" : "", 17021 "control-classes" : "", 17022 "wrapper-classes" : "", 17023 "input-group-classes" : "", 17024 "autocomplete" : false, 17025 "align-value" : "left", 17026 "disabled" : false, 17027 17028 "mandatory-on-label" : true, 17029 "floating-label" : false, 17030 }; 17031 17032 oConfig = jQuery.extend(oDefault, oConfig); 17033 17034 if (!szDefaultValue){ 17035 szDefaultValue = ""; 17036 } 17037 17038 17039 var guid = ""; 17040 if (oConfig["field-name"]){ 17041 guid = oConfig["field-name"] + "-"; 17042 } 17043 guid += g_oCTLWPStudio.makeCode(4); 17044 17045 var html = ""; 17046 17047 var szFormInputControl = "form-control"; 17048 17049 var szFormGroupClasses = "form-group ctl-color-picker"; 17050 var szLabelClasses = "ctl-form-field-label"; 17051 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 17052 17053 szFormControlClasses += " ctltextfield"; 17054 17055 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 17056 szFormControlClasses += " mandatory"; 17057 17058 if ( oConfig["mandatory-on-label"] ){ 17059 szFormGroupClasses += " mandatory-on-label"; 17060 } 17061 } 17062 17063 if( oConfig["classes"] ){ 17064 szFormInputControl += " " + oConfig["classes"]; 17065 } 17066 17067 if( oConfig["wrapper-classes"] ){ 17068 szFormGroupClasses += " " + oConfig["wrapper-classes"]; 17069 } 17070 17071 if( oConfig["control-classes"] ){ 17072 szFormControlClasses += " " + oConfig["control-classes"]; 17073 } 17074 17075 if ( oConfig["floating-label"] && iDisplay === 12 ){ 17076 szFormGroupClasses += " floating-label"; 17077 17078 oConfig["label-suggestion"] = ""; 17079 oConfig["label-align"] = "left"; 17080 17081 if ( szDefaultValue ){ 17082 szFormGroupClasses += " floating-label-normal"; 17083 } 17084 } 17085 17086 szFormInputControl += " text-" + oConfig["align-value"]; 17087 17088 if ( !oConfig["autocomplete"] ){ 17089 oConfig["data-attr"] += ' autocomplete="off"'; 17090 } 17091 17092 var iDisplay = oConfig["display"]; 17093 17094 switch(iDisplay){ 17095 case 12:{ 17096 szLabelClasses += " d-block"; 17097 }break; 17098 case 10:{ 17099 szFormGroupClasses+= " row";
17100 szLabelClasses += " col col-12 col-sm-10"; 17101 szFormControlClasses += " col col-12 col-sm-2"; 17102 17103 if ( oConfig["label-v-align"] !== ""){ 17104 szFormGroupClasses += " " + oConfig["label-v-align"]; 17105 } 17106 }break; 17107 case 9:{ 17108 szFormGroupClasses+= " row"; 17109 szLabelClasses += " col col-12 col-sm-9"; 17110 szFormControlClasses += " col col-12 col-sm-3"; 17111 if ( oConfig["label-v-align"] !== ""){ 17112 szFormGroupClasses += " " + oConfig["label-v-align"]; 17113 } 17114 }break; 17115 case 6:{ 17116 szFormGroupClasses+= " row"; 17117 szLabelClasses += " col col-12 col-sm-6"; 17118 szFormControlClasses += " col col-12 col-sm-6"; 17119 17120 if ( oConfig["label-v-align"] !== ""){ 17121 szFormGroupClasses += " " + oConfig["label-v-align"]; 17122 } 17123 }break; 17124 case 3:{ 17125 szFormGroupClasses+= " row"; 17126 szLabelClasses += " col col-12 col-sm-3"; 17127 szFormControlClasses += " col col-12 col-sm-9"; 17128 17129 if ( oConfig["label-v-align"] !== ""){ 17130 szFormGroupClasses += " " + oConfig["label-v-align"]; 17131 } 17132 }break; 17133 case 2:{ 17134 szFormGroupClasses+= " row"; 17135 szLabelClasses += " col col-12 col-sm-2"; 17136 szFormControlClasses += " col col-12 col-sm-10"; 17137 17138 if ( oConfig["label-v-align"] !== ""){ 17139 szFormGroupClasses += " " + oConfig["label-v-align"]; 17140 } 17141 }break; 17142 case -1:{ 17143 szFormGroupClasses+= " d-inline-block"; 17144 szLabelClasses += " col col-auto d-inline-block pr-0"; 17145 szFormControlClasses += " col col-auto d-inline-block"; 17146 17147 if ( oConfig["label-v-align"] !== ""){ 17148 szFormGroupClasses += " " + oConfig["label-v-align"]; 17149 } 17150 }break; 17151 case "inline-block":{ 17152 szLabelClasses += " col col-auto d-inline-block"; 17153 szFormControlClasses += " col col-auto d-inline-block"; 17154 }break; 17155 } 17156 17157 szLabelClasses += " text-" + oConfig["label-align"]; 17158 17159 html+= '<div class="' + szFormGroupClasses + '">'; 17160 17161 if ( oConfig["label-title"] !== "" || iDisplay !== 12 ){ 17162 html+= '<label class="' + szLabelClasses + '" for="' + guid + '">' + 17163 oConfig["label-title"] + '</label>'; 17164 } 17165 17166 html+= '<div class="' + szFormControlClasses + '">'; 17167 17168 let szInputGroupClasses = "input-group colorpicker-element"; 17169 if ( oConfig["input-group-classes"] ){ 17170 szInputGroupClasses += " " + oConfig["input-group-classes"]; 17171 szInputGroupClasses = szInputGroupClasses.trim(); 17172 } 17173 17174 html+= '<div class="' + szInputGroupClasses + '">'; 17175 17176 html+= '<input id="' + guid + '"'; 17177 17178 html+= ' type="' + oConfig["type-field"] + '"'; 17179 html+= ' name="' + oConfig["field-name"] + '"'; 17180 html+= ' class="' + szFormInputControl + '"'; 17181 17182 if ( szDefaultValue ){ 17183 html += ' value="' + szDefaultValue + '"'; 17184 html += ' data-color="' + szDefaultValue + '"'; 17185 } 17186 17187 if ( oConfig["readonly"] ){ 17188 html += ' readonly'; 17189 } 17190 17191 if ( oConfig["disabled"] ){ 17192 html+= ' disabled'; 17193 } 17194 17195 if ( (oConfig["label-suggestion"]) ){ 17196 html += ' placeholder="' + oConfig["label-suggestion"] + '"'; 17197 } 17198 17199 if ( (oConfig["data-attr"]) ){ 17200 html += ' ' + oConfig["data-attr"]; 17201 } 17202 17203 html += ' />'; 17204 17205 17206 html += '<span class="input-group-append">'; 17207 html += '<span class="input-group-text colorpicker-input-addon"><i></i></span>'; 17208 html += '</span>'; 17209 17210 17211 html += '</div>'; 17212 17213 if ( oConfig["label-description"] !== "" ){ 17214 html+= '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 17215 } 17216 17217 html+= '<div class="invalid-feedback"></div>'; 17218 17219 html+= '</div>'; 17220 17221 html+= '</div>'; 17222 17223 17224 return html; 17225} 17226 17227function formFieldsBuildNumberField( oConfig, fDefaultValue = "" ){ 17228 var html = ""; 17229 17230 var oDefault = { 17231 "label-title" : "", 17232 "label-suggestion" : "", 17233 "label-description" : "", 17234 "field-name" : "", 17235 "mandatory" : false, 17236 "display" : 12, 17237 "label-align" : "left", 17238 "label-v-align" : "", 17239 "readonly" : false, 17240 "data-attr" : "", 17241 "wrapper-classes" : "", 17242 "input-group-classes" : "", 17243 "classes" : "", 17244 "autocomplete" : false, 17245 "min-value" : null, 17246 "max-value" : null, 17247 "step-value" : null, 17248 "align-value" : "left", 17249 "disabled" : false, 17250 "append-icon-class" : "", 17251 "append-text" : "", 17252 "append-icon-pos" : "prepend", 17253 17254 "validate-not-zero" : false, 17255 "validate-unsigned" : false, 17256 "validate-integer" : false, 17257 17258 "validate-min-value" : false, 17259 "validate-max-value" : false, 17260 17261 "mandatory-on-label" : true, 17262 "floating-label" : false, 17263 }; 17264 17265 oConfig = jQuery.extend(oDefault, oConfig); 17266 17267 var guid = ""; 17268 if (oConfig["field-name"]){ 17269 guid = oConfig["field-name"] + "-"; 17270 } 17271 guid += g_oCTLWPStudio.makeCode(4); 17272 17273 17274 var szFormInputControl = "form-control"; 17275 17276 var szFormGroupClasses = "form-group"; 17277 var szLabelClasses = "ctl-form-field-label"; 17278 17279 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 17280 17281 szFormControlClasses += " ctlnumfield"; 17282 17283 var iDisplay = Number(oConfig["display"]); 17284 17285 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 17286 szFormControlClasses += " mandatory"; 17287 17288 if ( oConfig["mandatory-on-label"] ){ 17289 szFormGroupClasses += " mandatory-on-label"; 17290 } 17291 } 17292 17293 if ( !oConfig["autocomplete"] ){ 17294 oConfig["data-attr"] += ' autocomplete="off"'; 17295 } 17296 17297 if( !oConfig["wrapper-classes"] ){ 17298 szFormGroupClasses += " " + oConfig["wrapper-classes"]; 17299 } 17300 17301 var iDisplay = oConfig["display"]; 17302 17303 switch(iDisplay){ 17304 case 12:{ 17305 szLabelClasses += " d-block"; 17306 }break; 17307 case 10:{ 17308 szFormGroupClasses+= " row";
17309 szLabelClasses += " col col-12 col-sm-10"; 17310 szFormControlClasses += " col col-12 col-sm-2"; 17311 17312 if ( oConfig["label-v-align"] !== ""){ 17313 szFormGroupClasses += " " + oConfig["label-v-align"]; 17314 } 17315 }break; 17316 case 9:{ 17317 szFormGroupClasses+= " row"; 17318 szLabelClasses += " col col-12 col-sm-9"; 17319 szFormControlClasses += " col col-12 col-sm-3"; 17320 17321 if ( oConfig["label-v-align"] !== ""){ 17322 szFormGroupClasses += " " + oConfig["label-v-align"]; 17323 } 17324 }break; 17325 case 6:{ 17326 szFormGroupClasses+= " row"; 17327 szLabelClasses += " col col-12 col-sm-6"; 17328 szFormControlClasses += " col col-12 col-sm-6"; 17329 17330 if ( oConfig["label-v-align"] !== ""){ 17331 szFormGroupClasses += " " + oConfig["label-v-align"]; 17332 } 17333 }break; 17334 case 3:{ 17335 szFormGroupClasses+= " row"; 17336 szLabelClasses += " col col-12 col-sm-3"; 17337 szFormControlClasses += " col col-12 col-sm-9"; 17338 17339 if ( oConfig["label-v-align"] !== ""){ 17340 szFormGroupClasses += " " + oConfig["label-v-align"]; 17341 } 17342 }break; 17343 case 2:{ 17344 szFormGroupClasses+= " row"; 17345 szLabelClasses += " col col-12 col-sm-2"; 17346 szFormControlClasses += " col col-12 col-sm-10"; 17347 17348 if ( oConfig["label-v-align"] !== ""){ 17349 szFormGroupClasses += " " + oConfig["label-v-align"]; 17350 } 17351 }break; 17352 case -1:{ 17353 szFormGroupClasses+= " d-inline-block"; 17354 szLabelClasses += " col col-auto d-inline-block pr-0"; 17355 szFormControlClasses += " col col-auto d-inline-block"; 17356 17357 if ( oConfig["label-v-align"] !== ""){ 17358 szFormGroupClasses += " " + oConfig["label-v-align"]; 17359 } 17360 }break; 17361 case "inline-block":{ 17362 szLabelClasses += " col col-auto d-inline-block"; 17363 szFormControlClasses += " col col-auto d-inline-block"; 17364 }break; 17365 } 17366 17367 szFormInputControl += " text-" + oConfig["align-value"]; 17368 17369 if ( oConfig["validate-not-zero"]){ 17370 szFormInputControl += ' validate-not-zero'; 17371 } 17372 17373 if ( oConfig["validate-unsigned"]){ 17374 szFormInputControl += ' validate-unsigned'; 17375 } 17376 17377 if ( oConfig["validate-integer"]){ 17378 szFormInputControl += ' validate-integer'; 17379 } 17380 17381 if ( oConfig["validate-min-value"]){ 17382 szFormInputControl += ' validate-min-value'; 17383 } 17384 17385 if ( oConfig["validate-max-value"]){ 17386 szFormInputControl += ' validate-max-value'; 17387 } 17388 17389 if ( oConfig["floating-label"] && iDisplay === 12 ){ 17390 szFormGroupClasses += " floating-label"; 17391 17392 oConfig["label-suggestion"] = ""; 17393 oConfig["label-align"] = "left"; 17394 17395 if ( !isNaN(fDefaultValue) ){ 17396 szFormGroupClasses += " floating-label-normal"; 17397 } 17398 } 17399 17400 szLabelClasses += " text-" + oConfig["label-align"]; 17401 17402 if (oConfig["classes"]){ 17403 szFormInputControl += ' ' + oConfig["classes"]; 17404 } 17405 17406 html += '<div class="' + szFormGroupClasses + '">'; 17407 17408 if ( oConfig["label-title"] !== "" || iDisplay !== 12 ){ 17409 html += '<label class="' + szLabelClasses + '" for="' + guid + '">' + 17410 oConfig["label-title"] + '</label>'; 17411 } 17412 17413 html += '<div class="' + szFormControlClasses + '">'; 17414 17415 if ( oConfig["append-icon-class"] !== "" || oConfig["append-text"] !== "" ){ 17416 17417 let szInputGroupClasses = "input-group"; 17418 if ( oConfig["input-group-classes"] ){ 17419 szInputGroupClasses += " " + oConfig["input-group-classes"]; 17420 szInputGroupClasses = szInputGroupClasses.trim(); 17421 } 17422 17423 html += '<div class="' + szInputGroupClasses + '">';
17424 if ( oConfig["append-icon-pos"] === "prepend" ){ 17425 html += '<div class="input-group-prepend">'; 17426 html += '<span class="input-group-text">'; 17427 if(oConfig["append-icon-class"] !== ""){ 17428 html += '<i class="' + oConfig["append-icon-class"] + '"></i>'; 17429 }else{ 17430 html += oConfig["append-text"]; 17431 } 17432 html += '</span>'; 17433 html += '</div>'; 17434 } 17435 } 17436 17437 html += '<input id="' + guid +'" type="number" name="' + 17438 oConfig["field-name"] + '" class="' + szFormInputControl + '"'; 17439 17440 html += ' value="' + fDefaultValue +'"'; 17441 17442 if ( oConfig["data-attr"] ){ 17443 html += ' ' + oConfig["data-attr"]; 17444 } 17445 17446 if ( oConfig["readonly"] ){ 17447 html += ' readonly'; 17448 } 17449 17450 if ( oConfig["min-value"] !== null ){ 17451 html += ' min="' + oConfig["min-value"] + '"'; 17452 } 17453 17454 if ( oConfig["max-value"] !== null ){ 17455 html += ' max="' + oConfig["max-value"] + '"'; 17456 } 17457 17458 if ( oConfig["step-value"] !== null && !isNaN(oConfig["step-value"]) ){ 17459 html += ' step="' + oConfig["step-value"] +'"'; 17460 }else{ 17461 html += ' step="any"'; 17462 } 17463 17464 if ( oConfig["disabled"] ){ 17465 html += ' disabled'; 17466 } 17467 17468 if ( oConfig["label-suggestion"] ){ 17469 html += ' placeholder="' + oConfig["label-suggestion"] + '"'; 17470 } 17471 17472 html += '/>'; 17473 17474 if ( oConfig["append-icon-class"] !== "" || oConfig["append-text"] !== "" ){ 17475 if ( oConfig["append-icon-pos"] == "append" ){ 17476 html += '<div class="input-group-append">'; 17477 html += '<span class="input-group-text">'; 17478 if(oConfig["append-icon-class"] !== ""){ 17479 html += '<i class="' + oConfig["append-icon-class"] + '"></i>'; 17480 }else{ 17481 html += oConfig["append-text"]; 17482 } 17483 html += '</span>'; 17484 html += '</div>'; 17485 } 17486 html += '</div>'; 17487 } 17488 17489 if ( oConfig["label-description"] !== "" ){ 17490 html += '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 17491 } 17492 17493 html += '<div class="invalid-feedback"></div>'; 17494 17495 html += '</div>'; 17496 17497 html += '</div>'; 17498 17499 return html; 17500} 17501 17502function formFieldsBuildTextField( oConfig, szDefaultValue ){ 17503 17504 var oDefault = { 17505 "label-title" : "", 17506 "label-suggestion" : "", 17507 "label-description" : "", 17508 "field-name" : "", 17509 "mandatory" : false, 17510 "display" : 12, 17511 "label-align" : "left", 17512 "label-v-align" : "", 17513 "readonly" : false, 17514 "data-attr" : "", 17515 "classes" : "", 17516 "label-classes" : "", 17517 "control-classes" : "", 17518 "wrapper-classes" : "", 17519 "autocomplete" : false, 17520 "align-value" : "left", 17521 "disabled" : false, 17522 "type-field" : "text", 17523 17524 "append-icon-class" : "", 17525 "append-icon-pos" : "prepend", 17526 17527 "trim-value" : false, 17528 "validate-not-zero" : false, 17529 "validate-email" : false, 17530 "validate-only-digits" : false, 17531 "validate-exclude-digits" : false, 17532 "validate-integer" : false, 17533 "validate-number" : false, 17534 "validate-unsigned" : false, 17535 "validate-min-length" : false, 17536 17537 "validate-one-uppercase" : false, 17538 "validate-one-lowercase" : false, 17539 "validate-one-digit" : false, 17540 "validate-one-special" : false, 17541 17542 "force-uppercase" : false, 17543 "force-lowercase" : false, 17544 17545 "validate-exact-length" : false, 17546 "exact-chars" : 0, 17547 17548 "min-chars" : 0, 17549 "validate-max-length" : false, 17550 "max-chars" : 0, 17551 17552 "validate-regex" : "", 17553 "label-fail-regex" : "", 17554 17555 "select-on-focus" : 0, 17556 "auto-focus" : 0, 17557 "inputmode-none" : 0, 17558 "clear-field" : 0, 17559 "clear-value" : "", 17560 17561 "mandatory-on-label" : true, 17562 "floating-label" : false, 17563 17564 'append-buttons' : [] 17565 }; 17566 17567 oConfig = jQuery.extend(oDefault, oConfig); 17568 17569 if (!szDefaultValue){ 17570 szDefaultValue = ""; 17571 } 17572 17573 if ( !(oConfig["type-field"]) ){ 17574 oConfig["type-field"] = "text"; 17575 } 17576 17577 var guid = ""; 17578 if (oConfig["field-name"]){ 17579 guid = oConfig["field-name"] + "-"; 17580 } 17581 guid += g_oCTLWPStudio.makeCode(4); 17582 17583 var html = ""; 17584 17585 var szFormInputControl = "form-control"; 17586 17587 var szFormGroupClasses = "form-group"; 17588 var szLabelClasses = "ctl-form-field-label"; 17589 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 17590 17591 szFormControlClasses += " ctltextfield"; 17592 17593 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 17594 szFormControlClasses += " mandatory"; 17595 17596 if ( oConfig["mandatory-on-label"] ){ 17597 szFormGroupClasses += " mandatory-on-label"; 17598 } 17599 } 17600 17601 if( oConfig["classes"] ){ 17602 szFormInputControl += " " + oConfig["classes"]; 17603 } 17604 17605 if( oConfig["label-classes"] ){ 17606 szLabelClasses += " " + oConfig["label-classes"]; 17607 } 17608 17609 if( oConfig["wrapper-classes"] ){ 17610 szFormGroupClasses += " " + oConfig["wrapper-classes"]; 17611 } 17612 17613 if( oConfig["control-classes"] ){ 17614 szFormControlClasses += " " + oConfig["control-classes"]; 17615 } 17616 17617 if ( oConfig["floating-label"] && iDisplay === 12 ){ 17618 szFormGroupClasses += " floating-label"; 17619 17620 oConfig["label-suggestion"] = ""; 17621 oConfig["label-align"] = "left"; 17622 17623 if ( szDefaultValue ){ 17624 szFormGroupClasses += " floating-label-normal"; 17625 } 17626 } 17627 17628 szFormInputControl += " text-" + oConfig["align-value"]; 17629 17630 if ( (oConfig["validate-regex"])){ 17631 szFormInputControl += ' validate-regex'; 17632 } 17633 17634 if ( (oConfig["select-on-focus"])){ 17635 szFormInputControl += ' select-on-focus'; 17636 } 17637 if ( (oConfig["auto-focus"])){ 17638 szFormInputControl += ' auto-focus'; 17639 } 17640 17641 if ( oConfig["validate-not-zero"]){ 17642 szFormInputControl += ' validate-not-zero'; 17643 } 17644 if ( oConfig["validate-email"]){ 17645 szFormInputControl += ' validate-email'; 17646 } 17647 if ( oConfig["validate-only-digits"]){ 17648 szFormInputControl += ' validate-only-digits'; 17649 } 17650 if ( oConfig["validate-exclude-digits"]){ 17651 szFormInputControl += ' validate-exclude-digits'; 17652 } 17653 if ( oConfig["validate-integer"]){ 17654 szFormInputControl += ' validate-integer'; 17655 } 17656 if ( oConfig["validate-number"]){ 17657 szFormInputControl += ' validate-number'; 17658 } 17659 if ( oConfig["validate-unsigned"]){ 17660 szFormInputControl += ' validate-unsigned'; 17661 } 17662 if ( oConfig["force-uppercase"]){ 17663 szFormInputControl += ' force-uppercase'; 17664 } 17665 if ( oConfig["force-lowercase"]){ 17666 szFormInputControl += ' force-lowercase'; 17667 } 17668 17669 if ( oConfig["validate-one-uppercase"]){ 17670 szFormInputControl += ' validate-one-uppercase'; 17671 } 17672 if ( oConfig["validate-one-lowercase"]){ 17673 szFormInputControl += ' validate-one-lowercase'; 17674 } 17675 if ( oConfig["validate-one-digit"]){ 17676 szFormInputControl += ' validate-one-digit'; 17677 } 17678 if ( oConfig["validate-one-special"]){ 17679 szFormInputControl += ' validate-one-special'; 17680 } 17681 17682 17683 if ( (oConfig["validate-regex"])){ 17684 oConfig["data-attr"] += ' data-validate-regex="' + 17685 Base64.encode(oConfig["validate-regex"]) + '"'; 17686 oConfig["data-attr"] += ' data-label-fail-regex="' + 17687 Base64.encode(oConfig["label-fail-regex"]) + '"'; 17688 } 17689 17690 if ( (oConfig["clear-value"]) ){ 17691 oConfig["data-attr"] += ' data-clear-value="'+ 17692 oConfig["clear-value"] + '"'; 17693 } 17694 17695 if ( oConfig["inputmode-none"]){ 17696 oConfig["data-attr"] += ' inputmode="none"'; 17697 } 17698 17699 if ( oConfig["validate-min-length"]){ 17700 oConfig["data-attr"] += ' data-min-length="' + oConfig["min-chars"] +'"'; 17701 } 17702 if ( oConfig["validate-max-length"]){ 17703 oConfig["data-attr"] += ' data-max-length="' + oConfig["max-chars"] +'"'; 17704 } 17705 if ( oConfig["validate-exact-length"]){ 17706 oConfig["data-attr"] += ' data-exact-length="' + oConfig["exact-chars"] +'"'; 17707 } 17708 17709 if ( !oConfig["autocomplete"] ){ 17710 oConfig["data-attr"] += ' autocomplete="off"'; 17711 } 17712 17713 var iDisplay = oConfig["display"]; 17714 17715 17716 switch(iDisplay){ 17717 case 12:{ 17718 szLabelClasses += " d-block"; 17719 }break; 17720 case 10:{ 17721 szFormGroupClasses+= " row";
17722 szLabelClasses += " col col-12 col-sm-10"; 17723 szFormControlClasses += " col col-12 col-sm-2"; 17724 if ( oConfig["label-v-align"] !== ""){ 17725 szFormGroupClasses += " " + oConfig["label-v-align"]; 17726 } 17727 }break; 17728 case 9:{ 17729 szFormGroupClasses+= " row"; 17730 szLabelClasses += " col col-12 col-sm-9"; 17731 szFormControlClasses += " col col-12 col-sm-3"; 17732 17733 if ( oConfig["label-v-align"] !== ""){ 17734 szFormGroupClasses += " " + oConfig["label-v-align"]; 17735 } 17736 }break; 17737 case 6:{ 17738 szFormGroupClasses+= " row"; 17739 szLabelClasses += " col col-12 col-sm-6"; 17740 szFormControlClasses += " col col-12 col-sm-6"; 17741 17742 if ( oConfig["label-v-align"] !== ""){ 17743 szFormGroupClasses += " " + oConfig["label-v-align"]; 17744 } 17745 }break; 17746 case 3:{ 17747 szFormGroupClasses+= " row"; 17748 szLabelClasses += " col col-12 col-sm-3"; 17749 szFormControlClasses += " col col-12 col-sm-9"; 17750 17751 if ( oConfig["label-v-align"] !== ""){ 17752 szFormGroupClasses += " " + oConfig["label-v-align"]; 17753 } 17754 }break; 17755 case 2:{ 17756 szFormGroupClasses+= " row"; 17757 szLabelClasses += " col col-12 col-sm-2"; 17758 szFormControlClasses += " col col-12 col-sm-10"; 17759 17760 if ( oConfig["label-v-align"] !== ""){ 17761 szFormGroupClasses += " " + oConfig["label-v-align"]; 17762 } 17763 }break; 17764 case -1:{ 17765 szFormGroupClasses+= " d-inline-block"; 17766 szLabelClasses += " col col-auto d-inline-block pr-0"; 17767 szFormControlClasses += " col col-auto d-inline-block"; 17768 17769 if ( oConfig["label-v-align"] !== ""){ 17770 szFormGroupClasses += " " + oConfig["label-v-align"]; 17771 } 17772 }break; 17773 case "inline-block":{ 17774 szLabelClasses += " col col-auto d-inline-block"; 17775 szFormControlClasses += " col col-auto d-inline-block"; 17776 }break; 17777 } 17778 17779 szLabelClasses += " text-" + oConfig["label-align"]; 17780 17781 html+= '<div class="' + szFormGroupClasses + '">'; 17782 17783 if ( oConfig["label-title"] !== "" || iDisplay !== 12 ){ 17784 html+= '<label class="' + szLabelClasses + '" for="' + guid + '">' + 17785 oConfig["label-title"] + '</label>'; 17786 } 17787 17788 html+= '<div class="' + szFormControlClasses + '">'; 17789 17790 var bInputGroup = false; 17791 if ( oConfig["append-icon-class"] !== "" || 17792 (oConfig["clear-field"]) || 17793 (oConfig["append-buttons"].length > 0) || 17794 oConfig["type-field"] === "password" 17795 ){ 17796 17797 bInputGroup = true; 17798 17799 html+= '<div class="input-group">'; 17800 17801 if ( oConfig["append-icon-class"] !== "" && 17802 oConfig["append-icon-pos"] === "prepend" ){ 17803 html+= '<div class="input-group-prepend">'; 17804 html+= '<span class="input-group-text">'; 17805 html+= '<i class="' + oConfig["append-icon-class"] + '"></i>'; 17806 html+= '</span>'; 17807 html+= '</div>'; 17808 } 17809 } 17810 17811 html+= '<input id="' + guid + '"'; 17812 17813 html+= ' type="' + oConfig["type-field"] + '"'; 17814 html+= ' name="' + oConfig["field-name"] + '"'; 17815 html+= ' class="' + szFormInputControl + '"'; 17816 17817 if ( szDefaultValue ){ 17818 html += ' value="' + szDefaultValue + '"'; 17819 } 17820 17821 if ( oConfig["readonly"] ){ 17822 html += ' readonly'; 17823 } 17824 17825 if ( oConfig["disabled"] ){ 17826 html+= ' disabled'; 17827 } 17828 17829 if ( (oConfig["label-suggestion"]) ){ 17830 html += ' placeholder="' + oConfig["label-suggestion"] + '"'; 17831 } 17832 17833 if ( (oConfig["data-attr"]) ){ 17834 html += ' ' + oConfig["data-attr"]; 17835 } 17836 17837 html += ' />'; 17838 17839 if ( bInputGroup ){ 17840 17841 var htmlAppend = ""; 17842 if ( oConfig["append-icon-pos"] === "append" ){ 17843 htmlAppend += '<span class="input-group-text">'; 17844 htmlAppend += '<i class="'+ oConfig["append-icon-class"] +'"></i>'; 17845 htmlAppend += '</span>'; 17846 } 17847 17848 if ( oConfig["clear-field"] ){ 17849 htmlAppend += '<button class="btn btn-secondary btn-clear-field-in-group" type="button">'; 17850 htmlAppend += '<i class="ctl-wp-studio-icons-trash"></i>'; 17851 htmlAppend += '</button>'; 17852 } 17853 17854 17855 if ( oConfig["type-field"] === "password" ){ 17856 htmlAppend += '<button class="btn btn-outline-secondary btn-action-toggle-password-type" type="button">'; 17857 htmlAppend += '<i class="ctl-wp-studio-icons-eye"></i>'; 17858 htmlAppend += '</button>'; 17859 } 17860 17861 for( var i = 0; i < oConfig["append-buttons"].length; i++ ){ 17862 htmlAppend += oConfig["append-buttons"][i]; 17863 } 17864 17865 if ( htmlAppend !== "" ){ 17866 html += '<div class="input-group-append">'; 17867 html += htmlAppend; 17868 html += '</div>'; 17869 } 17870 17871 html += '</div>'; 17872 } 17873 17874 if ( oConfig["label-description"] !== "" ){ 17875 html+= '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 17876 } 17877 17878 html+= '<div class="invalid-feedback"></div>'; 17879 17880 html+= '</div>'; 17881 17882 html+= '</div>'; 17883 17884 17885 return html; 17886} 17887 17888 17889function formFieldsBuildHiddenField( oConfig, szValue ){ 17890 17891 var oDefault = { 17892 "field-name" : "", 17893 "classes" : "" 17894 }; 17895 17896 oConfig = jQuery.extend(oDefault, oConfig); 17897 17898 var szFieldName = oConfig["field-name"]; 17899 if ( oConfig["field-name"].indexOf("[]") === -1 ){ 17900 szFieldName += "[]"; 17901 } 17902 17903 if ( Array.isArray(szValue) ){ 17904 for( var i = 0; i < szValue.length; i++ ){ 17905 var guid = ""; 17906 if (oConfig["field-name"]){ 17907 guid = oConfig["field-name"] + "-"; 17908 } 17909 guid += g_oCTLWPStudio.makeCode(4); 17910 17911 var html = ""; 17912 html += '<input id="' + guid + '"'; 17913 html += ' type="hidden"'; 17914 html += ' name="' + szFieldName + '"'; 17915 17916 if (oConfig["classes"] !== ""){ 17917 html += ' class="' + oConfig["classes"] + '"'; 17918 } 17919 17920 html += ' value="' + szValue[i] + '"'; 17921 html += ' />'; 17922 } 17923 }else{ 17924 var guid = ""; 17925 if (oConfig["field-name"]){ 17926 guid = oConfig["field-name"] + "-"; 17927 } 17928 guid += g_oCTLWPStudio.makeCode(4); 17929 17930 var html = ""; 17931 html += '<input id="' + guid + '"'; 17932 html += ' type="hidden"'; 17933 html += ' name="' + oConfig["field-name"] + '"'; 17934 17935 if (oConfig["classes"] !== ""){ 17936 html += ' class="' + oConfig["classes"] + '"'; 17937 } 17938 17939 html += ' value="' + szValue + '"'; 17940 html += ' />'; 17941 } 17942 17943 return html; 17944} 17945 17946function formFieldRefreshCommercialUserFields( idGuid, bEmptyFields ){ 17947 var oNodeRadio = jQuery(".ctl-commercial-user-type."+idGuid).find("input[name='commercial-user-type']:checked"); 17948 17949 var szNodeParentToShowOrHide = ".form-group"; 17950 var iNumCols = 0; 17951 if ( oNodeRadio.closest(".ctl-edit-post-form").length > 0 ){ 17952 var oNodeForm = oNodeRadio.closest(".ctl-edit-post-form"); 17953 iNumCols = Number(oNodeForm.attr("data-num-cols")); 17954 } 17955 17956 if ( iNumCols > 1 ){ 17957 switch(oNodeRadio.val()){ 17958 case "company":{ 17959 jQuery(".ctl-commercial-name."+idGuid) 17960 .closest(szNodeParentToShowOrHide) 17961 .closest(".col") 17962 .removeClass("d-none"); 17963 jQuery(".ctl-commercial-alias."+idGuid) 17964 .closest(szNodeParentToShowOrHide) 17965 .closest(".col") 17966 .removeClass("d-none"); 17967 jQuery(".ctl-commercial-vat."+idGuid) 17968 .closest(szNodeParentToShowOrHide) 17969 .closest(".col") 17970 .removeClass("d-none"); 17971 jQuery(".ctl-commercial-attachments."+idGuid) 17972 .closest(szNodeParentToShowOrHide) 17973 .closest(".col") 17974 .removeClass("d-none"); 17975 17976 jQuery(".ctl-commercial-cf."+idGuid) 17977 .closest(szNodeParentToShowOrHide) 17978 .closest(".col") 17979 .addClass("d-none"); 17980 jQuery(".ctl-commercial-first-name."+idGuid) 17981 .closest(szNodeParentToShowOrHide) 17982 .closest(".col") 17983 .addClass("d-none"); 17984 jQuery(".ctl-commercial-last-name."+idGuid) 17985 .closest(szNodeParentToShowOrHide) 17986 .closest(".col") 17987 .addClass("d-none"); 17988 17989 if (bEmptyFields){ 17990 jQuery(".ctl-commercial-first-name."+idGuid).val(""); 17991 jQuery(".ctl-commercial-last-name."+idGuid).val(""); 17992 jQuery(".ctl-commercial-cf."+idGuid).val(""); 17993 } 17994 17995 jQuery(".ctl-commercial-first-name."+idGuid).removeClass("is-invalid"); 17996 jQuery(".ctl-commercial-last-name."+idGuid).removeClass("is-invalid"); 17997 jQuery(".ctl-commercial-cf."+idGuid).removeClass("is-invalid"); 17998 17999 jQuery(".ctl-commercial-first-name."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid") 18000 jQuery(".ctl-commercial-last-name."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18001 jQuery(".ctl-commercial-cf."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18002 18003 }break; 18004 case "individual":{ 18005 jQuery(".ctl-commercial-alias."+idGuid) 18006 .closest(szNodeParentToShowOrHide) 18007 .closest(".col") 18008 .removeClass("d-none"); 18009 jQuery(".ctl-commercial-first-name."+idGuid) 18010 .closest(szNodeParentToShowOrHide) 18011 .closest(".col") 18012 .removeClass("d-none"); 18013 jQuery(".ctl-commercial-last-name."+idGuid) 18014 .closest(szNodeParentToShowOrHide) 18015 .closest(".col") 18016 .removeClass("d-none"); 18017 jQuery(".ctl-commercial-vat."+idGuid) 18018 .closest(szNodeParentToShowOrHide) 18019 .closest(".col") 18020 .removeClass("d-none"); 18021 jQuery(".ctl-commercial-cf."+idGuid) 18022 .closest(szNodeParentToShowOrHide) 18023 .closest(".col") 18024 .removeClass("d-none"); 18025 18026 jQuery(".ctl-commercial-name."+idGuid) 18027 .closest(szNodeParentToShowOrHide) 18028 .closest(".col") 18029 .addClass("d-none"); 18030 jQuery(".ctl-commercial-attachments."+idGuid) 18031 .closest(szNodeParentToShowOrHide) 18032 .closest(".col") 18033 .addClass("d-none"); 18034 18035 if (bEmptyFields){ 18036 jQuery(".ctl-commercial-name."+idGuid).val(""); 18037 } 18038 18039 jQuery(".ctl-commercial-name."+idGuid).removeClass("is-invalid"); 18040 jQuery(".ctl-commercial-name."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18041 }break; 18042 case "private":{ 18043 jQuery(".ctl-commercial-first-name."+idGuid) 18044 .closest(szNodeParentToShowOrHide) 18045 .closest(".col") 18046 .removeClass("d-none"); 18047 jQuery(".ctl-commercial-last-name."+idGuid) 18048 .closest(szNodeParentToShowOrHide) 18049 .closest(".col") 18050 .removeClass("d-none"); 18051 jQuery(".ctl-commercial-cf."+idGuid) 18052 .closest(szNodeParentToShowOrHide) 18053 .closest(".col") 18054 .removeClass("d-none"); 18055 18056 jQuery(".ctl-commercial-name."+idGuid) 18057 .closest(szNodeParentToShowOrHide) 18058 .closest(".col") 18059 .addClass("d-none"); 18060 jQuery(".ctl-commercial-alias."+idGuid) 18061 .closest(szNodeParentToShowOrHide) 18062 .closest(".col") 18063 .addClass("d-none"); 18064 jQuery(".ctl-commercial-vat."+idGuid) 18065 .closest(szNodeParentToShowOrHide) 18066 .closest(".col") 18067 .addClass("d-none"); 18068 jQuery(".ctl-commercial-attachments."+idGuid) 18069 .closest(szNodeParentToShowOrHide) 18070 .closest(".col") 18071 .addClass("d-none"); 18072 18073 if (bEmptyFields){ 18074 jQuery(".ctl-commercial-name."+idGuid).val(""); 18075 jQuery(".ctl-commercial-alias."+idGuid).val(""); 18076 jQuery(".ctl-commercial-vat."+idGuid).val(""); 18077 } 18078 18079 jQuery(".ctl-commercial-name."+idGuid).removeClass("is-invalid"); 18080 jQuery(".ctl-commercial-alias."+idGuid).removeClass("is-invalid"); 18081 jQuery(".ctl-commercial-vat."+idGuid).removeClass("is-invalid"); 18082 18083 jQuery(".ctl-commercial-name."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18084 jQuery(".ctl-commercial-alias."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18085 jQuery(".ctl-commercial-vat."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18086 }break; 18087 } 18088 }else{ 18089 switch(oNodeRadio.val()){ 18090 case "company":{ 18091 jQuery(".ctl-commercial-name."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18092 jQuery(".ctl-commercial-alias."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18093 jQuery(".ctl-commercial-vat."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18094 jQuery(".ctl-commercial-attachments."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18095 18096 jQuery(".ctl-commercial-cf."+idGuid).closest(szNodeParentToShowOrHide).addClass("d-none"); 18097 jQuery(".ctl-commercial-first-name."+idGuid).closest(szNodeParentToShowOrHide).addClass("d-none"); 18098 jQuery(".ctl-commercial-last-name."+idGuid).closest(szNodeParentToShowOrHide).addClass("d-none"); 18099 18100 if (bEmptyFields){ 18101 jQuery(".ctl-commercial-first-name."+idGuid).val(""); 18102 jQuery(".ctl-commercial-last-name."+idGuid).val(""); 18103 jQuery(".ctl-commercial-cf."+idGuid).val(""); 18104 } 18105 18106 jQuery(".ctl-commercial-first-name."+idGuid).removeClass("is-invalid"); 18107 jQuery(".ctl-commercial-last-name."+idGuid).removeClass("is-invalid"); 18108 jQuery(".ctl-commercial-cf."+idGuid).removeClass("is-invalid"); 18109 18110 jQuery(".ctl-commercial-first-name."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18111 jQuery(".ctl-commercial-last-name."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18112 jQuery(".ctl-commercial-cf."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18113 18114 }break; 18115 case "individual":{ 18116 jQuery(".ctl-commercial-name."+idGuid).closest(szNodeParentToSho
18116wOrHide).removeClass("d-none"); 18117 jQuery(".ctl-commercial-alias."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18118 jQuery(".ctl-commercial-first-name."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18119 jQuery(".ctl-commercial-last-name."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18120 jQuery(".ctl-commercial-vat."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18121 jQuery(".ctl-commercial-cf."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18122 18123 // jQuery(".ctl-commercial-name."+idGuid).closest(szNodeParentToShowOrHide).addClass("d-none"); 18124 jQuery(".ctl-commercial-attachments."+idGuid).closest(szNodeParentToShowOrHide).addClass("d-none"); 18125 18126 // if (bEmptyFields){ 18127 // jQuery(".ctl-commercial-name."+idGuid).val(""); 18128 // } 18129 18130 // jQuery(".ctl-commercial-name."+idGuid).removeClass("is-invalid"); 18131 // jQuery(".ctl-commercial-name."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18132 18133 }break; 18134 case "private":{ 18135 jQuery(".ctl-commercial-first-name."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18136 jQuery(".ctl-commercial-last-name."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18137 jQuery(".ctl-commercial-cf."+idGuid).closest(szNodeParentToShowOrHide).removeClass("d-none"); 18138 18139 jQuery(".ctl-commercial-name."+idGuid).closest(szNodeParentToShowOrHide).addClass("d-none"); 18140 jQuery(".ctl-commercial-alias."+idGuid).closest(szNodeParentToShowOrHide).addClass("d-none"); 18141 jQuery(".ctl-commercial-vat."+idGuid).closest(szNodeParentToShowOrHide).addClass("d-none"); 18142 jQuery(".ctl-commercial-attachments."+idGuid).closest(szNodeParentToShowOrHide).addClass("d-none"); 18143 18144 if (bEmptyFields){ 18145 jQuery(".ctl-commercial-name."+idGuid).val(""); 18146 jQuery(".ctl-commercial-alias."+idGuid).val(""); 18147 jQuery(".ctl-commercial-vat."+idGuid).val(""); 18148 } 18149 18150 jQuery(".ctl-commercial-name."+idGuid).removeClass("is-invalid"); 18151 jQuery(".ctl-commercial-alias."+idGuid).removeClass("is-invalid"); 18152 jQuery(".ctl-commercial-vat."+idGuid).removeClass("is-invalid"); 18153 18154 jQuery(".ctl-commercial-name."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18155 jQuery(".ctl-commercial-alias."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18156 jQuery(".ctl-commercial-vat."+idGuid).closest(".ctl-wp-studio-form-control-wrapper").removeClass("is-invalid"); 18157 }break; 18158 } 18159 } 18160 18161 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 18162} 18163 18164 18165function formFieldsDeleteGalleryMedia( idResource, typeResource, szFieldName, idMedia, idEditWidget ){ 18166 var oRequestData = {}; 18167 oRequestData["action"] = 'ctl-wp-studio'; 18168 oRequestData["execute"] = 'ctl-form-fields'; 18169 oRequestData["field-name"] = szFieldName; 18170 oRequestData["resource-id"] = idResource; 18171 oRequestData["resource-type"] = typeResource; 18172 oRequestData["edit-widget-id"] = idEditWidget; 18173 oRequestData["media-id"] = idMedia; 18174 oRequestData["extension-action"] = 'delete-gallery-media'; 18175 18176 var idLoading = g_oCTLWPStudio.showLoading(""); 18177 18178 jQuery.ajax({ 18179 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 18180 type: "POST", 18181 data : oRequestData, 18182 cache: false, 18183 method: 'POST', 18184 success:function(response, textStatus, jqXHR){ 18185 g_oCTLWPStudio.closeDlg(idLoading); 18186 18187 var oResponse = jQuery.parseJSON(response); 18188 18189 if( oResponse.res === false ){ 18190 alert(oResponse.desc); 18191 }else{ 18192 var oNodeImageListItem = null; 18193 18194 oNodeImageListItem = jQuery(".ctl-media-gallery-folder li[data-id="+oResponse.media_id+"]"); 18195 if ( oNodeImageListItem.length > 0 ){ 18196 oNodeImageListItem.remove(); 18197 } 18198 18199 oNodeImageListItem = jQuery(".ctl-media-gallery-list li[data-id="+oResponse.media_id+"]"); 18200 if ( oNodeImageListItem.length > 0 ){ 18201 oNodeImageListItem.remove(); 18202 } 18203 18204 if ( jQuery(".ctl-media-gallery-list li").length == 0 ){ 18205 jQuery("#media-gallery .alert-warning").removeClass("d-none"); 18206 } 18207 } 18208 }, 18209 error: function(jqXHR, textStatus, errorThrown){ 18210 g_oCTLWPStudio.closeDlg(idLoading); 18211 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 18212 } 18213 }); 18214} 18215 18216function formFieldsMediaGallery( oNodeWrapper, szFieldName, idResource, typeResource, idEditWidget ){ 18217 18218 var aCurSelection = new Array(); 18219 oNodeWrapper.find('.ctl-media-gallery-list li').each(function(){ 18220 aCurSelection.push(jQuery(this).attr("data-id")); 18221 }); 18222 18223 var oRequestData = {}; 18224 oRequestData["action"] = 'ctl-wp-studio'; 18225 oRequestData["execute"] = 'ctl-form-fields'; 18226 oRequestData["field-name"] = szFieldName; 18227 oRequestData["resource-id"] = idResource; 18228 oRequestData["resource-type"] = typeResource; 18229 oRequestData["edit-widget-id"] = idEditWidget; 18230 oRequestData["extension-action"] = 'get-media-gallery-folder'; 18231 18232 var idLoading = g_oCTLWPStudio.showLoading(""); 18233 18234 jQuery.ajax({ 18235 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 18236 type: "POST", 18237 data : oRequestData, 18238 cache: false, 18239 method: 'POST', 18240 success:function(response, textStatus, jqXHR){ 18241 g_oCTLWPStudio.closeDlg(idLoading); 18242 18243 var oResponse = jQuery.parseJSON(response); 18244 18245 if( oResponse.res === false ){ 18246 alert(oResponse.desc); 18247 }else{ 18248 formFieldsShowMediaGallery( 18249 idResource, 18250 typeResource, 18251 szFieldName, 18252 oResponse.gallery, 18253 oResponse.max_upload, 18254 idEditWidget ); 18255 } 18256 }, 18257 error: function(jqXHR, textStatus, errorThrown){ 18258 g_oCTLWPStudio.closeDlg(idLoading); 18259 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 18260 } 18261 }); 18262} 18263 18264function formFieldsShowMediaGallery( idResource, szTypeResource, szFieldName, aGallery, szMaxUpload, idEditWidget ){ 18265 18266 var htmlHiddenFields = ""; 18267 18268 18269 htmlHiddenFields += formFieldsBuildHiddenField({ 18270 'field-name' : 'resource-id', 18271 }, idResource); 18272 htmlHiddenFields += formFieldsBuildHiddenField({ 18273 'field-name' : 'resource-type', 18274 }, szTypeResource); 18275 htmlHiddenFields += formFieldsBuildHiddenField({ 18276 'field-name' : 'field-name', 18277 }, szFieldName); 18278 htmlHiddenFields += formFieldsBuildHiddenField({ 18279 'field-name' : 'edit-widget-id', 18280 }, idEditWidget); 18281 18282 18283 var html = ""; 18284 18285 html += '<div class="nav nav-tabs" id="nav-tab" role="tablist">'; 18286 html += '<a class="nav-link tab-link-media-gallery active" data-toggle="tab" href="#media-gallery" '; 18287 html += 'role="tab" aria-selected="true">'+ 18288 g_oCTLFormFieldsLocalizationCommon["Gallery"]+'</a>'; 18289 html += '<a class="nav-link tab-link-upload-media" data-toggle="tab" href="#upload-media" ';
18290 html += 'role="tab" aria-selected="false">'+ 18291 g_oCTLFormFieldsLocalizationCommon["Upload"]+'</a>'; 18292 html += '</div>'; 18293 18294 html += '<div class="tab-content mt-2">'; 18295 18296 html += '<div class="tab-pane fade show active" id="media-gallery" role="tabpanel">'; 18297 html += '<form method="post">'; 18298 18299 html += htmlHiddenFields; 18300 18301 html += '<div class="alert alert-warning ' + (aGallery.length == 0 ? '' : 'd-none') + '">'; 18302 html += g_oCTLFormFieldsLocalizationCommon["No items were loaded.<br>Please click on the upload tab to upload a new item!"]; 18303 html += '</div>'; 18304 18305 html += '<ul class="ctl-media-gallery-folder">'; 18306 18307 for( var i = 0; i < aGallery.length; i++ ){ 18308 var oImage = aGallery[i]; 18309 18310 html += formFieldsHtmlImageInMediaGallery(oImage); 18311 } 18312 html += '</ul>'; 18313 18314 html += '</form>'; 18315 html += '</div>'; 18316 18317 html += '<div class="tab-pane fade" id="upload-media" role="tabpanel">'; 18318 html += '<form method="post" enctype="multipart/form-data">'; 18319 18320 html += htmlHiddenFields; 18321 18322 html += formFieldsBuildUploadAreaField({ 18323 "label-description" : sprintf(g_oCTLFormFieldsLocalizationCommon["Max upload file size %s"], szMaxUpload), 18324 "field-name" : "upload-image", 18325 "preview-image" : false,//szTypeMedia === "image" ? true : false, 18326 "browse-icon" : "", 18327 "btn-outlined" : true, 18328 "mandatory" : true, 18329 "mandatory-on-label" : true, 18330 "label-button" : g_oCTLFormFieldsLocalizationCommon["Browse"], 18331 "append-buttons" : '<button type="button" class="' + 18332 'btn btn-outline-primary ctl-form-fields-action-upload-gallery-media">'+ 18333 g_oCTLFormFieldsLocalizationCommon["Upload"]+'</button>' 18334 }); 18335 18336 html += '</form>'; 18337 18338 html += '</div>'; 18339 18340 html += '</div>'; 18341 18342 g_oCTLBootstrapModals.showModal({ 18343 wrapper_classes : "ctl-media-gallery-modal", 18344 modal_title : g_oCTLFormFieldsLocalizationCommon["Media Gallery"], 18345 modal_content : html, 18346 closeable : true, 18347 width: '80', 18348 position: "centered", 18349 }); 18350 18351 if ( aGallery.length === 0 ){ 18352 jQuery(".ctl-media-gallery-modal .tab-link-upload-media").click(); 18353 } 18354} 18355 18356function formFieldsHtmlMediaPreview( url ){ 18357 18358 var szFileName = url.replace(/^.*[\\\/]/, ''); 18359 var ext = szFileName.substring(szFileName.lastIndexOf('+ ')+1, szFileName.length) || szFileName; 18360 18361 var htmlImg = ''; 18362 18363 htmlImg += '<a href="' + url + '" target="_blank">'; 18364 18365 switch(ext){ 18366 case 'jpg': 18367 case 'jpeg': 18368 case 'gif': 18369 case 'png': 18370 case 'bmp':{ 18371 htmlImg += '<img data-aspect-ratio="4:3" class="ctl-aspect-ratio img-fluid image-preview rounded img-thumbnail w-100"'; 18372 htmlImg += ' src="' + url + '" />'; 18373 }break; 18374 case "pdf":{ 18375 htmlImg += '<div data-aspect-ratio="4:3" class="ctl-aspect-ratio img-fluid image-preview rounded img-thumbnail w-100">'; 18376 htmlImg += '<i class="ctl-wp-studio-icons-file-pdf"></i></div>'; 18377 }break; 18378 case "zip":{ 18379 htmlImg += '<div data-aspect-ratio="4:3" class="ctl-aspect-ratio img-fluid image-preview rounded img-thumbnail w-100">'; 18380 htmlImg += '<i class="ctl-wp-studio-icons-file-archive"></i></div>'; 18381 }break; 18382 default:{ 18383 htmlImg += '<div data-aspect-ratio="4:3" class="ctl-aspect-ratio img-fluid image-preview rounded img-thumbnail w-100">'; 18384 htmlImg += '<i class="ctl-wp-studio-icons-doc-text"></i></div>'; 18385 } 18386 } 18387 18388 htmlImg += '</a>'; 18389 18390 return htmlImg; 18391} 18392 18393function formFieldsHtmlImageInMediaGallery( oMedia ){ 18394 var guid = g_oCTLWPStudio.makeCode(4); 18395 18396 // check extension 18397 18398 var szFileName = oMedia.url.replace(/^.*[\\\/]/, ''); 18399 var htmlImg = formFieldsHtmlMediaPreview(oMedia.url); 18400 18401 var html = ''; 18402 html += '<li data-id="'+oMedia.id+'" data-url="'+oMedia.url+'">'; 18403 html += htmlImg; 18404 html += '<div class="input-group input-group-sm mt-2 mb-3">'; 18405 html += '<input class="form-control" type="text" value="'+ szFileName +'" disabled/>'; 18406 html += '<div class="input-group-append">'; 18407 html += '<button data-id="'+oMedia.id+'" type="button" '; 18408 html += 'class="btn btn-xs btn-outline-danger ctl-form-fields-action-delete-gallery-media">'; 18409 html += '<i class="ctl-wp-studio-icons-trash"></i>'; 18410 html += '</button>'; 18411 html += '</div>'; 18412 html += '</div>'; 18413 html += '</li>'; 18414 18415 return html; 18416} 18417 18418 18419 18420function formFieldsBuildDateField( oConfig, szDefaultValue ){ 18421 18422 var oDefault = { 18423 "label-title" : "", 18424 "label-suggestion" : "", 18425 "label-description" : "", 18426 "field-name" : "", 18427 "mandatory" : false, 18428 "display" : 12, 18429 "label-align" : "left", 18430 "label-v-align" : "", 18431 "readonly" : false, 18432 "data-attr" : "", 18433 "classes" : "", 18434 "autocomplete" : false, 18435 "align-value" : "left", 18436 "disabled" : false, 18437 "date-format" : "", 18438 "form-group-classes" : "", 18439 18440 "mandatory-on-label" : true, 18441 "floating-label" : false, 18442 "debug" : false, 18443 }; 18444 18445 if (!szDefaultValue){ 18446 szDefaultValue = ""; 18447 } 18448 18449 oConfig = jQuery.extend(oDefault, oConfig); 18450 18451 var guid = ""; 18452 if (oConfig["field-name"]){ 18453 guid = oConfig["field-name"] + "-"; 18454 } 18455 guid += g_oCTLWPStudio.makeCode(4); 18456 18457 var iDisplay = oConfig["display"]; 18458 18459 var html = ""; 18460 var szFormInputControl = "form-control datetimepicker-input"; 18461 18462 var szFormGroupClasses = "form-group"; 18463 szFormGroupClasses += ' ' + oConfig["form-group-classes"]; 18464 var szLabelClasses = "ctl-form-field-label"; 18465 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 18466 18467 szFormControlClasses += " ctldatefield"; 18468 18469 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 18470 szFormControlClasses += " mandatory"; 18471 18472 if ( oConfig["mandatory-on-label"] ){ 18473 szFormGroupClasses += " mandatory-on-label"; 18474 } 18475 } 18476 18477 if( oConfig["classes"] ){ 18478 szFormInputControl += " " + oConfig["classes"]; 18479 } 18480 18481 if ( oConfig["floating-label"] && iDisplay === 12 ){ 18482 szFormGroupClasses += " floating-label"; 18483 18484 oConfig["label-suggestion"] = ""; 18485 oConfig["label-align"] = "left"; 18486 18487 if ( szDefaultValue ){ 18488 szFormGroupClasses += " floating-label-normal"; 18489 } 18490 } 18491 18492 szFormInputControl += " text-" + oConfig["align-value"]; 18493 18494 if ( !oConfig["autocomplete"] ){ 18495 oConfig["data-attr"] += ' autocomplete="off"'; 18496 } 18497 18498 if ( !oConfig["debug"] ){ 18499 oConfig["data-attr"] += ' data-debug="true"'; 18500 }else{ 18501 oConfig["data-attr"] += ' data-debug="false"'; 18502 } 18503 18504 switch(iDisplay){ 18505 case 12:{ 18506 szLabelClasses += " d-block"; 18507 }break; 18508 case 10:{ 18509 szFormGroupClasses+= " row";
18510 szLabelClasses += " col col-12 col-sm-10"; 18511 szFormControlClasses += " col col-12 col-sm-2"; 18512 18513 if ( oConfig["label-v-align"] !== ""){ 18514 szFormGroupClasses += " " + oConfig["label-v-align"]; 18515 } 18516 }break; 18517 case 9:{ 18518 szFormGroupClasses+= " row"; 18519 szLabelClasses += " col col-12 col-sm-9"; 18520 szFormControlClasses += " col col-12 col-sm-3"; 18521 18522 if ( oConfig["label-v-align"] !== ""){ 18523 szFormGroupClasses += " " + oConfig["label-v-align"]; 18524 } 18525 }break; 18526 case 6:{ 18527 szFormGroupClasses+= " row"; 18528 szLabelClasses += " col col-12 col-sm-6"; 18529 szFormControlClasses += " col col-12 col-sm-6"; 18530 18531 if ( oConfig["label-v-align"] !== ""){ 18532 szFormGroupClasses += " " + oConfig["label-v-align"]; 18533 } 18534 }break; 18535 case 3:{ 18536 szFormGroupClasses+= " row"; 18537 szLabelClasses += " col col-12 col-sm-3"; 18538 szFormControlClasses += " col col-12 col-sm-9"; 18539 18540 if ( oConfig["label-v-align"] !== ""){ 18541 szFormGroupClasses += " " + oConfig["label-v-align"]; 18542 } 18543 }break; 18544 case 2:{ 18545 szFormGroupClasses+= " row"; 18546 szLabelClasses += " col col-12 col-sm-2"; 18547 szFormControlClasses += " col col-12 col-sm-10"; 18548 18549 if ( oConfig["label-v-align"] !== ""){ 18550 szFormGroupClasses += " " + oConfig["label-v-align"]; 18551 } 18552 }break; 18553 case -1:{ 18554 szFormGroupClasses+= " d-inline-block"; 18555 szLabelClasses += " col col-auto d-inline-block pr-0"; 18556 szFormControlClasses += " col col-auto d-inline-block"; 18557 18558 if ( oConfig["label-v-align"] !== ""){ 18559 szFormGroupClasses += " " + oConfig["label-v-align"]; 18560 } 18561 }break; 18562 case "inline-block":{ 18563 szLabelClasses += " col col-auto d-inline-block"; 18564 szFormControlClasses += " col col-auto d-inline-block"; 18565 }break; 18566 } 18567 18568 szLabelClasses += " text-" + oConfig["label-align"]; 18569 18570 html+= '<div class="' + szFormGroupClasses + '">'; 18571 18572 if ( oConfig["label-title"] !== "" || iDisplay !== 12 ){ 18573 html+= '<label class="' + szLabelClasses +'" for="' + guid + '">' + 18574 oConfig["label-title"] + '</label>'; 18575 } 18576 18577 html+= '<div class="' + szFormControlClasses + '">'; 18578 18579 html += '<div id="'+guid+'" class="input-group date" data-target-input="nearest">'; 18580 18581 html+= '<input'; 18582 html+= ' data-toggle="datetimepicker" data-target="#' + guid + '"'; 18583 18584 if ( oConfig['date-format'] !== "none" && 18585 oConfig['date-format'] !== "" ){ 18586 html+= ' data-format="'+ oConfig['date-format'] +'"'; 18587 } 18588 18589 html+= ' type="text"'; 18590 html+= ' name="'+oConfig["field-name"]+'"'; 18591 html+= ' class="'+szFormInputControl+'"'; 18592 18593 if ( (szDefaultValue) ){ 18594 html += ' data-value="'+szDefaultValue+'"'; 18595 } 18596 18597 if ( oConfig["readonly"] ){ 18598 html += ' readonly'; 18599 } 18600 18601 if ( oConfig["disabled"] ){ 18602 html+= ' disabled'; 18603 } 18604 18605 if ( (oConfig["label-suggestion"]) ){ 18606 html += ' placeholder="'+oConfig["label-suggestion"]+'"'; 18607 } 18608 18609 if ( (oConfig["data-attr"]) ){ 18610 html += ' ' + oConfig["data-attr"]; 18611 } 18612 18613 html += ' />'; 18614 18615 html += '<div class="input-group-append" data-target="#'+guid+'" data-toggle="datetimepicker">'; 18616 html += '<div class="input-group-text"><i class="ctl-wp-studio-icons-calendar"></i></div>'; 18617 html += '</div>'; 18618 18619 html += '</div>'; 18620 18621 if ( oConfig["label-description"] !== "" ){ 18622 html+= '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 18623 } 18624 18625 html+= '<div class="invalid-feedback"></div>'; 18626 html+= '</div>'; 18627 html+= '</div>'; 18628 18629 return html; 18630} 18631 18632function formFieldsBuildSelectField( oConfig, aFields, defaultValue ){ 18633 var oDefault = { 18634 "label-title" : "", 18635 "label-suggestion" : "", 18636 "label-description" : "", 18637 "field-name" : "", 18638 "mandatory" : false, 18639 "display" : 12, 18640 "label-align" : "left", 18641 "label-v-align" : "", 18642 "readonly" : false, 18643 "data-attr" : "", 18644 "classes" : "", 18645 "wrapper-classes" : "", 18646 "control-classes" : "", 18647 "autocomplete" : false, 18648 "disabled" : false, 18649 'allow-multiple' : false, 18650 'enable-select2' : false, 18651 'show-empty-button' : false, 18652 18653 "mandatory-on-label" : true, 18654 }; 18655 18656 if (!defaultValue){ 18657 defaultValue = ""; 18658 } 18659 18660 if ( !aFields ){ 18661 aFields = []; 18662 } 18663 18664 oConfig = jQuery.extend(oDefault, oConfig); 18665 18666 var guid = ""; 18667 if (oConfig["field-name"]){ 18668 guid = oConfig["field-name"] + "-"; 18669 } 18670 guid += g_oCTLWPStudio.makeCode(4); 18671 18672 var szFormSelectControl = "form-control custom-select"; 18673 18674 var szFormGroupClasses = "form-group"; 18675 var szLabelClasses = "ctl-form-field-label"; 18676 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 18677 18678 szFormControlClasses += " ctlselectfield"; 18679 18680 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 18681 szFormControlClasses += " mandatory"; 18682 18683 if ( oConfig["mandatory-on-label"] ){ 18684 szFormGroupClasses += " mandatory-on-label"; 18685 } 18686 } 18687 18688 if ( oConfig["readonly"] || oConfig["disabled"] ){ 18689 szFormSelectControl += ' disabled'; 18690 18691 oConfig["enable-select2"] = false;
18692 } 18693 18694 if ((oConfig["classes"])){ 18695 szFormSelectControl += ' ' + oConfig["classes"]; 18696 } 18697 18698 18699 if ((oConfig["control-classes"])){ 18700 szFormControlClasses += ' ' + oConfig["control-classes"]; 18701 } 18702 18703 if ((oConfig["wrapper-classes"])){ 18704 szFormGroupClasses += ' ' + oConfig["classes"]; 18705 } 18706 18707 if (oConfig["enable-select2"]){ 18708 szFormSelectControl += ' ctl-select2'; 18709 } 18710 18711 if ( !oConfig["autocomplete"] ){ 18712 oConfig["data-attr"] += ' autocomplete="off"'; 18713 } 18714 18715 var iDisplay = parseInt(oConfig["display"] ); 18716 18717 switch(iDisplay){ 18718 case 12:{ 18719 szLabelClasses += " d-block"; 18720 }break; 18721 case 10:{ 18722 szFormGroupClasses+= " row"; 18723 szLabelClasses += " col col-12 col-sm-10"; 18724 szFormControlClasses += " col col-12 col-sm-2"; 18725 18726 if ( oConfig["label-v-align"] !== ""){ 18727 szFormGroupClasses += " " + oConfig["label-v-align"]; 18728 } 18729 }break; 18730 case 9:{ 18731 szFormGroupClasses+= " row"; 18732 szLabelClasses += " col col-12 col-sm-9"; 18733 szFormControlClasses += " col col-12 col-sm-3"; 18734 18735 if ( oConfig["label-v-align"] !== ""){ 18736 szFormGroupClasses += " " + oConfig["label-v-align"]; 18737 } 18738 }break; 18739 case 6:{ 18740 szFormGroupClasses+= " row"; 18741 szLabelClasses += " col col-12 col-sm-6"; 18742 szFormControlClasses += " col col-12 col-sm-6"; 18743 18744 if ( oConfig["label-v-align"] !== ""){ 18745 szFormGroupClasses += " " + oConfig["label-v-align"]; 18746 } 18747 }break; 18748 case 3:{ 18749 szFormGroupClasses+= " row"; 18750 szLabelClasses += " col col-12 col-sm-3"; 18751 szFormControlClasses += " col col-12 col-sm-9"; 18752 18753 if ( oConfig["label-v-align"] !== ""){ 18754 szFormGroupClasses += " " + oConfig["label-v-align"]; 18755 } 18756 }break; 18757 case 2:{ 18758 szFormGroupClasses+= " row"; 18759 szLabelClasses += " col col-12 col-sm-2"; 18760 szFormControlClasses += " col col-12 col-sm-10"; 18761 18762 if ( oConfig["label-v-align"] !== ""){ 18763 szFormGroupClasses += " " + oConfig["label-v-align"]; 18764 } 18765 }break; 18766 case -1:{ 18767 szFormGroupClasses+= " d-inline-block"; 18768 szLabelClasses += " col col-auto d-inline-block pr-0"; 18769 szFormControlClasses += " col col-auto d-inline-block"; 18770 18771 if ( oConfig["label-v-align"] !== ""){ 18772 szFormGroupClasses += " " + oConfig["label-v-align"]; 18773 } 18774 }break; 18775 } 18776 18777 szLabelClasses += " text-" + oConfig["label-align"] ; 18778 18779 var html = ""; 18780 18781 html+= '<div class="' + szFormGroupClasses + '">'; 18782 18783 if ( oConfig["label-title"] !== "" || iDisplay !== 12 ){ 18784 html+= '<label class="' + szLabelClasses + '" for="' + guid + '">' + 18785 oConfig["label-title"] + '</label>'; 18786 } 18787 18788 var szFieldName = oConfig["field-name"]; 18789 if (oConfig["allow-multiple"]){ 18790 if ( oConfig["field-name"].indexOf("[]") === -1 ){ 18791 szFieldName += "[]"; 18792 } 18793 } 18794 18795 html+= '<div class="' + szFormControlClasses + '">'; 18796 18797 if (oConfig["show-empty-button"]){ 18798 html += '<div class="input-group">'; 18799 } 18800 18801 18802 if ( !szFieldName.endsWith("[]") ){ 18803 html += '<input type="hidden" name="' + szFieldName + '-hidden" value="1" />'; 18804 }else{ 18805 html += '<input type="hidden" name="' + szFieldName.replace("[]", "-hidden[]") + '" value="1" />'; 18806 } 18807 18808 html += '<select id="' + guid + '" name="' + szFieldName + 18809 '" class="' + szFormSelectControl + '"'; 18810 if (oConfig["readonly"]){ 18811 html+= ' readonly'; 18812 } 18813 if (oConfig["allow-multiple"]){ 18814 html+= ' multiple'; 18815 } 18816 if (oConfig["disabled"]){ 18817 html+= ' disabled'; 18818 } 18819 if ( (oConfig["data-attr"]) ){ 18820 html+= ' ' + oConfig["data-attr"]; 18821 } 18822 html+= '>'; 18823 18824 if ( (oConfig["label-suggestion"]) ){ 18825 html+= '<option value="">' + oConfig["label-suggestion"] + '</option>'; 18826 } 18827 18828 for( var i = 0; i < aFields.length; i++ ){ 18829 var oItem = aFields[i]; 18830 var oField = formFieldsUnpackSelectItemData(oItem); 18831 18832 if ( typeof oField === "object" ){ 18833 18834 var bSelected = false;
18835 18836 if ( (typeof defaultValue) === "string" && oField["value"] === defaultValue){ 18837 bSelected = true; 18838 }else if ( Array.isArray(defaultValue) ){ 18839 var aValues = defaultValue; 18840 for ( var k = 0; k < aValues.length; k++ ){ 18841 if ( oField["value"] === aValues[k] ){ 18842 bSelected = true; 18843 break; 18844 } 18845 } 18846 } 18847 18848 html+= '<option value="' + oField["value"] + '" ' + 18849 ( bSelected ? 'selected' : '') + 18850 '>' + oField["label"] + '</option>'; 18851 } 18852 } 18853 18854 18855 html+= '</select>'; 18856 18857 if (oConfig["show-empty-button"]){ 18858 html += '<div class="input-group-append">'; 18859 html += '<button type="button" class="btn btn-outline-secondary btn-action-empty-select2">'+ 18860 g_oCTLFormFieldsLocalizationCommon["Empty field"]+'</button>'; 18861 html += '</div>'; 18862 html += '</div>'; 18863 } 18864 18865 if ( oConfig["label-description"] !== "" ){ 18866 html+= '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 18867 } 18868 18869 html+= '<div class="invalid-feedback"></div>'; 18870 18871/* 18872 if (oConfig["show-empty-button"]){ 18873 html+= '<button type="button" class="mt-2 btn btn-xs btn-secondary btn-action-empty-select2">'+ 18874 g_oCTLFormFieldsLocalizationCommon["Empty field"]+'</button>'; 18875 } 18876*/ 18877 18878 html+= '</div>'; 18879 18880 html+= '</div>'; 18881 18882 return html; 18883} 18884 18885function formFieldsBuildTextAreaField( oConfig, szDefaultValue ){ 18886 18887 var oDefault = { 18888 "label-title" : "", 18889 "label-suggestion" : "", 18890 "label-description" : "", 18891 "field-name" : "", 18892 "mandatory" : false, 18893 "display" : 12, 18894 "label-align" : "left", 18895 "label-v-align" : "", 18896 "readonly" : false, 18897 "data-attr" : "", 18898 "classes" : "", 18899 "control-classes" : "", 18900 "wrapper-classes" : "", 18901 "autocomplete" : false, 18902 "disabled" : false, 18903 "validate-not-empty-tags" : false, 18904 18905 "mandatory-on-label" : true, 18906 "floating-label" : false, 18907 18908 "enable-summernote" : false, 18909 "enable-copy" : false, 18910 "enable-resize" : true, 18911 "textarea-height" : 150, 18912 }; 18913 18914 oConfig = jQuery.extend(oDefault, oConfig); 18915 18916 if ( !szDefaultValue ){ 18917 szDefaultValue = ""; 18918 } 18919 18920 var guid = ""; 18921 if (oDefault["field-name"]){ 18922 guid = oDefault["field-name"] + "-"; 18923 } 18924 guid += g_oCTLWPStudio.makeCode(4); 18925 18926 var html = ""; 18927 18928 var szFormInputControl = "form-control"; 18929 18930 var szFormGroupClasses = "form-group"; 18931 var szLabelClasses = "ctl-form-field-label"; 18932 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 18933 18934 szFormControlClasses += " ctltextareafield"; 18935 18936 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 18937 szFormControlClasses += " mandatory"; 18938 18939 if ( oConfig["mandatory-on-label"] ){ 18940 szFormGroupClasses += " mandatory-on-label"; 18941 } 18942 } 18943 18944 if( oConfig["classes"] ){ 18945 szFormInputControl += " " + oConfig["classes"]; 18946 } 18947 18948 if( oConfig["wrapper-classes"] ){ 18949 szFormGroupClasses += " " + oConfig["wrapper-classes"]; 18950 } 18951 18952 if( oConfig["control-classes"] ){ 18953 szFormControlClasses += " " + oConfig["control-classes"]; 18954 } 18955 18956 if ( oConfig["validate-not-empty-tags"] ){ 18957 szFormInputControl += " validate-not-empty-tags"; 18958 } 18959 18960 if ( oConfig["enable-summernote"] ){ 18961 szFormInputControl += " summernote-textarea"; 18962 } 18963 18964 if ( !oConfig["autocomplete"] ){ 18965 oConfig["data-attr"] += ' autocomplete="off"'; 18966 } 18967 18968 if ( oConfig["disabled"] ){ 18969 html+= ' disabled'; 18970 } 18971 18972 var iDisplay = parseInt(oConfig["display"]); 18973 18974 18975 if ( oConfig["floating-label"] && iDisplay === 12 && 18976 !oConfig["enable-summernote"] ){ 18977 szFormGroupClasses += " floating-label"; 18978 18979 oConfig["label-suggestion"] = ""; 18980 oConfig["label-align"] = "left"; 18981 18982 if ( szDefaultValue ){ 18983 szFormGroupClasses += " floating-label-normal"; 18984 } 18985 } 18986 18987 switch(iDisplay){ 18988 case 12:{ 18989 szLabelClasses += " d-block"; 18990 }break; 18991 case 10:{ 18992 szFormGroupClasses+= " row";
18993 szLabelClasses += " col col-12 col-sm-10"; 18994 szFormControlClasses += " col col-12 col-sm-2"; 18995 18996 if ( oConfig["label-v-align"] !== ""){ 18997 szFormGroupClasses += " " + oConfig["label-v-align"]; 18998 } 18999 }break; 19000 case 9:{ 19001 szFormGroupClasses+= " row"; 19002 szLabelClasses += " col col-12 col-sm-9"; 19003 szFormControlClasses += " col col-12 col-sm-3"; 19004 19005 if ( oConfig["label-v-align"] !== ""){ 19006 szFormGroupClasses += " " + oConfig["label-v-align"]; 19007 } 19008 }break; 19009 case 6:{ 19010 szFormGroupClasses+= " row"; 19011 szLabelClasses += " col col-12 col-sm-6"; 19012 szFormControlClasses += " col col-12 col-sm-6"; 19013 19014 if ( oConfig["label-v-align"] !== ""){ 19015 szFormGroupClasses += " " + oConfig["label-v-align"]; 19016 } 19017 }break; 19018 case 3:{ 19019 szFormGroupClasses+= " row"; 19020 szLabelClasses += " col col-12 col-sm-3"; 19021 szFormControlClasses += " col col-12 col-sm-9"; 19022 19023 if ( oConfig["label-v-align"] !== ""){ 19024 szFormGroupClasses += " " + oConfig["label-v-align"]; 19025 } 19026 }break; 19027 case 2:{ 19028 szFormGroupClasses+= " row"; 19029 szLabelClasses += " col col-12 col-sm-2"; 19030 szFormControlClasses += " col col-12 col-sm-10"; 19031 19032 if ( oConfig["label-v-align"] !== ""){ 19033 szFormGroupClasses += " " + oConfig["label-v-align"]; 19034 } 19035 }break; 19036 case -1:{ 19037 szFormGroupClasses+= " d-inline-block"; 19038 szLabelClasses += " col col-auto d-inline-block pr-0"; 19039 szFormControlClasses += " col col-auto d-inline-block"; 19040 19041 if ( oConfig["label-v-align"] !== ""){ 19042 szFormGroupClasses += " " + oConfig["label-v-align"]; 19043 } 19044 }break; 19045 } 19046 19047 szLabelClasses += " text-" + oConfig["label-align"]; 19048 19049 html+= '<div class="' + szFormGroupClasses + '">'; 19050 19051 if ( oConfig["label-title"] !== "" || iDisplay !== 12 ){ 19052 html+= '<label class="' + szLabelClasses + '" for="' + guid + 19053 '">' + oConfig["label-title"] + '</label>'; 19054 } 19055 19056 html+= '<div class="' + szFormControlClasses + '">'; 19057 html+= '<textarea id="' + guid + '"'; 19058 19059 html+= ' type="text"'; 19060 html+= ' name="' + oConfig["field-name"] + '"'; 19061 html+= ' class="' + szFormInputControl + '"'; 19062 19063 if ( oConfig["readonly"] ){ 19064 html += ' readonly'; 19065 } 19066 19067 if(!oConfig["enable-resize"]){ 19068 html += 'resize: none;'; 19069 } 19070 19071 if ( oConfig["textarea-height"] ){ 19072 html += ' style="height: ' + oConfig["textarea-height"] + 'px;"'; 19073 if ( oConfig["enable-summernote"] ){ 19074 html += ' data-summernote-height="' + oConfig["textarea-height"] + '"'; 19075 } 19076 } 19077 19078 if ( (oConfig["label-suggestion"]) ){ 19079 html += ' placeholder="' + oConfig["label-suggestion"] + '"'; 19080 } 19081 19082 if ( (oConfig["data-attr"]) ){ 19083 html += ' ' + oConfig["data-attr"]; 19084 } 19085 19086 html += '>'; 19087 19088// if ( (szDefaultValue) ){ 19089 html += szDefaultValue; 19090// } 19091 19092 html += '</textarea>'; 19093 19094 if ( oConfig["label-description"] !== "" ){ 19095 html+= '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 19096 } 19097 19098 if ( oConfig["enable-copy"] ){ 19099 html += '<div class="mt-2 mb-2"><button class="btn btn-xs btn-secondary ctl-btn-action-clipboard" data-clipboard-target="#'+ 19100 guid+'" type="button"><i class="ctl-wp-studio-icons-docs"></i><span class="ml-1 btn-text">'+ 19101 g_oCTLFormFieldsLocalizationCommon["copy"] + '</span></button></div>' 19102 } 19103 19104 html+= '<div class="invalid-feedback"></div>'; 19105 19106 html+= '</div>'; 19107 19108 html+= '</div>'; 19109 19110 19111 return html; 19112} 19113 19114function formFieldsBuildUploadAreaField( oConfig, szDefaultValue ){ 19115 var oDefault = { 19116 "label-title" : "", 19117 "label-suggestion" : "", 19118 "label-description" : "", 19119 "label-drag-drop" : "", 19120 "label-button" : "browse", 19121 "field-name" : "", 19122 "mandatory" : false, 19123 "display" : 12, 19124 "label-align" : "left", 19125 "label-v-align" : "", 19126 "readonly" : false, 19127 "data-attr" : "", 19128 19129 "classes" : "", 19130 "label-classes" : "", 19131 "control-classes" : "", 19132 "wrapper-classes" : "", 19133 19134 "autocomplete" : false, 19135 "disabled" : false, 19136 "preview-image" : false, 19137 "drop-area" : true, 19138 "mandatory-on-label" : true, 19139 19140 "append-buttons" : [], 19141 "btn-outlined" : false, 19142 "browse-icon" : "ctl-wp-studio-icons-attach", 19143 19144 "multiple" : false, 19145 }; 19146 19147 if (!szDefaultValue){ 19148 szDefaultValue = ""; 19149 } 19150 19151 oConfig = jQuery.extend(oDefault, oConfig); 19152 19153 var guid = ""; 19154 if (oConfig["field-name"]){ 19155 guid = oConfig["field-name"] + "-"; 19156 } 19157 guid += g_oCTLWPStudio.makeCode(4); 19158 19159 var html = ""; 19160 19161 var szFormControlClasses = ""; 19162 var szFormGroupClasses = "form-group"; 19163 var szLabelClasses = "ctl-form-field-label"; 19164 var szWrapperControlClasses = 'ctl-wp-studio-form-control-wrapper'; 19165 var szInputFieldClasses = "custom-file-input"; 19166 19167 if( oConfig["control-classes"] ){ 19168 szFormControlClasses += " " + oConfig["control-classes"]; 19169 } 19170 19171 if( oConfig["label-classes"] ){ 19172 szLabelClasses += " " + oConfig["label-classes"]; 19173 } 19174 19175 if( oConfig["wrapper-classes"] ){ 19176 szFormGroupClasses += " " + oConfig["wrapper-classes"]; 19177 } 19178 19179 if( oConfig["classes"] ){ 19180 szInputFieldClasses += " " + oConfig["classes"]; 19181 } 19182 19183 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 19184 szWrapperControlClasses += " mandatory"; 19185 19186 if ( szDefaultValue === ctl_wp_studio_common_localization["szDefaultImage"] || 19187 szDefaultValue === "" || szDefaultValue === undefined ){ 19188 szWrapperControlClasses += " img-default"; 19189 } 19190 19191 if ( oConfig["mandatory-on-label"] ){ 19192 szFormGroupClasses += " mandatory-on-label"; 19193 } 19194 } 19195 19196 if ( !oConfig["autocomplete"] ){ 19197 oConfig["data-attr"] += ' autocomplete="off"'; 19198 } 19199 19200 if ( oConfig["multiple"] ){ 19201 oConfig["data-attr"] += ' multiple'; 19202 if ( oConfig["field-name"].indexOf("[]") === -1 ){ 19203 oConfig["field-name"] += "[]"; 19204 } 19205 } 19206 19207 var iDisplay = parseInt(oConfig["display"]); 19208 19209 szWrapperControlClasses += " ctl-upload-file-field-wrapper ctluploadfield"; 19210 19211 switch(iDisplay){ 19212 case 12:{ 19213 szLabelClasses += " d-block"; 19214 }break; 19215 case 10:{ 19216 szFormGroupClasses+= " row align-items-end";
19217 szLabelClasses += " col col-12 col-sm-10"; 19218 szWrapperControlClasses += " col col-12 col-sm-2"; 19219 19220 if ( oConfig["label-v-align"] !== ""){ 19221 szFormGroupClasses += " " + oConfig["label-v-align"]; 19222 } 19223 }break; 19224 case 9:{ 19225 szFormGroupClasses+= " row align-items-end"; 19226 szLabelClasses += " col col-12 col-sm-9"; 19227 szWrapperControlClasses += " col col-12 col-sm-3"; 19228 19229 if ( oConfig["label-v-align"] !== ""){ 19230 szFormGroupClasses += " " + oConfig["label-v-align"]; 19231 } 19232 }break; 19233 case 6:{ 19234 szFormGroupClasses+= " row align-items-end"; 19235 szLabelClasses += " col col-12 col-sm-6"; 19236 szWrapperControlClasses += " col col-12 col-sm-6"; 19237 19238 if ( oConfig["label-v-align"] !== ""){ 19239 szFormGroupClasses += " " + oConfig["label-v-align"]; 19240 } 19241 }break; 19242 case 3:{ 19243 szFormGroupClasses+= " row align-items-end"; 19244 szLabelClasses += " col col-12 col-sm-3"; 19245 szWrapperControlClasses += " col col-12 col-sm-9"; 19246 19247 if ( oConfig["label-v-align"] !== ""){ 19248 szFormGroupClasses += " " + oConfig["label-v-align"]; 19249 } 19250 }break; 19251 case 2:{ 19252 szFormGroupClasses+= " row align-items-end"; 19253 szLabelClasses += " col col-12 col-sm-2"; 19254 szWrapperControlClasses += " col col-12 col-sm-10"; 19255 19256 if ( oConfig["label-v-align"] !== ""){ 19257 szFormGroupClasses += " " + oConfig["label-v-align"]; 19258 } 19259 }break; 19260 case -1:{ 19261 szFormGroupClasses+= " d-inline-block align-items-end"; 19262 szLabelClasses += " col col-auto d-inline-block pr-0"; 19263 szFormControlClasses += " col col-auto d-inline-block"; 19264 19265 if ( oConfig["label-v-align"] !== ""){ 19266 szFormGroupClasses += " " + oConfig["label-v-align"]; 19267 } 19268 }break; 19269 } 19270 19271 szLabelClasses += " mb-3 text-" + oConfig["label-align"]; 19272 19273 html+= '<div class="' + szFormGroupClasses + '">'; 19274 19275 if ( oConfig["label-title"] !== "" ){ 19276 html+= '<label class="' + szLabelClasses + '" for="' + guid + 19277 '">' + oConfig["label-title"] + '</label>'; 19278 } 19279 19280 html+= '<div class="' + szWrapperControlClasses + '">'; 19281 19282 html+= '<div class="' + szFormControlClasses + '">'; 19283 19284 html+= '<div class="row">'; 19285 19286 var szUploadColClasses = "col-12 mb-3 align-self-end"; 19287 19288 if ( !szDefaultValue ){ 19289 szDefaultValue = ctl_wp_studio_common_localization["szDefaultImage"]; 19290 } 19291 19292 if ( oConfig["preview-image"]){ 19293 html+= '<div class="col-12 col-sm-3 mb-3 pr-sm-0">'; 19294 html+= '<img class="img-fluid image-preview rounded img-thumbnail w-100 ctl-editor-framework-action-img-preview" '; 19295 html += ' data-default-image="'+ctl_wp_studio_common_localization["szDefaultImage"]+ 19296 '" src="' + szDefaultValue + '" />'; 19297 html+= '</div>'; 19298 19299 szUploadColClasses += " col-sm-9"; 19300 szInputFieldClasses += " custom-file-image-input"; 19301 } 19302 19303 19304 html+= '<div class="'+ szUploadColClasses + '">'; 19305 19306 if ( oConfig["drop-area"]){ 19307 html+= '<div class="ctl-file-upload-drag-drop-area mb-2 d-none d-sm-block">'; 19308 html+= '<div class="ctl-file-upload-drag-drop-area-content rounded">'; 19309 html+= '<p class="text-center">'; 19310 html+= '<i class="ctl-wp-studio-icons-upload-cloud"></i><br>'; 19311 html+= oConfig["label-drag-drop"]; 19312 html+= '</p>'; 19313 html+= '</div>'; 19314 html+= '</div>'; 19315 } 19316 19317 html+= '<div class="input-group">'; 19318 19319 html+= '<div class="custom-file">'; 19320 html+= '<input type="file" class="' + 19321 szInputFieldClasses + '" name="' + oConfig["field-name"] + '"'; 19322 if ( (oConfig["data-attr"]) ){ 19323 html += ' ' + oConfig["data-attr"]; 19324 } 19325 19326 html += '>'; 19327 html+= '<label class="custom-file-label">'; 19328 19329 if ( (oConfig["label-suggestion"]) ){ 19330 html += oConfig["label-suggestion"]; 19331 } 19332 19333 html += '</label>'; 19334 html+= '</div>'; 19335 19336 html+= '<div class="input-group-append">'; 19337 19338 var szBtnOutlined = ""; 19339 if( oConfig["btn-outlined"] ){ 19340 szBtnOutlined = 'outline-'; 19341 } 19342 19343 html+= '<button type="button" class="btn btn-'+szBtnOutlined+ 19344 'secondary ctl-form-fields-action-click-custom-file-input">'; 19345 if ( oConfig["browse-icon"] ){ 19346 html+= '<i class="'+oConfig["browse-icon"]+'"></i>'; 19347 html+= '<span class="btn-text d-none d-md-inline-block">' +
19348 oConfig["label-button"] +'</span>'; 19349 }else{ 19350 html += oConfig["label-button"]; 19351 } 19352 html += '</button>'; 19353 19354 for( var i = 0; i < oConfig["append-buttons"].length; i++ ){ 19355 html += oConfig["append-buttons"][i]; 19356 } 19357 html+= '</div>'; 19358 html+= '</div>'; 19359 19360 html+= '<div class="invalid-feedback"></div>'; 19361 19362 19363 if ( oConfig["label-description"] !== "" ){ 19364 html+= '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 19365 } 19366 19367 html+= '</div>'; 19368 19369 html+= '</div>'; 19370 19371 html+= '</div>'; 19372 19373 html+= '</div>'; 19374 19375 html+= '</div>'; 19376 19377 19378 return html; 19379} 19380 19381function formFieldsBuildRadioField( oConfig, aFields, szDefaultValue ){ 19382 var oDefault = { 19383 "label-title" : "", 19384 "label-description" : "", 19385 "radio-description" : "", 19386 "field-name" : "", 19387 "mandatory" : false, 19388 "display" : 12, 19389 "label-classes" : "", 19390 "label-align" : "left", 19391 "label-v-align" : "", 19392 "data-attr" : "", 19393 "classes" : "", 19394 "control-classes" : "", 19395 "radio-align" : "inline", 19396 "disabled" : false, 19397 "readonly" : false, 19398 "mandatory-on-label" : true, 19399 "validate-yes" : false, 19400 }; 19401 19402 oConfig = jQuery.extend(oDefault, oConfig); 19403 19404 var szFormGroupClasses = "form-group"; 19405 var szLabelClasses = "ctl-form-field-label"; 19406 var szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 19407 19408 szFormControlClasses += " ctlradiofield"; 19409 19410 if( !oConfig["readonly"] && !oConfig["disabled"] && oConfig["mandatory"] ){ 19411 szFormControlClasses += " mandatory"; 19412 19413 if ( oConfig["mandatory-on-label"] ){ 19414 szFormGroupClasses += " mandatory-on-label"; 19415 } 19416 } 19417 19418 if ( oConfig["validate-yes"]){ 19419 szFormControlClasses += ' validate-yes'; 19420 } 19421 19422 if ((oConfig["control-classes"])){ 19423 szFormControlClasses += ' ' + oConfig["control-classes"]; 19424 } 19425 19426 var iDisplay = parseInt(oConfig["display"] ); 19427 19428 switch(iDisplay){ 19429 case 12:{ 19430 szLabelClasses += " d-block"; 19431 }break; 19432 case 10:{ 19433 szFormGroupClasses += " row"; 19434 szLabelClasses += " col col-12 col-sm-10"; 19435 szFormControlClasses += " col col-12 col-sm-2"; 19436 19437 if ( oConfig["label-v-align"] !== ""){ 19438 szFormGroupClasses += " " + oConfig["label-v-align"]; 19439 } 19440 }break; 19441 case 9:{ 19442 szFormGroupClasses += " row"; 19443 szLabelClasses += " col col-12 col-sm-9"; 19444 szFormControlClasses += " col col-12 col-sm-3"; 19445 19446 if ( oConfig["label-v-align"] !== ""){ 19447 szFormGroupClasses += " " + oConfig["label-v-align"]; 19448 } 19449 }break; 19450 case 6:{ 19451 szFormGroupClasses += " row"; 19452 szLabelClasses += " col col-12 col-sm-6"; 19453 szFormControlClasses += " col col-12 col-sm-6"; 19454 19455 if ( oConfig["label-v-align"] !== ""){ 19456 szFormGroupClasses += " " + oConfig["label-v-align"]; 19457 } 19458 }break; 19459 case 3:{ 19460 szFormGroupClasses += " row"; 19461 szLabelClasses += " col col-12 col-sm-3"; 19462 szFormControlClasses += " col col-12 col-sm-9"; 19463 19464 if ( oConfig["label-v-align"] !== ""){ 19465 szFormGroupClasses += " " + oConfig["label-v-align"]; 19466 } 19467 }break; 19468 case 2:{ 19469 szFormGroupClasses += " row"; 19470 szLabelClasses += " col col-12 col-sm-2"; 19471 szFormControlClasses += " col col-12 col-sm-10"; 19472 19473 if ( oConfig["label-v-align"] !== ""){ 19474 szFormGroupClasses += " " + oConfig["label-v-align"]; 19475 } 19476 }break; 19477 case -1:{ 19478 szFormGroupClasses+= " d-inline-block";
19479 szLabelClasses += " col col-auto d-inline-block pr-0"; 19480 szFormControlClasses += " col col-auto d-inline-block"; 19481 19482 if ( oConfig["label-v-align"] !== ""){ 19483 szFormGroupClasses += " " + oConfig["label-v-align"]; 19484 } 19485 }break; 19486 } 19487 19488 szLabelClasses += " text-" + oConfig["label-align"]; 19489 19490 if( oConfig["label-classes"] ){ 19491 szLabelClasses += " " + oConfig["label-classes"]; 19492 } 19493 19494 var szItemClasses = "custom-control custom-radio"; 19495 19496 if ( oConfig["classes"] ){ 19497 szItemClasses += " " + oConfig["classes"]; 19498 } 19499 19500 switch(oConfig["radio-align"]){ 19501 case "inline":{ 19502 szItemClasses += " custom-control-inline"; 19503 }break; 19504 } 19505 19506 var html = ""; 19507 19508 html+= '<div class="' + szFormGroupClasses + '">'; 19509 19510 if ( oConfig["label-title"] !== "" || iDisplay !== 12 ){ 19511 html += '<label class="' + szLabelClasses + '" for="' + oConfig["field-name"] + '">' + 19512 oConfig["label-title"] + '</label>'; 19513 } 19514 19515 html+= '<div class="' + szFormControlClasses + '" ' + oConfig["data-attr"] + '>'; 19516 19517 if ( (oConfig["radio-description"])){ 19518 html += '<div>' + oConfig["radio-description"] + '</div>'; 19519 } 19520 19521 for( var i = 0; i < aFields.length; i++ ){ 19522 19523 var oItem = aFields[i]; 19524 var id = "radio-" + g_oCTLWPStudio.makeCode(4); 19525 19526 var oField = formFieldsUnpackSelectItemData(oItem); 19527 19528 html+= '<div class="' + szItemClasses + '">'; 19529 html+= '<input type="radio" id="' + id + '" value="'+ oField["value"] 19530 + '" name="' + oConfig["field-name"] + '" class="custom-control-input" ' + 19531 (szDefaultValue == oField["value"] ? 'checked' : '') + '>'; 19532 html+= '<label role="button" class="custom-control-label" for="' + id + '">' + 19533 oField["label"] + '</label>'; 19534 html+= '</div>'; 19535 } 19536 19537 if ( oConfig["label-description"] !== "" ){ 19538 html+= '<div><small class="ctl-form-field-description">' + oConfig["label-description"] + '</small></div>'; 19539 } 19540 19541 html+= '<div class="invalid-feedback"></div>'; 19542 19543 html+= '</div>'; 19544 19545 html+= '</div>'; 19546 19547 return html; 19548} 19549 19550function formFieldsUnpackSelectItemData(oItem){ 19551 if ( typeof oItem === "string" ){ 19552 oItem = html_entity_decode(oItem, "ENT_QUOTES"); 19553 oItem = stripslashes(oItem); 19554 19555 var aData = oItem.split("#"); 19556 return { "label" : aData[0], "value" : aData[1] }; 19557 }else if ( typeof oItem === "object" ){ 19558 if ( (oItem["label"] !== null && oItem["label"] !== undefined ) && 19559 (oItem["value"] !== null && oItem["value"] !== undefined ) ){ 19560 return oItem; 19561 }else{ 19562 return null; 19563 } 19564 }else{ 19565 return null; 19566 } 19567} 19568 19569/* DRAGGABLE LIST */ 19570 19571jQuery(document).ready(function(){ 19572 19573 jQuery(document).on('click', '.draggable-empty-list', function(){ 19574 ctlDraggableRemoveItems(jQuery(this)); 19575 }); 19576 19577 jQuery(document).on('click', '.draggable-add-value', function(){ 19578 ctlDraggableAddManuallyItem(jQuery(this)); 19579 }); 19580 19581 jQuery(document).on("mousedown", ".draggable-delete-item", function(e){ 19582 e.preventDefault(); 19583 e.stopPropagation(); 19584 if ( e.which !== 1 ){ 19585 return; 19586 } 19587 ctlDraggableItemOnDeleteItem(jQuery(this)); 19588 }); 19589 19590 jQuery(document).on("mousedown", ".draggable-edit-item", function(e){ 19591 e.preventDefault(); 19592 e.stopPropagation(); 19593 if ( e.which !== 1 ){ 19594 return; 19595 } 19596 ctlDraggableItemOnEditItem(jQuery(this)); 19597 }); 19598 19599 jQuery(document).on("mousedown", ".draggable-item", function(e){ 19600 if ( e.which !== 1 ){ 19601 return; 19602 } 19603 19604 ctlDraggableItemOnMouseDownItem(jQuery(this), 19605 e.clientX, e.clientY, 19606 e.offsetX, e.offsetY ); 19607 }); 19608 19609 jQuery(document).on("click", ".btn-draggable-action-edit-option", function(){ 19610 ctlDraggableItemOnChangeItemValue(jQuery(this)); 19611 }); 19612 19613 jQuery(document).on("mousemove", function(e){ 19614 ctlDraggableDocumentOnMouseMove(e.clientX, e.clientY); 19615 }); 19616 19617 jQuery(document).on("mouseup", function(e){ 19618 ctlDraggableDocumentOnMouseUp(e.clientX, e.clientY); 19619 }); 19620 19621 19622 jQuery(document).on("mousemove", ".draggable ul", function(e){ 19623 ctlDraggableListOnMouseMove(jQuery(this), e.clientX, e.clientY); 19624 }); 19625 19626 jQuery(document).on("mouseout", ".draggable ul", function(e){ 19627 ctlDraggableListOnMouseOut(jQuery(this), e.clientX, e.clientY); 19628 }); 19629 19630 jQuery(document).on("mouseup", ".draggable ul", function(e){ 19631 ctlDraggableListOnMouseUp(jQuery(this), 19632 e.clientX, e.clientY, 19633 e.pageX, e.pageY ); 19634 }); 19635 19636 19637}); 19638 19639function ctlDraggableRemoveItems( oNodeButton ){ 19640 var oNodeDraggable = oNodeButton.closest(".draggable"); 19641 var oNodeList = oNodeDraggable.find("ul"); 19642 19643 oNodeList.find('.draggable-delete-item').each(function(){ 19644 ctlDraggableItemOnDeleteItem(jQuery(this)); 19645 }); 19646 19647 var oNodeNewItemLabel = oNodeDraggable.find('input[name=list-label]'); 19648 var oNodeNewItemValue = oNodeDraggable.find('input[name=list-value]'); 19649 19650 var oNodeNewItemSelect = oNodeDraggable.find('.ctl-wp-studio-select2-search'); 19651 19652 if ( oNodeNewItemLabel.length > 0 ){ 19653 oNodeNewItemLabel.val(''); 19654 oNodeNewItemValue.val(''); 19655 } 19656 19657 if ( oNodeNewItemSelect.length > 0 ){ 19658 oNodeNewItemSelect.val(null).trigger('change'); 19659 } 19660} 19661 19662function ctlDraggableAddManuallyItem( oNodeButton ){ 19663 19664 var oNodeDraggable = oNodeButton.closest(".draggable"); 19665 var oNodeError = oNodeDraggable.find(".draggable-error"); 19666 19667 oNodeError.removeClass("is-invalid");
19668 oNodeError.find('.invalid-feedback').text(''); 19669 19670 var oNodeInputListLabel = oNodeDraggable.find('input[name=list-label]'); 19671 var oNodeSelect = oNodeDraggable.find('.ctl-wp-studio-select2-search'); 19672 19673 var szLabel = null; 19674 var szValue = null; 19675 var bValidValue = true; 19676 19677 if ( oNodeInputListLabel.length > 0 ){ 19678 var oNodeInputListValue = oNodeDraggable.find('input[name=list-value]'); 19679 19680 szLabel = oNodeInputListLabel.val(); 19681 szValue = oNodeInputListValue.val(); 19682 19683 oNodeInputListLabel.val(''); 19684 oNodeInputListValue.val(''); 19685 19686 if ( (szLabel === undefined || szLabel.trim() === "") ){ 19687 ctlFormFieldsApplyError(oNodeInputListLabel, g_oCTLFormFieldsLocalizationCommon["Empty field"]); 19688 bValidValue = false; 19689 } 19690 19691 if ( szValue === undefined || szValue.trim() === "" ){ 19692 ctlFormFieldsApplyError(oNodeInputListValue, g_oCTLFormFieldsLocalizationCommon["Empty field"]); 19693 bValidValue = false; 19694 } 19695 }else if ( oNodeSelect.length > 0 ){ 19696 szLabel = oNodeSelect.find("option:selected").text(); 19697 szValue = oNodeSelect.val(); 19698 19699 oNodeSelect.val(null).trigger('change'); 19700 19701 if ( szValue === undefined || szValue.trim() === "" ){ 19702 bValidValue = false; 19703 ctlFormFieldsApplyError(oNodeSelect, g_oCTLFormFieldsLocalizationCommon["Empty field"]); 19704 } 19705 } 19706 19707 if (!bValidValue){ 19708 return; 19709 } 19710 19711 szLabel = szLabel.trim(); 19712 szValue = szValue.trim(); 19713 19714 ctlDraggableAddItem(oNodeDraggable, szLabel, szValue); 19715} 19716 19717function ctlDraggableAddItem(oNodeDraggable, szLabel, szValue, bScroll ){ 19718 19719 var oNodeList = oNodeDraggable.find("ul"); 19720 var oNodeSelect = oNodeDraggable.find(".ctl-draggable-hidden-select"); 19721 let oNodeSelectKey = oNodeDraggable.find(".ctl-draggable-hidden-select-key"); 19722 var oNodeError = oNodeDraggable.find(".draggable-error"); 19723 19724 szLabel = szLabel.trim(); 19725 szValue = szValue.trim(); 19726 19727 if ( oNodeList.hasClass("draggable-list-avoid-duplicates") ){ 19728 var bFindDuplicate = false; 19729 oNodeList.find('li').each(function(){ 19730 if ( jQuery(this).attr("data-value") === szValue ){ 19731 bFindDuplicate = true; 19732 } 19733 }); 19734 if ( bFindDuplicate ){ 19735 oNodeError.addClass("is-invalid"); 19736 oNodeError.find('.invalid-feedback').text(g_oCTLFormFieldsLocalizationCommon["Duplicate value"]); 19737 return; 19738 } 19739 } 19740 19741 var html = ''; 19742 var guid = g_oCTLWPStudio.makeCode(4); 19743 html += '<li id="'+ guid + 19744 '" class="draggable-item ctl-wp-studio-noselect list-group-item" data-value="'+szValue+'"'; 19745 if ( oNodeDraggable.attr('data-group') ){ 19746 html += ' data-group="' + oNodeDraggable.attr('data-group') + '"'; 19747 } 19748 html += '>'; 19749 19750 html += '<div class="draggable-item-label">'+szLabel+'</div>'; 19751 19752 if ( oNodeList.hasClass('draggable-list-show-values') ){ 19753 html += '<div class="draggable-item-value">'+szValue+'</div>'; 19754 } 19755 19756 html += '<div class="draggable-item-actions">'; 19757 19758 if ( oNodeList.hasClass('draggable-list-item-editing') ){ 19759 html += '<i class="fas fa-pencil-alt draggable-edit-item"></i>'; 19760 } 19761 19762 if ( oNodeList.hasClass('draggable-list-item-deletion') ){ 19763 html += '<i class="fas fa-trash-alt draggable-delete-item"></i>'; 19764 } 19765 19766 html += '</div>'; 19767 19768 html += '<div class="draggable-item-extras"></div>'; 19769 19770 html += '</li>'; 19771 19772 oNodeList.append(html); 19773 19774 oNodeSelect.append('<option value="'+szValue+'" selected="selected">'+szLabel+'</option>'); 19775 oNodeSelectKey.append('<option value="'+szLabel+'" selected="selected">'+szValue+'</option>'); 19776 19777 oNodeSelect.trigger("change"); 19778 19779 oNodeDraggable.find('input[name=list-label]').val(''); 19780 oNodeDraggable.find('input[name=list-value]').val(''); 19781 19782 if (bScroll){ 19783 oNodeList.animate({ scrollTop: oNodeList[0].scrollHeight }, 'slow' ); 19784 } 19785} 19786 19787 19788 19789function ctlDraggableItemOnEditItem( oNodeButton ){ 19790 var oNodeList = oNodeButton.closest("ul"); 19791 var oNodeItem = oNodeButton.closest("li"); 19792 var oNodeDraggable = oNodeButton.closest(".draggable"); 19793 var idDraggable = oNodeDraggable.attr("id"); 19794 var szValue = oNodeItem.attr("data-value"); 19795 19796 if ( oNodeList.hasClass("draggable-list-custom-editing") ){ 19797 jQuery(document).trigger("ctl-draggable-editing", [ oNodeDraggable, oNodeItem, szValue ]); 19798 return; 19799 } 19800 19801 var html = ''; 19802 19803 html += '<form>'; 19804 19805 html += formFieldsBuildHiddenField({ 19806 'field-name' : 'draggable-id', 19807 }, idDraggable); 19808 19809 html += formFieldsBuildHiddenField({ 19810 'field-name' : 'draggable-item-id', 19811 }, oNodeItem.attr("id")); 19812 19813 html += formFieldsBuildHiddenField({ 19814 'field-name' : 'original-value', 19815 }, szValue); 19816 19817 html += formFieldsBuildTextField({ 19818 'field-name' : 'option-label', 19819 'label-title' : g_oCTLFormFieldsLocalizationCommon["Option Label"], 19820 'mandatory' : true, 19821 }, oNodeItem.find(".draggable-item-label").text()); 19822 19823 html += formFieldsBuildTextField({ 19824 'field-name' : 'option-value', 19825 'label-title' : g_oCTLFormFieldsLocalizationCommon["Option Value"], 19826 'mandatory' : true, 19827 }, szValue); 19828 19829 html += '</form>'; 19830 19831 g_oCTLBootstrapModals.showModal({ 19832 modal_content : html, 19833 position: 'centered', 19834 modal_title : g_oCTLFormFieldsLocalizationCommon["Edit Option"], 19835 footer_buttons:[ 19836 '<button class="btn btn-primary btn-draggable-action-edit-option">'+g_oCTLFormFieldsLocalizationCommon["Save Option"]+'</button>' 19837 ] 19838 }); 19839} 19840 19841function ctlDraggableItemOnDeleteItem( oNodeButton ){ 19842 var oNodeList = oNodeButton.closest("ul"); 19843 var oNodeItem = oNodeButton.closest("li"); 19844 var oNodeDraggable = oNodeButton.closest(".draggable"); 19845 var oNodeSelect = oNodeDraggable.find(".ctl-draggable-hidden-select"); 19846 var szValue = oNodeItem.attr("data-value"); 19847 19848 if ( oNodeList.hasClass("draggable-list-custom-deletion") ){ 19849 jQuery(document).trigger("ctl-draggable-deletion", [ oNodeDraggable, oNodeItem, szValue ]); 19850 return; 19851 } 19852 19853 oNodeItem.fadeOut(500,"linear",function(){ 19854 oNodeItem.remove(); 19855 }); 19856 19857 oNodeSelect.find("option").each(function(){
19858 if ( jQuery(this).attr("value") === szValue ){ 19859 jQuery(this).remove(); 19860 oNodeSelect.trigger("change"); 19861 } 19862 }); 19863 19864 var oNodeSelectKey = oNodeDraggable.find(".ctl-draggable-hidden-select-key"); 19865 oNodeSelectKey.find("option").each(function(){ 19866 if ( jQuery(this).attr("value") === szValue ){ 19867 jQuery(this).remove(); 19868 } 19869 }); 19870} 19871 19872function ctlDraggableItemOnChangeItemValue( oNodeButton ){ 19873 var oNodeModal = oNodeButton.closest(".modal"); 19874 var oNodeForm = oNodeModal.find("form"); 19875 var oFormData = oNodeForm.serializeObject(); 19876 19877 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 19878 return; 19879 } 19880 19881 var idDraggable = oFormData["draggable-id"]; 19882 var idDraggableItem = oFormData["draggable-item-id"]; 19883 var oNodeDraggable = jQuery("#"+idDraggable); 19884 var oNodeDraggableItem = jQuery("#"+idDraggableItem); 19885 var oNodeList = oNodeDraggable.find("ul"); 19886 var oNodeSelect = oNodeDraggable.find(".ctl-draggable-hidden-select"); 19887 var szValue = oFormData['option-value']; 19888 var szLabel = oFormData['option-label']; 19889 var szOriginalValue = oFormData['original-value']; 19890 19891 if ( oNodeList.hasClass("draggable-list-avoid-duplicates") ){ 19892 19893 var bFindDuplicate = false; 19894 oNodeList.find('li').each(function(){ 19895 if ( jQuery(this).attr("data-value") === szValue && 19896 idDraggableItem !== jQuery(this).attr("id")){ 19897 bFindDuplicate = true; 19898 } 19899 }); 19900 19901 if ( bFindDuplicate ){ 19902 ctlFormFieldsApplyErrors(oNodeForm, [ 19903 { name : 'option-value', 19904 desc : g_oCTLFormFieldsLocalizationCommon["Duplicate value"] } 19905 ]); 19906 19907 return; 19908 } 19909 } 19910 19911 oNodeDraggableItem.attr("data-value", szValue); 19912 oNodeDraggableItem.find(".draggable-item-value").text(szValue); 19913 oNodeDraggableItem.find(".draggable-item-label").text(szLabel); 19914 19915 oNodeSelect.find("option").each(function(){ 19916 if ( jQuery(this).attr("value") === szOriginalValue ){ 19917 jQuery(this).attr("value", szValue); 19918 jQuery(this).text(szLabel); 19919 } 19920 }); 19921 19922 jQuery(document).trigger("ctl-draggable-list-item-change", [ oNodeDraggable, oNodeSelect]); 19923 19924 oNodeModal.modal("hide"); 19925} 19926 19927function ctlDraggableListRemoveItem( oNodeDraggable, szValue ){ 19928 19929 oNodeDraggable.find("li").each(function(){ 19930 if( jQuery(this).attr("data-value") === szValue ){ 19931 jQuery(this).fadeOut(500,"linear",function(){ 19932 jQuery(this).remove(); 19933 }); 19934 } 19935 }); 19936 19937 var oNodeSelect = oNodeDraggable.find(".ctl-draggable-hidden-select"); 19938 19939 oNodeSelect.find("option").each(function(){ 19940 if ( jQuery(this).attr("value") === szValue ){ 19941 jQuery(this).remove(); 19942 } 19943 }); 19944} 19945 19946function ctlDraggableListOnMouseUp( oNodeList, x, y, pageX, pageY ){ 19947 19948 var oNodeDraggableDest = oNodeList.closest(".draggable"); 19949 19950 oNodeList.removeClass("draggable-list-hover"); 19951 19952 var oNodeItem = jQuery(".draggable-fixed-item"); 19953 19954 if( oNodeItem.length === 0 ){ 19955 return; 19956 } 19957 19958 if ( oNodeList.hasClass("draggable-list-avoid-drop-items") ){ 19959 return; 19960 } 19961 19962 var szDestGroupName = oNodeDraggableDest.attr("data-group"); 19963 var szSourceGroupName = oNodeItem.attr("data-group"); 19964 19965 if ( szDestGroupName !== "" && szDestGroupName !== szSourceGroupName ){ 19966 return; 19967 } 19968 19969 var oNodeHoveredItem = null; 19970 var oNodeAlreadyPresentItem = null; 19971 oNodeList.find('li').each(function(){ 19972 if ( jQuery(this).is(":hover") ){ 19973 oNodeHoveredItem = jQuery(this); 19974 } 19975 19976 if ( jQuery(this).attr("id") === oNodeItem.attr("id")){ 19977 oNodeAlreadyPresentItem = jQuery(this); 19978 } 19979 }); 19980 19981 if ( oNodeList.hasClass("draggable-list-avoid-duplicates") && !oNodeAlreadyPresentItem ){ 19982 var bFoundDuplicates = false; 19983 oNodeList.find("li").each(function(){ 19984 if ( jQuery(this).attr("data-value") === oNodeItem.attr("data-value")){ 19985 bFoundDuplicates = true; 19986 } 19987 }); 19988 if (bFoundDuplicates){ 19989 return; 19990 } 19991 } 19992 19993 var oNodeCloned = oNodeItem.clone(); 19994 oNodeCloned.removeClass("draggable-fixed-item"); 19995 19996 if ( oNodeList.hasClass("draggable-list-item-editing")){ 19997 oNodeCloned.find(".draggable-item-actions").append('<i class="fas fa-pencil-alt draggable-edit-item"></i>'); 19998 } 19999 20000 if ( oNodeList.hasClass("draggable-list-item-deletion")){ 20001 oNodeCloned.find(".draggable-item-actions").append('<i class="fas fa-tras
20001h-alt draggable-delete-item"></i>'); 20002 } 20003 20004 if ( oNodeList.hasClass('draggable-list-show-values') ){ 20005 if ( oNodeCloned.find('.draggable-item-value').length === 0 ){ 20006 oNodeCloned.append('<div class="draggable-item-value">'+oNodeCloned.attr("data-value")+'</div>'); 20007 } 20008 }else if ( oNodeCloned.find('.draggable-item-value').length === 1 ){ 20009 oNodeCloned.find('.draggable-item-value').remove(); 20010 } 20011 20012 oNodeCloned.attr("id", g_oCTLWPStudio.makeCode(4) ); 20013 oNodeCloned.css("left", "auto"); 20014 oNodeCloned.css("top", "auto"); 20015 20016 oNodeCloned.addClass("list-group-item"); 20017 20018 var iScrollTop = 0; 20019 20020 20021 if ( oNodeHoveredItem && 20022 (oNodeHoveredItem.attr("data-value") === oNodeCloned.attr("data-value")) ){ 20023 iScrollTop = (oNodeHoveredItem.index()) * oNodeHoveredItem.outerHeight(); 20024 }else{ 20025 if ( oNodeHoveredItem ){ 20026 if ( (pageY - oNodeHoveredItem.offset().top) < 20027 (oNodeHoveredItem.outerHeight()/2) ){ 20028 oNodeCloned.insertBefore(oNodeHoveredItem); 20029 }else{ 20030 oNodeCloned.insertAfter(oNodeHoveredItem); 20031 } 20032 iScrollTop = (oNodeCloned.index()) * oNodeCloned.outerHeight(); 20033 }else{ 20034 oNodeList.append(oNodeCloned); 20035 iScrollTop = oNodeList[0].scrollHeight; 20036 } 20037 20038 if ( oNodeAlreadyPresentItem ){ 20039 oNodeAlreadyPresentItem.remove(); 20040 } 20041 } 20042 20043 oNodeList.animate({ scrollTop: iScrollTop }, 'slow' ); 20044 20045 var oNodeSelect = oNodeDraggableDest.find(".ctl-draggable-hidden-select"); 20046 var szValue = oNodeCloned.attr("data-value"); 20047 20048 oNodeSelect.html(""); 20049 20050 var idDraggable = oNodeCloned.attr("data-draggable-id"); 20051 var oNodeDraggableSource = jQuery("#"+idDraggable); 20052 var oNodeSourceList = oNodeDraggableSource.find("ul"); 20053 20054 if ( idDraggable !== oNodeDraggableDest.attr("id") ){ 20055 if ( oNodeSourceList.hasClass("draggable-list-item-removable") ){ 20056 var oNodeSourceSelect = oNodeDraggableSource.find(".ctl-draggable-hidden-select"); 20057 oNodeSourceSelect.find("option").each(function(){ 20058 if ( jQuery(this).attr("value") === szValue ){ 20059 jQuery(this).remove(); 20060 oNodeSourceSelect.trigger("change"); 20061 } 20062 }); 20063 oNodeSourceList.find("li").each(function(){ 20064 if ( jQuery(this).attr("data-value") === szValue ){ 20065 jQuery(this).remove(); 20066 } 20067 }); 20068 } 20069 } 20070 20071 20072 oNodeList.find("li").each(function(){ 20073 oNodeSelect.append('<option value="'+jQuery(this).attr("data-value")+ 20074 '" selected="selected">'+jQuery(this).find(".draggable-item-label").text()+'</option>'); 20075 oNodeSelect.trigger("change"); 20076 }); 20077 20078 20079 20080 jQuery(document).trigger("ctl-draggable-list-change", 20081 [ oNodeCloned, oNodeDraggableDest, oNodeDraggableSource ]); 20082} 20083 20084function ctlDraggableListOnMouseMove( oNodeList, x, y){ 20085 var oNodeItem = jQuery(".draggable-fixed-item"); 20086 20087 if( oNodeItem.length === 0 ){ 20088 return; 20089 } 20090 20091 var oNodeDraggableDest = oNodeList.closest(".draggable"); 20092 var szDestGroupName = oNodeDraggableDest.attr("data-group"); 20093 var szSourceGroupName = oNodeItem.attr("data-group"); 20094 20095 if ( szDestGroupName !== "" && szDestGroupName !== szSourceGroupName ){ 20096 return; 20097 } 20098 20099 oNodeList.addClass("draggable-list-hover"); 20100} 20101 20102function ctlDraggableListOnMouseOut( oNodeList, x, y){ 20103 var oNodeItem = jQuery(".draggable-fixed-item"); 20104 20105 if( oNodeItem.length === 0 ){ 20106 return; 20107 } 20108 20109 oNodeList.removeClass("draggable-list-hover"); 20110} 20111 20112function ctlDraggableDocumentOnMouseUp( x, y ){ 20113 var oNodeItem = jQuery(".draggable-fixed-item"); 20114 20115 if( oNodeItem.length === 0 ){ 20116 return; 20117 } 20118 20119 oNodeItem.remove(); 20120} 20121 20122function ctlDraggableDocumentOnMouseMove( x, y ){ 20123 var oNodeItem = jQuery(".draggable-fixed-item"); 20124 20125 if( oNodeItem.length === 0 ){ 20126 return; 20127 } 20128 20129 var iOffsetX = Number(oNodeItem.attr("data-offset-x")); 20130 var iOffsetY = Number(oNodeItem.attr("data-offset-y")); 20131 20132 oNodeItem.css("left", (x - iOffsetX)+ "px"); 20133 oNodeItem.css("top", (y - iOffsetY) + "px"); 20134} 20135 20136function ctlDraggableItemOnMouseDownItem( oNodeItem, x, y, offsetX, offsetY ){ 20137 20138 var oNodeDraggable = oNodeItem.closest(".draggable"); 20139 var oNodeList = oNodeItem.closest("ul"); 20140 20141 if ( oNodeList.hasClass("draggable-list-avoid-drag") ){ 20142 return; 20143 } 20144 20145 var oNodeCloned = oNodeItem.clone(); 20146 oNodeCloned.find(".draggable-item-actions").html(""); 20147 20148 var idDraggable = oNodeDraggable.attr("id"); 20149 20150 oNodeCloned.removeClass("list-group-item"); 20151 oNodeCloned.addClass("draggable-fixed-item"); 20152 20153 oNodeCloned.attr("data-draggable-id", idDraggable); 20154 20155 jQuery("body").append(oNodeCloned); 20156 20157 if ( offsetX > oNodeCloned.outerWidth() ){ 20158 offsetX = oNodeCloned.outerWidth()/2; 20159 } 20160 20161 if ( offsetY > oNodeCloned.outerHeight() ){ 20162 offsetY = oNodeCloned.outerHeight()/2; 20163 } 20164 20165 oNodeCloned.attr("data-offset-x", offsetX); 20166 oNodeCloned.attr("data-offset-y", offsetY); 20167 20168 oNodeCloned.css("left", (x - offsetX)+ "px"); 20169 oNodeCloned.css("top", (y - offsetY) + "px"); 20170} 20171 20172 20173function ctlDraggableSearchInList( oNodeDraggable, szKey ){ 20174 20175 szKey = szKey.toLowerCase(); 20176 20177 if ( szKey === "" ){ 20178 oNodeDraggable.find(".draggable-item").removeClass("d-none"); 20179 }else{ 20180 oNodeDraggable.find(".draggable-item").addClass("d-none"); 20181 } 20182 20183 oNodeDraggable.find("ul").each(function(){ 20184 jQuery(this).find(".draggable-item").each(function(){ 20185 var szTextData = jQuery(this).find(".draggable-item-label").text().toLowerCase(); 20186 if ( szTextData.indexOf(szKey) !== -1 ){ 20187 jQuery(this).removeClass("d-none"); 20188 } 20189 }); 20190 }); 20191} 20192 20193 20194/* TABLE VALUES */ 20195 20196jQuery(document).ready(function(){ 20197 20198 jQuery(document).on("input paste change blur", ".table-values-wrapper input", function(){ 20199 ctlTableValuesWriteJSONData(jQuery(this).closest(".table-values-wrapper")); 20200 }); 20201 20202 jQuery(".ctltablevaluesfield .table-values-wrapper").each(function(){ 20203 ctlTableValuesInit(jQuery(this)); 20204 }); 20205 20206 jQuery(document).on("click",'.ctl-table-values-delete-row', function(){ 20207 var oNodeTableValuesWrapper = jQuery(this).closest(".table-values-wrapper"); 20208 var oNodeRow = jQuery(this).closest(".row"); 20209 20210 oNodeTableValuesWrapper.attr("data-rows", Number(oNodeTableValuesWrapper.attr("data-rows"))-1); 20211 20212 oNodeRow.fadeOut(500,"linear",function(){ 20213 oNodeRow.remove(); 20214 if ( oNodeTableValuesWrapper.find(".row").length < 2 ){ 20215 ctlTableValuesAddRow(oNodeTableValuesWrapper); 20216 }else{ 20217 ctlTableValuesWriteJSONData(oNodeTableValuesWrapper); 20218 } 20219 }); 20220 20221 }); 20222 20223 jQuery(document).on("click", ".ctl-table-values-delete-col", function(){ 20224 ctlTableValuesDeleteCol(jQuery(this).closest(".col")); 20225 }); 20226 20227 jQuery(document).on('click', '.table-values-empty-table', function(){ 20228 var oNodeTableValuesWrapper = jQuery(this).closest(".table-values-wrapper"); 20229 var oNodeTableValuesContent = oNodeTableValuesWrapper.find(".table-values-content"); 20230 oNodeTableValuesWrapper.attr("data-rows", "0"); 20231 oNodeTableValuesWrapper.attr("data-cols", "0"); 20232 oNodeTableValuesContent.html(""); 20233 20234 ctlTableValuesAddRow(oNodeTableValuesWrapper); 20235 }); 20236 20237 jQuery(document).on('click', '.table-values-add-rows', function(){ 20238 ctlTableValuesAddRow(jQuery(this).closest(".table-values-wrapper")); 20239 }); 20240 20241 jQuery(document).on('click', '.table-values-add-cols', function(){ 20242 ctlTableValuesAddCol(jQuery(this).closest(".table-values-wrapper")); 20243 }); 20244 20245}); 20246 20247function ctlTableValuesWriteJSONData( oNodeTableValuesWrapper ){ 20248 20249 var aData = []; 20250 var aLabels = []; 20251 var bErrorCols = false;
20252 var bErrorEmptyValues = false; 20253 20254 var oNodeTableValuesMain = oNodeTableValuesWrapper.closest(".ctltablevaluesfield"); 20255 var bAllColValuesMandatories = oNodeTableValuesMain.hasClass("validate-col-values-mandatories"); 20256 20257 oNodeTableValuesWrapper.find(".row").each(function(){ 20258 20259 if ( jQuery(this).hasClass("col-controller") ){ 20260 jQuery(this).find(".col").each(function(){ 20261 if ( jQuery(this).hasClass("cell-blank")){ 20262 return; 20263 } 20264 20265 var szLabel = jQuery(this).find("input").val(); 20266 20267 if ( !szLabel ){ 20268 bErrorCols = true; 20269 } 20270 20271 aLabels.push(szLabel); 20272 }); 20273 }else{ 20274 var aRowData = {}; 20275 20276 jQuery(this).find(".col").each(function(){ 20277 20278 if ( jQuery(this).hasClass("row-controller")){ 20279 return; 20280 } 20281 20282 var indexCol = Number(jQuery(this).index())-1; 20283 20284 aRowData[aLabels[indexCol]] = jQuery(this).find("input").val(); 20285 20286 if (!aRowData[aLabels[indexCol]] && bAllColValuesMandatories){ 20287 bErrorEmptyValues = true; 20288 } 20289 }); 20290 aData.push(aRowData); 20291 } 20292 }); 20293 20294 20295 var oNodeTextarea = oNodeTableValuesMain.find("textarea"); 20296 var szValue = JSON.stringify(aData); 20297 oNodeTextarea.val(szValue); 20298 20299 if ( bErrorCols || bErrorEmptyValues ){ 20300 oNodeTableValuesMain.addClass("is-invalid"); 20301 oNodeTextarea.addClass("is-invalid"); 20302 20303 var szErrors = ""; 20304 20305 if ( bErrorCols ){ 20306 szErrors += '<p>' + g_oCTLFormFieldsLocalizationCommon["Column names cannot be empty"] + '</p>'; 20307 } 20308 if ( bErrorEmptyValues ){ 20309 szErrors += '<p>' + g_oCTLFormFieldsLocalizationCommon["Values cannot be empty"] + '</p>'; 20310 } 20311 20312 oNodeTableValuesMain.find(".invalid-feedback").html(szErrors); 20313 20314 jQuery(document).trigger("ctl-table-values-error", [ oNodeTableValuesMain, oNodeTextarea, szValue ]); 20315 }else{ 20316 oNodeTableValuesMain.removeClass("is-invalid"); 20317 oNodeTextarea.removeClass("is-invalid"); 20318 oNodeTableValuesMain.find(".invalid-feedback").html(""); 20319 20320 jQuery(document).trigger("ctl-table-values-change", [ oNodeTableValuesMain, oNodeTextarea, szValue ]); 20321 } 20322} 20323 20324function ctlTableValuesDeleteCol( oNodeCol ){ 20325 var oNodeTableValuesWrapper = oNodeCol.closest(".table-values-wrapper"); 20326 var indexCol = oNodeCol.index(); 20327 20328 oNodeTableValuesWrapper.find(".row").each(function(){ 20329 var oNodeCol = jQuery(this).find('.col:nth-child(' + (indexCol+1)+ ')'); 20330 oNodeCol.fadeOut(500,"linear",function(){ 20331 oNodeCol.remove(); 20332 20333 if ( oNodeTableValuesWrapper.find(".row.col-controller").find(".col").length < 2 ){ 20334 ctlTableValuesAddCol(oNodeTableValuesWrapper); 20335 }else{ 20336 ctlTableValuesWriteJSONData(oNodeTableValuesWrapper); 20337 } 20338 }); 20339 }); 20340 20341 oNodeTableValuesWrapper.attr("data-cols", Number(oNodeTableValuesWrapper.attr("data-cols"))-1); 20342 20343} 20344 20345function ctlTableValuesAddCol( oNodeTableValuesWrapper ){ 20346 20347 var oNodeTableValuesMain = oNodeTableValuesWrapper.closest(".ctltablevaluesfield"); 20348 var oNodeTableValuesContent = oNodeTableValuesWrapper.find(".table-values-content"); 20349 var iCurRows = Number(oNodeTableValuesWrapper.attr("data-rows")); 20350 var iCurCols = Number(oNodeTableValuesWrapper.attr("data-cols")); 20351 20352 if ( iCurRows === 0 ){ 20353 ctlTableValuesAddRow(oNodeTableValuesWrapper); 20354 return; 20355 } 20356 20357 var szBtnStyle = oNodeTableValuesMain.hasClass("btn-outlined") ? 'outline-' : ''; 20358 20359 oNodeTableValuesContent.find(".row").each(function(){ 20360 var guid = g_oCTLWPStudio.makeCode(8); 20361 var oNodeRow = jQuery(this); 20362 var html = '<div id="'+guid+'" class="col">'; 20363 20364 if ( oNodeRow.hasClass('col-controller') ){ 20365 html += '<div class="input-group input-group-sm">'; 20366 html += '<div class="input-group-prepend">'; 20367 html += '<button class="btn btn-'+szBtnStyle+'danger ctl-table-values-delete-col" type="button"><i class="ctl-wp-studio-icons-trash"></i></button>'; 20368 html += '</div>'; 20369 html += '<input type="text" class="form-control" placeholder="...">'; 20370 html += '</div>'; 20371 }else{ 20372 html += '<input type="text" class="form-control form-control-sm" placeholder="...">'; 20373 } 20374 20375 oNodeRow.append(html); 20376 html += '</div>'; 20377 }); 20378 20379 iCurCols++; 20380 oNodeTableValuesWrapper.attr("data-cols",iCurCols); 20381 ctlTableValuesWriteJSONData(oNodeTableValuesWrapper); 20382} 20383 20384function ctlTableValuesAddRow(oNodeTableValuesWrapper){ 20385 20386 var oNodeTableValuesMain = oNodeTableValuesWrapper.closest(".ctltablevaluesfield"); 20387 var oNodeTableValuesContent = oNodeTableValuesWrapper.find(".table-values-content"); 20388 var iCurRows = Number(oNodeTableValuesWrapper.attr("data-rows")); 20389 var iCurCols = Number(oNodeTableValuesWrapper.attr("data-cols")); 20390 var szBtnStyle = oNodeTableValuesMain.hasClass("btn-outlined") ? 'outline-' : ''; 20391 20392 if ( iCurRows === 0 && jQuery(".row.col-controller").length === 0 ){ 20393 oNodeTableValuesContent.append('<div class="row col-controller"></div>'); 20394 oNodeTableValuesContent.find(".col-controller").prepend('<div class="col cell-blank">'); 20395 } 20396 20397 var guid = g_oCTLWPStudio.makeCode(8); 20398 oNodeTableValuesContent.append('<div id="'+guid+'" class="row"></div>'); 20399 20400 iCurRows++; 20401 oNodeTableValuesWrapper.attr("data-rows",iCurRows); 20402 20403 //---------------------------------- 20404 // ROW CONTROLLER 20405 var guidRowController = g_oCTLWPStudio.makeCode(8); 20406 var htmlRowController = '<div id="'+guidRowController+'" class="col row-controller">'; 20407 htmlRowController += '<button class="btn btn-'+szBtnStyle+'danger btn-xs ctl-table-values-delete-row" type="button"><i class="ctl-wp-studio-icons-trash"></i></button>'; 20408 htmlRowController += '</div>'; 20409 jQuery("#"+guid).append(htmlRowController); 20410 //---------------------------------- 20411 20412 for ( var i = 0; i < iCurCols; i++ ){ 20413 var guidCol = g_oCTLWPStudio.makeCode(8); 20414 var html = ''; 20415 html += '<div id="'+guidCol+'" class="col">'; 20416 html += '<input type="text" class="form-control form-control-sm" placeholder="...">'; 20417 html += '</div>'; 20418 jQuery("#"+guid).append(html); 20419 } 20420 20421 if ( iCurCols === 0 ){ 20422 ctlTableValuesAddCol(oNodeTableValuesWrapper); 20423 iCurCols++; 20424 } 20425 ctlTableValuesWriteJSONData(oNodeTableValuesWrapper); 20426} 20427 20428function ctlTableValuesInit( oNodeTableValues ){ 20429 20430 var oNodeTableValuesMain = oNodeTableValues.closest(".ctltablevaluesfield"); 20431 var szBtnStyle = oNodeTableValuesMain.hasClass("btn-outlined") ? 'outline-' : ''; 20432 20433 var html = ""; 20434 20435 html += '<div class="table-values-header-actions mb-2">'; 20436 html += '<button type="button" class="btn btn-xs btn-'+szBtnStyle+'primary table-values-add-rows mr-2">'; 20437 html += '<i class="fas fa-plus mr-2"></i>' + g_oCTLFormFieldsLocalizationCommon["add rows"]; 20438 html += '</button>'; 20439 html += '<button type="button" class="btn btn-xs btn-'+szBtnStyle+'primary table-values-add-cols mr-2">'; 20440 html += '<i class="fas fa-plus mr-2"></i>' + g_oCTLFormFieldsLocalizationCommon["add cols"]; 20441 html += '</button>'; 20442 html += '<button type="button" class="btn btn-xs btn-'+szBtnStyle+'danger table-values-empty-table float-right">';
20443 html += '<i class="fas fa-trash-alt mr-2"></i>' + g_oCTLFormFieldsLocalizationCommon["empty table"]; 20444 html += '</button>'; 20445 html += '</div>'; 20446 20447 html += '<div class="table-values-content rounded container-fluid mb-2">'; 20448 html += '</div>'; 20449 20450 oNodeTableValues.html(html); 20451 20452 var oNodeTableValuesMain = oNodeTableValues.closest(".ctltablevaluesfield"); 20453 var oNodeTextarea = oNodeTableValuesMain.find("textarea"); 20454 20455 var szData = oNodeTextarea.val(); 20456 20457 if ( g_oCTLWPStudio.isJsonString(szData) ){ 20458 var aData = JSON.parse(szData); 20459 20460 if ( aData && Array.isArray(aData) && aData.length > 0 ){ 20461 var oRow = aData[0]; 20462 for ( var key in oRow ){ 20463 ctlTableValuesAddCol(oNodeTableValues); 20464 } 20465 20466 for ( var i = 0; i < aData.length-1; i++ ){ 20467 ctlTableValuesAddRow(oNodeTableValues); 20468 } 20469 20470 var k = 1; 20471 for ( var key in oRow ){ 20472 var oNodeHeaderRow = oNodeTableValues.find(".row.col-controller"); 20473 oNodeHeaderRow.find(".col").eq(k).find("input").val(key); 20474 k++; 20475 } 20476 for ( var i = 0; i < aData.length; i++ ){ 20477 var k = 1; 20478 var oRowData = aData[i]; 20479 var oNodeRow = oNodeTableValues.find(".row").eq(i+1); 20480 for ( var key in oRow ){ 20481 oNodeRow.find(".col").eq(k).find("input").val(oRowData[key]); 20482 k++; 20483 } 20484 } 20485 20486 oNodeTableValuesMain.removeClass("is-invalid"); 20487 oNodeTextarea.removeClass("is-invalid"); 20488 oNodeTableValuesMain.find(".invalid-feedback").text(""); 20489 20490 }else{ 20491 ctlTableValuesAddRow(oNodeTableValues); 20492 } 20493 }else{ 20494 ctlTableValuesAddRow(oNodeTableValues); 20495 } 20496 20497 ctlTableValuesWriteJSONData(oNodeTableValuesMain); 20498} 20499 20500function formFieldsBuildHtmlField( oConfig, szHtml, szDefaultValue = ""){ 20501 20502 var oDefault = { 20503 "label-title" : "", 20504 "label-description" : "", 20505 "field-name" : "", 20506 "mandatory" : false, 20507 "display" : 12, 20508 "label-align" : "left", 20509 "label-v-align" : "", 20510 "align-value" : "left", 20511 "classes" : "", 20512 "control-classes" : "", 20513 "wrapper-classes" : "", 20514 "mandatory-on-label" : true, 20515 "floating-label" : false, 20516 "widget-id" : 0, 20517 }; 20518 20519 oConfig = jQuery.extend(oDefault, oConfig); 20520 20521 var guid = ""; 20522 if (oConfig["field-name"]){ 20523 guid = oConfig["field-name"] + "-"; 20524 } 20525 guid += g_oCTLWPStudio.makeCode(4); 20526 20527 var iDisplay = Number(oConfig["display"]); 20528 20529 var html = ""; 20530 20531 szFormGroupClasses = "form-group"; 20532 szLabelClasses = "ctl-form-field-label"; 20533 szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 20534 20535 szFormControlClasses += " ctlhtmlfield"; 20536 szFormControlClasses += " text-" + oConfig["align-value"]; 20537 20538 if( oConfig["mandatory"] ){ 20539 szFormControlClasses += " mandatory"; 20540 20541 if ( oConfig["mandatory-on-label"]){ 20542 szFormGroupClasses += " mandatory-on-label"; 20543 } 20544 } 20545 20546 if( oConfig["classes"] ){ 20547 szFormControlClasses += " " + oConfig["classes"]; 20548 } 20549 20550 if ( oConfig["floating-label"] && iDisplay == 12 ){ 20551 szFormGroupClasses += " floating-label"; 20552 20553 oConfig["label-align"] = "left"; 20554 20555 if ( szDefaultValue ){ 20556 szFormGroupClasses += " floating-label-normal"; 20557 } 20558 } 20559 20560 if( oConfig["control-classes"] ){ 20561 szFormControlClasses += " " + oConfig["control-classes"]; 20562 } 20563 20564 if( oConfig["wrapper-classes"] ){ 20565 szFormGroupClasses += " " + oConfig["wrapper-classes"]; 20566 } 20567 20568 switch(iDisplay){ 20569 case 12:{ 20570 szLabelClasses += " d-block"; 20571 }break; 20572 case 10:{ 20573 szFormGroupClasses+= " row";
20574 szLabelClasses += " col col-12 col-sm-10"; 20575 szFormControlClasses += " col col-12 col-sm-2"; 20576 20577 if ( oConfig["label-v-align"]){ 20578 szFormGroupClasses += " " + oConfig["label-v-align"]; 20579 } 20580 }break; 20581 case 9:{ 20582 szFormGroupClasses+= " row"; 20583 szLabelClasses += " col col-12 col-sm-9"; 20584 szFormControlClasses += " col col-12 col-sm-3"; 20585 20586 if ( oConfig["label-v-align"]){ 20587 szFormGroupClasses += " " + oConfig["label-v-align"]; 20588 } 20589 }break; 20590 case 6:{ 20591 szFormGroupClasses+= " row"; 20592 szLabelClasses += " col col-12 col-sm-6"; 20593 szFormControlClasses += " col col-12 col-sm-6"; 20594 20595 if ( oConfig["label-v-align"]){ 20596 szFormGroupClasses += " " + oConfig["label-v-align"]; 20597 } 20598 }break; 20599 case 3:{ 20600 szFormGroupClasses+= " row"; 20601 szLabelClasses += " col col-12 col-sm-3"; 20602 szFormControlClasses += " col col-12 col-sm-9"; 20603 20604 if ( oConfig["label-v-align"]){ 20605 szFormGroupClasses += " " + oConfig["label-v-align"]; 20606 } 20607 }break; 20608 case 2:{ 20609 szFormGroupClasses+= " row"; 20610 szLabelClasses += " col col-12 col-sm-2"; 20611 szFormControlClasses += " col col-12 col-sm-10"; 20612 20613 if ( oConfig["label-v-align"]){ 20614 szFormGroupClasses += " " + oConfig["label-v-align"]; 20615 } 20616 }break; 20617 case -1:{ 20618 szFormGroupClasses += " d-inline-block"; 20619 szLabelClasses += " col col-auto d-inline-block pr-0"; 20620 szFormControlClasses += " col col-auto d-inline-block"; 20621 20622 if ( oConfig["label-v-align"]){ 20623 szFormGroupClasses += " " + oConfig["label-v-align"]; 20624 } 20625 }break; 20626 } 20627 20628 szLabelClasses += " text-" + oConfig["label-align"]; 20629 20630 html+= '<div class="' + szFormGroupClasses + '"'; 20631 if ( oConfig["widget-id"]){ 20632 html+= ' widget-id="' + oConfig["widget-id"] + '"'; 20633 } 20634 html += '>'; 20635 20636 if ( oConfig["label-title"] != "" || 20637 (iDisplay != 12 && iDisplay != "inline-block" && iDisplay != -1)){ 20638 html+= '<legend class="' + szLabelClasses + '" for="' + guid + '">' + oConfig["label-title"] + '</legend>'; 20639 } 20640 20641 html+= '<fieldset class="' + szFormControlClasses + '">'; 20642 20643 html += szHtml; 20644 20645 if ( oConfig["label-description"] ){ 20646 html+= '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 20647 } 20648 20649 html+= '<div class="invalid-feedback text-' + oConfig["label-align"] + '"></div>'; 20650 20651 html+= '</div>'; 20652 20653 html+= '</fieldset>'; 20654 20655 20656 20657 return html; 20658} 20659 20660function formFieldsBuildDraggableListField(oConfig, aValues ){ 20661 oDefault = { 20662 "orientation" : "v", 20663 "removable-items" : false, 20664 "delete-items" : false, 20665 "edit-items" : false, 20666 "custom-deletion" : false, 20667 "custom-editing" : false, 20668 "dataset" : "fixed", 20669 "field-name" : "", 20670 "field-name-key" : "", 20671 "avoid-duplicates" : true, 20672 "avoid-drag-items" : false, 20673 "label-title" : "", 20674 "label-description" : "", 20675 "avoid-drop-items" : false, 20676 "search-in-list" : false, 20677 "show-values" : false, 20678 "classes" : '', 20679 "list-height" : 0, 20680 "list-max-height" : 200, 20681 "group-name" : "", 20682 "manually-add-items" : false, 20683 "label-search" : g_oCTLFormFieldsLocalizationCommon["Search..."], 20684 "widget-id" : 0, 20685 "mandatory" : false, 20686 "mandatory-on-label" : true, 20687 }; 20688 20689 oConfig = jQuery.extend(oDefault, oConfig); 20690 20691 var guid = ""; 20692 if (oConfig["field-name"]){ 20693 guid = oConfig["field-name"] + "-"; 20694 } 20695 guid += g_oCTLWPStudio.makeCode(4); 20696 20697 iDisplay = oConfig["display"]; 20698 20699 20700 szClasses = "draggable form-group"; 20701 20702 if (oConfig["classes"]){ 20703 szClasses += ' ' + oConfig["classes"]; 20704 } 20705 20706 if (oConfig["group-name"]){ 20707 szClasses += ' ' + oConfig["group-name"]; 20708 } 20709 20710 html = ''; 20711 html += '<div id="' + guid + '" class="' + szClasses + '"'; 20712 20713 if (oConfig["group-name"]){ 20714 html += ' data-group="' + oConfig["group-name"] + '"'; 20715 } 20716 20717 html +='>'; 20718 20719 szFormGroupClasses = "form-group"; 20720 szLabelClasses = "ctl-form-field-label"; 20721 szFormControlClasses = 'ctl-wp-studio-form-control-wrapper'; 20722 szFormControlClasses += " ctldraglistfield"; 20723 20724 if( oConfig["mandatory"] ){ 20725 szFormControlClasses += " mandatory"; 20726 20727 if ( oConfig["mandatory-on-label"] ){ 20728 szFormGroupClasses += " mandatory-on-label"; 20729 } 20730 } 20731 20732 switch(iDisplay){ 20733 case 12:{ 20734 szLabelClasses += " d-block"; 20735 }break; 20736 case 10:{ 20737 szFormGroupClasses+= " row";
20738 szLabelClasses += " col col-12 col-sm-10"; 20739 szFormControlClasses += " col col-12 col-sm-2"; 20740 20741 if ( oConfig["label-v-align"]){ 20742 szFormGroupClasses += " " + oConfig["label-v-align"]; 20743 } 20744 }break; 20745 case 9:{ 20746 szFormGroupClasses+= " row"; 20747 szLabelClasses += " col col-12 col-sm-9"; 20748 szFormControlClasses += " col col-12 col-sm-3"; 20749 if ( oConfig["label-v-align"]){ 20750 szFormGroupClasses += " " + oConfig["label-v-align"]; 20751 } 20752 }break; 20753 case 6:{ 20754 szFormGroupClasses+= " row"; 20755 szLabelClasses += " col col-12 col-sm-6"; 20756 szFormControlClasses += " col col-12 col-sm-6"; 20757 20758 if ( oConfig["label-v-align"]){ 20759 szFormGroupClasses += " " + oConfig["label-v-align"]; 20760 } 20761 }break; 20762 case 3:{ 20763 szFormGroupClasses += " row"; 20764 szLabelClasses += " col col-12 col-sm-3"; 20765 szFormControlClasses += " col col-12 col-sm-9"; 20766 20767 if ( oConfig["label-v-align"] ){ 20768 szFormGroupClasses += " " + oConfig["label-v-align"]; 20769 } 20770 }break; 20771 case 2:{ 20772 szFormGroupClasses += " row"; 20773 szLabelClasses += " col col-12 col-sm-2"; 20774 szFormControlClasses += " col col-12 col-sm-10"; 20775 20776 if ( oConfig["label-v-align"] ){ 20777 szFormGroupClasses += " " + oConfig["label-v-align"]; 20778 } 20779 }break; 20780 case -1:{ 20781 szFormGroupClasses += " d-inline-block"; 20782 szLabelClasses += " col col-auto d-inline-block pr-0"; 20783 szFormControlClasses += " col col-auto d-inline-block"; 20784 20785 if ( oConfig["label-v-align"] ){ 20786 szFormGroupClasses += " " + oConfig["label-v-align"]; 20787 } 20788 }break; 20789 case "inline-block":{ 20790 szLabelClasses += " col col-auto d-inline-block"; 20791 szFormControlClasses += " col col-auto d-inline-block"; 20792 }break; 20793 } 20794 20795 html += '<div class="' + szFormGroupClasses + '"'; 20796 if ( oConfig["widget-id"] ){ 20797 html+= ' widget-id="' + oConfig["widget-id"] + '"'; 20798 } 20799 html += '>'; 20800 20801 if ( oConfig["label-title"] ){ 20802 html += '<label class="' + szLabelClasses + '">' + oConfig["label-title"] + '</label>'; 20803 } 20804 20805 html+= '<div class="' + szFormControlClasses + '">'; 20806 20807 20808 if ( oConfig['search-in-list'] ){ 20809 id = g_oCTLWPStudio.makeCode(4); 20810 html += '<div class="input-group input-group-sm mb-3 draggable-search-in-list">'; 20811 20812 html += '<div class="input-group-prepend">'; 20813 html += '<span class="input-group-text"><i class="ctl-wp-studio-icons-search"></i></span>'; 20814 html += '</div>'; 20815 20816 html += '<input type="text" class="form-control draggable-action-search-in-list" placeholder="'. 20817 oConfig['label-search'] + 20818 '" aria-describedby="' + id + '" />'; 20819 html += '<div class="input-group-append">'; 20820 html += '<button class="btn btn-primary btn-cancel-search" type="button" id="' + id + 20821 '"><i class="ctl-wp-studio-icons-cancel"></i></button>'; 20822 html += '</div>'; 20823 html += '</div>'; 20824 } 20825 20826 szListClasses = 'draggable-list-' + oConfig["orientation"]; 20827 20828 szListClasses += ' list-group'; 20829 20830 if ( oConfig["removable-items"]){ 20831 szListClasses+= ' draggable-list-item-removable'; 20832 } 20833 20834 if ( oConfig["delete-items"]){ 20835 szListClasses+= ' draggable-list-item-deletion'; 20836 } 20837 20838 if ( oConfig["edit-items"]){ 20839 szListClasses+= ' draggable-list-item-editing'; 20840 } 20841 20842 if ( oConfig["custom-deletion"]){ 20843 szListClasses+= ' draggable-list-custom-deletion'; 20844 } 20845 20846 if ( oConfig["custom-editing"]){ 20847 szListClasses+= ' draggable-list-custom-editing'; 20848 } 20849 20850 if ( oConfig["avoid-duplicates"]){ 20851 szListClasses+= ' draggable-list-avoid-duplicates'; 20852 } 20853 20854 if ( oConfig["avoid-drag-items"]){ 20855 szListClasses+= ' draggable-list-avoid-drag'; 20856 } 20857 20858 if ( oConfig["avoid-drop-items"]){ 20859 szListClasses+= ' draggable-list-avoid-drop-items'; 20860 } 20861 20862 if ( oConfig["show-values"]){ 20863 szListClasses+= ' draggable-list-show-values'; 20864 } 20865 20866 if ( oConfig["draggable-sm"]){ 20867 szListClasses+= ' draggable-sm'; 20868 } 20869 20870 var szFieldName = oConfig["field-name"]; 20871 if ( oConfig["field-name"].indexOf("[]") === -1 ){ 20872 szFieldName += "[]"; 20873 } 20874 20875 htmlSelect = ""; 20876 20877 if ( !oConfig["field-name"].endsWith("[]") ){ 20878 htmlSelect += '<input type="hidden" name="' + oConfig["field-name"] + '-hidden" value="1" />'; 20879 }else{ 20880 htmlSelect += '<input type="hidden" name="' + oConfig["field-name"].replace("[]","") + '-hidden" value="1" />'; 20881 } 20882 20883 htmlSelect += '<select name="' + szFieldName + '" class="d-none ctl-draggable-hidden-select" multiple>'; 20884 20885 let szFieldNameKey = oConfig["field-name-key"]; 20886 if ( szFieldNameKey.indexOf("[]") === -1 ){ 20887 szFieldNameKey += "[]"; 20888 } 20889 20890 bSelectedKey = false;
20891 20892 20893 if ( empty(szFieldNameKey) && !empty(szFieldName) ){ 20894 szFieldNameKey = szFieldName + '-key[]'; 20895 } 20896 20897 bSelectedKey = false; 20898 if(!empty(szFieldNameKey)){ 20899 htmlSelectKey = ""; 20900 20901 if ( !oConfig["field-name-key"].endsWith("[]") ){ 20902 htmlSelectKey += '<input type="hidden" name="'+oConfig["field-name-key"]+'-hidden" value="1" />'; 20903 }else{ 20904 htmlSelectKey += '<input type="hidden" name="'+oConfig["field-name-key"].replace("[]","")+'-hidden" value="1" />'; 20905 } 20906 20907 htmlSelectKey += '<select name="'+szFieldNameKey + '" class="d-none ctl-draggable-hidden-select-key" multiple>'; 20908 bSelectedKey = true; 20909 } 20910 20911 20912 20913 html += '<ul class="' + szListClasses + '"'; 20914 20915 if ( oConfig["list-height"] || oConfig["list-max-height"] ){ 20916 html += ' style="'; 20917 20918 if ( oConfig["list-height"] ){ 20919 html += ' height: ' + oConfig["list-height"] + 'px;'; 20920 } 20921 if ( oConfig["list-max-height"] ){ 20922 html += ' max-height: ' + oConfig["list-max-height"] + 'px;'; 20923 } 20924 20925 html += '"'; 20926 } 20927 20928 html += '>'; 20929 20930 if (aValues){ 20931 for( var i = 0; i < aValues.length; i++ ){ 20932 var oValue = aValues[i]; 20933 20934 guid = g_oCTLWPStudio.makeCode(16); 20935 20936 oValue = formFieldsUnpackSelectItemData(oValue); 20937 20938 szClasses = 'draggable-item ctl-wp-studio-noselect'; 20939 20940 szClasses += ' list-group-item'; 20941 20942 if (oConfig["group-name"]){ 20943 szClasses += ' ' + oConfig["group-name"]; 20944 } 20945 20946 htmlSelect += '<option selected="selected" value="' + oValue["value"] + '">' + oValue["label"] + '</option>'; 20947 if(bSelectedKey){ 20948 htmlSelectKey += '<option selected="selected" value="'+oValue["label"]+'">'+oValue["value"]+'</option>'; 20949 } 20950 20951 html += '<li id="' + guid + '" class="' + szClasses + '" data-value="' + oValue["value"] + '"'; 20952 20953 if (oConfig["group-name"]){ 20954 html += ' data-group="' + oConfig["group-name"] + '"'; 20955 } 20956 20957 html +='>'; 20958 20959 iCntSpacing = 0; 20960 if ( oConfig["edit-items"]){ 20961 iCntSpacing++; 20962 } 20963 if ( oConfig["delete-items"]){ 20964 iCntSpacing++; 20965 } 20966 20967 html += '<div class="draggable-item-label draggable-spacing-' + iCntSpacing + '">' + oValue["label"] + '</div>'; 20968 20969 if ( oConfig["show-values"]){ 20970 html += '<div class="draggable-item-value draggable-spacing-' + iCntSpacing + '"">' + oValue["value"] + '</div>'; 20971 } 20972 20973 html += '<div class="draggable-item-actions">'; 20974 if ( oConfig["edit-items"]){ 20975 html += '<i class="fas fa-pencil-alt draggable-edit-item"></i>'; 20976 } 20977 20978 if ( oConfig["delete-items"]){ 20979 html += '<i class="fas fa-trash-alt draggable-delete-item"></i>'; 20980 } 20981 html += '</div>'; 20982 20983 html += '<div class="draggable-item-extras"></div>'; 20984 20985 html += '</li>'; 20986 } 20987 } 20988 20989 20990 html += '</ul>'; 20991 20992 htmlSelect += '</select>'; 20993 html += htmlSelect; 20994 20995 if(bSelectedKey){ 20996 htmlSelectKey += '</select>'; 20997 html += htmlSelectKey; 20998 } 20999 21000 if ( oConfig["manually-add-items"] ){ 21001 html += '<div class="draggable-manually-add-items mt-2 border rounded px-3 pt-3">'; 21002 21003 iButtonsDisplay = 12; 21004 21005 switch(oConfig["dataset"]){ 21006 case "cpt":{ 21007 oConfigSelect2 = array(); 21008 oConfigSelect2["enable-select2"] = false; 21009 oConfigSelect2["classes"] = "ctl-wp-studio-select2-search"; 21010 oConfigSelect2["data-attr"] = 21011 'data-type-search="QUERY_SET_FILTER_CUSTOM_POST_TYPE" data-custom-post-type="' + 21012 oConfig['cpt'] +'"'; 21013 21014 if ( oConfig["cpt-search-enable-image"] ){ 21015 oConfigSelect2["data-attr"] += ' data-get-image="1"'; 21016 } 21017 oConfigSelect2["label-suggestion"] = g_oCTLFormFieldsLocalizationCommon["Search..."]; 21018 21019 html += formFieldsBuildSelectField(oConfigSelect2); 21020 21021 }break; 21022 case "fixed":{ 21023 21024 iButtonsDisplay = 3; 21025 21026 html += formFieldsBuildTextField({ 21027 'label-title' : g_oCTLFormFieldsLocalizationCommon["Item Label"], 21028 'field-name' : 'list-label', 21029 'classes' : 'form-control-sm', 21030 'display':iButtonsDisplay, 21031 }); 21032 html += formFieldsBuildTextField({ 21033 'label-title' : g_oCTLFormFieldsLocalizationCommon["Item Value"], 21034 'field-name' : 'list-value', 21035 'classes' : 'form-control-sm', 21036 'display' : iButtonsDisplay, 21037 }); 21038 }break; 21039 } 21040 21041 htmlButtons = ""; 21042 htmlButtons += formFieldsBuildButtonField({ 21043 'button-title' : g_oCTLFormFieldsLocalizationCommon["add value"], 21044 'display' : 'inline-block', 21045 'classes' : 'btn-xs draggable-add-value mr-2', 21046 }); 21047 htmlButtons += formFieldsBuildButtonField({ 21048 'button-title' : g_oCTLFormFieldsLocalizationCommon["empty list"], 21049 'display' : 'inline-block', 21050 'semantic-color' : 'secondary', 21051 'classes' : 'btn-xs draggable-empty-list', 21052 }); 21053 21054 html += formFieldsBuildHtmlField({ 21055 "display" : iButtonsDisplay, 21056 }, htmlButtons 21057 ); 21058 } 21059 21060 if ( oConfig["label-description"] ){ 21061 html+= '<small class="ctl-form-field-description">' + oConfig["label-description"] + '</small>'; 21062 } 21063 21064 html += '</div>'; 21065 21066 html+= '<div class="draggable-error">'; 21067 html+= '<div class="invalid-feedback"></div>'; 21068 html += '</div>'; 21069 21070 html += '</div>'; 21071 21072 html += '</div>'; 21073 21074 return html; 21075} 21076 21077function ctlSignatureFormControl( oNodeParent = null ){ 21078 21079 if ( !oNodeParent ){ 21080 oNodeParent = jQuery("body"); 21081 } 21082 21083 if(oNodeParent.find('.ctlsignaturefield').length < 1){ 21084 return; 21085 } 21086 21087 oNodeParent.find('.ctl-signature-iframe').each(function(){ 21088 let oSignatureIFrameContainer = jQuery(this).closest('.ctl-signature-iframe-container'); 21089 let oNodeSignatureField = oSignatureIFrameContainer.closest(".ctlsignaturefield"); 21090 let oNodeTextarea = oNodeSignatureField.find("textarea"); 21091 21092 let szStrokeColor = jQuery(this).data('stroke-color'); 21093 let szStrokeWidth = jQuery(this).data('stroke-width'); 21094 21095 jQuery(this.contentWindow).on('load',function(){ 21096 var oContentWindow = this; 21097 var oEraseButton = oSignatureIFrameContainer.find('.ctl-form-field-erase-signature').first(); 21098 var oColorField = oSignatureIFrameContainer.find('.ctl-form-field-color-signature').first(); 21099 var oStrokeWidthField = oSignatureIFrameContainer.find('.ctl-form-field-signature-stroke-width').first(); 21100 21101 oEraseButton.on('click',null,function(){ 21102 oContentWindow.triggerEvent('eraseDraw'); 21103 oNodeTextarea.val(''); 21104 }) 21105 21106 oColorField.on('change',null,function(){ 21107 oContentWindow.triggerEvent('changeColor', jQuery(this).val()); 21108 }) 21109 21110 oStrokeWidthField.on('change input paste',null,function(){ 21111 oContentWindow.triggerEvent('changeStrokeWidth', jQuery(this).val()); 21112 }) 21113 21114 oContentWindow.triggerEvent( 21115 'changeColor', 21116 szStrokeColor 21117 ); 21118 21119 oContentWindow.triggerEvent( 21120 'changeStrokeWidth', 21121 szStrokeWidth 21122 ); 21123 }) 21124 }) 21125} 21126 21127function onCTLSignatureEventGetSignature(){ 21128 21129} 21130 21131function onCTLSignatureEventSaveSignature(szResultFieldID, szBse64PngSignature){ 21132 let oNodeTextarea = jQuery('#' + szResultFieldID); 21133 ctlFormFieldCleanError(oNodeTextarea); 21134 21135 oNodeTextarea.val(szBse64PngSignature); 21136} 21137 21138function ctlSketchFormControl( guidTextarea ){ 21139 21140 let oNodeSketchField = jQuery('#' + guidTextarea).closest('.ctlsketchfield'); 21141 21142 21143 let oNodeTextareaSavedImage = oNodeSketchField.find("textarea[data-field-type='saved-image']"); 21144 let oNodeTextareaDefaultImage = oNodeSketchField.find("textarea[data-field-type='default-image']"); 21145 21146 let oNodeIframe = oNodeSketchField.find("iframe")[0]; 21147 var oContentWindow = oNodeIframe.contentWindow; 21148 21149 let szStrokeColor = jQuery(oNodeIframe).data('stroke-color'); 21150 let szStrokeWidth = jQuery(oNodeIframe).data('stroke-width'); 21151 21152 var oEraseButton = oNodeSketchField.find('.ctl-form-field-erase-sketch').first(); 21153 var oColorField = oNodeSketchField.find('.ctl-form-field-color-sketch').first(); 21154 var oStrokeWidthField = oNodeSketchField.find('.ctl-form-field-sketch-stroke-width').first(); 21155 21156 21157 oEraseButton.on('click',null,function(){ 21158 oContentWindow.triggerEvent('drawUploadedImage', oNodeTextareaDefaultImage.val()); 21159 oNodeTextareaSavedImage.val(''); 21160 }) 21161 21162 oColorField.on('change',null,function(){ 21163 oContentWindow.triggerEvent('changeColor', jQuery(this).val()); 21164 }) 21165 21166 oStrokeWidthField.on('change input paste',null,function(){ 21167 oContentWindow.triggerEvent('changeStrokeWidth', jQuery(this).val()); 21168 }) 21169 21170 oContentWindow.triggerEvent('drawUploadedImage', oNodeTextareaSavedImage.val()); 21171 21172 oContentWindow.triggerEvent( 21173 'changeColor', 21174 szStrokeColor 21175 ); 21176 21177 oContentWindow.triggerEvent( 21178 'changeStrokeWidth', 21179 szStrokeWidth 21180 ); 21181} 21182 21183function onCTLSketchEventGetSketch(){ 21184 21185} 21186 21187function onCTLSketchEventSaveSketch(szResultFieldID, szBase64PngSketch){ 21188 let oNodeTextarea = jQuery('#' + szResultFieldID); 21189 ctlFormFieldCleanError(oNodeTextarea); 21190 21191 oNodeTextarea.val(szBase64PngSketch); 21192} 21193// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-form-fields/php/../js/tempusdominus-bootstrap-4.min.js 21194/*!@preserve 21195 * Tempus Dominus Bootstrap4 v5.39.0 (https://tempusdominus.github.io/bootstrap-4/) 21196 * Copyright 2016-2020 Jonathan Peterson and contributors 21197 * Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE) 21198 */
vendor: 61,341 bytes, lines 21198-21199
21198 21199if("undefined"==typeof jQuery)throw new Error("Tempus Dominus Bootstrap4's requires jQuery. jQuery must be included before Tempus Dominus Bootstrap4's JavaScript.");if(!function(){var t=jQuery.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Tempus Dominus Bootstrap4's requires at least jQuery v3.0.0 but less than v4.0.0")}(),"undefined"==typeof moment)throw new Error("Tempus Dominus Bootstrap4's requires moment.js. Moment.js must be included before Tempus Dominus Bootstrap4's JavaScript.");var version=moment.version.split(".");if(version[0]<=2&&version[1]<17||3<=version[0])throw new Error("Tempus Dominus Bootstrap4's requires at least moment.js v2.17.0 but less than v3.0.0");!function(){function s(t,e){for(var i=0;i<e.length;i++){var s=e[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}var a,n,o,r,d,h,l,c,u,_,f,m,w,g,i,b,v,M=(a=jQuery,n=moment,l={DATA_TOGGLE:'[data-toggle="'+(r=o="datetimepicker")+'"]'},c={INPUT:o+"-input"},u={CHANGE:"change"+(d="."+r),BLUR:"blur"+d,KEYUP:"keyup"+d,KEYDOWN:"keydown"+d,FOCUS:"focus"+d,CLICK_DATA_API:"click"+d+(h=".data-api"),UPDATE:"update"+d,ERROR:"error"+d,HIDE:"hide"+d,SHOW:"show"+d},_=[{CLASS_NAME:"days",NAV_FUNCTION:"M",NAV_STEP:1},{CLASS_NAME:"months",NAV_FUNCTION:"y",NAV_STEP:1},{CLASS_NAME:"years",NAV_FUNCTION:"y",NAV_STEP:10},{CLASS_NAME:"decades",NAV_FUNCTION:"y",NAV_STEP:100}],f={up:38,38:"up",down:40,40:"down",left:37,37:"left",right:39,39:"right",tab:9,9:"tab",escape:27,27:"escape",enter:13,13:"enter",pageUp:33,33:"pageUp",pageDown:34,34:"pageDown",shift:16,16:"shift",control:17,17:"control",space:32,32:"space",t:84,84:"t",delete:46,46:"delete"},m=["times","days","months","years","decades"],v={timeZone:"",format:!(b={time:"clock",date:"calendar",up:"arrow-up",down:"arrow-down",previous:"arrow-left",next:"arrow-right",today:"arrow-down-circle",clear:"trash-2",close:"x"}),dayViewHeaderFormat:"MMMM YYYY",extraFormats:!(i={timeZone:-39,format:-38,dayViewHeaderFormat:-37,extraFormats:-36,stepping:-35,minDate:-34,maxDate:-33,useCurrent:-32,collapse:-31,locale:-30,defaultDate:-29,disabledDates:-28,enabledDates:-27,icons:-26,tooltips:-25,useStrict:-24,sideBySide:-23,daysOfWeekDisabled:-22,calendarWeeks:-21,viewMode:-20,toolbarPlacement:-19,buttons:-18,widgetPositioning:-17,widgetParent:-16,ignoreReadonly:-15,keepOpen:-14,focusOnShow:-13,inline:-12,keepInvalid:-11,keyBinds:-10,debug:-9,allowInputToggle:-8,disabledTimeIntervals:-7,disabledHours:-6,enabledHours:-5,viewDate:-4,allowMultidate:-3,multidateSeparator:-2,updateOnlyThroughDateOption:-1,date:1}),stepping:1,minDate:!(g={}),maxDate:!(w={}),useCurrent:!0,collapse:!0,locale:n.locale(),defaultDate:!1,disabledDates:!1,enabledDates:!1,icons:{type:"class",time:"fa fa-clock-o",date:"fa fa-calendar",up:"fa fa-arrow-up",down:"fa fa-arrow-down",previous:"fa fa-chevron-left",next:"fa fa-chevron-right",today:"fa fa-calendar-check-o",clear:"fa fa-trash",close:"fa fa-times"},tooltips:{today:"Go to today",clear:"Clear selection",close:"Close the picker",selectMonth:"Select Month",prevMonth:"Previous Month",nextMonth:"Next Month",selectYear:"Select Year",prevYear:"Previous Year",nextYear:"Next Year",selectDecade:"Select Decade",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevCentury:"Previous Century",nextCentury:"Next Century",pickHour:"Pick Hour",incrementHour:"Increment Hour",decrementHour:"Decrement Hour",pickMinute:"Pick Minute",incrementMinute:"Increment Minute",decrementMinute:"Decrement Minute",pickSecond:"Pick Second",incrementSecond:"Increment Second",decrementSecond:"Decrement Second",togglePeriod:"Toggle Period",selectTime:"Select Time",selectDate:"Select Date"},useStrict:!1,sideBySide:!1,daysOfWeekDisabled:!1,calendarWeeks:!1,viewMode:"days",toolbarPlacement:"default",buttons:{showToday:!1,showClear:!1,showClose:!1},widgetPositioning:{horizontal:"auto",vertical:"auto"},widgetParent:null,readonly:!1,ignoreReadonly:!1,keepOpen:!1,focusOnShow:!0,inline:!1,keepInvalid:!1,keyBinds:{up:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(".datepicker").is(":visible")?this.date(t.clone().subtract(7,"d")):this.date(t.clone().add(this.stepping(),"m")),!0},down:function(){if(!this.widget)return this.show(),!1;var t=this._dates[0]||this.getMoment();return this.widget.find(".datepicker").is(":visible")?this.date(t.clone().add(7,"d")):this.date(t.clone().subtract(this.stepping(),"m")),!0},"control up":function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(".datepicker").is(":visible")?this.date(t.clone().subtract(1,"y")):this.date(t.clone().add(1,"h")),!0},"control down":function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(".datepicker").is(":visible")?this.date(t.clone().add(1,"y")):this.date(t.clone().subtract(1,"h")),!0},left:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(".datepicker").is(":visible")&&this.date(t.clone().subtract(1,"d")),!0},right:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(".datepicker").is(":visible")&&this.date(t.clone().add(1,"d")),!0},pageUp:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(".datepicker").is(":visible")&&this.date(t.clone().subtract(1,"M")),!0},pageDown:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(".datepicker").is(":visible")&&this.date(t.clone().add(1,"M")),!0},enter:function(){return!!this.widget&&(this.hide(),!0)},escape:function(){return!!this.widget&&(this.hide(),!0)},"control space":function(){return!!this.widget&&(this.widget.find(".timepicker").is(":visible")&&this.widget.find('.btn[data-action="togglePeriod"]').click(),!0)},t:function(){return!!this.widget&&(this.date(this.getMoment()),!0)},delete:function(){return!!this.widget&&(this.clear(),!0)}},debug:!1,allowInputToggle:!1,disabledTimeIntervals:!1,disabledHours:!1,enabledHours:!1,viewDate:!1,allowMultidate:!1,multidateSeparator:", ",updateOnlyThroughDateOption:!1,promptTimeOnDateChange:!1,promptTimeOnDateChangeTransitionDelay:200},function(){function p(t,e){this._options=this._getOptions(e),this._element=t,this._dates=[],this._datesFormatted=[],this._viewDate=null,this.unset=!0,this.component=!1,this.widget=!1,this.use24Hours=null,this.actualFormat=null,this.parseFormats=null,this.currentViewMode=null,this.MinViewModeNumber=0,this.isInitFormatting=!1,this.isInit=!1,this.isDateUpdateThroughDateOptionFromClientCode=!1,this.hasInitDate=!1,this.initDate=void 0,this._notifyChangeEventContext=void 0,this._currentPromptTimeTimeout=null,this._int()}var t,e,i=p.prototype;return i._int=function(){this.isInit=!0;var t=this._element.data("target-input");this._element.is("input")?this.input=this._element:void 0!==t&&(this.input="nearest"===t?this._element.find("input"):a(t)),this._dates=[],this._dates[0]=this.getMoment(),this._viewDate=this.getMoment().clone(),a.extend(!0,this._options,this._dataToOptions()),this.hasInitDate=!1,this.initDate=void 0,this.options(this._options),this.isInitFormatting=!0,this._initFormatting(),this.isInitFormatting=!1,void 0!==this.input&&this.input.is("input")&&0!==this.input.val().trim().length?this._setValue(this._parseInputDate(this.input.val().trim()),0):this._options.defaultDate&&void 0!==this.input&&void 0===this.input.attr("placeholder")&&this._setValue(this._options.defaultDate,0),this.hasInitDate&&this.date(this.initDate),this._options.inline&&this.show(),this.isInit=!1},i._update=function(){this.widget&&(this._fillDate(),this._fillTime())},i._setValue=function(t,e){var i=void 0===e,s=!t&&i,a=this.isDateUpdateThroughDateOptionFromClientCode,n=!this.isInit&&this._options.updateOnlyThroughDateOption&&!a,o="",r=!1,d=this.unset?null:this._dates[e];if(!d&&!this.unset&&i&&s&&(d=this._dates[this._dates.length-1]),!t)return n?void this._notifyEvent({type:p.Event.CHANGE,date:t,oldDate:d,isClear:s,isInvalid:r,isDateUpdateThroughDateOptionFromClientCode:a,isInit:this.isInit}):(!this._options.allowMultidate||1===this._dates.length||s?(this.unset=!0,this._dates=[],this._datesFormatted=[]):(o=""+this._element.data("date")+this._options.multidateSeparator,o=d&&o.replace(""+d.format(this.actualFormat)+this._options.multidateSeparator,"").replace(""+this._options.multidateSeparator+this._options.multidateSeparator,"").replace(new RegExp(this._options.multidateSeparator.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")+"\\s*$"),"")||"",this._dates.splice(e,1),this._datesFormatted.splice(e,1)),o=D(o),void 0!==this.input&&(this.input.val(o),this.input.trigger("input")),this._element.data("date",o),this._notifyEvent({type:p.Event.CHANGE,date:!1,oldDate:d,isClear:s,isInvalid:r,isDateUpdateThroughDateOptionFromClientCode:a,isInit:this.isInit}),void this._update());if(t=t.clone().locale(this._options.locale),this._hasTimeZone()&&t.tz(this._options.timeZone),1!==this._options.stepping&&t.minutes(Math.round(t.minutes()/this._options.stepping)*this._options.stepping).seconds(0),this._isValid(t)){if(n)return void this._notifyEvent({type:p.Event.CHANGE,date:t.clone(),oldDate:d,isClear:s,isInvalid:r,isDateUpdateThroughDateOptionFromClientCode:a,isInit:this.isInit});if(this._dates[e]=t,this._datesFormatted[e]=t.format("YYYY-MM-DD"),this._viewDate=t.clone(),this._options.allowMultidate&&1<this._dates.length){for(var h=0;h<this._dates.length;h++)o+=""+this._dates[h].format(this.actualFormat)+this._options.multidateSeparator;o=o.replace(new RegExp(this._options.multidateSeparator+"\\s*$"),"")}else o=this._dates[e].format(this.actualFormat);o=D(o),void 0!==this.input&&(this.input.val(o),this.input.trigger("input")),this._element.data("date",o),this.unset=!1,this._update(),this._notifyEvent({type:p.Event.CHANGE,date:this._dates[e].clone(),oldDate:d,isClear:s,isInvalid:r,isDateUpdateThroughDateOptionFromClientCode:a,isInit:this.isInit})}else r=!0,this._options.keepInvalid?this._notifyEvent({type:p.Event.CHANGE,date:t,oldDate:d,isClear:s,isInvalid:r,isDateUpdateThroughDateOptionFromClientCode:a,isInit:this.isInit}):void 0!==this.input&&(this.input.val(""+(this.unset?"":this._dates[e].format(this.actualFormat))),this.input.trigger("input")),this._notifyEvent({type:p.Event.ERROR,date:t,oldDate:d})},i._change=function(t){var e=a(t.target).val().trim(),i=e?this._parseInputDate(e):null;return this._setValue(i,0),t.stopImmediatePropagation(),!1},i._getOptions=function(t){return t=a.extend(!0,{},v,t&&t.icons&&"feather"===t.icons.type?{icons:b}:{},t)},i._hasTimeZone=function(){return void 0!==n.tz&&void 0!==this._options.timeZone&&null!==this._options.timeZone&&""!==this._options.timeZone},i._isEnabled=function(t){if("string"!=typeof t||1<t.length)throw new TypeError("isEnabled expects a single character string parameter");switch(t){case"y":return-1!==this.actualFormat.indexOf("Y");case"M":return-1!==this.actualFormat.indexOf("M");case"d":return-1!==this.actualFormat.toLowerCase().indexOf("d");case"h":case"H":return-1!==this.actualFormat.toLowerCase().indexOf("h");case"m":return-1!==this.actualFormat.indexOf("m");case"s":return-1!==this.actualFormat.indexOf("s");case"a":case"A":return-1!==this.actualFormat.toLowerCase().indexOf("a");default:return!1}},i._hasTime=function(){return this._isEnabled("h")||this._isEnabled("m")||this._isEnabled("s")},i._hasDate=function(){return this._isEnabled("y")||this._isEnabled("M")||this._isEnabled("d")},i._dataToOptions=function(){var i=this._element.data(),s={};return i.dateOptions&&i.dateOptions instanceof Object&&(s=a.extend(!0,s,i.dateOptions)),a.each(this._options,function(t){var e="date"+t.charAt(0).toUpperCase()+t.slice(1);void 0!==i[e]?s[t]=i[e]:delete s[t]}),s},i._format=function(){return this._options.format||"YYYY-MM-DD HH:mm"},i._areSameDates=function(t,e){var i=this._format();return t&&e&&(t.isSame(e)||n(t.format(i),i).isSame(n(e.format(i),i)))},i._notifyEvent=function(t){if(t.type===p.Event.CHANGE){if(this._notifyChangeEventContext=this._notifyChangeEventContext||0,this._notifyChangeEventContext++,t.date&&this._areSameDates(t.date,t.oldDate)||!t.isClear&&!t.date&&!t.oldDate||1<this._notifyChangeEventContext)return void(this._notifyChangeEventContext=void 0);this._handlePromptTimeIfNeeded(t)}this._element.trigger(t),this._notifyChangeEventContext=void 0},i._handlePromptTimeIfNeeded=function(t){if(this._options.promptTimeOnDateChange){if(!t.oldDate&&this._options.useCurrent)return;if(t.oldDate&&t.date&&(t.oldDate.format("YYYY-MM-DD")===t.date.format("YYYY-MM-DD")||t.oldDate.format("YYYY-MM-DD")!==t.date.format("YYYY-MM-DD")&&t.oldDate.format("HH:mm:ss")!==t.date.format("HH:mm:ss")))return;var e=this;clearTimeout(this._currentPromptTimeTimeout),this._currentPromptTimeTimeout=setTimeout(function(){e.widget&&e.widget.find('[data-action="togglePicker"]').click()},this._options.promptTimeOnDateChangeTransitionDelay)}},i._viewUpdate=function(t){"y"===t&&(t="YYYY"),this._notifyEvent({type:p.Event.UPDATE,change:t,viewDate:this._viewDate.clone()})},i._showMode=function(t){this.widget&&(t&&(this.currentViewMode=Math.max(this.MinViewModeNumber,Math.min(3,this.currentViewMode+t))),this.widget.find(".datepicker > div").hide().filter(".datepicker-"+_[this.currentViewMode].CLASS_NAME).show())},i._isInDisabledDates=function(t){return!0===this._options.disabledDates[t.format("YYYY-MM-DD")]},i._isInEnabledDates=function(t){return!0===this._options.enabledDates[t.format("YYYY-MM-DD")]},i._isInDisabledHours=function(t){return!0===this._options.disabledHours[t.format("H")]},i._isInEnabledHours=function(t){return!0===this._options.enabledHours[t.format("H")]},i._isValid=function(t,e){if(!t||!t.isValid())return!1;if(this._options.disabledDates&&"d"===e&&this._isInDisabledDates(t))return!1;if(this._options.enabledDates&&"d"===e&&!this._isInEnabledDates(t))return!1;if(this._options.minDate&&t.isBefore(this._options.minDate,e))return!1;if(this._options.maxDate&&t.isAfter(this._options.maxDate,e))return!1;if(this._options.daysOfWeekDisabled&&"d"===e&&-1!==this._options.daysOfWeekDisabled.indexOf(t.day()))return!1;if(this._options.disabledHours&&("h"===e||"m"===e||"s"===e)&&this._isInDisabledHours(t))return!1;if(this._options.enabledHours&&("h"===e||"m"===e||"s"===e)&&!this._isInEnabledHours(t))return!1;if(this._options.disabledTimeIntervals&&("h"===e||"m"===e||"s"===e)){var i=!1;if(a.each(this._options.disabledTimeIntervals,function(){if(t.isBetween(this[0],this[1]))return!(i=!0)}),i)return!1}return!0},i._parseInputDate=function(t,e){var i=(void 0===e?{}:e).isPickerShow,s=void 0!==i&&i;return void 0===this._options.parseInputDate||s?n.isMoment(t)||(t=this.getMoment(t)):t=this._options.parseInputDate(t),t},i._keydown=function(t){var e,i,s,a,n=null,o=[],r={},d=t.which;for(e in w[d]="p",w)w.hasOwnProperty(e)&&"p"===w[e]&&(o.push(e),parseInt(e,10)!==d&&(r[e]=!0));for(e in this._options.keyBinds)if(this._options.keyBinds.hasOwnProperty(e)&&"function"==typeof this._options.keyBinds[e]&&(s=e.split(" ")).length===o.length&&f[d]===s[s.length-1]){for(a=!0,i=s.length-2;0<=i;i--)if(!(f[s[i]]in r)){a=!1;break}if(a){n=this._options.keyBinds[e];break}}n&&n.call(this)&&(t.stopPropagation(),t.preventDefault())},i._keyup=function(t){w[t.which]="r",g[t.which]&&(g[t.which]=!1,t.stopPropagation(),t.preventDefault())},i._indexGivenDates=function(t){var e={},i=this;return a.each(t,function(){var t=i._parseInputDate(this);t.isValid()&&(e[t.format("YYYY-MM-DD")]=!0)}),!!Object.keys(e).length&&e},i._indexGivenHours=function(t){var e={};return a.each(t,function(){e[this]=!0}),!!Object.keys(e).length&&e},i._initFormatting=function(){var t=this._options.format||"L LT",e=this;this.actualFormat=t.replace(/(\[[^\[]*])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(t){return(e.isInitFormatting&&null===e._options.date?e.getMoment():e._dates[0]).localeData().longDateFormat(t)||t}),this.parseFormats=this._options.extraFormats?this._options.extraFormats.slice():[],this.parseFormats.indexOf(t)<0&&this.parseFormats.indexOf(this.actualFormat)<0&&this.parseFormats.push(this.actualFormat),this.use24Hours=this.actualFormat.toLowerCase().indexOf("a")<1&&this.actualFormat.replace(/\[.*?]/g,"").indexOf("h")<1,this._isEnabled("y")&&(this.MinViewModeNumber=2),this._isEnabled("M")&&(this.MinViewModeNumber=1),this._isEnabled("d")&&(this.MinViewModeNumber=0),this.currentViewMode=Math.max(this.MinViewModeNumber,this.currentViewMode),this.unset||this._setValue(this._dates[0],0)},i._getLastPickedDate=function(){var t=this._dates[this._getLastPickedDateIndex()];return!t&&this._options.allowMultidate&&(t=n(new Date)),t},i._getLastPickedDateIndex=function(){return this._dates.length-1},i.getMoment=function(t){var e=null==t?n().clone().locale(this._options.locale):this._hasTimeZone()?n.tz(t,this.parseFormats,this._options.locale,this._options.useStrict,this._options.timeZone):n(t,this.parseFormats,this._options.locale,this._options.useStrict);return this._hasTimeZone()&&e.tz(this._options.timeZone),e},i.toggle=function(){return this.widget?this.hide():this.show()},i.readonly=function(t){if(0===arguments.length)return this._options.readonly;if("boolean"!=typeof t)throw new TypeError("readonly() expects a boolean parameter");this._options.readonly=t,void 0!==this.input&&this.input.prop("readonly",this._options.readonly),this.widget&&(this.hide(),this.show())},i.ignoreReadonly=function(t){if(0===arguments.length)return this._options.ignoreReadonly;if("boolean"!=typeof t)throw new TypeError("ignoreReadonly() expects a boolean parameter");this._options.ignoreReadonly=t},i.options=function(t){if(0===arguments.length)return a.extend(!0,{},this._options);if(!(t instanceof Object))throw new TypeError("options() this.options parameter should be an object");a.extend(!0,this._options,t);var s=this,e=Object.keys(this._options).sort(k);a.each(e,function(t,e){var i=s._options[e];if(void 0!==s[e]){if(s.isInit&&"date"===e)return s.hasInitDate=!0,void(s.initDate=i);s[e](i)}})},i.date=function(t,e){if(e=e||0,0===arguments.length)return this.unset?null:this._options.allowMultidate?this._dates.join(this._options.multidateSeparator):this._dates[e].clone();if(!(null===t||"string"==typeof t||n.isMoment(t)||t instanceof Date))throw new TypeError("date() parameter must be one of [null, string, moment or Date]");"string"==typeof t&&y(t)&&(t=new Date(t)),this._setValue(null===t?null:this._parseInputDate(t),e)},i.updateOnlyThroughDateOption=function(t){if("boolean"!=typeof t)throw new TypeError("updateOnlyThroughDateOption() expects a boolean parameter");this._options.updateOnlyThroughDateOption=t},i.format=function(t){if(0===arguments.length)return this._options.format;if("string"!=typeof t&&("boolean"!=typeof t||!1!==t))throw new TypeError("format() expects a string or boolean:false parameter "+t);this._options.format=t,this.actualFormat&&this._initFormatting()},i.timeZone=function(t){if(0===arguments.length)return this._options.timeZone;if("string"!=typeof t)throw new TypeError("newZone() expects a string parameter");this._options.timeZone=t},i.dayViewHeaderFormat=function(t){if(0===arguments.length)return this._options.dayViewHeaderFormat;if("string"!=typeof t)throw new TypeError("dayViewHeaderFormat() expects a string parameter");this._options.dayViewHeaderFormat=t},i.extraFormats=function(t){if(0===arguments.length)return this._options.extraFormats;if(!1!==t&&!(t instanceof Array))throw new TypeError("extraFormats() expects an array or false parameter");this._options.extraFormats=t,this.parseFormats&&this._initFormatting()},i.disabledDates=function(t){if(0===arguments.length)return this._options.disabledDates?a.extend({},this._options.disabledDates):this._options.disabledDates;if(!t)return this._options.disabledDates=!1,this._update(),!0;if(!(t instanceof Array))throw new TypeError("disabledDates() expects an array parameter");this._options.disabledDates=this._indexGivenDates(t),this._options.enabledDates=!1,this._update()},i.enabledDates=function(t){if(0===arguments.length)return this._options.enabledDates?a.extend({},this._options.enabledDates):this._options.enabledDates;if(!t)return this._options.enabledDates=!1,this._update(),!0;if(!(t instanceof Array))throw new TypeError("enabledDates() expects an array parameter");this._options.enabledDates=this._indexGivenDates(t),this._options.disabledDates=!1,this._update()},i.daysOfWeekDisabled=function(t){if(0===arguments.length)return this._options.daysOfWeekDisabled.splice(0);if("boolean"==typeof t&&!t)return this._options.daysOfWeekDisabled=!1,this._update(),!0;if(!(t instanceof Array))throw new TypeError("daysOfWeekDisabled() expects an array parameter");if(this._options.daysOfWeekDisabled=t.reduce(function(t,e){return 6<(e=parseInt(e,10))||e<0||isNaN(e)||-1===t.indexOf(e)&&t.push(e),t},[]).sort(),this._options.useCurrent&&!this._options.keepInvalid)for(var e=0;e<this._dates.length;e++){for(var i=0;!this._isValid(this._dates[e],"d");){if(this._dates[e].add(1,"d"),31===i)throw"Tried 31 times to find a valid date";i++}this._setValue(this._dates[e],e)}this._update()},i.maxDate=function(t){if(0===arguments.length)return this._options.maxDate?this._options.maxDate.clone():this._options.maxDate;if("boolean"==typeof t&&!1===t)return this._options.maxDate=!1,this._update(),!0;"string"==typeof t&&("now"!==t&&"moment"!==t||(t=this.getMoment()));var e=this._parseInputDate(t);if(!e.isValid())throw new TypeError("maxDate() Could not parse date parameter: "+t);if(this._options.minDate&&e.isBefore(this._options.minDate))throw new TypeError("maxDate() date parameter is before this.options.minDate: "+e.format(this.actualFormat));this._options.maxDate=e;for(var i=0;i<this._dates.length;i++)this._options.useCurrent&&!this._options.keepInvalid&&this._dates[i].isAfter(t)&&this._setValue(this._options.maxDate,i);this._viewDate.isAfter(e)&&(this._viewDate=e.clone().subtract(this._options.stepping,"m")),this._update()},i.minDate=function(t){if(0===arguments.length)return this._options.minDate?this._options.minDate.clone():this._options.minDate;if("boolean"==typeof t&&!1===t)return this._options.minDate=!1,this._update(),!0;"string"==typeof t&&("now"!==t&&"moment"!==t||(t=this.getMoment()));var e=this._parseInputDate(t);if(!e.isValid())throw new TypeError("minDate() Could not parse date parameter: "+t);if(this._options.maxDate&&e.isAfter(this._options.maxDate))throw new TypeError("minDate() date parameter is after this.options.maxDate: "+e.format(this.actualFormat));this._options.minDate=e;for(var i=0;i<this._dates.length;i++)this._options.useCurrent&&!this._options.keepInvalid&&this._dates[i].isBefore(t)&&this._setValue(this._options.minDate,i);this._viewDate.isBefore(e)&&(this._viewDate=e.clone().add(this._options.stepping,"m")),this._update()},i.defaultDate=function(t){if(0===arguments.length)return this._options.defaultDate?this._options.defaultDate.clone():this._options.defaultDate;if(!t)return!(this._options.defaultDate=!1);"string"==typeof t&&(t="now"===t||"moment"===t?this.getMoment():this.getMoment(t));var e=this._parseInputDate(t);if(!e.isValid())throw new TypeError("defaultDate() Could not parse date parameter: "+t);if(!this._isValid(e))throw new TypeError("defaultDate() date passed is invalid according to component setup validations");this._options.defaultDate=e,(this._options.defaultDate&&this._options.inline||void 0!==this.input&&""===this.input.val().trim())&&this._setValue(this._options.defaultDate,0)},i.locale=function(t){if(0===arguments.length)return this._options.locale;if(!n.localeData(t))throw new TypeError("locale() locale "+t+" is not loaded from moment locales!");this._options.locale=t;for(var e=0;e<this._dates.length;e++)this._dates[e].locale(this._options.locale);this._viewDate.locale(this._options.locale),this.actualFormat&&this._initFormatting(),this.widget&&(this.hide(),this.show())},i.stepping=function(t){if(0===arguments.length)return this._options.stepping;t=parseInt(t,10),(isNaN(t)||t<1)&&(t=1),this._options.stepping=t},i.useCurrent=function(t){var e=["year","month","day","hour","minute"];if(0===arguments.length)return this._options.useCurrent;if("boolean"!=typeof t&&"string"!=typeof t)throw new TypeError("useCurrent() expects a boolean or string parameter");if("string"==typeof t&&-1===e.indexOf(t.toLowerCase()))throw new TypeError("useCurrent() expects a string parameter of "+e.join(", "));this._options.useCurrent=t},i.collapse=function(t){if(0===arguments.length)return this._options.collapse;if("boolean"!=typeof t)throw new TypeError("collapse() expects a boolean parameter");if(this._options.collapse===t)return!0;this._options.collapse=t,this.widget&&(this.hide(),this.show())},i.icons=function(t){if(0===arguments.length)return a.extend({},this._options.icons);if(!(t instanceof Object))throw new TypeError("icons() expects parameter to be an Object");a.extend(this._options.icons,t),this.widget&&(this.hide(),this.show())},i.tooltips=function(t){if(0===arguments.length)return a.extend({},this._options.tooltips);if(!(t instanceof Object))throw new TypeError("tooltips() expects parameter to be an Object");a.extend(this._options.tooltips,t),this.widget&&(this.hide(),this.show())},i.useStrict=function(t){if(0===arguments.length)return this._options.useStrict;if("boolean"!=typeof t)throw new TypeError("useStrict() expects a boolean parameter");this._options.useStrict=t},i.sideBySide=function(t){if(0===arguments.length)return this._options.sideBySide;if("boolean"!=typeof t)throw new TypeError("sideBySide() expects a boolean parameter");this._options.sideBySide=t,this.widget&&(this.hide(),this.show())},i.viewMode=function(t){if(0===arguments.length)return this._options.viewMode;if("string"!=typeof t)throw new TypeError("viewMode() expects a string parameter");if(-1===p.ViewModes.indexOf(t))throw new TypeError("viewMode() parameter must be one of ("+p.ViewModes.join(", ")+") value");this._options.viewMode=t,this.currentViewMode=Math.max(p.ViewModes.indexOf(t)-1,this.MinViewModeNumber),this._showMode()},i.calendarWeeks=function(t){if(0===arguments.length)return this._options.calendarWeeks;if("boolean"!=typeof t)throw new TypeError("calendarWeeks() expects parameter to be a boolean value");this._options.calendarWeeks=t,this._update()},i.buttons=function(t){if(0===arguments.length)return a.extend({},this._options.buttons);if(!(t instanceof Object))throw new TypeError("buttons() expects parameter to be an Object");if(a.extend(this._options.buttons,t),"boolean"!=typeof this._options.buttons.showToday)throw new TypeError("buttons.showToday expects a boolean parameter");if("boolean"!=typeof this._options.buttons.showClear)throw new TypeError("buttons.showClear expects a boolean parameter");if("boolean"!=typeof this._options.buttons.showClose)throw new TypeError("buttons.showClose expects a boolean parameter");this.widget&&(this.hide(),this.show())},i.keepOpen=function(t){if(0===arguments.length)return this._options.keepOpen;if("boolean"!=typeof t)throw new TypeError("keepOpen() expects a boolean parameter");this._options.keepOpen=t},i.focusOnShow=function(t){if(0===arguments.length)return this._options.focusOnShow;if("boolean"!=typeof t)throw new TypeError("focusOnShow() expects a boolean parameter");this._options.focusOnShow=t},i.inline=function(t){if(0===arguments.length)return this._options.inline;if("boolean"!=typeof t)throw new TypeError("inline() expects a boolean parameter");this._options.inline=t},i.clear=function(){this._setValue(null)},i.keyBinds=function(t){if(0===arguments.length)return this._options.keyBinds;this._options.keyBinds=t},i.debug=function(t){if("boolean"!=typeof t)throw new TypeError("debug() expects a boolean parameter");this._options.debug=t},i.allowInputToggle=function(t){if(0===arguments.length)return this._options.allowInputToggle;if("boolean"!=typeof t)throw new TypeError("allowInputToggle() expects a boolean parameter");this._options.allowInputToggle=t},i.keepInvalid=function(t){if(0===arguments.length)return this._options.keepInvalid;if("boolean"!=typeof t)throw new TypeError("keepInvalid() expects a boolean parameter");this._options.keepInvalid=t},i.datepickerInput=function(t){if(0===arguments.length)return this._options.datepickerInput;if("string"!=typeof t)throw new TypeError("datepickerInput() expects a string parameter");this._options.datepickerInput=t},i.parseInputDate=function(t){if(0===arguments.length)return this._options.parseInputDate;if("function"!=typeof t)throw new TypeError("parseInputDate() should be as function");this._options.parseInputDate=t},i.disabledTimeIntervals=function(t){if(0===arguments.length)return this._options.disabledTimeIntervals?a.extend({},this._options.disabledTimeIntervals):this._options.disabledTimeIntervals;if(!t)return this._options.disabledTimeIntervals=!1,this._update(),!0;if(!(t instanceof Array))throw new TypeError("disabledTimeIntervals() expects an array parameter");this._options.disabledTimeIntervals=t,this._update()},i.disabledHours=function(t){if(0===arguments.length)return this._options.disabledHours?a.extend({},this._options.disabledHours):this._options.disabledHours;if(!t)return this._options.disabledHours=!1,this._update(),!0;if(!(t instanceof Array))throw new TypeError("disabledHours() expects an array parameter");if(this._options.disabledHours=this._indexGivenHours(t),this._options.enabledHours=!1,this._options.useCurrent&&!this._options.keepInvalid)for(var e=0;e<this._dates.length;e++){for(var i=0;!this._isValid(this._dates[e],"h");){if(this._dates[e].add(1,"h"),24===i)throw"Tried 24 times to find a valid date";i++}this._setValue(this._dates[e],e)}this._update()},i.enabledHours=function(t){if(0===arguments.length)return this._options.enabledHours?a.extend({},this._options.enabledHours):this._options.enabledHours;if(!t)return this._options.enabledHours=!1,this._update(),!0;if(!(t instanceof Array))throw new TypeError("enabledHours() expects an array parameter");if(this._options.enabledHours=this._indexGivenHours(t),this._options.disabledHours=!1,this._options.useCurrent&&!this._options.keepInvalid)for(var e=0;e<this._dates.length;e++){for(var i=0;!this._isValid(this._dates[e],"h");){if(this._dates[e].add(1,"h"),24===i)throw"Tried 24 times to find a valid date";i++}this._setValue(this._dates[e],e)}this._update()},i.viewDate=function(t){if(0===arguments.length)return this._viewDate.clone();if(!t)return this._viewDate=(this._dates[0]||this.getMoment()).clone(),!0;if(!("string"==typeof t||n.isMoment(t)||t instanceof Date))throw new TypeError("viewDate() parameter must be one of [string, moment or Date]");this._viewDate=this._parseInputDate(t),this._update(),this._viewUpdate(_[this.currentViewMode]&&_[this.currentViewMode].NAV_FUNCTION)},i._fillDate=function(){},i._useFeatherIcons=function(){return"feather"===this._options.icons.type},i.allowMultidate=function(t){if("boolean"!=typeof t)throw new TypeError("allowMultidate() expects a boolean parameter");this._options.allowMultidate=t},i.multidateSeparator=function(t){if(0===arguments.length)return this._options.multidateSeparator;if("string"!=typeof t)throw new TypeError("multidateSeparator expects a string parameter");this._options.multidateSeparator=t},t=p,(e=[{key:"NAME",get:function(){return o}},{key:"DATA_KEY",get:function(){return r}},{key:"EVENT_KEY",get:function(){return d}},{key:"DATA_API_KEY",get:function(){return h}},{key:"DatePickerModes",get:function(){return _}},{key:"ViewModes",get:function(){return m}},{key:"Event",get:function(){return u}},{key:"Selector",get:function(){return l}},{key:"Default",get:function(){return v},set:function(t){v=t}},{key:"ClassName",get:function(){return c}}])&&s(t,e),p}());function y(t){return e=new Date(t),"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e.getTime());var e}function D(t){return t.replace(/(^\s+)|(\s+$)/g,"")}function k(t,e){return i[t]&&i[e]?i[t]<0&&i[e]<0?Math.abs(i[e])-Math.abs(i[t]):i[t]<0?-1:i[e]<0?1:i[t]-i[e]:i[t]?i[t]:i[e]?i[e]:0}var E,t,p,C,T,x;E=jQuery,t=E.fn[M.NAME],p=["top","bottom","auto"],C=["left","right","auto"],T=["default","top","bottom"],x=function(d){var t,e;function n(t,e){var i=d.call(this,t,e)||this;return i._init(),i}e=d,(t=n).prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e;var i=n.prototype;return i._init=function(){var t;this._element.hasClass("input-group")&&(0===(t=this._element.find(".datepickerbutton")).length?this.component=this._element.find('[data-toggle="datetimepicker"]'):this.component=t)},i._iconTag=function(t){return"undefined"!=typeof feather&&this._useFeatherIcons()&&feather.icons[t]?E("<span>").html(feather.icons[t].toSvg()):E("<span>").addClass(t)},i._getDatePickerTemplate=function(){var t=E("<thead>").append(E("<tr>").append(E("<th>").addClass("prev").attr("data-action","previous").append(this._iconTag(this._options.icons.previous))).append(E("<th>").addClass("picker-switch").attr("data-action","pickerSwitch").attr("colspan",this._options.calendarWeeks?"6":"5")).append(E("<th>").addClass("next").attr("data-action","next").append(this._iconTag(this._options.icons.next)))),e=E("<tbody>").append(E("<tr>").append(E("<td>").attr("colspan",this._options.calendarWeeks?"8":"7")));return[E("<div>").addClass("datepicker-days").append(E("<table>").addClass("table table-sm").append(t).append(E("<tbody>"))),E("<div>").addClass("datepicker-months").append(E("<table>").addClass("table-condensed").append(t.clone()).append(e.clone())),E("<div>").addClass("datepicker-years").append(E("<table>").addClass("table-condensed").append(t.clone()).append(e.clone())),E("<div>").addClass("datepicker-decades").append(E("<table>").addClass("table-condensed").append(t.clone()).append(e.clone()))]},i._getTimePickerMainTemplate=function(){var t=E("<tr>"),e=E("<tr>"),i=E("<tr>");return this._isEnabled("h")&&(t.append(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1",title:this._options.tooltips.incrementHour}).addClass("btn").attr("data-action","incrementHours").append(this._iconTag(this._options.icons.up)))),e.append(E("<td>").append(E("<span>").addClass("timepicker-hour").attr({"data-time-component":"hours",title:this._options.tooltips.pickHour}).attr("data-action","showHours"))),i.append(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1",title:this._options.tooltips.decrementHour}).addClass("btn").attr("data-action","decrementHours").append(this._iconTag(this._options.icons.down))))),this._isEnabled("m")&&(this._isEnabled("h")&&(t.append(E("<td>").addClass("separator")),e.append(E("<td>").addClass("separator").html(":")),i.append(E("<td>").addClass("separator"))),t.append(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1",title:this._options.tooltips.incrementMinute}).addClass("btn").attr("data-action","incrementMinutes").append(this._iconTag(this._options.icons.up)))),e.append(E("<td>").append(E("<span>").addClass("timepicker-minute").attr({"data-time-component":"minutes",title:this._options.tooltips.pickMinute}).attr("data-action","showMinutes"))),i.append(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1",title:this._options.tooltips.decrementMinute}).addClass("btn").attr("data-action","decrementMinutes").append(this._iconTag(this._options.icons.down))))),this._isEnabled("s")&&(this._isEnabled("m")&&(t.append(E("<td>").addClass("separator")),e.append(E("<td>").addClass("separator").html(":")),i.append(E("<td>").addClass("separator"))),t.append(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1",title:this._options.tooltips.incrementSecond}).addClass("btn").attr("data-action","incrementSeconds").append(this._iconTag(this._options.icons.up)))),e.append(E("<td>").append(E("<span>").addClass("timepicker-second").attr({"data-time-component":"seconds",title:this._options.tooltips.pickSecond}).attr("data-action","showSeconds"))),i.append(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1",title:this._options.tooltips.decrementSecond}).addClass("btn").attr("data-action","decrementSeconds").append(this._iconTag(this._options.icons.down))))),this.use24Hours||(t.append(E("<td>").addClass("separator")),e.append(E("<td>").append(E("<button>").addClass("btn btn-primary").attr({"data-action":"togglePeriod",tabindex:"-1",title:this._options.tooltips.togglePeriod}))),i.append(E("<td>").addClass("separator"))),E("<div>").addClass("timepicker-picker").append(E("<table>").addClass("table-condensed").append([t,e,i]))},i._getTimePickerTemplate=function(){var t=E("<div>").addClass("timepicker-hours").append(E("<table>").addClass("table-condensed")),e=E("<div>").addClass("timepicker-minutes").append(E("<table>").addClass("table-condensed")),i=E("<div>").addClass("timepicker-seconds").append(E("<table>").addClass("table-condensed")),s=[this._getTimePickerMainTemplate()];return this._isEnabled("h")&&s.push(t),this._isEnabled("m")&&s.push(e),this._isEnabled("s")&&s.push(i),s},i._getToolbar=function(){var t,e,i=[];return this._options.buttons.showToday&&i.push(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1","data-action":"today",title:this._options.tooltips.today}).append(this._iconTag(this._options.icons.today)))),!this._options.sideBySide&&this._options.collapse&&this._hasDate()&&this._hasTime()&&(e="times"===this._options.viewMode?(t=this._options.tooltips.selectDate,this._options.icons.date):(t=this._options.tooltips.selectTime,this._options.icons.time),i.push(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1","data-action":"togglePicker",title:t}).append(this._iconTag(e))))),this._options.buttons.showClear&&i.push(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1","data-action":"clear",title:this._options.tooltips.clear}).append(this._iconTag(this._options.icons.clear)))),this._options.buttons.showClose&&i.push(E("<td>").append(E("<a>").attr({href:"#",tabindex:"-1","data-action":"close",title:this._options.tooltips.close}).append(this._iconTag(this._options.icons.close)))),0===i.length?"":E("<table>").addClass("table-condensed").append(E("<tbody>").append(E("<tr>").append(i)))},i._getTemplate=function(){var t=E("<div>").addClass(("bootstrap-datetimepicker-widget dropdown-menu "+(this._options.calendarWeeks?"tempusdominus-bootstrap-datetimepicker-widget-with-calendar-weeks":"")+" "+(this._useFeatherIcons()?"tempusdominus-bootstrap-datetimepicker-widget-with-feather-icons":"")+" ").trim()),e=E("<div>").addClass("datepicker").append(this._getDatePickerTemplate()),i=E("<div>").addClass("timepicker").append(this._getTimePickerTemplate()),s=E("<ul>").addClass("list-unstyled"),a=E("<li>").addClass(("picker-switch"+(this._options.collapse?" accordion-toggle":"")+" "+(this._useFeatherIcons()?"picker-switch-with-feathers-icons":"")).trim()).append(this._getToolbar());return this._options.inline&&t.removeClass("dropdown-menu"),this.use24Hours&&t.addClass("usetwentyfour"),(void 0!==this.input&&this.input.prop("readonly")||this._options.readonly)&&t.addClass("bootstrap-datetimepicker-widget-readonly"),this._isEnabled("s")&&!this.use24Hours&&t.addClass("wider"),this._options.sideBySide&&this._hasDate()&&this._hasTime()?(t.addClass("timepicker-sbs"),"top"===this._options.toolbarPlacement&&t.append(a),t.append(E("<div>").addClass("row").append(e.addClass("col-md-6")).append(i.addClass("col-md-6"))),"bottom"!==this._options.toolbarPlacement&&"default"!==this._options.toolbarPlacement||t.append(a),t):("top"===this._options.toolbarPlacement&&s.append(a),this._hasDate()&&s.append(E("<li>").addClass(this._options.collapse&&this._hasTime()?"collapse":"").addClass(this._options.collapse&&this._hasTime()&&"times"===this._options.viewMode?"":"show").append(e)),"default"===this._options.toolbarPlacement&&s.append(a),this._hasTime()&&s.append(E("<li>").addClass(this._options.collapse&&this._hasDate()?"collapse":"").addClass(this._options.collapse&&this._hasDate()&&"times"===this._options.viewMode?"show":"").append(i)),"bottom"===this._options.toolbarPlacement&&s.append(a),t.append(s))},i._place=function(t){var e,i=t&&t.data&&t.data.picker||this,s=i._options.widgetPositioning.vertical,a=i._options.widgetPositioning.horizontal,n=(i.component&&i.component.length?i.component:i._element).position(),o=(i.component&&i.component.length?i.component:i._element).offset();if(i._options.widgetParent)e=i._options.widgetParent.append(i.widget);else if(i._element.is("input"))e=i._element.after(i.widget).parent();else{if(i._options.inline)return void(e=i._element.append(i.widget));e=i._element,i._element.children().first().after(i.widget)}if("auto"===s&&(s=o.top+1.5*i.widget.height()>=E(window).height()+E(window).scrollTop()&&i.widget.height()+i._element.outerHeight()<o.top?"top":"bottom"),"auto"===a&&(a=e.width()<o.left+i.widget.outerWidth()/2&&o.left+i.widget.outerWidth()>E(window).width()?"right":"left"),"top"===s?i.widget.addClass("top").removeClass("bottom"):i.widget.addClass("bottom").removeClass("top"),"right"===a?i.widget.addClass("float-right"):i.widget.removeClass("float-right"),"relative"!==e.css("position")&&(e=e.parents().filter(function(){return"relative"===E(this).css("position")}).first()),0===e.length)throw new Error("datetimepicker component should be placed within a relative positioned container");i.widget.css({top:"top"===s?"auto":n.top+i._element.outerHeight()+"px",bottom:"top"===s?e.outerHeight()-(e===i._element?0:n.top)+"px":"auto",left:"left"===a?(e===i._element?0:n.left)+"px":"auto",right:"left"===a?"auto":e.outerWidth()-i._element.outerWidth()-(e===i._element?0:n.left)+"px"})},i._fillDow=function(){var t=E("<tr>"),e=this._viewDate.clone().startOf("w").startOf("d");for(!0===this._options.calendarWeeks&&t.append(E("<th>").addClass("cw").text("#"));e.isBefore(this._viewDate.clone().endOf("w"));)t.append(E("<th>").addClass("dow").text(e.format("dd"))),e.add(1,"d");this.widget.find(".datepicker-days thead").append(t)},i._fillMonths=function(){for(var t=[],e=this._viewDate.clone().startOf("y").startOf("d");e.isSame(this._viewDate,"y");)t.push(E("<span>").attr("data-action","selectMonth").addClass("month").text(e.format("MMM"))),e.add(1,"M");this.widget.find(".datepicker-months td").empty().append(t)},i._updateMonths=function(){var t=this.widget.find(".datepicker-months"),e=t.find("th"),i=t.find("tbody").find("span"),s=this,a=this._getLastPickedDate();e.eq(0).find("span").attr("title",this._options.tooltips.prevYear),e.eq(1).attr("title",this._options.tooltips.selectYear),e.eq(2).find("span").attr("title",this._options.tooltips.nextYear),t.find(".disabled").removeClass("disabled"),this._isValid(this._viewDate.clone().subtract(1,"y"),"y")||e.eq(0).addClass("disabled"),e.eq(1).text(this._viewDate.year()),this._isValid(this._viewDate.clone().add(1,"y"),"y")||e.eq(2).addClass("disabled"),i.removeClass("active"),a&&a.isSame(this._viewDate,"y")&&!this.unset&&i.eq(a.month()).addClass("active"),i.each(function(t){s._isValid(s._viewDate.clone().month(t),"M")||E(this).addClass("disabled")})},i._getStartEndYear=function(t,e){var i=t/10,s=Math.floor(e/t)*t;return[s,s+9*i,Math.floor(e/i)*i]},i._updateYears=function(){var t=this.widget.find(".datepicker-years"),e=t.find("th"),i=this._getStartEndYear(10,this._viewDate.year()),s=this._viewDate.clone().year(i[0]),a=this._viewDate.clone().year(i[1]),n="";for(e.eq(0).find("span").attr("title",this._options.tooltips.prevDecade),e.eq(1).attr("title",this._options.tooltips.selectDecade),e.eq(2).find("span").attr("title",this._options.tooltips.nextDecade),t.find(".disabled").removeClass("disabled"),this._options.minDate&&this._options.minDate.isAfter(s,"y")&&e.eq(0).addClass("disabled"),e.eq(1).text(s.year()+"-"+a.year()),this._options.maxDate&&this._options.maxDate.isBefore(a,"y")&&e.eq(2).addClass("disabled"),n+='<span data-action="selectYear" class="year old'+(this._isValid(s,"y")?"":" disabled")+'">'+(s.year()-1)+"</span>";!s.isAfter(a,"y");)n+='<span data-action="selectYear" class="year'+(s.isSame(this._getLastPickedDate(),"y")&&!this.unset?" active":"")+(this._isValid(s,"y")?"":" disabled")+'">'+s.year()+"</span>",s.add(1,"y");n+='<span data-action="selectYear" class="year old'+(this._isValid(s,"y")?"":" disabled")+'">'+s.year()+"</span>",t.find("td").html(n)},i._updateDecades=function(){var t,e=this.widget.find(".datepicker-decades"),i=e.find("th"),s=this._getStartEndYear(100,this._viewDate.year()),a=this._viewDate.clone().year(s[0]),n=this._viewDate.clone().year(s[1]),o=this._getLastPickedDate(),r=!1,d=!1,h="";for(i.eq(0).find("span").attr("title",this._options.tooltips.prevCentury),i.eq(2).find("span").attr("title",this._options.tooltips.nextCentury),e.find(".disabled").removeClass("disabled"),(0===a.year()||this._options.minDate&&this._options.minDate.isAfter(a,"y"))&&i.eq(0).addClass("disabled"),i.eq(1).text(a.year()+"-"+n.year()),this._options.maxDate&&this._options.maxDate.isBefore(n,"y")&&i.eq(2).addClass("disabled"),a.year()-10<0?h+="<span> </span>":h+='<span data-action="selectDecade" class="decade old" data-selection="'+(a.year()+6)+'">'+(a.year()-10)+"</span>";!a.isAfter(n,"y");)t=a.year()+11,r=this._options.minDate&&this._options.minDate.isAfter(a,"y")&&this._options.minDate.year()<=t,d=this._options.maxDate&&this._options.maxDate.isAfter(a,"y")&&this._options.maxDate.year()<=t,h+='<span data-action="selectDecade" class="decade'+(o&&o.isAfter(a)&&o.year()<=t?" active":"")+(this._isValid(a,"y")||r||d?"":" disabled")+'" data-selection="'+(a.year()+6)+'">'+a.year()+"</span>",a.add(10,"y");h+='<span data-action="selectDecade" class="decade old" data-selection="'+(a.year()+6)+'">'+a.year()+"</span>",e.find("td").html(h)},i._fillDate=function(){d.prototype._fillDate.call(this);var t,e,i,s,a,n=this.widget.find(".datepicker-days"),o=n.find("th"),r=[];if(this._hasDate()){for(o.eq(0).find("span").attr("title",this._options.tooltips.prevMonth),o.eq(1).attr("title",this._options.tooltips.selectMonth),o.eq(2).find("span").attr("title",this._options.tooltips.nextMonth),n.find(".disabled").removeClass("disabled"),o.eq(1).text(this._viewDate.format(this._options.dayViewHeaderFormat)),this._isValid(this._viewDate.clone().subtract(1,"M"),"M")||o.eq(0).addClass("disabled"),this._isValid(this._viewDate.clone().add(1,"M"),"M")||o.eq(2).addClass("disabled"),t=this._viewDate.clone().startOf("M").startOf("w").startOf("d"),s=0;s<42;s++){0===t.weekday()&&(e=E("<tr>"),this._options.calendarWeeks&&e.append('<td class="cw">'+t.week()+"</td>"),r.push(e)),i="",t.isBefore(this._viewDate,"M")&&(i+=" old"),t.isAfter(this._viewDate,"M")&&(i+=" new"),this._options.allowMultidate?-1!==(a=this._datesFormatted.indexOf(t.format("YYYY-MM-DD")))&&t.isSame(this._datesFormatted[a],"d")&&!this.unset&&(i+=" active"):t.isSame(this._getLastPickedDate(),"d")&&!this.unset&&(i+=" active"),this._isValid(t,"d")||(i+=" disabled"),t.isSame(this.getMoment(),"d")&&(i+=" today"),0!==t.day()&&6!==t.day()||(i+=" weekend"),e.append('<td data-action="selectDay" data-day="'+t.format("L")+'" class="day'+i+'">'+t.date()+"</td>"),t.add(1,"d")}E("body").addClass("tempusdominus-bootstrap-datetimepicker-widget-day-click"),E("body").append('<div class="tempusdominus-bootstrap-datetimepicker-widget-day-click-glass-panel"></div>'),n.find("tbody").empty().append(r),E("body").find(".tempusdominus-bootstrap-datetimepicker-widget-day-click-glass-panel").remove(),E("body").removeClass("tempusdominus-bootstrap-datetimepicker-widget-day-click"),this._updateMonths(),this._updateYears(),this._updateDecades()}},i._fillHours=function(){var t=this.widget.find(".timepicker-hours table"),e=this._viewDate.clone().startOf("d"),i=[],s=E("<tr>");for(11<this._viewDate.hour()&&!this.use24Hours&&e.hour(12);e.isSame(this._viewDate,"d")&&(this.use24Hours||this._viewDate.hour()<12&&e.hour()<12||11<this._viewDate.hour());)e.hour()%4==0&&(s=E("<tr>"),i.push(s)),s.append('<td data-action="selectHour" class="hour'+(this._isValid(e,"h")?"":" disabled")+'">'+e.format(this.use24Hours?"HH":"hh")+"</td>"),e.add(1,"h");t.empty().append(i)},i._fillMinutes=function(){for(var t=this.widget.find(".timepicker-minutes table"),e=this._viewDate.clone().startOf("h"),i=[],s=1===this._options.stepping?5:this._options.stepping,a=E("<tr>");this._viewDate.isSame(e,"h");)e.minute()%(4*s)==0&&(a=E("<tr>"),i.push(a)),a.append('<td data-action="selectMinute" class="minute'+(this._isValid(e,"m")?"":" disabled")+'">'+e.format("mm")+"</td>"),e.add(s,"m");t.empty().append(i)},i._fillSeconds=function(){for(var t=this.widget.find(".timepicker-seconds table"),e=this._viewDate.clone().startOf("m"),i=[],s=E("<tr>");this._viewDate.isSame(e,"m");)e.second()%20==0&&(s=E("<tr>"),i.push(s)),s.append('<td data-action="selectSecond" class="second'+(this._isValid(e,"s")?"":" disabled")+'">'+e.format("ss")+"</td>"),e.add(5,"s");t.empty().append(i)},i._fillTime=function(){var t,e,i=this.widget.find(".timepicker span[data-time-component]"),s=this._getLastPickedDate();this.use24Hours||(t=this.widget.find(".timepicker [data-action=togglePeriod]"),e=s?s.clone().add(12<=s.hours()?-12:12,"h"):void 0,s&&t.text(s.format("A")),this._isValid(e,"h")?t.removeClass("disabled"):t.addClass("disabled")),s&&i.filter("[data-time-component=hours]").text(s.format(this.use24Hours?"HH":"hh")),s&&i.filter("[data-time-component=minutes]").text(s.format("mm")),s&&i.filter("[data-time-component=seconds]").text(s.format("ss")),this._fillHours(),this._fillMinutes(),this._fillSeconds()},i._doAction=function(t,e){var i=this._getLastPickedDate();if(E(t.currentTarget).is(".disabled"))return!1;switch(e=e||E(t.currentTarget).data("action")){case"next":var s=M.DatePickerModes[this.currentViewMode].NAV_FUNCTION;this._viewDate.add(M.DatePickerModes[this.currentViewMode].NAV_STEP,s),this._fillDate(),this._viewUpdate(s);break;case"previous":var a=M.DatePickerModes[this.currentViewMode].NAV_FUNCTION;this._viewDate.subtract(M.DatePickerModes[this.currentViewMode].NAV_STEP,a),this._fillDate(),this._viewUpdate(a);break;case"pickerSwitch":this._showMode(1);break;case"selectMonth":var n=E(t.target).closest("tbody").find("span").index(E(t.target));this._viewDate.month(n),this.currentViewMode===this.MinViewModeNumber?(this._setValue(i.clone().year(this._viewDate.year()).month(this._viewDate.month()),this._getLastPickedDateIndex()),this._options.inline||this.hide()):(this._showMode(-1),this._fillDate()),this._viewUpdate("M");break;case"selectYear":var o=parseInt(E(t.target).text(),10)||0;this._viewDate.year(o),this.currentViewMode===this.MinViewModeNumber?(this._setValue(i.clone().year(this._viewDate.year()),this._getLastPickedDateIndex()),this._options.inline||this.hide()):(this._showMode(-1),this._fillDate()),this._viewUpdate("YYYY");break;case"selectDecade":var r=parseInt(E(t.target).data("selection"),10)||0;this._viewDate.year(r),this.currentViewMode===this.MinViewModeNumber?(this._setValue(i.clone().year(this._viewDate.year()),this._getLastPickedDateIndex()),this._options.inline||this.hide()):(this._showMode(-1),this._fillDate()),this._viewUpdate("YYYY");break;case"selectDay":var d=this._viewDate.clone();E(t.target).is(".old")&&d.subtract(1,"M"),E(t.target).is(".new")&&d.add(1,"M");var h=d.date(parseInt(E(t.target).text(),10)),p=0;this._options.allowMultidate?-1!==(p=this._datesFormatted.indexOf(h.format("YYYY-MM-DD")))?this._setValue(null,p):this._setValue(h,this._getLastPickedDateIndex()+1):this._setValue(h,this._getLastPickedDateIndex()),this._hasTime()||this._options.keepOpen||this._options.inline||this._options.allowMultidate||this.hide();break;case"incrementHours":if(!i)break;var l=i.clone().add(1,"h");this._isValid(l,"h")&&(this._getLastPickedDateIndex()<0&&this.date(l),this._setValue(l,this._getLastPickedDateIndex()));break;case"incrementMinutes":if(!i)break;var c=i.clone().add(this._options.stepping,"m");this._isValid(c,"m")&&(this._getLastPickedDateIndex()<0&&this.date(c),this._setValue(c,this._getLastPickedDateIndex()));break;case"incrementSeconds":if(!i)break;var u=i.clone().add(1,"s");this._isValid(u,"s")&&(this._getLastPickedDateIndex()<0&&this.date(u),this._setValue(u,this._getLastPickedDateIndex()));break;case"decrementHours":if(!i)break;var _=i.clone().subtract(1,"h");this._isValid(_,"h")&&(this._getLastPickedDateIndex()<0&&this.date(_),this._setValue(_,this._getLastPickedDateIndex()));break;case"decrementMinutes":if(!i)break;var f=i.clone().subtract(this._options.stepping,"m");this._isValid(f,"m")&&(this._getLastPickedDateIndex()<0&&this.date(f),this._setValue(f,this._getLastPickedDateIndex()));break;case"decrementSeconds":if(!i)break;var m=i.clone().subtract(1,"s");this._isValid(m,"s")&&(this._getLastPickedDateIndex()<0&&this.date(m),this._setValue(m,this._getLastPickedDateIndex()));break;case"togglePeriod":this._setValue(i.clone().add(12<=i.hours()?-12:12,"h"),this._getLastPickedDateIndex());break;case"togglePicker":var w,g,b=E(t.target),v=b.closest("a"),y=b.closest("ul"),D=y.find(".show"),k=y.find(".collapse:not(.show)"),C=b.is("span")?b:b.find("span");if(D&&D.length){if((w=D.data("collapse"))&&w.transitioning)return!0;D.collapse?(D.collapse("hide"),k.collapse("show")):(D.removeClass("show"),k.addClass("show")),this._useFeatherIcons()?(v.toggleClass(this._options.icons.time+" "+this._options.icons.date),g=v.hasClass(this._options.icons.time)?this._options.icons.date:this._options.icons.time,v.html(this._iconTag(g))):C.toggleClass(this._options.icons.time+" "+this._options.icons.date),(this._useFeatherIcons()?v.hasClass(this._options.icons.date):C.hasClass(this._options.icons.date))?v.attr("title",this._options.tooltips.selectDate):v.attr("title",this._options.tooltips.selectTime)}break;case"showPicker":this.widget.find(".timepicker > div:not(.timepicker-picker)").hide(),this.widget.find(".timepicker .timepicker-picker").show();break;case"showHours":this.widget.find(".timepicker .timepicker-picker").hide(),this.widget.find(".timepicker .timepicker-hours").show();break;case"showMinutes":this.widget.find(".timepicker .timepicker-picker").hide(),this.widget.find(".timepicker .timepicker-minutes").show();break;case"showSeconds":this.widget.find(".timepicker .timepicker-picker").hide(),this.widget.find(".timepicker .timepicker-seconds").show();break;case"selectHour":var T=parseInt(E(t.target).text(),10);this.use24Hours||(12<=i.hours()?12!==T&&(T+=12):12===T&&(T=0)),this._setValue(i.clone().hours(T),this._getLastPickedDateIndex()),this._isEnabled("a")||this._isEnabled("m")||this._options.keepOpen||this._options.inline?this._doAction(t,"showPicker"):this.hide();break;case"selectMinute":this._setValue(i.clone().minutes(parseInt(E(t.target).text(),10)),this._getLastPickedDateIndex()),this._isEnabled("a")||this._isEnabled("s")||this._options.keepOpen||this._options.inline?this._doAction(t,"showPicker"):this.hide();break;case"selectSecond":this._setValue(i.clone().seconds(parseInt(E(t.target).text(),10)),this._getLastPickedDateIndex()),this._isEnabled("a")||this._options.keepOpen||this._options.inline?this._doAction(t,"showPicker"):this.hide();break;case"clear":this.clear();break;case"close":this.hide();break;case"today":var x=this.getMoment();this._isValid(x,"d")&&this._setValue(x,this._getLastPickedDateIndex());break}return!1},i.hide=function(){var t,e=!1;this.widget&&(this.widget.find(".collapse").each(function(){var t=E(this).data("collapse");return!t||!t.transitioning||!(e=!0)}),e||(this.component&&this.component.hasClass("btn")&&this.component.toggleClass("active"),this.widget.hide(),E(window).off("resize",this._place),this.widget.off("click","[data-action]"),this.widget.off("mousedown",!1),this.widget.remove(),this.widget=!1,void 0!==this.input&&void 0!==this.input.val()&&0!==this.input.val().trim().length&&this._setValue(this._parseInputDate(this.input.val().trim(),{isPickerShow:!1}),0),t=this._getLastPickedDate(),this._notifyEvent({type:M.Event.HIDE,date:this.unset?null:t?t.clone():void 0}),void 0!==this.input&&this.input.blur(),this._viewDate=t?t.clone():this.getMoment()))},i.show=function(){var t,e=!1;if(void 0!==this.input){if(this.input.prop("disabled")||!this._options.ignoreReadonly&&this.input.prop("readonly")||this.widget)return;void 0!==this.input.val()&&0!==this.input.val().trim().length?this._setValue(this._parseInputDate(this.input.val().trim(),{isPickerShow:!0}),0):e=!0}else e=!0;e&&this.unset&&this._options.useCurrent&&(t=this.getMoment(),"string"==typeof this._options.useCurrent&&(t={year:function(t){return t.month(0).date(1).hours(0).seconds(0).minutes(0)},month:function(t){return t.date(1).hours(0).seconds(0).minutes(0)},day:function(t){return t.hours(0).seconds(0).minutes(0)},hour:function(t){return t.seconds(0).minutes(0)},minute:function(t){return t.seconds(0)}}[this._options.useCurrent](t)),this._setValue(t,0)),this.widget=this._getTemplate(),this._fillDow(),this._fillMonths(),this.widget.find(".timepicker-hours").hide(),this.widget.find(".timepicker-minutes").hide(),this.widget.find(".timepicker-seconds").hide(),this._update(),this._showMode(),E(window).on("resize",{picker:this},this._place),this.widget.on("click","[data-action]",E.proxy(this._doAction,this)),this.widget.on("mousedown",!1),this.component&&this.component.hasClass("btn")&&this.component.toggleClass("active"),this._place(),this.widget.show(),void 0!==this.input&&this._options.focusOnShow&&!this.input.is(":focus")&&this.input.focus(),this._notifyEvent({type:M.Event.SHOW})},i.destroy=function(){this.hide(),this._element.removeData(M.DATA_KEY),this._element.removeData("date")},i.disable=function(){this.hide(),this.component&&this.component.hasClass("btn")&&this.component.addClass("disabled"),void 0!==this.input&&this.input.prop("disabled",!0)},i.enable=function(){this.component&&this.component.hasClass("btn")&&this.component.removeClass("disabled"),void 0!==this.input&&this.input.prop("disabled",!1)},i.toolbarPlacement=function(t){if(0===arguments.length)return this._options.toolbarPlacement;if("string"!=typeof t)throw new TypeError("toolbarPlacement() expects a string parameter");if(-1===T.indexOf(t))throw new TypeError("toolbarPlacement() parameter must be one of ("+T.join(", ")+") value");this._options.toolbarPlacement=t,this.widget&&(this.hide(),this.show())},i.widgetPositioning=function(t){if(0===arguments.length)return E.extend({},this._options.widgetPositioning);if("[object Object]"!=={}.toString.call(t))throw new TypeError("widgetPositioning() expects an object variable");if(t.horizontal){if("string"!=typeof t.horizontal)throw new TypeError("widgetPositioning() horizontal variable must be a string");if(t.horizontal=t.horizontal.toLowerCase(),-1===C.indexOf(t.horizontal))throw new TypeError("widgetPositioning() expects horizontal parameter to be one of ("+C.join(", ")+")");this._options.widgetPositioning.horizontal=t.horizontal}if(t.vertical){if("string"!=typeof t.vertical)throw new TypeError("widgetPositioning() vertical variable must be a string");if(t.vertical=t.vertical.toLowerCase(),-1===p.indexOf(t.vertical))throw new TypeError("widgetPositioning() expects vertical parameter to be one of ("+p.join(", ")+")");this._options.widgetPositioning.vertical=t.vertical}this._update()},i.widgetParent=function(t){if(0===arguments.length)return this._options.widgetParent;if("string"==typeof t&&(t=E(t)),null!==t&&"string"!=typeof t&&!(t instanceof E))throw new TypeError("widgetParent() expects a string or a jQuery object parameter");this._options.widgetParent=t,this.widget&&(this.hide(),this.show())},i.setMultiDate=function(t){var e=this._options.format;this.clear();for(var i=0;i<t.length;i++){var s=moment(t[i],e);this._setValue(s,i)}},n._jQueryHandleThis=function(t,e,i){var s=E(t).data(M.DATA_KEY);if("object"==typeof e&&E.extend({},M.Default,e),s||(s=new n(E(t),e),E(t).data(M.DATA_KEY,s)),"string"==typeof e){if(void 0===s[e])throw new Error('No method named "'+e+'"');if(void 0===i)return s[e]();"date"===e&&(s.isDateUpdateThroughDateOptionFromClientCode=!0);var a=s[e](i);return s.isDateUpdateThroughDateOptionFromClientCode=!1,a}},n._jQueryInterface=function(t,e){return 1===this.length?n._jQueryHandleThis(this[0],t,e):this.each(function(){n._jQueryHandleThis(this,t,e)})},n}(M),E(document).on(M.Event.CLICK_DATA_API,M.Selector.DATA_TOGGLE,function(){var t=E(this),e=I(t),i=e.data(M.DATA_KEY);0!==e.length&&(i._options.allowInputToggle&&t.is('input[data-toggle="datetimepicker"]')||x._jQueryInterface.call(e,"toggle"))}).on(M.Event.CHANGE,"."+M.ClassName.INPUT,function(t){var e=I(E(this));0===e.length||t.isInit||x._jQueryInterface.call(e,"_change",t)}).on(M.Event.BLUR,"."+M.ClassName.INPUT,function(t){var e=I(E(this)),i=e.data(M.DATA_KEY);0!==e.length&&(i._options.debug||window.debug||x._jQueryInterface.call(e,"hide",t))}).on(M.Event.KEYDOWN,"."+M.ClassName.INPUT,function(t){var e=I(E(this));0!==e.length&&x._jQueryInterface.call(e,"_keydown",t)}).on(M.Event.KEYUP,"."+M.ClassName.INPUT,function(t){var e=I(E(this));0!==e.length&&x._jQueryInterface.call(e,"_keyup",t)}).on(M.Event.FOCUS,"."+M.ClassName.INPUT,function(t){var e=I(E(this)),i=e.data(M.DATA_KEY);0!==e.length&&i._options.allowInputToggle&&x._jQueryInterface.call(e,"show",t)}),E.fn[M.NAME]=x._jQueryInterface,E.fn[M.NAME].Constructor=x,E.fn[M.NAME].noConflict=function(){return E.fn[M.NAME]=t,x._jQueryInterface};function I(t){var e,i=t.data("target");return i||(i=t.attr("href")||"",i=/^#[a-z]/i.test(i)?i:null),0===(e=E(i)).length?t:(e.data(M.DATA_KEY)||E.extend({},e.data(),E(this).data()),e)}}();
21199 21200// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-form-fields/php/../js/front.tempusdominus.js 21201// TEMPUS DOMINUS INIT 21202 21203jQuery(document).ready(function () { 21204 21205 $(document).on('show.datetimepicker', function (e) { 21206 if (ctlTempusDominusHasOverflowParent($(e.target))){ 21207 const picker = $(e.target).data('datetimepicker'); 21208 if (picker && picker.widget) { 21209 picker.widget.addClass('ctl-tempus-dominus-fixed'); 21210 $('<div class="ctl-tempus-dominus-fixed-backdrop"></div>') 21211 .insertBefore(picker.widget); 21212 21213 let oNodeLabel = jQuery(e.target).closest(".ctldatetimefield-wrapper").find(".ctl-form-field-label"); 21214 21215 if (oNodeLabel.length == 0 ){ 21216 oNodeLabel = jQuery(e.target).closest(".form-group").find(".ctl-form-field-label"); 21217 } 21218 21219 if (oNodeLabel.length > 0 ){ 21220 $('<div class="ctl-tempus-dominus-fixed-label">' + oNodeLabel.text() + '</div>') 21221 .insertBefore(picker.widget.find("ul")); 21222 } 21223 } 21224 } 21225 }); 21226 21227 $(document).on('hide.datetimepicker', function (e) { 21228 $('.ctl-tempus-dominus-fixed-backdrop').remove(); 21229 }); 21230 21231 jQuery(document).on('empty-field', '.datetimepicker-input', function (e) { 21232 var oNodeWrapper = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper.ctldatefield"); 21233 var oNodeSource = jQuery(this); 21234 var oNodeLogic = oNodeWrapper.find('input[type="hidden"]'); 21235 21236 oNodeSource.val(""); 21237 oNodeLogic.val("").trigger("change"); 21238 }); 21239 21240 jQuery(document).on('change input paste', '.datetimepicker-input', function (e) { 21241 e.preventDefault(); 21242 e.stopPropagation(); 21243 21244 21245 __ctlTempusDominusCheckValueLimits(jQuery(this)); 21246 __ctlTempusDominusUpdateDateTimeFieldPickerMinMax(jQuery(this)); 21247 updateDateTimePickerInput(jQuery(this)); 21248 21249 }); 21250 21251 jQuery(document).on('change input paste', '.ctldatetimefield-wrapper input[name=time-gfx]', function (e) { 21252 if(!jQuery(this).data("tempusdominus-initialized")){ 21253 return; 21254 } 21255 e.preventDefault(); 21256 e.stopPropagation(); 21257 21258 var oNodeLinked = jQuery(this).closest(".ctldatetimefield-wrapper").find(".ctl-vulcano-date-interval-linked"); 21259 21260 if (oNodeLinked.length == 0) { 21261 return; 21262 } 21263 21264 if ( oNodeLinked.hasClass("ctl-vulcano-date-interval-start") ){ 21265 __updateLinkedDateTimePickerInputStart(oNodeLinked); 21266 }else if ( oNodeLinked.hasClass("ctl-vulcano-date-interval-end") ){ 21267 __updateLinkedDateTimePickerInputEnd(oNodeLinked); 21268 } 21269 }); 21270 21271 jQuery(document).on('change input paste', '.ctl-vulcano-date-interval-linked.ctl-vulcano-date-interval-start', function (e) { 21272 e.preventDefault(); 21273 e.stopPropagation(); 21274 21275 __updateLinkedDateTimePickerInputStart(jQuery(this)); 21276 }); 21277 jQuery(document).on('change input paste', '.ctl-vulcano-date-interval-linked.ctl-vulcano-date-interval-end', function (e) { 21278 e.preventDefault(); 21279 e.stopPropagation(); 21280 21281 __updateLinkedDateTimePickerInputEnd(jQuery(this)); 21282 }); 21283 21284 jQuery(document).on('change input paste', '.ctl-vulcano-time-interval-linked.ctl-vulcano-time-interval-start', function (e) { 21285 e.preventDefault(); 21286 e.stopPropagation(); 21287 21288 __updateLinkedTimePickerInputStart(jQuery(this)); 21289 }); 21290 jQuery(document).on('change input paste', '.ctl-vulcano-time-interval-linked.ctl-vulcano-time-interval-end', function (e) { 21291 e.preventDefault(); 21292 e.stopPropagation(); 21293 21294 __updateLinkedTimePickerInputEnd(jQuery(this)); 21295 }); 21296 21297 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function (oNodeModal) { 21298 oNodeModal.find('.datetimepicker-input').each(function () { 21299 buildTempusDominusDatePicker(jQuery(this)); 21300 }); 21301 21302 oNodeModal.find('.datetimepicker-input').each(function () { 21303 __ctlTempusDominusCheckValueLimits(jQuery(this)); 21304 __ctlTempusDominusUpdateDateTimeFieldPickerMinMax(jQuery(this)); 21305 updateDateTimePickerInput(jQuery(this)); 21306 }); 21307 }); 21308 21309 21310 jQuery(document).on("append-html", function (e, oNode, html) { 21311 oNode.find('.datetimepicker-input').each(function () { 21312 buildTempusDominusDatePicker(jQuery(this)); 21313 }); 21314 21315 oNode.find('.datetimepicker-input').each(function () { 21316 __ctlTempusDominusCheckValueLimits(jQuery(this)); 21317 __ctlTempusDominusUpdateDateTimeFieldPickerMinMax(jQuery(this)); 21318 }); 21319 }); 21320 21321 jQuery(document).on("set-html", function (e, oNode, html) { 21322 oNode.find('.datetimepicker-input').each(function () { 21323 buildTempusDominusDatePicker(jQuery(this)); 21324 }); 21325 21326 oNode.find('.datetimepicker-input').each(function () { 21327 __ctlTempusDominusCheckValueLimits(jQuery(this)); 21328 __ctlTempusDominusUpdateDateTimeFieldPickerMinMax(jQuery(this)); 21329 }); 21330 }); 21331 21332 21333 ctlApplyDateTimePicker(); 21334}); 21335 21336function __updateLinkedTimePickerInputStart(oNodeInputStart) { 21337 var oNodeForm = oNodeInputStart.closest("form"); 21338 if (oNodeForm.length == 0) { 21339 return; 21340 } 21341 21342 oNodeInputEnd = oNodeForm.find('.ctl-vulcano-time-interval-end'); 21343 21344 var oMomentStart = moment(oNodeInputStart.val(), "HH:mm"); 21345 var oMomentEnd = moment(oNodeInputEnd.val(), "HH:mm"); 21346 21347 if (oMomentStart.isValid() && oNodeInputEnd.val() == "") { 21348 oNodeInputEnd.val(oMomentStart.format("HH:mm")).trigger("change"); 21349 return; 21350 } 21351 21352 if ( !oMomentStart.isValid() || !oMomentEnd.isValid() ){ 21353 return; 21354 } 21355 21356 var diffInMinutes = oMomentEnd.diff(oMomentStart, 'minutes'); 21357 21358 if (diffInMinutes < 0 ) { 21359 oNodeInputEnd.val(oMomentStart.format("HH:mm")).trigger("change"); 21360 } 21361} 21362 21363function __updateLinkedTimePickerInputEnd(oNodeInputEnd) { 21364 var oNodeForm = oNodeInputEnd.closest("form"); 21365 if (oNodeForm.length == 0) { 21366 return; 21367 } 21368 21369 oNodeInputStart = oNodeForm.find('.ctl-vulcano-time-interval-start'); 21370 21371 var oMomentStart = moment(oNodeInputStart.val(), "HH:mm"); 21372 var oMomentEnd = moment(oNodeInputEnd.val(), "HH:mm"); 21373 21374 if ( !oMomentStart.isValid() || !oMomentEnd.isValid() ){ 21375 return; 21376 } 21377 21378 var diffInMinutes = oMomentEnd.diff(oMomentStart, 'minutes'); 21379 21380 if (diffInMinutes < 0 ) { 21381 oNodeInputStart.val(oMomentEnd.format("HH:mm")).trigger("change"); 21382 } 21383} 21384 21385function __updateLinkedDateTimePickerInputEnd(oNodeInputEnd) { 21386 var oNodeForm = oNodeInputEnd.closest("form"); 21387 var szDateFormat = oNodeInputEnd.attr("data-format"); 21388 21389 if (oNodeForm.length == 0) { 21390 return; 21391 } 21392 var oNodeInputStart = oNodeForm.find('.ctl-vulcano-date-interval-start'); 21393 21394 let szStartDate = oNodeInputStart.val(); 21395 let szEndDate = oNodeInputEnd.val(); 21396 21397 var oMomentStart = moment(szStartDate, szDateFormat);
21398 var oMomentEnd = moment(szEndDate,szDateFormat); 21399 21400 var diffInDays = oMomentEnd.diff(oMomentStart, 'days'); 21401 if (oMomentEnd.isValid()) { 21402 if ( diffInDays < 0 ){ 21403 oNodeInputStart.val(oMomentEnd.format(szDateFormat)).trigger("change"); 21404 }else if(szStartDate == szEndDate){ 21405 __updateLinkedDateTimePickerInput(oNodeInputStart, oNodeInputEnd, "end"); 21406 } 21407 } 21408} 21409 21410function __updateLinkedDateTimePickerInputStart(oNodeInputStart) { 21411 var oNodeForm = oNodeInputStart.closest("form"); 21412 var szDateFormat = oNodeInputStart.attr("data-format"); 21413 21414 if (oNodeForm.length == 0) { 21415 return; 21416 } 21417 var oNodeInputEnd = oNodeForm.find('.ctl-vulcano-date-interval-end'); 21418 21419 let szStartDate = oNodeInputStart.val(); 21420 let szEndDate = oNodeInputEnd.val(); 21421 21422 var oMomentStart = moment(szStartDate, szDateFormat); 21423 var oMomentEnd = moment(szEndDate, szDateFormat); 21424 21425 var diffInDays = oMomentEnd.diff(oMomentStart, 'days'); 21426 21427 if (oMomentStart.isValid() ) { 21428 if ( diffInDays < 0 ){ 21429 oNodeInputEnd.val(oMomentStart.format(szDateFormat)).trigger("change"); 21430 }else if(szStartDate == szEndDate){ 21431 __updateLinkedDateTimePickerInput(oNodeInputStart, oNodeInputEnd, "start"); 21432 } 21433 } 21434} 21435 21436function __updateLinkedDateTimePickerInput(oNodeInputStart, oNodeInputEnd, szDirection) { 21437 var oNodeFormGroupStart = oNodeInputStart.closest(".form-group"); 21438 var oNodeFormGroupEnd = oNodeInputEnd.closest(".form-group"); 21439 21440 if (oNodeFormGroupStart.hasClass("ctldatetimefield-wrapper") && 21441 oNodeFormGroupEnd.hasClass("ctldatetimefield-wrapper")) { 21442 21443 var oNodeTimeStart = oNodeFormGroupStart.find(".time-gfx"); 21444 var oNodeTimeEnd = oNodeFormGroupEnd.find(".time-gfx"); 21445 21446 var oMomentTimeStart = moment(oNodeTimeStart.val(), "HH:mm"); 21447 var oMomentTimeEnd = moment(oNodeTimeEnd.val(), "HH:mm"); 21448 21449 if (oMomentTimeEnd.isValid() && oMomentTimeStart.isValid()) { 21450 21451 switch(szDirection){ 21452 case "start": { 21453 if (oMomentTimeEnd.diff(oMomentTimeStart, 'minutes') < 0) { 21454 oNodeTimeEnd.val(oMomentTimeStart.format("HH:mm")).trigger("change"); 21455 } 21456 }break; 21457 case "end": { 21458 if (oMomentTimeEnd.diff(oMomentTimeStart, 'minutes') < 0) { 21459 oNodeTimeStart.val(oMomentTimeEnd.format("HH:mm")).trigger("change"); 21460 } 21461 }break; 21462 } 21463 } 21464 } 21465} 21466 21467function updateDateTimePickerInput(oNodeInput) { 21468 var oNodeWrapper = oNodeInput.closest(".ctl-wp-studio-form-control-wrapper.ctldatefield"); 21469 if (oNodeWrapper.length == 0) { 21470 return; 21471 } 21472 21473 var oNodeFormGroup = oNodeWrapper.closest(".form-group"); 21474 var oNodeLogic = oNodeWrapper.find('input[type="hidden"]'); 21475 21476 if (oNodeFormGroup.hasClass("ctldatetimefield-wrapper")) { 21477 var oNodeDatePicker = oNodeFormGroup.find(".date-gfx"); 21478 var oNodeTimePicker = oNodeFormGroup.find(".time-gfx"); 21479 21480 var szDateFormat = oNodeDatePicker.attr("data-format"); 21481 var szTimeFormat = oNodeTimePicker.attr("data-format"); 21482 21483 var szDateValue = oNodeDatePicker.val(); 21484 var szTimeValue = oNodeTimePicker.val(); 21485 21486 var szFormat = szDateFormat + " " + szTimeFormat; 21487 var szSourceDate = szDateValue + " " + szTimeValue; 21488 21489 szDateValue = szDateValue.trim(); 21490 21491 if (szDateValue == "") { 21492 oNodeLogic.val("").trigger("change"); 21493 } else { 21494 switch (szFormat) { 21495 case "L": 21496 case "DD/MM/YYYY HH:mm:ss": { 21497 szMySqlDate = moment(szSourceDate, szFormat).format("YYYY-MM-DD HH:mm:ss"); 21498 } break; 21499 case "DD/MM/YYYY HH:mm": { 21500 szMySqlDate = moment(szSourceDate, szFormat).format("YYYY-MM-DD HH:mm:ss"); 21501 } break; 21502 } 21503 } 21504 21505 oNodeLogic.val(szMySqlDate).trigger("change"); 21506 } else { 21507 var szFormat = oNodeInput.attr("data-format"); 21508 21509 var szDateValue = oNodeInput.val(); 21510 szDateValue = szDateValue.trim(); 21511 21512 if (szDateValue == "") { 21513 oNodeLogic.val("").trigger("change"); 21514 } else { 21515 var szSourceDate = oNodeInput.val(); 21516 var szMySqlDate = szSourceDate; 21517 21518 switch (szFormat) { 21519 case "DD/MM/YYYY": 21520 case "L": { 21521 szMySqlDate = moment(szSourceDate, szFormat).format("YYYY-MM-DD"); 21522 } break; 21523 case "DD/MM/YYYY HH:mm:ss": { 21524 szMySqlDate = moment(szSourceDate, szFormat).format("YYYY-MM-DD HH:mm:ss"); 21525 } break; 21526 } 21527 21528 oNodeLogic.val(szMySqlDate).trigger("change"); 21529 } 21530 } 21531} 21532 21533function ctlApplyDateTimePicker() { 21534 jQuery('.datetimepicker-input').each(function () { 21535 buildTempusDominusDatePicker(jQuery(this)); 21536 }); 21537 21538 jQuery('.datetimepicker-input').each(function () { 21539 __ctlTempusDominusCheckValueLimits(jQuery(this)); 21540 __ctlTempusDominusUpdateDateTimeFieldPickerMinMax(jQuery(this)); 21541 }); 21542} 21543 21544function buildTempusDominusDatePicker(oNodeInput) { 21545 if (oNodeInput.data("tempusdominus-initialized")) { 21546 return; 21547 } 21548 var oNodeLogicInput = oNodeInput.closest(".ctl-wp-studio-form-control-wrapper").find('input[type="hidden"]'); 21549 var szFormat = oNodeInput.attr("data-format"); 21550 21551 if (!szFormat || szFormat === "") { 21552 szFormat = "DD/MM/YYYY"; 21553 } 21554 21555 var bTime = false;
21556 if (szFormat == "HH:mm" || szFormat == "LT") { 21557 bTime = true; 21558 } 21559 21560 var bDebug = oNodeInput.attr("data-debug") == "true" ? true : false; 21561 21562 var szDataValue = oNodeInput.attr("data-value"); 21563 21564 var oConfig = { 21565 icons: { 21566 time: "fa fa-clock", 21567 date: "fa fa-calendar-alt", 21568 up: "fa fa-arrow-up", 21569 down: "fa fa-arrow-down" 21570 }, 21571 debug: bDebug, 21572 locale: g_oCTLTempusdominusDatepickerLocalizationFront["user_locale"], 21573 format: szFormat, 21574 useCurrent: false, 21575 widgetPositioning: { 21576 horizontal: 'auto', 21577 vertical: 'bottom' 21578 }, 21579 }; 21580 21581 if (ctlTempusDominusHasOverflowParent(oNodeInput)){ 21582 oConfig["widgetParent"] = 'body'; 21583 } 21584 21585 if (oNodeInput.attr("data-min-date")) { 21586 let oMinDate = new Date(oNodeInput.attr("data-min-date")); 21587 oConfig["minDate"] = moment(oMinDate.getFullYear() + "-" + (oMinDate.getMonth() + 1) + "-" + oMinDate.getDate(), "YYYY-MM-DD"); 21588 } 21589 if (oNodeInput.attr("data-max-date")) { 21590 let oMaxDate = new Date(oNodeInput.attr("data-max-date")); 21591 oConfig["maxDate"] = moment(oMaxDate.getFullYear() + "-" + (oMaxDate.getMonth() + 1) + "-" + oMaxDate.getDate(), "YYYY-MM-DD"); 21592 } 21593 21594 if (oNodeInput.attr("data-stepping")) { 21595 oConfig["stepping"] = oNodeInput.attr("data-stepping"); 21596 } 21597 21598 if (!bTime) { 21599 if (szDataValue) { 21600 oConfig["defaultDate"] = moment(szDataValue, "YYYY-MM-DD"); 21601 21602 if (!oConfig["defaultDate"].isValid()) { 21603 oConfig["defaultDate"] = moment(); 21604 } 21605 21606 if(oConfig["minDate"] && oConfig["defaultDate"].isBefore(oConfig["minDate"])){ 21607 oConfig["defaultDate"] = oConfig["minDate"].clone(); 21608 } 21609 if(oConfig["maxDate"] && oConfig["defaultDate"].isAfter(oConfig["maxDate"])){ 21610 oConfig["defaultDate"] = oConfig["maxDate"].clone(); 21611 } 21612 } 21613 } 21614 21615 if (oNodeInput.closest(".date").length > 0) { 21616 oNodeInput.closest(".date").datetimepicker(oConfig); 21617 } else { 21618 oNodeInput.datetimepicker(oConfig); 21619 } 21620 21621 oNodeInput.data("tempusdominus-initialized", true); 21622 21623 if (oConfig["defaultDate"]) { 21624 oNodeInput.val(oConfig["defaultDate"].format(szFormat)); 21625 oNodeLogicInput.val(szDataValue); 21626 } 21627 21628 if (oNodeInput.closest(".modal-body").length > 0) { 21629 // avoid to crop the datepicker 21630 } 21631 21632 21633} 21634 21635function ctlTempusDominusHasOverflowParent(oNodeInput) { 21636 let $current = oNodeInput.parent(); 21637 21638 while ($current.length && $current[0] !== document ) { 21639 21640 // Eccezione per body e html 21641 if ($current.is('body, html')) { 21642 break; 21643 } 21644 21645 const overflow = $current.css('overflow'); 21646 const overflowY = $current.css('overflow-y'); 21647 const overflowX = $current.css('overflow-x'); 21648 21649 if (overflow !== 'visible' || overflowY !== 'visible' || overflowX !== 'visible') { 21650 return $current; // ritorna il nodo problematico 21651 } 21652 21653 $current = $current.parent(); 21654 } 21655 21656 return null; // nessun parent con overflow problematico 21657} 21658 21659function __ctlTempusDominusUpdateDateTimeFieldPickerMinMax(oNodeInput) { 21660 if(oNodeInput.length == 0 || !oNodeInput.data("tempusdominus-initialized")){ 21661 return; 21662 } 21663 21664 let oNodeFormGroup = oNodeInput.closest(".form-group"); 21665 21666 let oNodeDatePicker = oNodeFormGroup.find(".date-gfx"); 21667 let oNodeTimePicker = oNodeFormGroup.find(".time-gfx"); 21668 21669 if (oNodeFormGroup.hasClass("ctldatetimefield-wrapper") && 21670 oNodeInput.hasClass("date-gfx") && 21671 (oNodeInput.attr("data-min-date") || oNodeInput.attr("data-max-date")) && 21672 oNodeTimePicker.length > 0 21673 ) { 21674 let szDateFormat = oNodeDatePicker.attr("data-format"); 21675 let szTimeFormat = oNodeTimePicker.attr("data-format"); 21676 21677 let szDateValue = oNodeDatePicker.val(); 21678 let szTimeValue = oNodeTimePicker.val(); 21679 21680 let szCurrentDate = moment(szDateValue, szDateFormat).format("YYYY-MM-DD"); 21681 21682 let oCurrentTime = moment(szTimeValue, szTimeFormat); 21683 21684 let oNow = moment(); 21685 21686 let oTempusDominusInstance; 21687 if (oNodeTimePicker.closest(".date").length > 0) { 21688 oTempusDominusInstance = oNodeTimePicker.closest(".date"); 21689 } else { 21690 oTempusDominusInstance = oNodeTimePicker; 21691 } 21692 21693 if(oNodeInput.attr("data-min-date")){ 21694 let oMinDate = moment(oNodeInput.attr("data-min-date")); 21695 21696 if(moment(oMinDate).format("YYYY-MM-DD") == szCurrentDate){ 21697 oMinDate.set({ 21698 year: oNow.year(), 21699 month: oNow.month(), 21700 date: oNow.date() 21701 }); 21702 21703 oTempusDominusInstance.datetimepicker('minDate', oMinDate); 21704 21705 if(oCurrentTime.isBefore(oMinDate)){ 21706 oTempusDominusInstance.datetimepicker('date', oMinDate); 21707 } 21708 }else{ 21709 oTempusDominusInstance.datetimepicker('minDate', false); 21710 } 21711 } 21712 21713 if(oNodeInput.attr("data-max-date")){ 21714 let oMaxDate = moment(oNodeInput.attr("data-max-date")); 21715 if(moment(oMaxDate).format("YYYY-MM-DD") == szCurrentDate){ 21716 oMaxDate.set({ 21717 year: oNow.year(), 21718 month: oNow.month(), 21719 date: oNow.date() 21720 }); 21721 21722 oTempusDominusInstance.datetimepicker('maxDate', oMaxDate); 21723 21724 if(oCurrentTime.isAfter(oMaxDate)){ 21725 oTempusDominusInstance.datetimepicker('date', oMaxDate); 21726 } 21727 }else{ 21728 oTempusDominusInstance.datetimepicker('maxDate', false); 21729 } 21730 } 21731 } 21732} 21733 21734function __ctlTempusDominusCheckValueLimits(oNodeInput) { 21735 if(oNodeInput.length == 0 || !oNodeInput.data("tempusdominus-initialized")){ 21736 return; 21737 } 21738 let oNodeFormGroup = oNodeInput.closest(".form-group"); 21739 21740 let oNodeDatePicker = oNodeFormGroup.find(".date-gfx"); 21741 let oNodeTimePicker = oNodeFormGroup.find(".time-gfx"); 21742 21743 if((oNodeInput.attr("data-min-date") || oNodeInput.attr("data-max-date")) && oNodeInput.hasClass("date-gfx")){ 21744 let oMinDate = oNodeInput.attr("data-min-date") ? moment(oNodeInput.attr("data-min-date")) : null; 21745 let oMaxDate = oNodeInput.attr("data-max-date") ? moment(oNodeInput.attr("data-max-date")) : null; 21746 21747 let oVal = moment(oNodeInput.val(), oNodeInput.attr("data-format")); 21748 21749 if(oMinDate && oVal.isBefore(oMinDate,'day')){ 21750 oNodeInput.val(oMinDate.format(oNodeInput.attr("data-format"))).trigger("change"); 21751 } 21752 if(oMaxDate && oVal.isAfter(oMaxDate,'day')){ 21753 oNodeInput.val(oMaxDate.format(oNodeInput.attr("data-format"))).trigger("change"); 21754 } 21755 }else if(oNodeFormGroup.hasClass("ctldatetimefield-wrapper") && 21756 oNodeInput.hasClass("time-gfx") && 21757 (oNodeDatePicker.attr("data-min-date") || oNodeDatePicker.attr("data-max-date")) 21758 ){ 21759 let oTempusDominusInstance; 21760 if (oNodeInput.closest(".date").length > 0) { 21761 oTempusDominusInstance = oNodeInput.closest(".date"); 21762 } else { 21763 oTempusDominusInstance = oNodeInput; 21764 } 21765 21766 let oMinDate = oTempusDominusInstance.datetimepicker('minDate'); 21767 let oMaxDate = oTempusDominusInstance.datetimepicker('maxDate'); 21768 21769 let oVal = moment(oNodeInput.val(), oNodeInput.attr("data-format")); 21770 21771 let oNow = moment(); 21772 if(oMinDate){ 21773 // Prevent time input's Date to change when minDate is set 21774 if(!oTempusDominusInstance.datetimepicker('date').isSame(oNow, 'day')){ 21775 oTempusDominusInstance.datetimepicker('date', oMinDate.clone().set({ 21776 year: oNow.year(), 21777 month: oNow.month(), 21778 date: oNow.date() 21779 })); 21780 } 21781 21782 oVal.set({ 21783 year: oMinDate.year(), 21784 month: oMinDate.month(), 21785 date: oMinDate.date() 21786 }); 21787 21788 if(oVal.isBefore(oMinDate)){ 21789 oNodeInput.val(oMinDate.format(oNodeInput.attr("data-format"))).trigger("change"); 21790 } 21791 } 21792 21793 if(oMaxDate){ 21794 // Prevent time input's Date to change when maxDate is set 21795 if(!oTempusDominusInstance.datetimepicker('date').isSame(oNow, 'day')){ 21796 oTempusDominusInstance.datetimepicker('date', oMaxDate.clone().set({ 21797 year: oNow.year(), 21798 month: oNow.month(), 21799 date: oNow.date() 21800 })); 21801 } 21802 21803 oVal.set({ 21804 year: oMaxDate.year(), 21805 month: oMaxDate.month(), 21806 date: oMaxDate.date() 21807 }); 21808 21809 if(oVal.isAfter(oMaxDate)){ 21810 oNodeInput.val(oMaxDate.format(oNodeInput.attr("data-format"))).trigger("change"); 21811 } 21812 } 21813 } 21814} 21815// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-form-fields/php/../js/epsilon.js 21816Array.prototype.top = function () { 21817 return this[this.length - 1]; 21818}; 21819var Epsilon; 21820(function (Epsilon) { 21821 var ZERO = 48; 21822 var NINE = 57; 21823 var CAP_A = 65; 21824 var CAP_Z = 90; 21825 var DEC_POINT = 46; 21826 var ExpressionTree = (function () { 21827 function ExpressionTree(token, left, right) { 21828 this.pointer = null; 21829 this.left = null; 21830 this.right = null; 21831 this.operator = null; 21832 switch (arguments.length) { 21833 case 1: 21834 this.pointer = token; 21835 this.left = this.right = this.operator = null; 21836 break; 21837 case 2: 21838 this.pointer = null; 21839 this.operator = token; 21840 this.left = new ExpressionTree(0); 21841 this.right = left; 21842 break; 21843 case 3: 21844 this.pointer = null; 21845 this.operator = token; 21846 this.left = right; 21847 this.right = left; 21848 break; 21849 default: 21850 this.pointer = this.left = this.right = this.operator = null; 21851 break; 21852 } 21853 } 21854 ExpressionTree.prototype.evaluate = function () { 21855 if (this.left && this.left.operator) { 21856 this.left.evaluate(); 21857 } 21858 if (this.right && this.right.operator) { 21859 this.right.evaluate(); 21860 } 21861 switch (this.operator) { 21862 case "+": 21863 this.pointer = this.left.value() + this.right.value(); 21864 break; 21865 case "-": 21866 this.pointer = this.left.value() - this.right.value(); 21867 break; 21868 case "*": 21869 case "X":
21870 case "x": 21871 this.pointer = this.left.value() * this.right.value(); 21872 break; 21873 case "/": 21874 this.pointer = this.left.value() / this.right.value(); 21875 break; 21876 default: 21877 break; 21878 } 21879 return this.value(); 21880 }; 21881 ExpressionTree.prototype.value = function () { 21882 if (typeof this.pointer === "number") { 21883 return this.pointer; 21884 } 21885 if (this.pointer.charCodeAt(0) >= ZERO && this.pointer.charCodeAt(0) <= NINE || this.pointer.charCodeAt(0) === DEC_POINT) { 21886 this.pointer = parseFloat(this.pointer); 21887 } 21888 else if (this.pointer.charCodeAt(0) >= CAP_A && this.pointer.charCodeAt(0) <= CAP_Z) { 21889 this.pointer = this.getDomVal(); 21890 } 21891 return this.pointer; 21892 }; 21893 ExpressionTree.prototype.getDomVal = function () { 21894 var el = document.getElementById(this.pointer); 21895 if (!el) { 21896 el = document.querySelector("[data-formula-ref='" + this.pointer + "']"); 21897 } 21898 return this.getElementValue(el); 21899 }; 21900 ExpressionTree.prototype.getElementValue = function (el) { 21901 var val = 0, parser, text; 21902 if (el && el.getAttribute("data-formula")) { 21903 parser = new ExpressionParser(el.getAttribute("data-formula")); 21904 val = parser.evaluate(); 21905 } 21906 else if (el && el.value) { 21907 val = parseFloat(el.value) || 0; 21908 } 21909 else if (el) { 21910 text = el.textContent || el.innerText; 21911 val = parseFloat(text) || 0; 21912 } 21913 return val; 21914 }; 21915 return ExpressionTree; 21916 })(); 21917 Epsilon.ExpressionTree = ExpressionTree; 21918 var ExpressionParser = (function () { 21919 function ExpressionParser(expr) { 21920 this.expr = expr; 21921 this.expression = null; 21922 this.operatorStack = []; 21923 this.valueStack = []; 21924 this.expression = expr; 21925 } 21926 ExpressionParser.prototype.parse = function () { 21927 var expr = this.expression.split(""), token, temp, valueToken = false; 21928 while (expr.length) { 21929 token = expr.shift(); 21930 temp = []; 21931 if (token === "(") { 21932 this.operatorStack.push("("); 21933 valueToken = false; 21934 } 21935 else if (token === ")") { 21936 var iRetry = this.expression.length; 21937 21938 while (this.operatorStack.top() !== "(" && iRetry>=0) { 21939 // Push a new node on the value stack 21940 21941 this.valueStack.push(new ExpressionTree(this.operatorStack.pop(), this.valueStack.pop(), this.valueStack.pop())); 21942 iRetry--; 21943 } 21944 // remove the opening bracket 21945 this.operatorStack.pop(); 21946 valueToken = true; 21947 } 21948 else if (this.isValueFragment(token)) { 21949 // Token is a number 21950 temp.push(token); 21951 while (expr.length && this.isValueFragment(expr[0])) { 21952 temp.push(expr.shift()); 21953 } 21954 this.valueStack.push(new ExpressionTree(temp.join(""))); 21955 valueToken = true; 21956 } 21957 else if (token === "-" && !valueToken) { 21958 // Unary negative operator (negative sign) 21959 while (expr.length && this.isValueFragment(expr[0])) { 21960 temp.push(expr.shift()); 21961 } 21962 this.valueStack.push(new ExpressionTree(token, new ExpressionTree(temp.join("")))); 21963 valueToken = true; 21964 } 21965 else if (this.isOperator(token)) { 21966 while (this.operatorStack.length && ((this.operatorStack.top() === "*" || this.operatorStack.top() === "/" || this.operatorStack.top() === "x") || ((token === "+" || token === "-") && (this.operatorStack.top() === "+" || this.operatorStack.top() === "-")))) { 21967 this.valueStack.push(new ExpressionTree(this.operatorStack.pop(), this.valueStack.pop(), this.valueStack.pop())); 21968 } 21969 this.operatorStack.push(token); 21970 valueToken = false;
21971 } 21972 } 21973 while (this.operatorStack.length) { 21974 this.valueStack.push(new ExpressionTree(this.operatorStack.pop(), this.valueStack.pop(), this.valueStack.pop())); 21975 } 21976 }; 21977 ExpressionParser.prototype.isOperator = function (token) { 21978 return token === "+" || token === "-" || token === "*" || token === "/" || token === "x"; 21979 }; 21980 ExpressionParser.prototype.isValueFragment = function (token) { 21981 return (token.charCodeAt(0) >= ZERO && token.charCodeAt(0) <= NINE) || (token.charCodeAt(0) >= CAP_A && token.charCodeAt(0) <= CAP_Z) || token.charCodeAt(0) === DEC_POINT; 21982 }; 21983 ExpressionParser.prototype.value = function () { 21984 return this.valueStack[0].evaluate(); 21985 }; 21986 ExpressionParser.prototype.evaluate = function (e) { 21987 if (arguments.length) { 21988 this.setExpression(e); 21989 } 21990 this.parse(); 21991 return this.value(); 21992 }; 21993 ExpressionParser.prototype.setExpression = function (e) { 21994 this.expression = e; 21995 this.operatorStack = []; 21996 this.valueStack = []; 21997 }; 21998 return ExpressionParser; 21999 })(); 22000 Epsilon.ExpressionParser = ExpressionParser; 22001 function epsilon(els) { 22002 var parser = new ExpressionParser(), elements = els || document.querySelectorAll("[data-formula]"), i, value; 22003 if (elements.length === undefined) { 22004 elements = new Array(elements); 22005 } 22006 for (i = 0; elements && i < elements.length; i++) { 22007 value = parser.evaluate(elements[i].getAttribute("data-formula")).toString(); 22008 if (elements[i].textContent !== undefined) { 22009 elements[i].textContent = value; 22010 } 22011 else { 22012 elements[i].innerText = value; 22013 } 22014 } 22015 } 22016 Epsilon.epsilon = epsilon; 22017})(Epsilon || (Epsilon = {})); 22018//# sourceMappingURL=epsilon.js.map 22019// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-form-fields/php/../js/screenfull.min.js 22020/*! 22021* screenfull 22022* v5.1.0 - 2020-12-24 22023* (c) Sindre Sorhus; MIT License 22024*/ 22025 22026!function(){"use strict";var c="undefined"!=typeof window&&void 0!==window.document?window.document:{},e="undefined"!=typeof module&&module.exports,s=function(){for(var e,n=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],l=0,r=n.length,t={};l<r;l++)if((e=n[l])&&e[1]in c){for(l=0;l<e.length;l++)t[n[0][l]]=e[l];return t}return!1}(),l={change:s.fullscreenchange,error:s.fullscreenerror},n={request:function(t,u){return new Promise(function(e,n){var l=function(){this.off("change",l),e()}.bind(this);this.on("change",l);var r=(t=t||c.documentElement)[s.requestFullscreen](u);r instanceof Promise&&r.then(l).catch(n)}.bind(this))},exit:function(){return new Promise(function(e,n){var l,r;this.isFullscreen?(l=function(){this.off("change",l),e()}.bind(this),this.on("change",l),(r=c[s.exitFullscreen]())instanceof Promise&&r.then(l).catch(n)):e()}.bind(this))},toggle:function(e,n){return this.isFullscreen?this.exit():this.request(e,n)},onchange:function(e){this.on("change",e)},onerror:function(e){this.on("error",e)},on:function(e,n){e=l[e];e&&c.addEventListener(e,n,!1)},off:function(e,n){e=l[e];e&&c.removeEventListener(e,n,!1)},raw:s};s?(Object.defineProperties(n,{isFullscreen:{get:function(){return Boolean(c[s.fullscreenElement])}},element:{enumerable:!0,get:function(){return c[s.fullscreenElement]}},isEnabled:{enumerable:!0,get:function(){return Boolean(c[s.fullscreenEnabled])}}}),e?module.exports=n:window.screenfull=n):e?module.exports={isEnabled:!1}:window.screenfull={isEnabled:!1}}(); 22027// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-form-fields/php/../js/bootstrap-colorpicker.min.js 22028/*! 22029 * Bootstrap Colorpicker - Bootstrap Colorpicker is a modular color picker plugin for Bootstrap 4. 22030 * @package bootstrap-colorpicker 22031 * @version v3.2.0 22032 * @license MIT 22033 * @link https://itsjavi.com/bootstrap-colorpicker/ 22034 * @link https://github.com/itsjavi/bootstrap-colorpicker.git 22035 */ 22036(function webpackUniversalModuleDefinition(root,factory){if(typeof exports==="object"&&typeof module==="object")module.exports=factory(require("jquery"));else if(typeof define==="function"&&define.amd)define("bootstrap-colorpicker",["jquery"],factory);else if(typeof exports==="object")exports["bootstrap-colorpicker"]=factory(require("jquery"));else root["bootstrap-colorpicker"]=factory(root["jQuery"])})(window,function(__WEBPACK_EXTERNAL_MODULE__0__){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId]){return installedModules[moduleId].exports}var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.l=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.d=function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{enumerable:true,get:getter})}};__webpack_require__.r=function(exports){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(exports,"__esModule",{value:true})};__webpack_require__.t=function(value,mode){if(mode&1)value=__webpack_require__(value);if(mode&8)return value;
vendor: 11,734 bytes, line 22036
22036if(mode&4&&typeof value==="object"&&value&&value.__esModule)return value;var ns=Object.create(null);__webpack_require__.r(ns);Object.defineProperty(ns,"default",{enumerable:true,value});if(mode&2&&typeof value!="string")for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns};__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module["default"]}:function getModuleExports(){return module};__webpack_require__.d(getter,"a",getter);return getter};__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__webpack_require__.p="";return __webpack_require__(__webpack_require__.s=7)}([function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__0__},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var Extension=function(){function Extension(colorpicker){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Extension);this.colorpicker=colorpicker;this.options=options;if(!(this.colorpicker.element&&this.colorpicker.element.length)){throw new Error("Extension: this.colorpicker.element is not valid")}this.colorpicker.element.on("colorpickerCreate.colorpicker-ext",_jquery2.default.proxy(this.onCreate,this));this.colorpicker.element.on("colorpickerDestroy.colorpicker-ext",_jquery2.default.proxy(this.onDestroy,this));this.colorpicker.element.on("colorpickerUpdate.colorpicker-ext",_jquery2.default.proxy(this.onUpdate,this));this.colorpicker.element.on("colorpickerChange.colorpicker-ext",_jquery2.default.proxy(this.onChange,this));this.colorpicker.element.on("colorpickerInvalid.colorpicker-ext",_jquery2.default.proxy(this.onInvalid,this));this.colorpicker.element.on("colorpickerShow.colorpicker-ext",_jquery2.default.proxy(this.onShow,this));this.colorpicker.element.on("colorpickerHide.colorpicker-ext",_jquery2.default.proxy(this.onHide,this));this.colorpicker.element.on("colorpickerEnable.colorpicker-ext",_jquery2.default.proxy(this.onEnable,this));this.colorpicker.element.on("colorpickerDisable.colorpicker-ext",_jquery2.default.proxy(this.onDisable,this))}_createClass(Extension,[{key:"resolveColor",value:function resolveColor(color){var realColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return false}},{key:"onCreate",value:function onCreate(event){}},{key:"onDestroy",value:function onDestroy(event){this.colorpicker.element.off(".colorpicker-ext")}},{key:"onUpdate",value:function onUpdate(event){}},{key:"onChange",value:function onChange(event){}},{key:"onInvalid",value:function onInvalid(event){}},{key:"onHide",value:function onHide(event){}},{key:"onShow",value:function onShow(event){}},{key:"onDisable",value:function onDisable(event){}},{key:"onEnable",value:function onEnable(event){}}]);return Extension}();exports.default=Extension;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ColorItem=exports.HSVAColor=undefined;var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _color=__webpack_require__(16);var _color2=_interopRequireDefault(_color);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var HSVAColor=function(){function HSVAColor(h,s,v,a){_classCallCheck(this,HSVAColor);this.h=isNaN(h)?0:h;this.s=isNaN(s)?0:s;this.v=isNaN(v)?0:v;this.a=isNaN(h)?1:a}_createClass(HSVAColor,[{key:"toString",value:function toString(){return this.h+", "+this.s+"%, "+this.v+"%, "+this.a}}]);return HSVAColor}();var ColorItem=function(){_createClass(ColorItem,[{key:"api",value:function api(fn){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}if(arguments.length===0){return this._color}var result=this._color[fn].apply(this._color,args);if(!(result instanceof _color2.default)){return result}return new ColorItem(result,this.format)}},{key:"original",get:function get(){return this._original}}],[{key:"HSVAColor",get:function get(){return HSVAColor}}]);function ColorItem(){var color=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var format=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;_classCallCheck(this,ColorItem);this.replace(color,format)}_createClass(ColorItem,[{key:"replace",value:function replace(color){var format=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;format=ColorItem.sanitizeFormat(format);this._original={color,format,valid:true};this._color=ColorItem.parse(color);if(this._color===null){this._color=(0,_color2.default)();this._original.valid=false;return}this._format=format?format:ColorItem.isHex(color)?"hex":this._color.model}},{key:"isValid",value:function isValid(){return this._original.valid===true}},{key:"setHueRatio",value:function setHueRatio(h){this.hue=(1-h)*360}},{key:"setSaturationRatio",value:function setSaturationRatio(s){this.saturation=s*100}},{key:"setValueRatio",value:function setValueRatio(v){this.value=(1-v)*100}},{key:"setAlphaRatio",value:function setAlphaRatio(a){this.alpha=1-a}},{key:"isDesaturated",value:function isDesaturated(){return this.saturation===0}},{key:"isTransparent",value:function isTransparent(){return this.alpha===0}},{key:"hasTransparency",value:function hasTransparency(){return this.hasAlpha()&&this.alpha<1}},{key:"hasAlpha",value:function hasAlpha(){return!isNaN(this.alpha)}},{key:"toObject",value:function toObject(){return new HSVAColor(this.hue,this.saturation,this.value,this.alpha)}},{key:"toHsva",value:function toHsva(){return this.toObject()}},{key:"toHsvaRatio",value:function toHsvaRatio(){return new HSVAColor(this.hue/360,this.saturation/100,this.value/100,this.alpha)}},{key:"toString",value:function toString(){return this.string()}},{key:"string",value:function string(){var format=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;format=ColorItem.sanitizeFormat(format?format:this.format);if(!format){return this._color.round().string()}if(this._color[format]===undefined){throw new Error("Unsupported color format: '"+format+"'")}var str=this._color[format]();return str.round?str.round().string():str}},{key:"equals",value:function equals(color){color=color instanceof ColorItem?color:new ColorItem(color);if(!color.isValid()||!this.isValid()){return false}return this.hue===color.hue&&this.saturation===color.saturation&&this.value===color.value&&this.alpha===color.alpha}},{key:"getClone",value:function getClone(){return new ColorItem(this._color,this.format)}},{key:"getCloneHueOnly",value:function getCloneHueOnly(){return new ColorItem([this.hue,100,100,1],this.format)}},{key:"getCloneOpaque",value:function getCloneOpaque(){return new ColorItem(this._color.alpha(1),this.format)}},{key:"toRgbString",value:function toRgbString(){return this.string("rgb")}},{key:"toHexString",value:function toHexString(){return this.string("hex")}},{key:"toHslString",value:function toHslString(){return this.string("hsl")}},{key:"isDark",value:function isDark(){return this._color.isDark()}},{key:"isLight",value:function isLight(){return this._color.isLight()}},{key:"generate",value:function generate(formula){var hues=[];if(Array.isArray(formula)){hues=formula}else if(!ColorItem.colorFormulas.hasOwnProperty(formula)){throw new Error("No color formula found with the name '"+formula+"'.")}else{hues=ColorItem.colorFormulas[formula]}var colors=[],mainColor=this._color,format=this.format;hues.forEach(function(hue){var levels=[hue?(mainColor.hue()+hue)%360:mainColor.hue(),mainColor.saturationv(),mainColor.value(),mainColor.alpha()];colors.push(new ColorItem(levels,format))});return colors}},{key:"hue",get:function get(){return this._color.hue()},set:function set(value){this._color=this._color.hue(value)}},{key:"saturation",get:function get(){return this._color.saturationv()},set:function set(value){this._color=this._color.saturationv(value)}},{key:"value",get:function get(){return this._color.value()},set:function set(value){this._color=this._color.value(value)}},{key:"alpha",get:function get(){var a=this._color.alpha();return isNaN(a)?1:a},set:function set(value){this._color=this._color.alpha(Math.round(value*100)/100)}},{key:"format",get:function get(){return this._format?this._format:this._color.model},set:function set(value){this._format=ColorItem.sanitizeFormat(value)}}],[{key:"parse",value:function parse(color){if(color instanceof _color2.default){return color}if(color instanceof ColorItem){return color._color}var format=null;if(color instanceof HSVAColor){color=[color.h,color.s,color.v,isNaN(color.a)?1:color.a]}else{color=ColorItem.sanitizeString(color)}if(color===null){return null}if(Array.isArray(color)){format="hsv"}try{return(0,_color2.default)(color,format)}catch(e){return null}}},{key:"sanitizeString",value:function sanitizeString(str){if(!(typeof str==="string"||str instanceof String)){return str}if(str.match(/^[0-9a-f]{2,}$/i)){return"#"+str}if(str.toLowerCase()==="transparent"){return"#FFFFFF00"}return str}},{key:"isHex",value:function isHex(str){if(!(typeof str==="string"||str instanceof String)){return false}return!!str.match(/^#?[0-9a-f]{2,}$/i)}},{key:"sanitizeFormat",value:function sanitizeFormat(format){switch(format){case"hex":case"hex3":case"hex4":case"hex6":case"hex8":return"hex";case"rgb":case"rgba":case"keyword":case"name":return"rgb";case"hsl":case"hsla":case"hsv":case"hsva":case"hwb":case"hwba":return"hsl";default:return""}}}]);return ColorItem}();ColorItem.colorFormulas={complementary:[180],triad:[0,120,240],tetrad:[0,90,180,270],splitcomplement:[0,72,216]};exports.default=ColorItem;exports.HSVAColor=HSVAColor;exports.ColorItem=ColorItem},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var sassVars={bar_size_short:16,base_margin:6,columns:6};var sliderSize=sassVars.bar_size_short*sassVars.columns+sassVars.base_margin*(sassVars.columns-1);exports.default={customClass:null,color:false,fallbackColor:false,format:"auto",horizontal:false,inline:false,container:false,popover:{animation:true,placement:"bottom",fallbackPlacement:"flip"},debug:false,input:"input",addon:".colorpicker-input-addon",auto
vendor: 26,488 bytes, line 22036
22036InputFallback:true,useHashPrefix:true,useAlpha:true,template:'<div class="colorpicker">\n <div class="colorpicker-saturation"><i class="colorpicker-guide"></i></div>\n <div class="colorpicker-hue"><i class="colorpicker-guide"></i></div>\n <div class="colorpicker-alpha">\n <div class="colorpicker-alpha-color"></div>\n <i class="colorpicker-guide"></i>\n </div>\n </div>',extensions:[{name:"preview",options:{showText:true}}],sliders:{saturation:{selector:".colorpicker-saturation",maxLeft:sliderSize,maxTop:sliderSize,callLeft:"setSaturationRatio",callTop:"setValueRatio"},hue:{selector:".colorpicker-hue",maxLeft:0,maxTop:sliderSize,callLeft:false,callTop:"setHueRatio"},alpha:{selector:".colorpicker-alpha",childSelector:".colorpicker-alpha-color",maxLeft:0,maxTop:sliderSize,callLeft:false,callTop:"setAlphaRatio"}},slidersHorz:{saturation:{selector:".colorpicker-saturation",maxLeft:sliderSize,maxTop:sliderSize,callLeft:"setSaturationRatio",callTop:"setValueRatio"},hue:{selector:".colorpicker-hue",maxLeft:sliderSize,maxTop:0,callLeft:"setHueRatio",callTop:false},alpha:{selector:".colorpicker-alpha",childSelector:".colorpicker-alpha-color",maxLeft:sliderSize,maxTop:0,callLeft:"setAlphaRatio",callTop:false}}};module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _Extension2=__webpack_require__(1);var _Extension3=_interopRequireDefault(_Extension2);var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var defaults={colors:null,namesAsValues:true};var Palette=function(_Extension){_inherits(Palette,_Extension);_createClass(Palette,[{key:"colors",get:function get(){return this.options.colors}}]);function Palette(colorpicker){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Palette);var _this=_possibleConstructorReturn(this,(Palette.__proto__||Object.getPrototypeOf(Palette)).call(this,colorpicker,_jquery2.default.extend(true,{},defaults,options)));if(!Array.isArray(_this.options.colors)&&_typeof(_this.options.colors)!=="object"){_this.options.colors=null}return _this}_createClass(Palette,[{key:"getLength",value:function getLength(){if(!this.options.colors){return 0}if(Array.isArray(this.options.colors)){return this.options.colors.length}if(_typeof(this.options.colors)==="object"){return Object.keys(this.options.colors).length}return 0}},{key:"resolveColor",value:function resolveColor(color){var realColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;if(this.getLength()<=0){return false}if(Array.isArray(this.options.colors)){if(this.options.colors.indexOf(color)>=0){return color}if(this.options.colors.indexOf(color.toUpperCase())>=0){return color.toUpperCase()}if(this.options.colors.indexOf(color.toLowerCase())>=0){return color.toLowerCase()}return false}if(_typeof(this.options.colors)!=="object"){return false}if(!this.options.namesAsValues||realColor){return this.getValue(color,false)}return this.getName(color,this.getName("#"+color))}},{key:"getName",value:function getName(value){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!(typeof value==="string")||!this.options.colors){return defaultValue}for(var name in this.options.colors){if(!this.options.colors.hasOwnProperty(name)){continue}if(this.options.colors[name].toLowerCase()===value.toLowerCase()){return name}}return defaultValue}},{key:"getValue",value:function getValue(name){var defaultValue=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!(typeof name==="string")||!this.options.colors){return defaultValue}if(this.options.colors.hasOwnProperty(name)){return this.options.colors[name]}return defaultValue}}]);return Palette}(_Extension3.default);exports.default=Palette;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";module.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},function(module,exports,__webpack_require__){var cssKeywords=__webpack_require__(5);var reverseKeywords={};for(var key in cssKeywords){if(cssKeywords.hasOwnProperty(key)){reverseKeywords[cssKeywords[key]]=key}}var convert=module.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var model in convert){if(convert.hasOwnProperty(model)){if(!("channels"in convert[model])){throw new Error("missing channels property: "+model)}if(!("labels"in convert[model])){throw new Error("missing channel labels property: "+model)}if(convert[model].labels.length!==convert[model].channels){throw new Error("channel and label counts mismatch: "+model)}var channels=convert[model].channels;var labels=convert[model].labels;delete convert[model].channels;delete convert[model].labels;Object.defineProperty(convert[model],"channels",{value:channels});Object.defineProperty(convert[model],"labels",{value:labels})}}convert.rgb.hsl=function(rgb){var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var min=Math.min(r,g,b);var max=Math.max(r,g,b);var delta=max-min;var h;var s;var l;if(max===min){h=0}else if(r===max){h=(g-b)/delta}else if(g===max){h=2+(b-r)/delta}else if(b===max){h=4+(r-g)/delta}h=Math.min(h*60,360);if(h<0){h+=360}l=(min+max)/2;if(max===min){s=0}else if(l<=.5){s=delta/(max+min)}else{s=delta/(2-max-min)}return[h,s*100,l*100]};convert.rgb.hsv=function(rgb){var rdif;var gdif;var bdif;var h;var s;var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var v=Math.max(r,g,b);var diff=v-Math.min(r,g,b);var diffc=function(c){return(v-c)/6/diff+1/2};if(diff===0){h=s=0}else{s=diff/v;rdif=diffc(r);gdif=diffc(g);bdif=diffc(b);if(r===v){h=bdif-gdif}else if(g===v){h=1/3+rdif-bdif}else if(b===v){h=2/3+gdif-rdif}if(h<0){h+=1}else if(h>1){h-=1}}return[h*360,s*100,v*100]};convert.rgb.hwb=function(rgb){var r=rgb[0];var g=rgb[1];var b=rgb[2];var h=convert.rgb.hsl(rgb)[0];var w=1/255*Math.min(r,Math.min(g,b));b=1-1/255*Math.max(r,Math.max(g,b));return[h,w*100,b*100]};convert.rgb.cmyk=function(rgb){var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var c;var m;var y;var k;k=Math.min(1-r,1-g,1-b);c=(1-r-k)/(1-k)||0;m=(1-g-k)/(1-k)||0;y=(1-b-k)/(1-k)||0;return[c*100,m*100,y*100,k*100]};function comparativeDistance(x,y){return Math.pow(x[0]-y[0],2)+Math.pow(x[1]-y[1],2)+Math.pow(x[2]-y[2],2)}convert.rgb.keyword=function(rgb){var reversed=reverseKeywords[rgb];if(reversed){return reversed}var currentClosestDistance=Infinity;var currentClosestKeyword;for(var keyword in cssKeywords){if(cssKeywords.hasOwnProperty(keyword)){var value=cssKeywords[keyword];var distance=comparativeDistance(rgb,value);if(distance<currentClosestDistance){currentClosestDistance=distance;currentClosestKeyword=keyword}}}return currentClosestKeyword};convert.keyword.rgb=function(keyword){return cssKeywords[keyword]};convert.rgb.xyz=function(rgb){var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;g=g>.04045?Math.pow((g+.055)/1.055,2.4):g/12.92;b=b>.04045?Math.pow((b+.055)/1.055,2.4):b/12.92;var x=r*.4124+g*.3576+b*.1805;var y=r*.2126+g*.7152+b*.0722;var z=r*.0193+g*.1192+b*.9505;return[x*100,y*100,z*100]};convert.rgb.lab=function(rgb){var xyz=convert.rgb.xyz(rgb);var x=xyz[0];var y=xyz[1];var z=xyz[2];var l;var a;var b;x/=95.047;y/=100;z/=108.883;x=x>.008856?Math.pow(x,1/3):7.787*x+16/116;y=y>.008856?Math.pow(y,1/3):7.787*y+16/116;z=z>.008856?Math.pow(z,1/3):7.787*z+16/116;l=116*y-16;a=500*(x-y);b=200*(y-z);return[l,a,b]};convert.hsl.rgb=function(hsl){var h=hsl[0]/360;var s=hsl[1]/100;var l=hsl[2]/100;var t1;var t2;var t3;var rgb;var val;if(s===0){val=l*255;return[val,val,val]}if(l<.5){t2=l*(1+s)}else{t2=l+s-l*s}t1=2*l-t2;rgb=[0,0,0];for(var i=0;i<3;i++){t3=h+1/3*-(i-1);if(t3<0){t3++}if(t3>1){t3--}if(6*t3<1){val=t1+(t2-t1)*6*t3}else if(2*t3<1){val=t2}else if(3*t3<2){val=t1+(t2-t1)*(2/3-t3)*6}else{val=t1}rgb[i]=val*255}return rgb};convert.hsl.hsv=function(hsl){var h=hsl[0];var s=hsl[1]/100;var l=hsl[2]/100;var smin=s;var lmin=Math.max(l,.01);var sv;var v;l*=2;s*=l<=1?l:2-l;smin*=lmin<=1?lmin:2-lmin;v=(l+s)/2;sv=l===0?2*smin/(lmin+smin):2*s/(l+s);return[h,sv*100,v*100]};convert.hsv.rgb=function(hsv){var h=hsv[0]/60;var s=hsv[1]/100;var v=hsv[2]/100;var hi=Math.floor(h)%6;var f=h-Math.floor(h);var p=255*v*(1-s);var q=255*v*(1-s*f);var t=255*v*(1-s*(1-f));v*=255;switch(hi){case 0:return[v,t,p];case 1:return[q,v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q]}};convert.hsv.hsl=function(hsv){var h=hsv[0];var s=hsv[1]/100;var v=hsv[2]/100;var vmin=Math.max(v,.01);var lmin;var sl;var l;l=(2-s)*v;lmin=(2-s)*vmin;sl=s*vmin;sl/=lmin<=1?lmin:2-lmin;sl=sl||0;l/=2;return[h,sl*100,l*100]};convert.hwb.rgb=function(hwb){var h=hwb[0]/360;var wh=hwb[1]/100;var bl=hwb[2]/100;var ratio=wh+bl;var i;var v;var f;var n;if(ratio>1){wh/=ratio;bl/=ratio}i=Math.floor(6*h);v=1-bl;f=6*h-i;if((i&1)!==0){f=1-f}n=wh+f*(v-wh);var r;var g;var b;switch(i){default:case 6:case 0:r=v;g=n;b=wh;break;case 1:r=n;g=v;b=wh;break;case 2:r=wh;g=v;b=n;break;case 3:r=wh;g=n;b=v;break;case 4:r=n;g=wh;b=v;break;case 5:r=v;g=wh;b=n;break}return[r*255,g*255,b*255]};convert.cmyk.rgb=function(cmyk){var c=cmyk[0]/100;var m=cmyk[1]/100;var y=cmyk[2]/100;var k=cmyk[3]/100;var r;var g;var b;r=1-Math.min(1,c*(1-k)+k);g=1-Math.min(1,m*(1-k)+k);b=1-Math.min(1,y*(1-k)+k);return[r*255,g*255,b*255]};convert.xyz.rgb=function(xyz){var x=xyz[0]/100;var y=xyz[1]/100;var z=xyz[2]/100;var r;var g;var b;r=x*3.2406+y*-1.5372+z*-.4986;g=x*-.9689+y*1.8758+z*.0415;b=x*.0557+y*-.204+z*1.057;r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:r*12.92;g=g>.0031308?1.055*Math.pow(g,1/2.4)-.055:g*12.92;b=b>.0031308?1.055*Math.pow(b,1/2.4)-.055:b*12.92;r=Math.min(Math.max(0,r),1);g=Math.min(Math.max(0,g),1);b=Math.min(Math.max(0,b),1);return[r*255,g*255,b*255]};convert.xyz.lab=function(xyz){var x=xyz[0];var y=xyz[1];var z=xyz[2];var l;var a;var b;x/=95.047;y/=100;z/=108.883;x=x>.008856?Math.pow(x,1/3):7.787*x+16/116;y=y>.008856?Math.pow(y,1/3):7.787*y+16/116;z=z>.008856?Math.pow(z,1/3):7.787*z+16/116;l=116*y-16;a=500*(x-y);b=200*(y-z);return[l,a,b]};convert.lab.xyz=function(lab){var l=lab[0];var a=lab[1];var b=lab[2];var x;var y;var z;y=(l+16)/116;x=a/500+y;z=y-b/200;var y2=Math.pow(y,3);var x2=Math.pow(x,3);var z2=Math.pow(z,3);y=y2>.008856?y2:(y-16/116)/7.787;x=x2>.008856?x2:(x-16/116)/7.787;z=z2>.008856?z2:(z-16/116)/7.787;x*=95.047;y*=100;z*=108.883;return[x,y,z]};convert.lab.lch=function(lab){var l=lab[0];var a=lab[1];var b=lab[2];var hr;var h;var c;hr=Math.atan2(b,a);h=hr*360/2/Math.PI;if(h<0){h+=360}c=Math.sqrt(a*a+b*b);return[l,c,h]};convert.lch.lab=function(lch){var l=lch[0];var c=lch[1];var h=lch[2];var a;var b;var hr;hr=h/360*2*Math.PI;a=c*Math.cos(hr);b=c*Math.sin(hr);return[l,a,b]};convert.rgb.ansi16=function(args){var r=args[0];var g=args[1];var b=args[2];var value=1 in arguments?arguments[1]:convert.rgb.hsv(args)[2];value=Math.round(value/50);if(value===0){return 30}var ansi=30+(Math.round(b/255)<<2|Math.round(g/255)<<1|Math.round(r/255));if(value===2){ansi+=60}return ansi};convert.hsv.ansi16=function(args){return convert.rgb.ansi16(convert.hsv.rgb(args),args[2])};convert.rgb.ansi256=function(args){var r=args[0];var g=args[1];var b=args[2];if(r===g&&g===b){if(r<8){return 16}if(r>248){return 231}return Math.round((r-8)/247*24)+232}var ansi=16+36*Math.round(r/255*5)+6*Math.round(g/255*5)+Math.round(b/255*5);return ansi};convert.ansi16.rgb=function(args){var color=args%10;if(color===0||color===7){if(args>50){color+=3.5}color=color/10.5*255;return[color,color,color]}var mult=(~~(args>50)+1)*.5;var r=(color&1)*mult*255;var g=(color>>1&1)*mult*255;var b=(color>>2&1)*mult*255;return[r,g,b]};convert.ansi256.rgb=function(args){if(args>=232){var c=(args-232)*10+8;return[c,c,c]}args-=16;var rem;var r=Math.floor(args/36)/5*255;var g=Math.floor((rem=args%36)/6)/5*255;var b=rem%6/5*255;return[r,g,b]};convert.rgb.hex=function(args){var integer=((Math.round(args[0])&255)<<16)+((Math.round(args[1])&255)<<8)+(Math.round(args[2])&255);var string=integer.toString(16).toUpperCase();return"000000".substring(string.length)+string};convert.hex.rgb=function(args){var match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!match){return[0,0,0]}var colorString=match[0];if(match[0].length===3){colorString=colorString.split("").map(function(char){return char+char}).join("")}var integer=parseInt(colorString,16);var r=integer>>16&255;var g=integer>>8&255;var b=integer&255;return[r,g,b]};convert.rgb.hcg=function(rgb){var r=rgb[0]/255;var g=rgb[1]/255;var b=rgb[2]/255;var max=Math.max(Math.max(r,g),b);var min=Math.min(Math.min(r,g),b);var chroma=max-min;var grayscale;var hue;if(chroma<1){grayscale=min/(1-chroma)}else{grayscale=0}if(chroma<=0){hue=0}else if(max===r){hue=(g-b)/chroma%6}else if(max===g){hue=2+(b-r)/chroma}else{hue=4+(r-g)/chroma+4}hue/=6;hue%=1;return[hue*360,chroma*100,grayscale*100]};convert.hsl.hcg=function(hsl){var s=hsl[1]/100;var l=hsl[2]/100;var c=1;var f=0;if(l<.5){c=2*s*l}else{c=2*s*(1-l)}if(c<1){f=(l-.5*c)/(1-c)}return[hsl[0],c*100,f*100]};convert.hsv.hcg=function(hsv){var s=hsv[1]/100;var v=hsv[2]/100;var c=s*v;var f=0;if(c<1){f=(v-c)/(1-c)}return[hsv[0],c*100,f*100]};convert.hcg.rgb=function(hcg){var h=hcg[0]/360;var c=hcg[1]/100;var g=hcg[2]/100;if(c===0){return[g*255,g*255,g*255]}var pure=[0,0,0];var hi=h%1*6;var v=hi%1;var w=1-v;var mg=0;switch(Math.floor(hi)){case 0:pure[0]=1;pure[1]=v;pure[2]=0;break;case 1:pure[0]=w;pure[1]=1;pure[2]=0;break;case 2:pure[0]=0;pure[1]=1;pure[2]=v;break;case 3:pure[0]=0;pure[1]=w;pure[2]=1;break;case 4:pure[0]=v;pure[1]=0;pure[2]=1;break;default:pure[0]=1;pure[1]=0;pure[2]=w}mg=(1-c)*g;return[(c*pure[0]+mg)*255,(c*pure[1]+mg)*255,(c*pure[2]+mg)*255]};convert.hcg.hsv=function(hcg){var c=hcg[1]/100;var g=hcg[2]/100;var v=c+g*(1-c);var f=0;if(v>0){f=c/v}return[hcg[0],f*100,v*100]};convert.hcg.hsl=function(hcg){var c=hcg[1]/100;var g=hcg[2]/100;var l=g*(1-c)+.5*c;var s=0;if(l>0&&l<.5){s=c/(2*l)}else if(l>=.5&&l<1){s=c/(2*(1-l))}return[hcg[0],s*100,l*100]};convert.hcg.hwb=function(hcg){var c=hcg[1]/100;var g=hcg[2]/100;var v=c+g*(1-c);return[hcg[0],(v-c)*100,(1-v)*100]};convert.hwb.hcg=function(hwb){var w=hwb[1]/100;var b=hwb[2]/100;var v=1-b;var c=v-w;var g=0;if(c<1){g=(v-c)/(1-c)}return[hwb[0],c*100,g*100]};convert.apple.rgb=function(apple){return[apple[0]/65535*255,apple[1]/65535*255,apple[2]/65535*255]};convert.rgb.apple=function(rgb){return[rgb[0]/255*65535,rgb[1]/255*65535,rgb[2]/255*65535]};convert.gray.rgb=function(args){return[args[0]/100*255,args[0]/100*255,args[0]/100*255]};convert.gray.hsl=convert.gray.hsv=function(args){return[0,0,args[0]]};convert.gray.hwb=function(gray){return[0,100,gray[0]]};convert.gray.cmyk=function(gray){return[0,0,0,gray[0]]};convert.gray.lab=function(gray){return[gray[0],0,0]};convert.gray.hex=function(gray){var val=Math.round(gray[0]/100*255)&255;var integer=(val<<16)+(val<<8)+val;var string=integer.toString(16).toUpperCase();return"000000".substring(string.length)+string};convert.rgb.gray=function(rgb){var val=(rgb[0]+rgb[1]+rgb[2])/3;return[val/255*100]}},function(module,exports,__webpack_require__){"use strict";var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};var _Colorpicker=__webpack_require__(8);var _Colorpicker2=_interopRequireDefault(_Colorpicker);var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var plugin="colorpicker";_jquery2.default[plugin]=_Colorpicker2.default;_jquery2.default.fn[plugin]=function(option){var fnArgs=Array.prototype.slice.call(arguments,1),isSingleElement=this.length===1,returnValue=null;var $elements=this.each(function(){var $this=(0,_jquery2.default)(this),inst=$this.data(plugin),options=(typeof option==="undefined"?"undefined":_typeof(option))==="object"?option:{};if(!inst){inst=new _Colorpicker2.default(this,options);$this.data(plugin,inst)}if(!isSingleElement){return}returnValue=$this;if(typeof option==="string"){if(option==="colorpicker"){returnValue=inst}else if(_jquery2.default.isFunction(inst[option])){returnValue=inst[option].apply(inst,fnArgs)}else{returnValue=inst[option]}}});return isSingleElement?returnValue:$elements};_jquery2.default.fn[plugin].constructor=_Colorpicker2.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _Extension=__webpack_require__(1);var _Extension2=_interopRequireDefault(_Extension);var _options=__webpack_require__(3);var _options2=_interopRequireDefault(_options);var _extensions=__webpack_require__(9);var _extensions2=_interopRequireDefault(_extensions);var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);var _SliderHandler=__webpack_require__(13);var _SliderHandler2=_interopRequireDefault(_SliderHandler);var _PopupHandler=__webpack_require__(14);var _PopupHandler2=_interopRequireDefault(_PopupHandler);var _InputHandler=__webpack_require__(15);var _InputHandler2=_interopRequireDefault(_InputHandler);var _ColorHandler=__webpack_require__(22);var _ColorHandler2=_interopRequireDefault(_ColorHandler);var _PickerHandler=__webpack_require__(23);var _PickerHandler2=_interopRequireDefault(_PickerHandler);var _AddonHandler=__webpack_require__(24);var _AddonHandler2=_interopRequireDefault(_AddonHandler);var _ColorItem=__webpack_require__(2);var _ColorItem2=_interopRequireDefault(_ColorItem);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var colorPickerIdCounter=0;var root=typeof self!=="undefined"?self:undefined;var Colorpicker=function(){_createClass(Colorpicker,[{key:"color",get:function get(){return this.colorHandler.color}},{key:"format",get:function get(){return this.colorHandler.format}},{key:"picker",get:function get(){return this.pickerHandler.picker}}],[{key:"Color",get:function get(){return _ColorItem2.default}},{key:"Extension",get:function get(){return _Extension2.default}}]);function Colorpicker(element,options){_classCallCheck(this,Colorpicker);colorPickerIdCounter+=1;this.id=colorPickerIdCounter;this.lastEvent={alias:null,e:null};this.element=(0,_jquery2.default)(element).addClass("colorpicker-element").attr("data-colorpicker-id",this.id);this.options=_jquery2.default.extend(true,{},_options2.default,options,this.element.data());this.disabled=false;this.extensions=[];this.container=this.options.container===true||this.options.container!==true&&this.options.inline===true?this.element:this.options.container;this.container=this.container!==false?(0,_jquery2.default)(this.container):false;this.inputHandler=new _InputHandler2.default(this);this.colorHandler=new _ColorHandler2.default(this);this.sliderHandler=new _SliderHandler2.default(this);this.popupHandler=new _PopupHandler2.default(this,root);this.pickerHandler=new _PickerHandler2.default(this);this.addonHandler=new _AddonHandler2.default(this);this.init();(0,_jquery2.default)(_jquery2.default.proxy(function(){this.trigger("colorpickerCreate")},this))}_createClass(Colorpicker,[{key:"init",value:function init(){this.addonHandler.bind();this.inputHandler.bind();this.initExtensions();this.colorHandler.bind();this.pickerHandler.bind();this.sliderHandler.bind();this.popupHandler.bind();this.pickerHandler.attach();this.update();if(this.inputHandler.isDisabled()){this.disable()}}},{key:"initExtensions",value:function initExtensions(){var _this=this;if(!Array.isArray(this.options.extensions)){this.options.extensions=[]}if(this.options.debug){this.options.extensions.push({name:"debugger"})}this.options.extensions.forEach(function(ext){_this.registerExtension(Colorpicker.extensions[ext.name.toLowerCase()],ext.options||{})})}},{key:"registerExtension",value:function registerExtension(ExtensionClass){var config=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var ext=new ExtensionClass(this,config);this.extensions.push(ext);return ext}},{key:"destroy",value:function destroy(){var color=this.color;this.sliderHandler.unbind();this.inputHandler.unbind();this.popupHandler.unbind();this.colorHandler.unbind();this.addonHandler.unbind();this.pickerHandler.unbind();this.element.removeClass("colorpicker-element").removeData("colorpicker"
vendor: 785 bytes, line 22036
22036,"color").off(".colorpicker");this.trigger("colorpickerDestroy",color)}},{key:"show",value:function show(e){this.popupHandler.show(e)}},{key:"hide",value:function hide(e){this.popupHandler.hide(e)}},{key:"toggle",value:function toggle(e){this.popupHandler.toggle(e)}},{key:"getValue",value:function getValue(){var defaultValue=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var val=this.colorHandler.color;val=val instanceof _ColorItem2.default?val:defaultValue;if(val instanceof _ColorItem2.default){return val.string(this.format)}return val}},{key:"setValue",value:function setValue(val){if(this.isDisabled()){return}var ch=this.colorHandler;if(ch.hasColor()&&!!val&&ch.color.equals(val)||!ch.hasColor()&&!val){return}ch.color=val?ch.createColor(val,this.options.auto
vendor: 23,833 bytes, line 22036
22036InputFallback):null;this.trigger("colorpickerChange",ch.color,val);this.update()}},{key:"update",value:function update(){if(this.colorHandler.hasColor()){this.inputHandler.update()}else{this.colorHandler.assureColor()}this.addonHandler.update();this.pickerHandler.update();this.trigger("colorpickerUpdate")}},{key:"enable",value:function enable(){this.inputHandler.enable();this.disabled=false;this.picker.removeClass("colorpicker-disabled");this.trigger("colorpickerEnable");return true}},{key:"disable",value:function disable(){this.inputHandler.disable();this.disabled=true;this.picker.addClass("colorpicker-disabled");this.trigger("colorpickerDisable");return true}},{key:"isEnabled",value:function isEnabled(){return!this.isDisabled()}},{key:"isDisabled",value:function isDisabled(){return this.disabled===true}},{key:"trigger",value:function trigger(eventName){var color=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var value=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;this.element.trigger({type:eventName,colorpicker:this,color:color?color:this.color,value:value?value:this.getValue()})}}]);return Colorpicker}();Colorpicker.extensions=_extensions2.default;exports.default=Colorpicker;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Palette=exports.Swatches=exports.Preview=exports.Debugger=undefined;var _Debugger=__webpack_require__(10);var _Debugger2=_interopRequireDefault(_Debugger);var _Preview=__webpack_require__(11);var _Preview2=_interopRequireDefault(_Preview);var _Swatches=__webpack_require__(12);var _Swatches2=_interopRequireDefault(_Swatches);var _Palette=__webpack_require__(4);var _Palette2=_interopRequireDefault(_Palette);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.Debugger=_Debugger2.default;exports.Preview=_Preview2.default;exports.Swatches=_Swatches2.default;exports.Palette=_Palette2.default;exports.default={debugger:_Debugger2.default,preview:_Preview2.default,swatches:_Swatches2.default,palette:_Palette2.default}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{return get(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}};var _Extension2=__webpack_require__(1);var _Extension3=_interopRequireDefault(_Extension2);var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Debugger=function(_Extension){_inherits(Debugger,_Extension);function Debugger(colorpicker){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Debugger);var _this=_possibleConstructorReturn(this,(Debugger.__proto__||Object.getPrototypeOf(Debugger)).call(this,colorpicker,options));_this.eventCounter=0;if(_this.colorpicker.inputHandler.hasInput()){_this.colorpicker.inputHandler.input.on("change.colorpicker-ext",_jquery2.default.proxy(_this.onChangeInput,_this))}return _this}_createClass(Debugger,[{key:"log",value:function log(eventName){var _console;for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}this.eventCounter+=1;var logMessage="#"+this.eventCounter+": Colorpicker#"+this.colorpicker.id+" ["+eventName+"]";(_console=console).debug.apply(_console,[logMessage].concat(args));this.colorpicker.element.trigger({type:"colorpickerDebug",colorpicker:this.colorpicker,color:this.color,value:null,debug:{debugger:this,eventName,logArgs:args,logMessage}})}},{key:"resolveColor",value:function resolveColor(color){var realColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;this.log("resolveColor()",color,realColor);return false}},{key:"onCreate",value:function onCreate(event){this.log("colorpickerCreate");return _get(Debugger.prototype.__proto__||Object.getPrototypeOf(Debugger.prototype),"onCreate",this).call(this,event)}},{key:"onDestroy",value:function onDestroy(event){this.log("colorpickerDestroy");this.eventCounter=0;if(this.colorpicker.inputHandler.hasInput()){this.colorpicker.inputHandler.input.off(".colorpicker-ext")}return _get(Debugger.prototype.__proto__||Object.getPrototypeOf(Debugger.prototype),"onDestroy",this).call(this,event)}},{key:"onUpdate",value:function onUpdate(event){this.log("colorpickerUpdate")}},{key:"onChangeInput",value:function onChangeInput(event){this.log("input:change.colorpicker",event.value,event.color)}},{key:"onChange",value:function onChange(event){this.log("colorpickerChange",event.value,event.color)}},{key:"onInvalid",value:function onInvalid(event){this.log("colorpickerInvalid",event.value,event.color)}},{key:"onHide",value:function onHide(event){this.log("colorpickerHide");this.eventCounter=0}},{key:"onShow",value:function onShow(event){this.log("colorpickerShow")}},{key:"onDisable",value:function onDisable(event){this.log("colorpickerDisable")}},{key:"onEnable",value:function onEnable(event){this.log("colorpickerEnable")}}]);return Debugger}(_Extension3.default);exports.default=Debugger;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{return get(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}};var _Extension2=__webpack_require__(1);var _Extension3=_interopRequireDefault(_Extension2);var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var Preview=function(_Extension){_inherits(Preview,_Extension);function Preview(colorpicker){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Preview);var _this=_possibleConstructorReturn(this,(Preview.__proto__||Object.getPrototypeOf(Preview)).call(this,colorpicker,_jquery2.default.extend(true,{},{template:'<div class="colorpicker-bar colorpicker-preview"><div /></div>',showText:true,format:colorpicker.format},options)));_this.element=(0,_jquery2.default)(_this.options.template);_this.elementInner=_this.element.find("div");return _this}_createClass(Preview,[{key:"onCreate",value:function onCreate(event){_get(Preview.prototype.__proto__||Object.getPrototypeOf(Preview.prototype),"onCreate",this).call(this,event);this.colorpicker.picker.append(this.element)}},{key:"onUpdate",value:function onUpdate(event){_get(Preview.prototype.__proto__||Object.getPrototypeOf(Preview.prototype),"onUpdate",this).call(this,event);if(!event.color){this.elementInner.css("backgroundColor",null).css("color",null).html("");return}this.elementInner.css("backgroundColor",event.color.toRgbString());if(this.options.showText){this.elementInner.html(event.color.string(this.options.format||this.colorpicker.format));if(event.color.isDark()&&event.color.alpha>.5){this.elementInner.css("color","white")}else{this.elementInner.css("color","black")}}}}]);return Preview}(_Extension3.default);exports.default=Preview;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined}else{return get(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===undefined){return undefined}return getter.call(receiver)}};var _Palette2=__webpack_require__(4);var _Palette3=_interopRequireDefault(_Palette2);var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass}var defaults={barTemplate:'<div class="colorpicker-bar colorpicker-swatches">\n <div class="colorpicker-swatches--inner"></div>\n </div>',swatchTemplate:'<i class="colorpicker-swatch"><i class="colorpicker-swatch--inner"></i></i>'};var Swatches=function(_Palette){_inherits(Swatches,_Palette);function Swatches(colorpicker){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,Swatches);var _this=_possibleConstructorReturn(this,(Swatches.__proto__||Object.getPrototypeOf(Swatches)).call(this,colorpicker,_jquery2.default.extend(true,{},defaults,options)));_this.element=null;return _this}_createClass(Swatches,[{key:"isEnabled",value:function isEnabled(){return this.getLength()>0}},{key:"onCreate",value:function onCreate(event){_get(Swatches.prototype.__proto__||Object.getPrototypeOf(Swatches.prototype),"onCreate",this).call(this,event);if(!this.isEnabled()){return}this.element=(0,_jquery2.default)(this.options.barTemplate);this.load();this.colorpicker.picker.append(this.element)}},{key:"load",value:function load(){var _this2=this;var colorpicker=this.colorpicker,swatchContainer=this.element.find(".colorpicker-swatches--inner"),isAliased=this.options.namesAsValues===true&&!Array.isArray(this.colors);swatchContainer.empty();_jquery2.default.each(this.colors,function(name,value){var $swatch=(0,_jquery2.default)(_this2.options.swatchTemplate).attr("data-name",name).attr("data-value",value).attr("title",isAliased?name+": "+value:value).on("mousedown.colorpicker touchstart.colorpicker",function(e){var $sw=(0,_jquery2.default)(this);colorpicker.setValue(isAliased?$sw.attr("data-name"):$sw.attr("data-value"))});$swatch.find(".colorpicker-swatch--inner").css("background-color",value);swatchContainer.append($swatch)});swatchContainer.append((0,_jquery2.default)('<i class="colorpicker-clear"></i>'))}}]);return Swatches}(_Palette3.default);exports.default=Swatches;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var SliderHandler=function(){function SliderHandler(colorpicker){_classCallCheck(this,SliderHandler);this.colorpicker=colorpicker;this.currentSlider=null;this.mousePointer={left:0,top:0};this.onMove=_jquery2.default.proxy(this.defaultOnMove,this)}_createClass(SliderHandler,[{key:"defaultOnMove",value:function defaultOnMove(top,left){if(!this.currentSlider){return}var slider=this.currentSlider,cp=this.colorpicker,ch=cp.colorHandler;var color=!ch.hasColor()?ch.getFallbackColor():ch.color.getClone();slider.guideStyle.left=left+"px";slider.guideStyle.top=top+"px";if(slider.callLeft){color[slider.callLeft](left/slider.maxLeft)}if(slider.callTop){color[slider.callTop](top/slider.maxTop)}cp.setValue(color);cp.popupHandler.focus()}},{key:"bind",value:function bind(){var sliders=this.colorpicker.options.horizontal?this.colorpicker.options.slidersHorz:this.colorpicker.options.sliders;var sliderClasses=[];for(var sliderName in sliders){if(!sliders.hasOwnProperty(sliderName)){continue}sliderClasses.push(sliders[sliderName].selector)}this.colorpicker.picker.find(sliderClasses.join(", ")).on("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.pressed,this))}},{key:"unbind",value:function unbind(){(0,_jquery2.default)(this.colorpicker.picker).off({"mousemove.colorpicker":_jquery2.default.proxy(this.moved,this),"touchmove.colorpicker":_jquery2.default.proxy(this.moved,this),"mouseup.colorpicker":_jquery2.default.proxy(this.released,this),"touchend.colorpicker":_jquery2.default.proxy(this.released,this)})}},{key:"pressed",value:function pressed(e){if(this.colorpicker.isDisabled()){return}this.colorpicker.lastEvent.alias="pressed";this.colorpicker.lastEvent.e=e;if(!e.pageX&&!e.pageY&&e.originalEvent&&e.originalEvent.touches){e.pageX=e.originalEvent.touches[0].pageX;e.pageY=e.originalEvent.touches[0].pageY}var target=(0,_jquery2.default)(e.target);var zone=target.closest("div");var sliders=this.colorpicker.options.horizontal?this.colorpicker.options.slidersHorz:this.colorpicker.options.sliders;if(zone.is(".colorpicker")){return}this.currentSlider=null;for(var sliderName in sliders){if(!sliders.hasOwnProperty(sliderName)){continue}var slider=sliders[sliderName];if(zone.is(slider.selector)){this.currentSlider=_jquery2.default.extend({},slider,{name:sliderName});break}else if(slider.childSelector!==undefined&&zone.is(slider.childSelector)){this.currentSlider=_jquery2.default.extend({},slider,{name:sliderName});zone=zone.parent();break}}var guide=zone.find(".colorpicker-guide").get(0);if(this.currentSlider===null||guide===null){return}var offset=zone.offset();this.currentSlider.guideStyle=guide.style;this.currentSlider.left=e.pageX-offset.left;this.currentSlider.top=e.pageY-offset.top;this.mousePointer={left:e.pageX,top:e.pageY};(0,_jquery2.default)(this.colorpicker.picker).on({"mousemove.colorpicker":_jquery2.default.proxy(this.moved,this),"touchmove.colorpicker":_jquery2.default.proxy(this.moved,this),"mouseup.colorpicker":_jquery2.default.proxy(this.released,this),"touchend.colorpicker":_jquery2.default.proxy(this.released,this)}).trigger("mousemove")}},{key:"moved",value:function moved(e){this.colorpicker.lastEvent.alias="moved";this.colorpicker.lastEvent.e=e;if(!e.pageX&&!e.pageY&&e.originalEvent&&e.originalEvent.touches){e.pageX=e.originalEvent.touches[0].pageX;e.pageY=e.originalEvent.touches[0].pageY}e.preventDefault();var left=Math.max(0,Math.min(this.currentSlider.maxLeft,this.currentSlider.left+((e.pageX||this.mousePointer.left)-this.mousePointer.left)));var top=Math.max(0,Math.min(this.currentSlider.maxTop,this.currentSlider.top+((e.pageY||this.mousePointer.top)-this.mousePointer.top)));this.onMove(top,left)}},{key:"released",value:function released(e){this.colorpicker.lastEvent.alias="released";this.colorpicker.lastEvent.e=e;(0,_jquery2.default)(this.colorpicker.picker).off({"mousemove.colorpicker":this.moved,"touchmove.colorpicker":this.moved,"mouseup.colorpicker":this.released,"touchend.colorpicker":this.released})}}]);return SliderHandler}();exports.default=SliderHandler;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);var _options=__webpack_require__(3);var _options2=_interopRequireDefault(_options);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var PopupHandler=function(){function PopupHandler(colorpicker,root){_classCallCheck(this,PopupHandler);this.root=root;this.colorpicker=colorpicker;this.popoverTarget=null;this.popoverTip=null;this.clicking=false;this.hidding=false;this.showing=false}_createClass(PopupHandler,[{key:"bind",value:function bind(){var cp=this.colorpicker;if(cp.options.inline){cp.picker.addClass("colorpicker-inline colorpicker-visible");return}cp.picker.addClass("colorpicker-popup colorpicker-hidden");if(!this.hasInput&&!this.hasAddon){return}if(cp.options.popover){this.createPopover()}if(this.hasAddon){if(!this.addon.attr("tabindex")){this.addon.attr("tabindex",0)}this.addon.on({"mousedown.colorpicker touchstart.colorpicker":_jquery2.default.proxy(this.toggle,this)});this.addon.on({"focus.colorpicker":_jquery2.default.proxy(this.show,this)});this.addon.on({"focusout.colorpicker":_jquery2.default.proxy(this.hide,this)})}if(this.hasInput&&!this.hasAddon){this.input.on({"mousedown.colorpicker touchstart.colorpicker":_jquery2.default.proxy(this.show,this),"focus.colorpicker":_jquery2.default.proxy(this.show,this)});this.input.on({"focusout.colorpicker":_jquery2.default.proxy(this.hide,this)})}(0,_jquery2.default)(this.root).on("resize.colorpicker",_jquery2.default.proxy(this.reposition,this))}},{key:"unbind",value:function unbind(){if(this.hasInput){this.input.off({"mousedown.colorpicker touchstart.colorpicker":_jquery2.default.proxy(this.show,this),"focus.colorpicker":_jquery2.default.proxy(this.show,this)});this.input.off({"focusout.colorpicker":_jquery2.default.proxy(this.hide,this)})}if(this.hasAddon){this.addon.off({"mousedown.colorpicker touchstart.colorpicker":_jquery2.default.proxy(this.toggle,this)});this.addon.off({"focus.colorpicker":_jquery2.default.proxy(this.show,this)});this.addon.off({"focusout.colorpicker":_jquery2.default.proxy(this.hide,this)})}if(this.popoverTarget){this.popoverTarget.popover("dispose")}(0,_jquery2.default)(this.root).off("resize.colorpicker",_jquery2.default.proxy(this.reposition,this));(0,_jquery2.default)(this.root.document).off("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.hide,this));(0,_jquery2.default)(this.root.document).off("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.onClickingInside,this))}},{key:"isClickingInside",value:function isClickingInside(e){if(!e){return false}return this.isOrIsInside(this.popoverTip,e.currentTarget)||this.isOrIsInside(this.popoverTip,e.target)||this.isOrIsInside(this.colorpicker.picker,e.currentTarget)||this.isOrIsInside(this.colorpicker.picker,e.target)}},{key:"isOrIsInside",value:function isOrIsInside(container,element){if(!container||!element){return false}element=(0,_jquery2.default)(element);return element.is(container)||container.find(element).length>0}},{key:"onClickingInside",value:function onClickingInside(e){this.clicking=this.isClickingInside(e)}},{key:"createPopover",value:function createPopover(){var cp=this.colorpicker;this.popoverTarget=this.hasAddon?this.addon:this.input;cp.picker.addClass("colorpicker-bs-popover-content");this.popoverTarget.popover(_jquery2.default.extend(true,{},_options2.default.popover,cp.options.popover,{trigger:"manual",content:cp.picker,html:true}));
22036this.popoverTip=
vendor: 25,095 bytes, line 22036
22036(0,_jquery2.default)(this.popoverTarget.popover("getTipElement").data("bs.popover").tip);this.popoverTip.addClass("colorpicker-bs-popover");this.popoverTarget.on("shown.bs.popover",_jquery2.default.proxy(this.fireShow,this));this.popoverTarget.on("hidden.bs.popover",_jquery2.default.proxy(this.fireHide,this))}},{key:"reposition",value:function reposition(e){if(this.popoverTarget&&this.isVisible()){this.popoverTarget.popover("update")}}},{key:"toggle",value:function toggle(e){if(this.isVisible()){this.hide(e)}else{this.show(e)}}},{key:"show",value:function show(e){if(this.isVisible()||this.showing||this.hidding){return}this.showing=true;this.hidding=false;this.clicking=false;var cp=this.colorpicker;cp.lastEvent.alias="show";cp.lastEvent.e=e;if(e&&(!this.hasInput||this.input.attr("type")==="color")&&e&&e.preventDefault){e.stopPropagation();e.preventDefault()}if(this.isPopover){(0,_jquery2.default)(this.root).on("resize.colorpicker",_jquery2.default.proxy(this.reposition,this))}cp.picker.addClass("colorpicker-visible").removeClass("colorpicker-hidden");if(this.popoverTarget){this.popoverTarget.popover("show")}else{this.fireShow()}}},{key:"fireShow",value:function fireShow(){this.hidding=false;this.showing=false;if(this.isPopover){(0,_jquery2.default)(this.root.document).on("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.hide,this));(0,_jquery2.default)(this.root.document).on("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.onClickingInside,this))}this.colorpicker.trigger("colorpickerShow")}},{key:"hide",value:function hide(e){if(this.isHidden()||this.showing||this.hidding){return}var cp=this.colorpicker,clicking=this.clicking||this.isClickingInside(e);this.hidding=true;this.showing=false;this.clicking=false;cp.lastEvent.alias="hide";cp.lastEvent.e=e;if(clicking){this.hidding=false;return}if(this.popoverTarget){this.popoverTarget.popover("hide")}else{this.fireHide()}}},{key:"fireHide",value:function fireHide(){this.hidding=false;this.showing=false;var cp=this.colorpicker;cp.picker.addClass("colorpicker-hidden").removeClass("colorpicker-visible");(0,_jquery2.default)(this.root).off("resize.colorpicker",_jquery2.default.proxy(this.reposition,this));(0,_jquery2.default)(this.root.document).off("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.hide,this));(0,_jquery2.default)(this.root.document).off("mousedown.colorpicker touchstart.colorpicker",_jquery2.default.proxy(this.onClickingInside,this));cp.trigger("colorpickerHide")}},{key:"focus",value:function focus(){if(this.hasAddon){return this.addon.focus()}if(this.hasInput){return this.input.focus()}return false}},{key:"isVisible",value:function isVisible(){return this.colorpicker.picker.hasClass("colorpicker-visible")&&!this.colorpicker.picker.hasClass("colorpicker-hidden")}},{key:"isHidden",value:function isHidden(){return this.colorpicker.picker.hasClass("colorpicker-hidden")&&!this.colorpicker.picker.hasClass("colorpicker-visible")}},{key:"input",get:function get(){return this.colorpicker.inputHandler.input}},{key:"hasInput",get:function get(){return this.colorpicker.inputHandler.hasInput()}},{key:"addon",get:function get(){return this.colorpicker.addonHandler.addon}},{key:"hasAddon",get:function get(){return this.colorpicker.addonHandler.hasAddon()}},{key:"isPopover",get:function get(){return!this.colorpicker.options.inline&&!!this.popoverTip}}]);return PopupHandler}();exports.default=PopupHandler;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);var _ColorItem=__webpack_require__(2);var _ColorItem2=_interopRequireDefault(_ColorItem);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var InputHandler=function(){function InputHandler(colorpicker){_classCallCheck(this,InputHandler);this.colorpicker=colorpicker;this.input=this.colorpicker.element.is("input")?this.colorpicker.element:this.colorpicker.options.input?this.colorpicker.element.find(this.colorpicker.options.input):false;if(this.input&&this.input.length===0){this.input=false}this._initValue()}_createClass(InputHandler,[{key:"bind",value:function bind(){if(!this.hasInput()){return}this.input.on({"keyup.colorpicker":_jquery2.default.proxy(this.onkeyup,this)});this.input.on({"change.colorpicker":_jquery2.default.proxy(this.onchange,this)})}},{key:"unbind",value:function unbind(){if(!this.hasInput()){return}this.input.off(".colorpicker")}},{key:"_initValue",value:function _initValue(){if(!this.hasInput()){return}var val="";[this.input.val(),this.input.data("color"),this.input.attr("data-color")].map(function(item){if(item&&val===""){val=item}});if(val instanceof _ColorItem2.default){val=this.getFormattedColor(val.string(this.colorpicker.format))}else if(!(typeof val==="string"||val instanceof String)){val=""}this.input.prop("value",val)}},{key:"getValue",value:function getValue(){if(!this.hasInput()){return false}return this.input.val()}},{key:"setValue",value:function setValue(val){if(!this.hasInput()){return}var inputVal=this.input.prop("value");val=val?val:"";if(val===(inputVal?inputVal:"")){return}this.input.prop("value",val);this.input.trigger({type:"change",colorpicker:this.colorpicker,color:this.colorpicker.color,value:val})}},{key:"getFormattedColor",value:function getFormattedColor(){var val=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;val=val?val:this.colorpicker.colorHandler.getColorString();if(!val){return""}val=this.colorpicker.colorHandler.resolveColorDelegate(val,false);if(this.colorpicker.options.useHashPrefix===false){val=val.replace(/^#/g,"")}return val}},{key:"hasInput",value:function hasInput(){return this.input!==false}},{key:"isEnabled",value:function isEnabled(){return this.hasInput()&&!this.isDisabled()}},{key:"isDisabled",value:function isDisabled(){return this.hasInput()&&this.input.prop("disabled")===true}},{key:"disable",value:function disable(){if(this.hasInput()){this.input.prop("disabled",true)}}},{key:"enable",value:function enable(){if(this.hasInput()){this.input.prop("disabled",false)}}},{key:"update",value:function update(){if(!this.hasInput()){return}if(this.colorpicker.options.autoInputFallback===false&&this.colorpicker.colorHandler.isInvalidColor()){return}this.setValue(this.getFormattedColor())}},{key:"onchange",value:function onchange(e){this.colorpicker.lastEvent.alias="input.change";this.colorpicker.lastEvent.e=e;var val=this.getValue();if(val!==e.value){this.colorpicker.setValue(val)}}},{key:"onkeyup",value:function onkeyup(e){this.colorpicker.lastEvent.alias="input.keyup";this.colorpicker.lastEvent.e=e;var val=this.getValue();if(val!==e.value){this.colorpicker.setValue(val)}}}]);return InputHandler}();exports.default=InputHandler;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";var colorString=__webpack_require__(17);var convert=__webpack_require__(20);var _slice=[].slice;var skippedModels=["keyword","gray","hex"];var hashedModelKeys={};Object.keys(convert).forEach(function(model){hashedModelKeys[_slice.call(convert[model].labels).sort().join("")]=model});var limiters={};function Color(obj,model){if(!(this instanceof Color)){return new Color(obj,model)}if(model&&model in skippedModels){model=null}if(model&&!(model in convert)){throw new Error("Unknown model: "+model)}var i;var channels;if(obj==null){this.model="rgb";this.color=[0,0,0];this.valpha=1}else if(obj instanceof Color){this.model=obj.model;this.color=obj.color.slice();this.valpha=obj.valpha}else if(typeof obj==="string"){var result=colorString.get(obj);if(result===null){throw new Error("Unable to parse color from string: "+obj)}this.model=result.model;channels=convert[this.model].channels;this.color=result.value.slice(0,channels);this.valpha=typeof result.value[channels]==="number"?result.value[channels]:1}else if(obj.length){this.model=model||"rgb";channels=convert[this.model].channels;var newArr=_slice.call(obj,0,channels);this.color=zeroArray(newArr,channels);this.valpha=typeof obj[channels]==="number"?obj[channels]:1}else if(typeof obj==="number"){obj&=16777215;this.model="rgb";this.color=[obj>>16&255,obj>>8&255,obj&255];this.valpha=1}else{this.valpha=1;var keys=Object.keys(obj);if("alpha"in obj){keys.splice(keys.indexOf("alpha"),1);this.valpha=typeof obj.alpha==="number"?obj.alpha:0}var hashedKeys=keys.sort().join("");if(!(hashedKeys in hashedModelKeys)){throw new Error("Unable to parse color from object: "+JSON.stringify(obj))}this.model=hashedModelKeys[hashedKeys];var labels=convert[this.model].labels;var color=[];for(i=0;i<labels.length;i++){color.push(obj[labels[i]])}this.color=zeroArray(color)}if(limiters[this.model]){channels=convert[this.model].channels;for(i=0;i<channels;i++){var limit=limiters[this.model][i];if(limit){this.color[i]=limit(this.color[i])}}}this.valpha=Math.max(0,Math.min(1,this.valpha));if(Object.freeze){Object.freeze(this)}}Color.prototype={toString:function(){return this.string()},toJSON:function(){return this[this.model]()},string:function(places){var self=this.model in colorString.to?this:this.rgb();self=self.round(typeof places==="number"?places:1);var args=self.valpha===1?self.color:self.color.concat(this.valpha);return colorString.to[self.model](args)},percentString:function(places){var self=this.rgb().round(typeof places==="number"?places:1);var args=self.valpha===1?self.color:self.color.concat(this.valpha);return colorString.to.rgb.percent(args)},array:function(){return this.valpha===1?this.color.slice():this.color.concat(this.valpha)},object:function(){var result={};var channels=convert[this.model].channels;var labels=convert[this.model].labels;for(var i=0;i<channels;i++){result[labels[i]]=this.color[i]}if(this.valpha!==1){result.alpha=this.valpha}return result},unitArray:function(){var rgb=this.rgb().color;rgb[0]/=255;rgb[1]/=255;rgb[2]/=255;if(this.valpha!==1){rgb.push(this.valpha)}return rgb},unitObject:function(){var rgb=this.rgb().object();rgb.r/=255;rgb.g/=255;rgb.b/=255;if(this.valpha!==1){rgb.alpha=this.valpha}return rgb},round:function(places){places=Math.max(places||0,0);return new Color(this.color.map(roundToPlace(places)).concat(this.valpha),this.model)},alpha:function(val){if(arguments.length){return new Color(this.color.concat(Math.max(0,Math.min(1,val))),this.model)}return this.valpha},red:getset("rgb",0,maxfn(255)),green:getset("rgb",1,maxfn(255)),blue:getset("rgb",2,maxfn(255)),hue:getset(["hsl","hsv","hsl","hwb","hcg"],0,function(val){return(val%360+360)%360}),saturationl:getset("hsl",1,maxfn(100)),lightness:getset("hsl",2,maxfn(100)),saturationv:getset("hsv",1,maxfn(100)),value:getset("hsv",2,maxfn(100)),chroma:getset("hcg",1,maxfn(100)),gray:getset("hcg",2,maxfn(100)),white:getset("hwb",1,maxfn(100)),wblack:getset("hwb",2,maxfn(100)),cyan:getset("cmyk",0,maxfn(100)),magenta:getset("cmyk",1,maxfn(100)),yellow:getset("cmyk",2,maxfn(100)),black:getset("cmyk",3,maxfn(100)),x:getset("xyz",0,maxfn(100)),y:getset("xyz",1,maxfn(100)),z:getset("xyz",2,maxfn(100)),l:getset("lab",0,maxfn(100)),a:getset("lab",1),b:getset("lab",2),keyword:function(val){if(arguments.length){return new Color(val)}return convert[this.model].keyword(this.color)},hex:function(val){if(arguments.length){return new Color(val)}return colorString.to.hex(this.rgb().round().color)},rgbNumber:function(){var rgb=this.rgb().color;return(rgb[0]&255)<<16|(rgb[1]&255)<<8|rgb[2]&255},luminosity:function(){var rgb=this.rgb().color;var lum=[];for(var i=0;i<rgb.length;i++){var chan=rgb[i]/255;lum[i]=chan<=.03928?chan/12.92:Math.pow((chan+.055)/1.055,2.4)}return.2126*lum[0]+.7152*lum[1]+.0722*lum[2]},contrast:function(color2){var lum1=this.luminosity();var lum2=color2.luminosity();if(lum1>lum2){return(lum1+.05)/(lum2+.05)}return(lum2+.05)/(lum1+.05)},level:function(color2){var contrastRatio=this.contrast(color2);if(contrastRatio>=7.1){return"AAA"}return contrastRatio>=4.5?"AA":""},isDark:function(){var rgb=this.rgb().color;var yiq=(rgb[0]*299+rgb[1]*587+rgb[2]*114)/1e3;return yiq<128},isLight:function(){return!this.isDark()},negate:function(){var rgb=this.rgb();for(var i=0;i<3;i++){rgb.color[i]=255-rgb.color[i]}return rgb},lighten:function(ratio){var hsl=this.hsl();hsl.color[2]+=hsl.color[2]*ratio;return hsl},darken:function(ratio){var hsl=this.hsl();hsl.color[2]-=hsl.color[2]*ratio;return hsl},saturate:function(ratio){var hsl=this.hsl();hsl.color[1]+=hsl.color[1]*ratio;return hsl},desaturate:function(ratio){var hsl=this.hsl();hsl.color[1]-=hsl.color[1]*ratio;return hsl},whiten:function(ratio){var hwb=this.hwb();hwb.color[1]+=hwb.color[1]*ratio;return hwb},blacken:function(ratio){var hwb=this.hwb();hwb.color[2]+=hwb.color[2]*ratio;return hwb},grayscale:function(){var rgb=this.rgb().color;var val=rgb[0]*.3+rgb[1]*.59+rgb[2]*.11;return Color.rgb(val,val,val)},fade:function(ratio){return this.alpha(this.valpha-this.valpha*ratio)},opaquer:function(ratio){return this.alpha(this.valpha+this.valpha*ratio)},rotate:function(degrees){var hsl=this.hsl();var hue=hsl.color[0];hue=(hue+degrees)%360;hue=hue<0?360+hue:hue;hsl.color[0]=hue;return hsl},mix:function(mixinColor,weight){if(!mixinColor||!mixinColor.rgb){throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof mixinColor)}var color1=mixinColor.rgb();var color2=this.rgb();var p=weight===undefined?.5:weight;var w=2*p-1;var a=color1.alpha()-color2.alpha();var w1=((w*a===-1?w:(w+a)/(1+w*a))+1)/2;var w2=1-w1;return Color.rgb(w1*color1.red()+w2*color2.red(),w1*color1.green()+w2*color2.green(),w1*color1.blue()+w2*color2.blue(),color1.alpha()*p+color2.alpha()*(1-p))}};Object.keys(convert).forEach(function(model){if(skippedModels.indexOf(model)!==-1){return}var channels=convert[model].channels;Color.prototype[model]=function(){if(this.model===model){return new Color(this)}if(arguments.length){return new Color(arguments,model)}var newAlpha=typeof arguments[channels]==="number"?channels:this.valpha;return new Color(assertArray(convert[this.model][model].raw(this.color)).concat(newAlpha),model)};Color[model]=function(color){if(typeof color==="number"){color=zeroArray(_slice.call(arguments),channels)}return new Color(color,model)}});function roundTo(num,places){return Number(num.toFixed(places))}function roundToPlace(places){return function(num){return roundTo(num,places)}}function getset(model,channel,modifier){model=Array.isArray(model)?model:[model];model.forEach(function(m){(limiters[m]||(limiters[m]=[]))[channel]=modifier});model=model[0];return function(val){var result;if(arguments.length){if(modifier){val=modifier(val)}result=this[model]();result.color[channel]=val;return result}result=this[model]().color[channel];if(modifier){result=modifier(result)}return result}}function maxfn(max){return function(v){return Math.max(0,Math.min(max,v))}}function assertArray(val){return Array.isArray(val)?val:[val]}function zeroArray(arr,length){for(var i=0;i<length;i++){if(typeof arr[i]!=="number"){arr[i]=0}}return arr}module.exports=Color},function(module,exports,__webpack_require__){var colorNames=__webpack_require__(5);var swizzle=__webpack_require__(18);var reverseNames={};for(var name in colorNames){if(colorNames.hasOwnProperty(name)){reverseNames[colorNames[name]]=name}}var cs=module.exports={to:{},get:{}};cs.get=function(string){var prefix=string.substring(0,3).toLowerCase();var val;var model;switch(prefix){case"hsl":val=cs.get.hsl(string);model="hsl";break;case"hwb":val=cs.get.hwb(string);model="hwb";break;default:val=cs.get.rgb(string);model="rgb";break}if(!val){return null}return{model,value:val}};cs.get.rgb=function(string){if(!string){return null}var abbr=/^#([a-f0-9]{3,4})$/i;var hex=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i;var rgba=/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/;var per=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/;var keyword=/(\D+)/;var rgb=[0,0,0,1];var match;var i;var hexAlpha;if(match=string.match(hex)){hexAlpha=match[2];match=match[1];for(i=0;i<3;i++){var i2=i*2;rgb[i]=parseInt(match.slice(i2,i2+2),16)}if(hexAlpha){rgb[3]=Math.round(parseInt(hexAlpha,16)/255*100)/100}}else if(match=string.match(abbr)){match=match[1];hexAlpha=match[3];for(i=0;i<3;i++){rgb[i]=parseInt(match[i]+match[i],16)}if(hexAlpha){rgb[3]=Math.round(parseInt(hexAlpha+hexAlpha,16)/255*100)/100}}else if(match=string.match(rgba)){for(i=0;i<3;i++){rgb[i]=parseInt(match[i+1],0)}if(match[4]){rgb[3]=parseFloat(match[4])}}else if(match=string.match(per)){for(i=0;i<3;i++){rgb[i]=Math.round(parseFloat(match[i+1])*2.55)}if(match[4]){rgb[3]=parseFloat(match[4])}}else if(match=string.match(keyword)){if(match[1]==="transparent"){return[0,0,0,0]}rgb=colorNames[match[1]];if(!rgb){return null}rgb[3]=1;return rgb}else{return null}for(i=0;i<3;i++){rgb[i]=clamp(rgb[i],0,255)}rgb[3]=clamp(rgb[3],0,1);return rgb};cs.get.hsl=function(string){if(!string){return null}var hsl=/^hsla?\(\s*([+-]?(?:\d*\.)?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/;var match=string.match(hsl);if(match){var alpha=parseFloat(match[4]);var h=(parseFloat(match[1])+360)%360;var s=clamp(parseFloat(match[2]),0,100);var l=clamp(parseFloat(match[3]),0,100);var a=clamp(isNaN(alpha)?1:alpha,0,1);return[h,s,l,a]}return null};cs.get.hwb=function(string){if(!string){return null}var hwb=/^hwb\(\s*([+-]?\d*[\.]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/;var match=string.match(hwb);if(match){var alpha=parseFloat(match[4]);var h=(parseFloat(match[1])%360+360)%360;var w=clamp(parseFloat(match[2]),0,100);var b=clamp(parseFloat(match[3]),0,100);var a=clamp(isNaN(alpha)?1:alpha,0,1);return[h,w,b,a]}return null};cs.to.hex=function(){var rgba=swizzle(arguments);return"#"+hexDouble(rgba[0])+hexDouble(rgba[1])+hexDouble(rgba[2])+(rgba[3]<1?hexDouble(Math.round(rgba[3]*255)):"")};cs.to.rgb=function(){var rgba=swizzle(arguments);return rgba.length<4||rgba[3]===1?"rgb("+Math.round(rgba[0])+", "+Math.round(rgba[1])+", "+Math.round(rgba[2])+")":"rgba("+Math.round(rgba[0])+", "+Math.round(rgba[1])+", "+Math.round(rgba[2])+", "+rgba[3]+")"};cs.to.rgb.percent=function(){var rgba=swizzle(arguments);var r=Math.round(rgba[0]/255*100);var g=Math.round(rgba[1]/255*100);var b=Math.round(rgba[2]/255*100);return rgba.length<4||rgba[3]===1?"rgb("+r+"%, "+g+"%, "+b+"%)":"rgba("+r+"%, "+g+"%, "+b+"%, "+rgba[3]+")"};cs.to.hsl=function(){var hsla=swizzle(arguments);return hsla.length<4||hsla[3]===1?"hsl("+hsla[0]+", "+hsla[1]+"%, "+hsla[2]+"%)":"hsla("+hsla[0]+", "+hsla[1]+"%, "+hsla[2]+"%, "+hsla[3]+")"};cs.to.hwb=function(){var hwba=swizzle(arguments);var a="";if(hwba.length>=4&&hwba[3]!==1){a=", "+hwba[3]}return"hwb("+hwba[0]+", "+hwba[1]+"%, "+hwba[2]+"%"+a+")"};cs.to.keyword=function(rgb){return reverseNames[rgb.slice(0,3)]};function clamp(num,min,max){return Math.min(Math.max(min,num),max)}function hexDouble(num){var str=num.toString(16).toUpperCase();return str.length<2?"0"+str:str}},function(module,exports,__webpack_require__){"use strict";var isArrayish=__webpack_require__(19);var concat=Array.prototype.concat;var slice=Array.prototype.slice;var swizzle=module.exports=function swizzle(args){var results=[];for(var i=0,len=args.length;i<len;i++){var arg=args[i];if(isArrayish(arg)){results=concat.call(results,slice.call(arg))}else{results.push(arg)}}return results};swizzle.wrap=function(fn){return function(){return fn(swizzle(arguments))}}},function(module,exports,__webpack_require__){"use strict";module.exports=function isArrayish(obj){if(!obj){return false}return obj instanceof Array||Array.isArray(obj)||obj.length>=0&&obj.splice instanceof Function}},function(module,exports,__webpack_require__){var conversions=__webpack_require__(6);var route=__webpack_require__(21);var convert={};var models=Object.keys(conversions);function wrapRaw(fn){var wrappedFn=function(args){if(args===undefined||args===null){return args}if(arguments.length>1){args=Array.prototype.slice.call(arguments)}return fn(args)};if("conversion"in fn){wrappedFn.conversion=fn.conversion}return wrappedFn}function wrapRounded(fn){var wrappedFn=function(args){if(args===undefined||args===null){return args}if(arguments.length>1){args=Array.prototype.slice.call(arguments)}var result=fn(args);if(typeof result==="object"){for(var len=result.length,i=0;i<len;i++){result[i]=Math.round(result[i])}}return result};if("conversion"in fn){wrappedFn.conversion=fn.conversion}return wrappedFn}models.forEach(function(fromModel){convert[fromModel]={};Object.defineProperty(convert[fromModel],"channels",{value:conversions[fromModel].channels});Object.defineProperty(convert[fromModel],"labels",{value:conversions[fromModel].labels});var routes=route(fromModel);var routeModels=Object.keys(routes);routeModels.forEach(function(toModel){var fn=routes[toModel];convert[fromModel][toModel]=wrapRounded(fn);convert[fromModel][toModel].raw=wrapRaw(fn)})});module.exports=convert},function(module,exports,__webpack_require__){var conversions=__webpack_require__(6);function buildGraph(){var graph={};var models=Object.keys(conversions);for(var len=models.length,i=0;i<len;i++){graph[models[i]]={distance:-1,parent:null}}return graph}function deriveBFS(fromModel){var graph=buildGraph();var queue=[fromModel];graph[fromModel].distance=0;while(queue.length){var current=queue.pop();var adjacents=Object.keys(conversions[current]);for(var len=adjacents.length,i=0;i<len;i++){var adjacent=adjacents[i];var node=graph[adjacent];if(node.distance===-1){node.distance=graph[current].distance+1;node.parent=current;queue.unshift(adjacent)}}}return graph}function link(from,to){return function(args){return to(from(args))}}function wrapConversion(toModel,graph){var path=[graph[toModel].parent,toModel];var fn=conversions[graph[toModel].parent][toModel];var cur=graph[toModel].parent;while(graph[cur].parent){path.unshift(graph[cur].parent);fn=link(conversions[graph[cur].parent][cur],fn);cur=graph[cur].parent}fn.conversion=path;return fn}module.exports=function(fromModel){var graph=deriveBFS(fromModel);var conversion={};var models=Object.keys(graph);for(var len=models.length,i=0;i<len;i++){var toModel=models[i];var node=graph[toModel];if(node.parent===null){continue}conversion[toModel]=wrapConversion(toModel,graph)}return conversion}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);var _ColorItem=__webpack_require__(2);var _ColorItem2=_interopRequireDefault(_ColorItem);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var ColorHandler=function(){function ColorHandler(colorpicker){_classCallCheck(this,ColorHandler);this.colorpicker=colorpicker}_createClass(ColorHandler,[{key:"bind",value:function bind(){if(this.colorpicker.options.color){this.color=this.createColor(this.colorpicker.options.color);return}if(!this.color&&!!this.colorpicker.inputHandler.getValue()){this.color=this.createColor(this.colorpicker.inputHandler.getValue(),this.colorpicker.options.autoInputFallback)}}},{key:"unbind",value:function unbind(){this.colorpicker.element.removeData("color")}},{key:"getColorString",value:function getColorString(){if(!this.hasColor()){return""}return this.color.string(this.format)}},{key:"setColorString",value:function setColorString(val){var color=val?this.createColor(val):null;this.color=color?color:null}},{key:"createColor",value:function createColor(val){var fallbackOnInvalid=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var
22036color=new _ColorItem2.default(this.resolveColorDelegate(val),this.format
vendor: 7,463 bytes, lines 22036-22037
22036);if(!color.isValid()){if(fallbackOnInvalid){color=this.getFallbackColor()}this.colorpicker.trigger("colorpickerInvalid",color,val)}if(!this.isAlphaEnabled()){color.alpha=1}return color}},{key:"getFallbackColor",value:function getFallbackColor(){if(this.fallback&&this.fallback===this.color){return this.color}var fallback=this.resolveColorDelegate(this.fallback);var color=new _ColorItem2.default(fallback,this.format);if(!color.isValid()){console.warn("The fallback color is invalid. Falling back to the previous color or black if any.");return this.color?this.color:new _ColorItem2.default("#000000",this.format)}return color}},{key:"assureColor",value:function assureColor(){if(!this.hasColor()){this.color=this.getFallbackColor()}return this.color}},{key:"resolveColorDelegate",value:function resolveColorDelegate(color){var realColor=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var extResolvedColor=false;_jquery2.default.each(this.colorpicker.extensions,function(name,ext){if(extResolvedColor!==false){return}extResolvedColor=ext.resolveColor(color,realColor)});return extResolvedColor?extResolvedColor:color}},{key:"isInvalidColor",value:function isInvalidColor(){return!this.hasColor()||!this.color.isValid()}},{key:"isAlphaEnabled",value:function isAlphaEnabled(){return this.colorpicker.options.useAlpha!==false}},{key:"hasColor",value:function hasColor(){return this.color instanceof _ColorItem2.default}},{key:"fallback",get:function get(){return this.colorpicker.options.fallbackColor?this.colorpicker.options.fallbackColor:this.hasColor()?this.color:null}},{key:"format",get:function get(){if(this.colorpicker.options.format){return this.colorpicker.options.format}if(this.hasColor()&&this.color.hasTransparency()&&this.color.format.match(/^hex/)){return this.isAlphaEnabled()?"rgba":"hex"}if(this.hasColor()){return this.color.format}return"rgb"}},{key:"color",get:function get(){return this.colorpicker.element.data("color")},set:function set(value){this.colorpicker.element.data("color",value);if(value instanceof _ColorItem2.default&&this.colorpicker.options.format==="auto"){this.colorpicker.options.format=this.color.format}}}]);return ColorHandler}();exports.default=ColorHandler;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var _jquery=__webpack_require__(0);var _jquery2=_interopRequireDefault(_jquery);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var PickerHandler=function(){function PickerHandler(colorpicker){_classCallCheck(this,PickerHandler);this.colorpicker=colorpicker;this.picker=null}_createClass(PickerHandler,[{key:"bind",value:function bind(){var picker=this.picker=(0,_jquery2.default)(this.options.template);if(this.options.customClass){picker.addClass(this.options.customClass)}if(this.options.horizontal){picker.addClass("colorpicker-horizontal")}if(this._supportsAlphaBar()){this.options.useAlpha=true;picker.addClass("colorpicker-with-alpha")}else{this.options.useAlpha=false}}},{key:"attach",value:function attach(){var pickerParent=this.colorpicker.container?this.colorpicker.container:null;if(pickerParent){this.picker.appendTo(pickerParent)}}},{key:"unbind",value:function unbind(){this.picker.remove()}},{key:"_supportsAlphaBar",value:function _supportsAlphaBar(){return(this.options.useAlpha||this.colorpicker.colorHandler.hasColor()&&this.color.hasTransparency())&&this.options.useAlpha!==false&&(!this.options.format||this.options.format&&!this.options.format.match(/^hex([36])?$/i))}},{key:"update",value:function update(){if(!this.colorpicker.colorHandler.hasColor()){return}var vertical=this.options.horizontal!==true,slider=vertical?this.options.sliders:this.options.slidersHorz;var saturationGuide=this.picker.find(".colorpicker-saturation .colorpicker-guide"),hueGuide=this.picker.find(".colorpicker-hue .colorpicker-guide"),alphaGuide=this.picker.find(".colorpicker-alpha .colorpicker-guide");var hsva=this.color.toHsvaRatio();if(hueGuide.length){hueGuide.css(vertical?"top":"left",(vertical?slider.hue.maxTop:slider.hue.maxLeft)*(1-hsva.h))}if(alphaGuide.length){alphaGuide.css(vertical?"top":"left",(vertical?slider.alpha.maxTop:slider.alpha.maxLeft)*(1-hsva.a))}if(saturationGuide.length){saturationGuide.css({top:slider.saturation.maxTop-hsva.v*slider.saturation.maxTop,left:hsva.s*slider.saturation.maxLeft})}this.picker.find(".colorpicker-saturation").css("backgroundColor",this.color.getCloneHueOnly().toHexString());var hexColor=this.color.toHexString();var alphaBg="";if(this.options.horizontal){alphaBg="linear-gradient(to right, "+hexColor+" 0%, transparent 100%)"}else{alphaBg="linear-gradient(to bottom, "+hexColor+" 0%, transparent 100%)"}this.picker.find(".colorpicker-alpha-color").css("background",alphaBg)}},{key:"options",get:function get(){return this.colorpicker.options}},{key:"color",get:function get(){return this.colorpicker.colorHandler.color}}]);return PickerHandler}();exports.default=PickerHandler;module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var AddonHandler=function(){function AddonHandler(colorpicker){_classCallCheck(this,AddonHandler);this.colorpicker=colorpicker;this.addon=null}_createClass(AddonHandler,[{key:"hasAddon",value:function hasAddon(){return!!this.addon}},{key:"bind",value:function bind(){this.addon=this.colorpicker.options.addon?this.colorpicker.element.find(this.colorpicker.options.addon):null;if(this.addon&&this.addon.length===0){this.addon=null}}},{key:"unbind",value:function unbind(){if(this.hasAddon()){this.addon.off(".colorpicker")}}},{key:"update",value:function update(){if(!this.colorpicker.colorHandler.hasColor()||!this.hasAddon()){return}var colorStr=this.colorpicker.colorHandler.getColorString();var styles={background:colorStr};var icn=this.addon.find("i").eq(0);if(icn.length>0){icn.css(styles)}else{this.addon.css(styles)}}}]);return AddonHandler}();exports.default=AddonHandler;module.exports=exports.default}])}); 22037//# sourceMappingURL=bootstrap-colorpicker.min.js.map
22037 22038// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-form-fields/php/../js/nouislider.min.js 22039/*! nouislider - 14.6.1 - 8/17/2020 */ 22040!function(t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():window.noUiSlider=t()}(function(){"use strict";var lt="14.6.1";function ut(t){t.parentElement.removeChild(t)}function a(t){return null!=t}function ct(t){t.preventDefault()}function o(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}function pt(t,e,r){0<r&&(ht(t,e),setTimeout(function(){mt(t,e)},r))}function ft(t){return Math.max(Math.min(t,100),0)}function dt(t){return Array.isArray(t)?t:[t]}function e(t){var e=(t=String(t)).split(".");return 1<e.length?e[1].length:0}function ht(t,e){t.classList&&!/\s/.test(e)?t.classList.add(e):t.className+=" "+e}function mt(t,e){t.classList&&!/\s/.test(e)?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," ")}function gt(t){var e=void 0!==window.pageXOffset,r="CSS1Compat"===(t.compatMode||"");return{x:e?window.pageXOffset:r?t.documentElement.scrollLeft:t.body.scrollLeft,y:e?window.pageYOffset:r?t.documentElement.scrollTop:t.body.scrollTop}}function c(t,e){return 100/(e-t)}function p(t,e,r){return 100*e/(t[r+1]-t[r])}function f(t,e){for(var r=1;t>=e[r];)r+=1;return r}function r(t,e,r){if(r>=t.slice(-1)[0])return 100;var n,i,o=f(r,t),s=t[o-1],a=t[o],l=e[o-1],u=e[o];return l+(i=r,p(n=[s,a],n[0]<0?i+Math.abs(n[0]):i-n[0],0)/c(l,u))}function n(t,e,r,n){if(100===n)return n;var i,o,s=f(n,t),a=t[s-1],l=t[s];return r?(l-a)/2<n-a?l:a:e[s-1]?t[s-1]+(i=n-t[s-1],o=e[s-1],Math.round(i/o)*o):n}function s(t,e,r){var n;if("number"==typeof e&&(e=[e]),!Array.isArray(e))throw new Error("noUiSlider ("+lt+"): 'range' contains invalid value.");if(!o(n="min"===t?0:"max"===t?100:parseFloat(t))||!o(e[0]))throw new Error("noUiSlider ("+lt+"): 'range' value isn't numeric.");r.xPct.push(n),r.xVal.push(e[0]),n?r.xSteps.push(!isNaN(e[1])&&e[1]):isNaN(e[1])||(r.xSteps[0]=e[1]),r.xHighestCompleteStep.push(0)}function l(t,e,r){if(e)if(r.xVal[t]!==r.xVal[t+1]){r.xSteps[t]=p([r.xVal[t],r.xVal[t+1]],e,0)/c(r.xPct[t],r.xPct[t+1]);var n=(r.xVal[t+1]-r.xVal[t])/r.xNumSteps[t],i=Math.ceil(Number(n.toFixed(3))-1),o=r.xVal[t]+r.xNumSteps[t]*i;r.xHighestCompleteStep[t]=o}else r.xSteps[t]=r.xHighestCompleteStep[t]=r.xVal[t]}function i(t,e,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var i=[];for(n in t)t.hasOwnProperty(n)&&i.push([t[n],n]);for(i.length&&"object"==typeof i[0][0]?i.sort(function(t,e){return t[0][0]-e[0][0]}):i.sort(function(t,e){return t[0]-e[0]}),n=0;n<i.length;n++)s(i[n][1],i[n][0],this);for(this.xNumSteps=this.xSteps.slice(0),n=0;n<this.xNumSteps.length;n++)l(n,this.xNumSteps[n],this)}i.prototype.getDistance=function(t){var e,r=[];for(e=0;e<this.xNumSteps.length-1;e++){var n=this.xNumSteps[e];if(n&&t/n%1!=0)throw new Error("noUiSlider ("+lt+"): 'limit', 'margin' and 'padding' of "+this.xPct[e]+"% range must be divisible by step.");r[e]=p(this.xVal,t,e)}return r},i.prototype.getAbsoluteDistance=function(t,e,r){var n,i=0;if(t<this.xPct[this.xPct.length-1])for(;t>this.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++;var o=1,s=e[i],a=0,l=0,u=0,c=0;for(n=r?(t-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):(this.xPct[i+1]-t)/(this.xPct[i+1]-this.xPct[i]);0<s;)a=this.xPct[i+1+c]-this.xPct[i+c],100<e[i+c]*o+100-100*n?(l=a*n,o=(s-100*n)/e[i+c],n=1):(l=e[i+c]*a/100*o,o=0),r?(u-=l,1<=this.xPct.length+c&&c--):(u+=l,1<=this.xPct.length-c&&c++),s=e[i+c]*o;return t+u},i.prototype.toStepping=function(t){return t=r(this.xVal,this.xPct,t)},i.prototype.fromStepping=function(t){return function(t,e,r){if(100<=r)return t.slice(-1)[0];var n,i=f(r,e),o=t[i-1],s=t[i],a=e[i-1],l=e[i];return n=[o,s],(r-a)*c(a,l)*(n[1]-n[0])/100+n[0]}(this.xVal,this.xPct,t)},i.prototype.getStep=function(t){return t=n(this.xPct,this.xSteps,this.snap,t)},i.prototype.getDefaultStep=function(t,e,r){var n=f(t,this.xPct);return(100===t||e&&t===this.xPct[n-1])&&(n=Math.max(n-1,1)),(this.xVal[n]-this.xVal[n-1])/r},i.prototype.getNearbySteps=function(t){var e=f(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e],step:this.xNumSteps[e],highestStep:this.xHighestCompleteStep[e]}}},i.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(e);return Math.max.apply(null,t)}
22040,i.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var u={to:function(t){return void 0!==t&&t.toFixed(2)},from:Number},d={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"};function h(t){if("object"==typeof(e=t)&&"function"==typeof e.to&&"function"==typeof e.from)return!0;var e;throw new Error("noUiSlider ("+lt+"): 'format' requires 'to' and 'from' methods.")}function m(t,e){if(!o(e))throw new Error("noUiSlider ("+lt+"): 'step' is not numeric.");t.singleStep=e}function g(t,e){if(!o(e))throw new Error("noUiSlider ("+lt+"): 'keyboardPageMultiplier' is not numeric.");t.keyboardPageMultiplier=e}function v(t,e){if(!o(e))throw new Error("noUiSlider ("+lt+"): 'keyboardDefaultStep' is not numeric.");t.keyboardDefaultStep=e}function b(t,e){if("object"!=typeof e||Array.isArray(e))throw new Error("noUiSlider ("+lt+"): 'range' is not an object.");if(void 0===e.min||void 0===e.max)throw new Error("noUiSlider ("+lt+"): Missing 'min' or 'max' in 'range'.");if(e.min===e.max)throw new Error("noUiSlider ("+lt+"): 'range' 'min' and 'max' cannot be equal.");t.spectrum=new i(e,t.snap,t.singleStep)}function x(t,e){if(e=dt(e),!Array.isArray(e)||!e.length)throw new Error("noUiSlider ("+lt+"): 'start' option is incorrect.");t.handles=e.length,t.start=e}function S(t,e){if("boolean"!=typeof(t.snap=e))throw new Error("noUiSlider ("+lt+"): 'snap' option must be a boolean.")}function w(t,e){if("boolean"!=typeof(t.animate=e))throw new Error("noUiSlider ("+lt+"): 'animate' option must be a boolean.")}function y(t,e){if("number"!=typeof(t.animationDuration=e))throw new Error("noUiSlider ("+lt+"): 'animationDuration' option must be a number.")}function E(t,e){var r,n=[!1];if("lower"===e?e=[!0,!1]:"upper"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r<t.handles;r++)n.push(e);n.push(!1)}else{if(!Array.isArray(e)||!e.length||e.length!==t.handles+1)throw new Error("noUiSlider ("+lt+"): 'connect' option doesn't match handle count.");n=e}t.connect=n}function C(t,e){switch(e){case"horizontal":t.ort=0;break;case"vertical":t.ort=1;break;default:throw new Error("noUiSlider ("+lt+"): 'orientation' option is invalid.")}}function P(t,e){if(!o(e))throw new Error("noUiSlider ("+lt+"): 'margin' option must be numeric.");0!==e&&(t.margin=t.spectrum.getDistance(e))}function N(t,e){if(!o(e))throw new Error("noUiSlider ("+lt+"): 'limit' option must be numeric.");if(t.limit=t.spectrum.getDistance(e),!t.limit||t.handles<2)throw new Error("noUiSlider ("+lt+"): 'limit' option is only supported on linear sliders with 2 or more handles.")}function k(t,e){var r;if(!o(e)&&!Array.isArray(e))throw new Error("noUiSlider ("+lt+"): 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(e)&&2!==e.length&&!o(e[0])&&!o(e[1]))throw new Error("noUiSlider ("+lt+"): 'padding' option must be numeric or array of exactly 2 numbers.");if(0!==e){for(Array.isArray(e)||(e=[e,e]),t.padding=[t.spectrum.getDistance(e[0]),t.spectrum.getDistance(e[1])],r=0;r<t.spectrum.xNumSteps.length-1;r++)if(t.padding[0][r]<0||t.padding[1][r]<0)throw new Error("noUiSlider ("+lt+"): 'padding' option must be a positive number(s).");var n=e[0]+e[1],i=t.spectrum.xVal[0];if(1<n/(t.spectrum.xVal[t.spectrum.xVal.length-1]-i))throw new Error("noUiSlider ("+lt+"): 'padding' option must not exceed 100% of the range.")}}function U(t,e){switch(e){case"ltr":t.dir=0;break;case"rtl":t.dir=1;break;default:throw new Error("noUiSlider ("+lt+"): 'direction' option was not recognized.")}}function A(t,e){if("string"!=typeof e)throw new Error("noUiSlider ("+lt+"): 'behaviour' must be a string containing options.");var r=0<=e.indexOf("tap"),n=0<=e.indexOf("drag"),i=0<=e.indexOf("fixed"),o=0<=e.indexOf("snap"),s=0<=e.indexOf("hover"),a=0<=e.indexOf("unconstrained");if(i){if(2!==t.handles)throw new Error("noUiSlider ("+lt+"): 'fixed' behaviour must be used with 2 handles");P(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error("noUiSlider ("+lt+"): 'unconstrained' behaviour cannot be used with margin or limit");t.events={tap:r||o,drag:n,fixed:i,snap:o,hover:s,unconstrained:a}}function V(t,e){if(!1!==e)if(!0===e){t.tooltips=[];for(var r=0;r<t.handles;r++)t.tooltips.push(!0)}else{if(t.tooltips=dt(e),t.tooltips.length!==t.handles)throw new Error("noUiSlider ("+lt+"): must pass a formatter for all handles.");t.tooltips.forEach(function(t){if("boolean"!=typeof t&&("object"!=typeof t||"function"!=typeof t.to))throw new Error("noUiSlider ("+lt+"): 'tooltips' must be passed a formatter or 'false'.")})}}function D(t,e){h(t.ariaFormat=e)}function M(t,e){h(t.format=e)}function O(t,e){if("boolean"!=typeof(t.keyboardSupport=e))throw new Error("noUiSlider ("+lt+"): 'keyboardSupport' option must be a boolean.")}function L(t,e){t.documentElement=e}function z(t,e){if("string"!=typeof e&&!1!==e)throw new Error("noUiSlider ("+lt+"): 'cssPrefix' must be a string or `false`.");t.cssPrefix=e}function H(t,e){if("object"!=typeof e)throw new Error("noUiSlider ("+lt+"): 'cssClasse
22040s' must be an object.");if("string"==typeof t.cssPrefix)for(var r in t.cssClasses={},e)e.hasOwnProperty(r)&&(t.cssClasses[r]=t.cssPrefix+e[r]);else t.cssClasses=e}function vt(e){var r={margin:0,limit:0,padding:0,animate:!0,animationDuration:300,ariaFormat:u,format:u},n={step:{r:!1,t:m},keyboardPageMultiplier:{r:!1,t:g},keyboardDefaultStep:{r:!1,t:v},start:{r:!0,t:x},connect:{r:!0,t:E},direction:{r:!0,t:U},snap:{r:!1,t:S},animate:{r:!1,t:w},animationDuration:{r:!1,t:y},range:{r:!0,t:b},orientation:{r:!1,t:C},margin:{r:!1,t:P},limit:{r:!1,t:N},padding:{r:!1,t:k},behaviour:{r:!0,t:A},ariaFormat:{r:!1,t:D},format:{r:!1,t:M},tooltips:{r:!1,t:V},keyboardSupport:{r:!0,t:O},documentElement:{r:!1,t:L},cssPrefix:{r:!0,t:z},cssClasses:{r:!0,t:H}},i={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:d,keyboardPageMultiplier:5,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(n).forEach(function(t){if(!a(e[t])&&void 0===i[t]){if(n[t].r)throw new Error("noUiSlider ("+lt+"): '"+t+"' is required.");return!0}n[t].t(r,a(e[t])?e[t]:i[t])}),r.pips=e.pips;var t=document.createElement("div"),o=void 0!==t.style.msTransform,s=void 0!==t.style.transform;r.transformRule=s?"transform":o?"msTransform":"webkitTransform";return r.style=[["left","top"],["right","bottom"]][r.dir][r.ort],r}function j(t,b,o){var l,u,s,c,i,a,e,p,f=window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"},d=window.CSS&&CSS.supports&&CSS.supports("touch-action","none")&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e)}catch(t){}return t}(),h=t,y=b.spectrum,x=[],S=[],m=[],g=0,v={},w=t.ownerDocument,E=b.documentElement||w.documentElement,C=w.body,P=-1,N=0,k=1,U=2,A="rtl"===w.dir||1===b.ort?0:100;function V(t,e){var r=w.createElement("div");return e&&ht(r,e),t.appendChild(r),r}function D(t,e){var r=V(t,b.cssClasses.origin),n=V(r,b.cssClasses.handle);return V(n,b.cssClasses.touchArea),n.setAttribute("data-handle",e),b.keyboardSupport&&(n.setAttribute("tabindex","0"),n.addEventListener("keydown",function(t){return function(t,e){if(O()||L(e))return!1;var r=["Left","Right"],n=["Down","Up"],i=["PageDown","PageUp"],o=["Home","End"];b.dir&&!b.ort?r.reverse():b.ort&&!b.dir&&(n.reverse(),i.reverse());var s,a=t.key.replace("Arrow",""),l=a===i[0],u=a===i[1],c=a===n[0]||a===r[0]||l,p=a===n[1]||a===r[1]||u,f=a===o[0],d=a===o[1];if(!(c||p||f||d))return!0;if(t.preventDefault(),p||c){var h=b.keyboardPageMultiplier,m=c?0:1,g=at(e),v=g[m];if(null===v)return!1;!1===v&&(v=y.getDefaultStep(S[e],c,b.keyboardDefaultStep)),(u||l)&&(v*=h),v=Math.max(v,1e-7),v*=c?-1:1,s=x[e]+v}else s=d?b.spectrum.xVal[b.spectrum.xVal.length-1]:b.spectrum.xVal[0];return rt(e,y.toStepping(s),!0,!0),J("slide",e),J("update",e),J("change",e),J("set",e),!1}(t,e)})),n.setAttribute("role","slider"),n.setAttribute("aria-orientation",b.ort?"vertical":"horizontal"),0===e?ht(n,b.cssClasses.handleLower):e===b.handles-1&&ht(n,b.cssClasses.handleUpper),r}function M(t,e){return!!e&&V(t,b.cssClasses.connect)}function r(t,e){return!!b.tooltips[e]&&V(t.firstChild,b.cssClasses.tooltip)}function O(){return h.hasAttribute("disabled")}function L(t){return u[t].hasAttribute("disabled")}function z(){i&&(G("update.tooltips"),i.forEach(function(t){t&&ut(t)}),i=null)}function H(){z(),i=u.map(r),$("update.tooltips",function(t,e,r){if(i[e]){var n=t[e];!0!==b.tooltips[e]&&(n=b.tooltips[e].to(r[e])),i[e].innerHTML=n}})}function j(e,i,o){var s=w.createElement("div"),a=[];a[N]=b.cssClasses.valueNormal,a[k]=b.cssClasses.valueLarge,a[U]=b.cssClasses.valueSub;var l=[];l[N]=b.cssClasses.markerNormal,l[k]=b.cssClasses.markerLarge,l[U]=b.cssClasses.markerSub;var u=[b.cssClasses.valueHorizontal,b.cssClasses.valueVertical],c=[b.cssClasses.markerHorizontal,b.cssClasses.markerVertical];
22040function p(t,e){var r=e===b.cssClasses.value,n=r?a:l;return e+" "+(r?u:c)[b.ort]+" "+n[t]}return ht(s,b.cssClasses.pips),ht(s,0===b.ort?b.cssClasses.pipsHorizontal:b.cssClasses.pipsVertical),Object.keys(e).forEach(function(t){!function(t,e,r){if((r=i?i(e,r):r)!==P){var n=V(s,!1);n.className=p(r,b.cssClasses.marker),n.style[b.style]=t+"%",N<r&&((n=V(s,!1)).className=p(r,b.cssClasses.value),n.setAttribute("data-value",e),n.style[b.style]=t+"%",n.innerHTML=o.to(e))}}(t,e[t][0],e[t][1])}),s}function F(){c&&(ut(c),c=null)}function R(t){F();var m,g,v,b,e,r,x,S,w,n=t.mode,i=t.density||1,o=t.filter||!1,s=function(t,e,r){if("range"===t||"steps"===t)return y.xVal;if("count"===t){if(e<2)throw new Error("noUiSlider ("+lt+"): 'values' (>= 2) required for mode 'count'.");var n=e-1,i=100/n;for(e=[];n--;)e[n]=n*i;e.push(100),t="positions"}return"positions"===t?e.map(function(t){return y.fromStepping(r?y.getStep(t):t)}):"values"===t?r?e.map(function(t){return y.fromStepping(y.getStep(y.toStepping(t)))}):e:void 0}(n,t.values||!1,t.stepped||!1),a=(m=i,g=n,v=s,b={},e=y.xVal[0],r=y.xVal[y.xVal.length-1],S=x=!1,w=0,(v=v.slice().sort(function(t,e){return t-e}).filter(function(t){return!this[t]&&(this[t]=!0)},{}))[0]!==e&&(v.unshift(e),x=!0),v[v.length-1]!==r&&(v.push(r),S=!0),v.forEach(function(t,e){var r,n,i,o,s,a,l,u,c,p,f=t,d=v[e+1],h="steps"===g;if(h&&(r=y.xNumSteps[e]),r||(r=d-f),!1!==f)for(void 0===d&&(d=f),r=Math.max(r,1e-7),n=f;n<=d;n=(n+r).toFixed(7)/1){for(u=(s=(o=y.toStepping(n))-w)/m,p=s/(c=Math.round(u)),i=1;i<=c;i+=1)b[(a=w+i*p).toFixed(5)]=[y.fromStepping(a),0];l=-1<v.indexOf(n)?k:h?U:N,!e&&x&&n!==d&&(l=0),n===d&&S||(b[o.toFixed(5)]=[n,l]),w=o}}),b),l=t.format||{to:Math.round};return c=h.appendChild(j(a,o,l))}function T(){var t=l.getBoundingClientRect(),e="offset"+["Width","Height"][b.ort];return 0===b.ort?t.width||l[e]:t.height||l[e]}function B(n,i,o,s){var e=function(t){return!!(t=function(t,e,r){var n,i,o=0===t.type.indexOf("touch"),s=0===t.type.indexOf("mouse"),a=0===t.type.indexOf("pointer");0===t.type.indexOf("MSPointer")&&(a=!0);if(o){var l=function(t){return t.target===r||r.contains(t.target)||t.target.shadowRoot&&t.target.shadowRoot.contains(r)};if("touchstart"===t.type){var u=Array.prototype.filter.call(t.touches,l);if(1<u.length)return!1;n=u[0].pageX,i=u[0].pageY}else{var c=Array.prototype.find.call(t.changedTouches,l);if(!c)return!1;n=c.pageX,i=c.pageY}}e=e||gt(w),(s||a)&&(n=t.clientX+e.x,i=t.clientY+e.y);return t.pageOffset=e,t.points=[n,i],t.cursor=s||a,t}(t,s.pageOffset,s.target||i))&&(!(O()&&!s.doNotReject)&&(e=h,r=b.cssClasses.tap,!((e.classList?e.classList.contains(r):new RegExp("\\b"+r+"\\b").test(e.className))&&!s.doNotReject)&&(!(n===f.start&&void 0!==t.buttons&&1<t.buttons)&&((!s.hover||!t.buttons)&&(d||t.preventDefault(),t.calcPoint=t.points[b.ort],void o(t,s))))));var e,r},r=[];return n.split(" ").forEach(function(t){i.addEventListener(t,e,!!d&&{passive:!0}),r.push([t,e])}),r}function q(t){var e,r,n,i,o,s,a=100*(t-(e=l,r=b.ort,n=e.getBoundingClientRect(),i=e.ownerDocument,o=i.documentElement,s=gt(i),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(s.x=0),r?n.top+s.y-o.clientTop:n.left+s.x-o.clientLeft))/T();return a=ft(a),b.dir?100-a:a}function X(t,e){"mouseout"===t.type&&"HTML"===t.target.nodeName&&null===t.relatedTarget&&_(t,e)}function Y(t,e){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===t.buttons&&0!==e.buttonsProperty)return _(t,e);var r=(b.dir?-1:1)*(t.calcPoint-e.startCalcPoint);Z(0<r,100*r/e.baseSize,e.locations,e.handleNumbers)}function _(t,e){e.handle&&(mt(e.handle,b.cssClasses.active),g-=1),e.listeners.forEach(function(t){E.removeEventListener(t[0],t[1])}),0===g&&(mt(h,b.cssClasses.drag),et(),t.cursor&&(C.style.cursor="",C.removeEventListener("selectstart",ct))),e.handleNumbers.forEach(function(t){J("change",t),J("set",t),J("end",t)})}function I(t,e){if(e.handleNumbers.some(L))return!1;var r;1===e.handleNumbers.length&&(r=u[e.handleNumbers[0]].children[0],g+=1,ht(r,b.cssClasses.active));t.stopPropagation();var n=[],i=B(f.move,E,Y,{target:t.target,handle:r,listeners:n,startCalcPoint:t.calcPoint,baseSize:T(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:S.slice()}),o=B(f.end,E,_,{target:t.target,handle:r,listeners:n,doNotReject:!0,handleNumbers:e.handleNumbers}),s=B("mouseout",E,X,{target:t.target,handle:r,listeners:n,doNotReject:!0,handleNumbers:e.handleNumbers});n.push.apply(n,i.concat(o,s)),t.cursor&&(C.style.cursor=getComputedStyle(t.target).cursor,1<u.length&&ht(h,b.cssClasse
22040s.drag),C.addEventListener("selectstart",ct,!1)),e.handleNumbers.forEach(function(t){J("start",t)})}function n(t){if(!t.buttons&&!t.touches)return!1;t.stopPropagation();var i,o,s,e=q(t.calcPoint),r=(i=e,s=!(o=100),u.forEach(function(t,e){if(!L(e)){var r=S[e],n=Math.abs(r-i);(n<o||n<=o&&r<i||100===n&&100===o)&&(s=e,o=n)}}),s);if(!1===r)return!1;b.events.snap||pt(h,b.cssClasses.tap,b.animationDuration),rt(r,e,!0,!0),et(),J("slide",r,!0),J("update",r,!0),J("change",r,!0),J("set",r,!0),b.events.snap&&I(t,{handleNumbers:[r]})}function W(t){var e=q(t.calcPoint),r=y.getStep(e),n=y.fromStepping(r);Object.keys(v).forEach(function(t){"hover"===t.split(".")[0]&&v[t].forEach(function(t){t.call(a,n)})})}function $(t,e){v[t]=v[t]||[],v[t].push(e),"update"===t.split(".")[0]&&u.forEach(function(t,e){J("update",e)})}function G(t){var n=t&&t.split(".")[0],i=n&&t.substring(n.length);Object.keys(v).forEach(function(t){var e=t.split(".")[0],r=t.substring(e.length);n&&n!==e||i&&i!==r||delete v[t]})}function J(r,n,i){Object.keys(v).forEach(function(t){var e=t.split(".")[0];r===e&&v[t].forEach(function(t){t.call(a,x.map(b.format.to),n,x.slice(),i||!1,S.slice(),a)})})}function K(t,e,r,n,i,o){var s;return 1<u.length&&!b.events.unconstrained&&(n&&0<e&&(s=y.getAbsoluteDistance(t[e-1],b.margin,0),r=Math.max(r,s)),i&&e<u.length-1&&(s=y.getAbsoluteDistance(t[e+1],b.margin,1),r=Math.min(r,s))),1<u.length&&b.limit&&(n&&0<e&&(s=y.getAbsoluteDistance(t[e-1],b.limit,0),r=Math.min(r,s)),i&&e<u.length-1&&(s=y.getAbsoluteDistance(t[e+1],b.limit,1),r=Math.max(r,s))),b.padding&&(0===e&&(s=y.getAbsoluteDistance(0,b.padding[0],0),r=Math.max(r,s)),e===u.length-1&&(s=y.getAbsoluteDistance(100,b.padding[1],1),r=Math.min(r,s))),!((r=ft(r=y.getStep(r)))===t[e]&&!o)&&r}function Q(t,e){var r=b.ort;return(r?e:t)+", "+(r?t:e)}function Z(t,n,r,e){var i=r.slice(),o=[!t,t],s=[t,!t];e=e.slice(),t&&e.reverse(),1<e.length?e.forEach(function(t,e){var r=K(i,t,i[t]+n,o[e],s[e],!1);!1===r?n=0:(n=r-i[t],i[t]=r)}):o=s=[!0];var a=!1;e.forEach(function(t,e){a=rt(t,r[t]+n,o[e],s[e])||a}),a&&e.forEach(function(t){J("update",t),J("slide",t)})}function tt(t,e){return b.dir?100-t-e:t}function et(){m.forEach(function(t){var e=50<S[t]?-1:1,r=3+(u.length+e*t);u[t].style.zIndex=r})}function rt(t,e,r,n){return!1!==(e=K(S,t,e,r,n,!1))&&(function(t,e){S[t]=e,x[t]=y.fromStepping(e);var r="translate("+Q(10*(tt(e,0)-A)+"%","0")+")";u[t].style[b.transformRule]=r,nt(t),nt(t+1)}(t,e),!0)}function nt(t){if(s[t]){var e=0,r=100;0!==t&&(e=S[t-1]),t!==s.length-1&&(r=S[t]);var n=r-e,i="translate("+Q(tt(e,n)+"%","0")+")",o="scale("+Q(n/100,"1")+")";s[t].style[b.transformRule]=i+" "+o}}function it(t,e){return null===t||!1===t||void 0===t?S[e]:("number"==typeof t&&(t=String(t)),t=b.format.from(t),!1===(t=y.toStepping(t))||isNaN(t)?S[e]:t)}function ot(t,e){var r=dt(t),n=void 0===S[0];e=void 0===e||!!e,b.animate&&!n&&pt(h,b.cssClasses.tap,b.animationDuration),m.forEach(function(t){rt(t,it(r[t],t),!0,!1)});for(var i=1===m.length?0:1;i<m.length;++i)m.forEach(function(t){rt(t,S[t],!0,!0)});et(),m.forEach(function(t){J("update",t),null!==r[t]&&e&&J("set",t)})}function st(){var t=x.map(b.format.to);return 1===t.length?t[0]:t}function at(t){var e=S[t],r=y.getNearbySteps(e),n=x[t],i=r.thisStep.step,o=null;if(b.snap)return[n-r.stepBefore.startValue||null,r.stepAfter.startValue-n||null];!1!==i&&n+i>r.stepAfter.startValue&&(i=r.stepAfter.startValue-n),o=n>r.thisStep.startValue?r.thisStep.step:!1!==r.stepBefore.step&&n-r.stepBefore.highestStep,100===e?i=null:0===e&&(o=null);var s=y.countStepDecimals();return null!==i&&!1!==i&&(i=Number(i.toFixed(s))),null!==o&&!1!==o&&(o=Number(o.toFixed(s))),[o,i]}return ht(e=h,b.cssClasses.target),0===b.dir?ht(e,b.cssClasses.ltr):ht(e,b.cssClasses.rtl),0===b.ort?ht(e,b.cssClasses.horizontal):ht(e,b.cssClasses.vertical),ht(e,"rtl"===getComputedStyle(e).direction?b.cssClasses.textDirectionRtl:b.cssClasses.textDirectionLtr),l=V(e,b.cssClasses.base),function(t,e){var r=V(e,b.cssClasses.connects);u=[],(s=[]).push(M(r,t[0]));for(var n=0;n<b.handles;n++)u.push(D(e,n)),m[n]=n,s.push(M(r,t[n+1]))}(b.connect,l),(p=b.events).fixed||u.forEach(function(t,e){B(f.start,t.children[0],I,{handleNumbers:[e]})}),p.tap&&B(f.start,l,n,{}),p.hover&&B(f.move,l,W,{hover:!0}
22040),p.drag&&s.forEach(function(t,e){if(!1!==t&&0!==e&&e!==s.length-1){var r=u[e-1],n=u[e],i=[t];ht(t,b.cssClasses.draggable),p.fixed&&(i.push(r.children[0]),i.push(n.children[0])),i.forEach(function(t){B(f.start,t,I,{handles:[r,n],handleNumbers:[e-1,e]})})}}),ot(b.start),b.pips&&R(b.pips),b.tooltips&&H(),$("update",function(t,e,s,r,a){m.forEach(function(t){var e=u[t],r=K(S,t,0,!0,!0,!0),n=K(S,t,100,!0,!0,!0),i=a[t],o=b.ariaFormat.to(s[t]);r=y.fromStepping(r).toFixed(1),n=y.fromStepping(n).toFixed(1),i=y.fromStepping(i).toFixed(1),e.children[0].setAttribute("aria-valuemin",r),e.children[0].setAttribute("aria-valuemax",n),e.children[0].setAttribute("aria-valuenow",i),e.children[0].setAttribute("aria-valuetext",o)})}),a={destroy:function(){for(var t in b.cssClasses)b.cssClasses.hasOwnProperty(t)&&mt(h,b.cssClasses[t]);for(;h.firstChild;)h.removeChild(h.firstChild);delete h.noUiSlider},steps:function(){return m.map(at)},on:$,off:G,get:st,set:ot,setHandle:function(t,e,r){if(!(0<=(t=Number(t))&&t<m.length))throw new Error("noUiSlider ("+lt+"): invalid handle number, got: "+t);rt(t,it(e,t),!0,!0),J("update",t),r&&J("set",t)},reset:function(t){ot(b.start,t)},__moveHandles:function(t,e,r){Z(t,e,S,r)},options:o,updateOptions:function(e,t){var r=st(),n=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips"];n.forEach(function(t){void 0!==e[t]&&(o[t]=e[t])});var i=vt(o);n.forEach(function(t){void 0!==e[t]&&(b[t]=i[t])}),y=i.spectrum,b.margin=i.margin,b.limit=i.limit,b.padding=i.padding,b.pips?R(b.pips):F(),b.tooltips?H():z(),S=[],ot(e.start||r,t)},target:h,removePips:F,removeTooltips:z,getTooltips:function(){return i},getOrigins:function(){return u},pips:R}}return{__spectrum:i,version:lt,cssClasses:d,create:function(t,e){if(!t||!t.nodeName)throw new Error("noUiSlider ("+lt+"): create requires a single element, got: "+t);if(t.noUiSlider)throw new Error("noUiSlider ("+lt+"): Slider was already initialized.");var r=j(t,vt(e),e);return t.noUiSlider=r}}}); 22041// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-google-recaptcha-v2/php/../js/front.js 22042jQuery(document).ready(function(){ 22043 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 22044 oNodeModal.find(".ctl-google-recaptcha-v2-container").each(function(){ 22045 var sSiteKey = jQuery(this).attr("data-sitekey"); 22046 if( sSiteKey ){ 22047 grecaptcha.render( this, { 22048 "sitekey": sSiteKey 22049 }); 22050 } 22051 }); 22052 }); 22053 22054 jQuery(document).on('click', '.g-recaptcha-enterprise', function(e){ 22055 let oNodeButton = jQuery(this); 22056 let oNodeContainer = jQuery(this).closest(".ctl-google-recaptcha-container"); 22057 let idDialog = g_oCTLWPStudio.showLoading(""); 22058 22059 ctlFormFieldCleanError( oNodeButton ); 22060 22061 oNodeButton.find('i').attr("class", "fa-regular fa-square"); 22062 22063 grecaptcha.enterprise.ready(function() { 22064 grecaptcha.enterprise.execute(oNodeButton.attr("data-sitekey"), {action: 'check'}).then(function(token) { 22065 oNodeContainer.find("input[name='g-recaptcha-response']").val(token); 22066 g_oCTLWPStudio.closeDlg(idDialog); 22067 22068 oNodeButton.find('i').attr("class", "fa-regular fa-square-check"); 22069 }); 22070 }); 22071 }); 22072}); 22073// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-progressive-counters/php/../js/front.js 22074jQuery(document).ready(function(){ 22075 jQuery(document).on('click', '.ctl-progressive-counter-action-reset', function(e){ 22076 var oNodeButton = jQuery(this); 22077 22078 g_oCTLBootstrapModals.confirm( 22079 g_oCTLProgressiveCounterLocalizationFront["Attention!"], 22080 g_oCTLProgressiveCounterLocalizationFront["Are you sure to reset this counter?"] + "\n" + 22081 g_oCTLProgressiveCounterLocalizationFront["This action isn't reversible!"], 22082 g_oCTLProgressiveCounterLocalizationFront["Yes"], function(){ 22083 22084 g_oCTLBootstrapModals.closeModalAndStack(); 22085 22086 var oFormData = {}; 22087 oFormData["widget-id"] = oNodeButton.attr("data-widget-id"); 22088 oFormData['action'] = 'ctl-wp-studio'; 22089 oFormData['execute'] = 'ctl-progressive-counters'; 22090 oFormData['extension-action'] = 'reset-progressive-counter'; 22091 let idLoading = g_oCTLWPStudio.showLoading(""); 22092 22093 22094 jQuery.ajax({ 22095 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 22096 type: "POST", 22097 data : oFormData, 22098 cache: false, 22099 method: 'POST', 22100 success:function(response, textStatus, jqXHR){ 22101 var oResponse = jQuery.parseJSON(response); 22102 22103 if( oResponse.res === false ){ 22104 g_oCTLWPStudio.closeDlg(idLoading); 22105 if ( oResponse.desc ){ 22106 g_oCTLBootstrapModals.alert(oResponse.desc); 22107 }else{ 22108 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 22109 } 22110 }else{ 22111 g_oCTLWPStudio.closeDlg(idLoading); 22112 g_oCTLBootstrapModals.alert("", g_oCTLProgressiveCounterLocalizationFront["Counter reset!"]); 22113 } 22114 }, 22115 error: function(jqXHR, textStatus, errorThrown){ 22116 g_oCTLWPStudio.closeDlg(idLoading); 22117 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 22118 } 22119 }); 22120 22121 }); 22122 }); 22123}); 22124// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-rolling-number/php/../js/front.js 22125jQuery(document).ready(function(){ 22126 22127 ctlRollingNumberUpdate(); 22128 ctlRollingNumberInitGauge(); 22129 22130 setTimeout( function(){ 22131 ctlRollingNumberUpdate(); 22132 ctlRollingNumberInitGauge(); 22133 },100); 22134 22135 22136 wpdk_add_action("ctl-theme-bootstrap-tabs-shown-tab", function( oNodeTabPane ){ 22137 ctlRollingNumberUpdate(oNodeTabPane); 22138 ctlRollingNumberInitGauge(oNodeTabPane); 22139 }); 22140 22141 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 22142 ctlRollingNumberUpdate(oNodeModal); 22143 ctlRollingNumberInitGauge(oNodeModal); 22144 }); 22145 22146 22147}); 22148 22149jQuery(window).scroll(function() { 22150 ctlRollingNumberUpdate(); 22151}); 22152 22153function ctlRollingNumberInitGauge( oNodeDom = null ){ 22154 22155 let oNodeParentToInit = null; 22156 22157 if (oNodeDom){ 22158 oNodeParentToInit = oNodeDom; 22159 }else{ 22160 oNodeParentToInit = jQuery("body"); 22161 } 22162 22163 oNodeParentToInit.find(".gauge-container").each(function(){ 22164 var oNodeGauge = jQuery(this); 22165 22166 var cpuGauge = Gauge(oNodeGauge[0], { 22167 max: oNodeGauge.attr("data-max"), 22168 // custom label renderer 22169 label: function(value) { 22170 return Math.round(value) + "/" + this.max; 22171 }, 22172 showValue : false, 22173 value: oNodeGauge.attr("data-end"), 22174 // Custom dial colors (Optional) 22175 color: function(value) { 22176 if (oNodeGauge.attr("data-fill-color")){ 22177 return oNodeGauge.attr("data-fill-color" ); 22178 }else{ 22179 if(value < 20) { 22180 return "#5ee432"; // green 22181 }else if(value < 40) { 22182 return "#fffa50"; // yellow 22183 }else if(value < 60) { 22184 return "#f7aa38"; // orange 22185 }else { 22186 return "#ef4655"; // red 22187 } 22188 } 22189 } 22190 }); 22191 }); 22192} 22193 22194function ctlRollingNumberUpdate( oNodeDom = null){ 22195 22196 let oNodeParentToInit = null; 22197 22198 if (oNodeDom){ 22199 oNodeParentToInit = oNodeDom; 22200 }else{ 22201 oNodeParentToInit = jQuery("body"); 22202 } 22203 22204 oNodeParentToInit.find(".ctl-rolling-number").each(function(){ 22205 22206 if (jQuery(this).attr("data-started") == "1"){ 22207 return; 22208 } 22209 22210 if ( jQuery(this).closest(".modal").length > 0 ){ 22211 ctlRollingNumberAnimate(jQuery(this)); 22212 jQuery(this).attr("data-started", 1);
22213 }else{ 22214 var fTop = jQuery(this).offset().top - window.innerHeight + 100; 22215 22216 var iStarted = Number(jQuery(this).attr("data-started")); 22217 if (iStarted === 0 && jQuery(window).scrollTop() > fTop) { 22218 ctlRollingNumberAnimate(jQuery(this)); 22219 jQuery(this).attr("data-started", 1); 22220 } 22221 } 22222 }); 22223} 22224 22225function ctlRollingNumberFormat( value, szTypeSymbol, szSymbol, szNumberFormat, iDecimalDigitsNumber ){ 22226 var szValue; 22227 22228 switch(szTypeSymbol){ 22229 case "eur":{ 22230 szValue = value.toLocaleString('it-IT', { 22231 style: 'currency', 22232 currency: 'EUR', 22233 }); 22234 }break 22235 default:{ 22236 switch (szNumberFormat) { 22237 case "check": { 22238 szValue = (value >= 1) ? '<i class="fa-solid fa-check"></i>' : '<i class="fa-solid fa-xmark"></i>'; 22239 } break; 22240 case "stars": { 22241 szValue = ""; 22242 var iStars = Math.round(value); 22243 for (var i=0; i<iStars; i++) { 22244 szValue += "â "; 22245 } 22246 for (var i=iStars; i<5; i++) { 22247 szValue += "â"; 22248 } 22249 } break; 22250 case "hdd-size":{ 22251 if (value < 1024) { 22252 szValue = Math.floor(value) + " bytes"; 22253 } else if (value < 1048576) { 22254 szValue = (value / 1024).toFixed(iDecimalDigitsNumber) + " KB"; 22255 } else if (value < 1073741824) { 22256 szValue = (value / (1024 * 1024)).toFixed(iDecimalDigitsNumber) + " MB"; 22257 } else if (value < 1099511627776) { 22258 szValue = (value / (1024 * 1024 * 1024)).toFixed(iDecimalDigitsNumber) + " GB"; 22259 } else { 22260 szValue = (value / (1024 * 1024 * 1024 * 1024)).toFixed(iDecimalDigitsNumber) + " TB"; 22261 } 22262 }break; 22263 case "rounded-integer": { 22264 szValue = Math.round(value) + ""; 22265 } break; 22266 case "integer": { 22267 szValue = Math.floor(value) + ""; 22268 } break; 22269 case "decimal": { 22270 szValue = value.toFixed(iDecimalDigitsNumber) + ""; 22271 } break; 22272 } 22273 22274 szValue += szSymbol; 22275 } 22276 } 22277 22278 return szValue; 22279} 22280 22281function ctlRollingNumberAnimate( oNodeRollingNumber ){ 22282 22283 var oNodeIndex = oNodeRollingNumber.find(".ctl-rolling-number-index"); 22284 var oNodeIndexSpan = oNodeIndex.find("span"); 22285 22286 var szIndex = oNodeIndex.attr("data-index"); 22287 var iStart = Number(oNodeIndex.attr("data-start")); 22288 var iEnd = Number(oNodeIndex.attr("data-end")); 22289 var iDuration = Number(oNodeIndex.attr("data-duration")); 22290 var szSymbol = oNodeIndex.attr("data-symbol"); 22291 var szTypeSymbol = oNodeIndex.attr("data-type-symbol"); 22292 var szNumberFormat = oNodeIndex.attr("data-number-format"); 22293 var iDecimalDigitsNumber = Number(oNodeIndex.attr("data-decimal-digits-number")); 22294 22295 22296 szIndex = szIndex.replace("%d", "%s"); 22297 22298 jQuery({ 22299 countNum: iStart 22300 }).animate( 22301 { 22302 countNum: iEnd 22303 }, 22304 { 22305 duration: iDuration, 22306 easing: 'swing', 22307 step: function() { 22308 szValue = ctlRollingNumberFormat(this.countNum, szTypeSymbol, szSymbol, szNumberFormat, iDecimalDigitsNumber); 22309 oNodeIndexSpan.html(szValue); 22310 }, 22311 complete: function() { 22312 szValue = ctlRollingNumberFormat(this.countNum, szTypeSymbol, szSymbol, szNumberFormat, iDecimalDigitsNumber); 22313 oNodeIndexSpan.html(szValue); 22314 } 22315 } 22316 ); 22317} 22318// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-rolling-number/php/../js/gauge.js 22319/* global window, define, module */ 22320(function(global, factory) { 22321 var Gauge = factory(global); 22322 if(typeof define === "function" && define.amd) { 22323 // AMD support 22324 define(function() {return Gauge;}); 22325 }else if(typeof module === "object" && module.exports) { 22326 // CommonJS support 22327 module.exports = Gauge; 22328 }else { 22329 // We are probably running in the browser 22330 global.Gauge = Gauge; 22331 } 22332 })(typeof window === "undefined" ? this : window, function(global, undefined) { 22333 22334 var document = global.document, 22335 slice = Array.prototype.slice, 22336 requestAnimationFrame = (global.requestAnimationFrame || 22337 global.mozRequestAnimationFrame || 22338 global.webkitRequestAnimationFrame || 22339 global.msRequestAnimationFrame || 22340 function(cb) { 22341 return setTimeout(cb, 1000 / 60); 22342 }); 22343 22344 // EXPERIMENTAL!! 22345 /** 22346 * Simplistic animation function for animating the gauge. That's all! 22347 * Options are: 22348 * { 22349 * duration: 1, // In seconds 22350 * start: 0, // The start value 22351 * end: 100, // The end value 22352 * step: function, // REQUIRED! The step function that will be passed the value and does something 22353 * easing: function // The easing function. Default is easeInOutCubic 22354 * } 22355 */ 22356 function Animation(options) { 22357 var duration = options.duration, 22358 currentIteration = 1, 22359 iterations = 60 * duration, 22360 start = options.start || 0, 22361 end = options.end, 22362 change = end - start, 22363 step = options.step,
22364 easing = options.easing || function easeInOutCubic(pos) { 22365 // https://github.com/danro/easing-js/blob/master/easing.js 22366 if ((pos/=0.5) < 1) return 0.5*Math.pow(pos,3); 22367 return 0.5 * (Math.pow((pos-2),3) + 2); 22368 }; 22369 22370 function animate() { 22371 var progress = currentIteration / iterations, 22372 value = change * easing(progress) + start; 22373 // console.log(progress + ", " + value); 22374 step(value, currentIteration); 22375 currentIteration += 1; 22376 22377 if(progress < 1) { 22378 requestAnimationFrame(animate); 22379 } 22380 } 22381 // start! 22382 requestAnimationFrame(animate); 22383 } 22384 22385 22386 22387 var Gauge = (function() { 22388 var SVG_NS = "http://www.w3.org/2000/svg"; 22389 22390 var GaugeDefaults = { 22391 centerX: 50, 22392 centerY: 50 22393 }; 22394 22395 var defaultOptions = { 22396 dialRadius: 40, 22397 dialStartAngle: 135, 22398 dialEndAngle: 45, 22399 value: 0, 22400 max: 100, 22401 min: 0, 22402 valueDialClass: "value", 22403 valueClass: "value-text", 22404 dialClass: "dial", 22405 gaugeClass: "gauge", 22406 showValue: true, 22407 gaugeColor: null, 22408 label: function(val) {return Math.round(val);} 22409 }; 22410 22411 function shallowCopy(/* source, ...targets*/) { 22412 var target = arguments[0], sources = slice.call(arguments, 1); 22413 sources.forEach(function(s) { 22414 for(var k in s) { 22415 if(s.hasOwnProperty(k)) { 22416 target[k] = s[k]; 22417 } 22418 } 22419 }); 22420 return target; 22421 } 22422 22423 /** 22424 * A utility function to create SVG dom tree 22425 * @param {String} name The SVG element name 22426 * @param {Object} attrs The attributes as they appear in DOM e.g. stroke-width and not strokeWidth 22427 * @param {Array} children An array of children (can be created by this same function) 22428 * @return The SVG element 22429 */ 22430 function svg(name, attrs, children) { 22431 var elem = document.createElementNS(SVG_NS, name); 22432 for(var attrName in attrs) { 22433 elem.setAttribute(attrName, attrs[attrName]); 22434 } 22435 22436 if(children) { 22437 children.forEach(function(c) { 22438 elem.appendChild(c); 22439 }); 22440 } 22441 return elem; 22442 } 22443 22444 /** 22445 * Translates percentage value to angle. e.g. If gauge span angle is 180deg, then 50% 22446 * will be 90deg 22447 */ 22448 function getAngle(percentage, gaugeSpanAngle) { 22449 return percentage * gaugeSpanAngle / 100; 22450 } 22451 22452 function normalize(value, min, limit) { 22453 var val = Number(value); 22454 if(val > limit) return limit; 22455 if(val < min) return min; 22456 return val; 22457 } 22458 22459 function getValueInPercentage(value, min, max) { 22460 var newMax = max - min, newVal = value - min; 22461 return 100 * newVal / newMax; 22462 // var absMin = Math.abs(min); 22463 // return 100 * (absMin + value) / (max + absMin); 22464 } 22465 22466 /** 22467 * Gets cartesian co-ordinates for a specified radius and angle (in degrees) 22468 * @param cx {Number} The center x co-oriinate 22469 * @param cy {Number} The center y co-ordinate 22470 * @param radius {Number} The radius of the circle 22471 * @param angle {Number} The angle in degrees 22472 * @return An object with x,y co-ordinates 22473 */ 22474 function getCartesian(cx, cy, radius, angle) { 22475 var rad = angle * Math.PI / 180; 22476 return { 22477 x: Math.round((cx + radius * Math.cos(rad)) * 1000) / 1000, 22478 y: Math.round((cy + radius * Math.sin(rad)) * 1000) / 1000 22479 }; 22480 } 22481 22482 // Returns start and end points for dial 22483 // i.e. starts at 135deg ends at 45deg with large arc flag 22484 // REMEMBER!! angle=0 starts on X axis and then increases clockwise 22485 function getDialCoords(radius, startAngle, endAngle) { 22486 var cx = GaugeDefaults.centerX, 22487 cy = GaugeDefaults.centerY; 22488 return { 22489 end: getCartesian(cx, cy, radius, endAngle), 22490 start: getCartesian(cx, cy, radius, startAngle) 22491 }; 22492 } 22493 22494 /** 22495 * Creates a Gauge object. This should be called without the 'new' operator. Various options 22496 * can be passed for the gauge: 22497 * { 22498 * dialStartAngle: The angle to start the dial. MUST be greater than dialEndAngle. Default 135deg 22499 * dialEndAngle: The angle to end the dial. Default 45deg
22500 * radius: The gauge's radius. Default 400 22501 * max: The maximum value of the gauge. Default 100 22502 * value: The starting value of the gauge. Default 0 22503 * label: The function on how to render the center label (Should return a value) 22504 * } 22505 * @param {Element} elem The DOM into which to render the gauge 22506 * @param {Object} opts The gauge options 22507 * @return a Gauge object 22508 */ 22509 return function Gauge(elem, opts) { 22510 opts = shallowCopy({}, defaultOptions, opts); 22511 var gaugeContainer = elem, 22512 limit = opts.max, 22513 min = opts.min, 22514 value = normalize(opts.value, min, limit), 22515 radius = opts.dialRadius, 22516 displayValue = opts.showValue, 22517 startAngle = opts.dialStartAngle, 22518 endAngle = opts.dialEndAngle, 22519 valueDialClass = opts.valueDialClass, 22520 valueTextClass = opts.valueClass, 22521 valueLabelClass = opts.valueLabelClass, 22522 dialClass = opts.dialClass, 22523 gaugeClass = opts.gaugeClass, 22524 gaugeColor = opts.color, 22525 gaugeValueElem, 22526 gaugeValuePath, 22527 label = opts.label,
22528 viewBox = opts.viewBox, 22529 instance; 22530 22531 if(startAngle < endAngle) { 22532 console.log("WARN! startAngle < endAngle, Swapping"); 22533 var tmp = startAngle; 22534 startAngle = endAngle; 22535 endAngle = tmp; 22536 } 22537 22538 function pathString(radius, startAngle, endAngle, largeArc) { 22539 var coords = getDialCoords(radius, startAngle, endAngle), 22540 start = coords.start, 22541 end = coords.end, 22542 largeArcFlag = typeof(largeArc) === "undefined" ? 1 : largeArc; 22543 22544 return [ 22545 "M", start.x, start.y, 22546 "A", radius, radius, 0, largeArcFlag, 1, end.x, end.y 22547 ].join(" "); 22548 } 22549 22550 function initializeGauge(elem) { 22551 gaugeValueElem = svg("text", { 22552 x: 50, 22553 y: 50, 22554 fill: "#999", 22555 "class": valueTextClass, 22556 "font-size": "100%", 22557 "font-family": "sans-serif", 22558 "font-weight": "normal", 22559 "text-anchor": "middle", 22560 "alignment-baseline": "middle", 22561 "dominant-baseline": "central" 22562 }); 22563 22564 gaugeValuePath = svg("path", { 22565 "class": valueDialClass, 22566 fill: "none", 22567 stroke: "#666", 22568 "stroke-width": 2.5, 22569 d: pathString(radius, startAngle, startAngle) // value of 0 22570 }); 22571 22572 var angle = getAngle(100, 360 - Math.abs(startAngle - endAngle)); 22573 var flag = angle <= 180 ? 0 : 1; 22574 var gaugeElement = svg("svg", {"viewBox": viewBox || "0 0 100 100", "class": gaugeClass}, [ 22575 svg("path", { 22576 "class": dialClass, 22577 fill: "none", 22578 stroke: "#eee", 22579 "stroke-width": 2, 22580 d: pathString(radius, startAngle, endAngle, flag) 22581 }), 22582 svg("g", { "class": "text-container" }, [gaugeValueElem]), 22583 gaugeValuePath 22584 ]); 22585 elem.appendChild(gaugeElement); 22586 } 22587 22588 function updateGauge(theValue, frame) { 22589 var val = getValueInPercentage(theValue, min, limit), 22590 // angle = getAngle(val, 360 - Math.abs(endAngle - startAngle)), 22591 angle = getAngle(val, 360 - Math.abs(startAngle - endAngle)), 22592 // this is because we are using arc greater than 180deg 22593 flag = angle <= 180 ? 0 : 1; 22594 if(displayValue) { 22595 gaugeValueElem.textContent = label.call(opts, theValue); 22596 } 22597 gaugeValuePath.setAttribute("d", pathString(radius, startAngle, angle + startAngle, flag)); 22598 } 22599 22600 function setGaugeColor(value, duration) { 22601 var c = gaugeColor.call(opts, value), 22602 dur = duration * 1000, 22603 pathTransition = "stroke " + dur + "ms ease"; 22604 // textTransition = "fill " + dur + "ms ease"; 22605 22606 gaugeValuePath.style.stroke = c; 22607 gaugeValuePath.style["-webkit-transition"] = pathTransition; 22608 gaugeValuePath.style["-moz-transition"] = pathTransition; 22609 gaugeValuePath.style.transition = pathTransition; 22610 /* 22611 gaugeValueElem.style = [ 22612 "fill: " + c, 22613 "-webkit-transition: " + textTransition, 22614 "-moz-transition: " + textTransition, 22615 "transition: " + textTransition, 22616 ].join(";"); 22617 */ 22618 } 22619 22620 instance = { 22621 setMaxValue: function(max) { 22622 limit = max; 22623 }, 22624 setValue: function(val) { 22625 value = normalize(val, min, limit); 22626 if(gaugeColor) { 22627 setGaugeColor(value, 0) 22628 } 22629 updateGauge(value); 22630 }, 22631 setValueAnimated: function(val, duration) { 22632 var oldVal = value; 22633 value = normalize(val, min, limit); 22634 if(oldVal === value) { 22635 return; 22636 } 22637 22638 if(gaugeColor) { 22639 setGaugeColor(value, duration); 22640 } 22641 Animation({ 22642 start: oldVal || 0, 22643 end: value, 22644 duration: duration || 1, 22645 step: function(val, frame) { 22646 updateGauge(val, frame); 22647 } 22648 }); 22649 }, 22650 getValue: function() { 22651 return value; 22652 } 22653 }; 22654 22655 initializeGauge(gaugeContainer); 22656 instance.setValue(value); 22657 return instance; 22658 }; 22659 })(); 22660 22661 return Gauge; 22662 }); 22663// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-theme-bootstrap-tabs/php/../js/front.js 22664jQuery(document).ready(function(){ 22665 22666 ctlThemeTabRefreshTabsByHash(); 22667 ctlThemeTabInitValidation(); 22668 ctlThemeTabResizeVerticalTabsMenu(); 22669 ctlThemeTabRefreshHorizontalTabsScroller(); 22670 ctlThemeTabRefreshHorizontalTabsScrollingButton(); 22671 ctlThemeTabFixDuplicateTabs(); 22672 22673 // non è possibile mappare l'evento scroll direttamente sull'elemento .nav-horizontal perché non è un elemento che genera l'evento scroll, quindi si mappa l'evento scroll sul document e si verifica se l'elemento che sta scorrendo corrisponde al selettore desiderato 22674 document.addEventListener('scroll', function(e) { 22675 // Verifica che e.target sia un elemento HTML valido dotato del metodo .matches() 22676 if (e.target && typeof e.target.matches === 'function' && 22677 e.target.matches('.ctlgrouptabs-h-mobile .nav-horizontal')) { 22678 22679 e.stopPropagation(); // Impedisce la risalita (bubbling) dell'evento 22680 ctlThemeTabRefreshHorizontalTabsScrollingButton(); 22681 } 22682 }, true); // <-- Il valore "true" abilita la fase di Capturing 22683 22684 jQuery(document).on("click", ".ctl-theme-tabs-h-nav-action-modal-item", function(e){ 22685 e.preventDefault(); 22686 22687 let idWidget = jQuery(this).data("widget-id"); 22688 let href = jQuery(this).attr("href"); 22689 let oNodeWrapper = jQuery(".ctlgrouptabs-wrapper[data-widget-id='" + idWidget + "']"); 22690 let oNodeAnchor = oNodeWrapper.find(`.nav-horizontal a[href="${href}"]`); 22691 22692 if ( oNodeAnchor.length > 0 ){ 22693 oNodeAnchor.click(); 22694 } 22695 22696 g_oCTLBootstrapModals.closeLastModal(); 22697 }); 22698 22699 jQuery(document).on("click", ".ctl-theme-tabs-h-nav-show-modal", function(e){ 22700 e.preventDefault(); 22701 22702 let oNodeList = jQuery(this).closest(".ctl-theme-bootstrap-tabs-navbar-horizontal-container").find(".nav-horizontal"); 22703 let oNodeWrapper = jQuery(this).closest(".ctlgrouptabs-wrapper"); 22704 let idWidget = oNodeWrapper.data("widget-id"); 22705 22706 let szModalTitle = ""; 22707 22708 if ( oNodeWrapper.attr("data-label-title") ){ 22709 szModalTitle = oNodeWrapper.attr("data-label-title"); 22710 szModalTitle = JSON.parse(Base64.decode(szModalTitle)); 22711 } 22712 22713 let html = ""; 22714 22715 html += '<div class="row">'; 22716 22717 oNodeList.children().each(function(){ 22718 let oNodeListItem = jQuery(this); 22719 22720 let oNodeCloned = oNodeListItem.clone(); 22721 let oNodeAnchor = oNodeCloned.find("a"); 22722 oNodeAnchor.attr("data-widget-id", idWidget); 22723 22724 oNodeAnchor.removeClass("active"); 22725 oNodeAnchor.removeClass("nav-link"); 22726 oNodeAnchor.addClass("btn"); 22727 oNodeAnchor.addClass("btn-primary"); 22728 oNodeAnchor.addClass("h-100"); 22729 oNodeAnchor.addClass("ctl-theme-tabs-h-nav-action-modal-item"); 22730 22731 html += '<div class="col col-6 mb-3">'; 22732 // attach the tab item html and itself 22733 html += oNodeCloned.html(); 22734 html += '</div>'; 22735 }); 22736 html += '</div>'; 22737 22738 let aSettingsModal = { 22739 wrapper_classes : "", 22740 modal_title : szModalTitle, 22741 modal_content : html, 22742 closeable : true, 22743 width: '70', 22744 position: "centered", 22745 entrance_animation : "animate__slideInUp", 22746 exit_animation : "animate__slideOutDown", 22747 footer_btn_close : true, 22748 footer_buttons : [] 22749 }; 22750 22751 g_oCTLBootstrapModals.showModal(aSettingsModal); 22752 }); 22753 22754 jQuery(document).on("dblclick", ".ctl-theme-tabs-h-nav-left", function(e){ 22755 e.preventDefault(); 22756 e.stopPropagation(); 22757 let oNodeList = jQuery(this).closest(".ctl-theme-bootstrap-tabs-navbar-horizontal-container").find(".nav-horizontal"); 22758 oNodeList.stop().animate({scrollLeft: 0 }, 500); 22759 }); 22760 22761 jQuery(document).on("click", ".ctl-theme-tabs-h-nav-left", function(e){ 22762 e.preventDefault(); 22763 let oNodeList = jQuery(this).closest(".ctl-theme-bootstrap-tabs-navbar-horizontal-container").find(".nav-horizontal"); 22764 oNodeList.stop().animate({scrollLeft: oNodeList.scrollLeft() - 200}, 300); 22765 }); 22766 22767 jQuery(document).on("dblclick", ".ctl-theme-tabs-h-nav-right", function(e){ 22768 e.preventDefault(); 22769 e.stopPropagation(); 22770 let oNodeList = jQuery(this).closest(".ctl-theme-bootstrap-tabs-navbar-horizontal-container").find(".nav-horizontal"); 22771 oNodeList.stop().animate({scrollLeft: oNodeList[0].scrollWidth }, 500); 22772 }); 22773 22774 jQuery(document).on("click", ".ctl-theme-tabs-h-nav-right", function(e){ 22775 e.preventDefault(); 22776 let oNodeList = jQuery(this).closest(".ctl-theme-bootstrap-tabs-navbar-horizontal-container").find(".nav-horizontal"); 22777 oNodeList.stop().animate({scrollLeft: oNodeList.scrollLeft() + 200}, 300); 22778 }); 22779 22780 jQuery(document).on("mouseenter", 22781 "body.vertical-tabs-menu-collapsed .ctl-theme-bootstrap-menu-col-nav-pills", function(e){ 22782 22783 if ( jQuery("body").hasClass("bp-up-to-md") ){ 22784 return; 22785 } 22786 22787 jQuery("body").removeClass("vertical-tabs-menu-collapsed"); 22788 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 22789 }); 22790 22791 jQuery(document).on("mouseleave", ".ctl-theme-bootstrap-menu-col-nav-pills", function(e){ 22792 if ( !jQuery("body").hasClass("vertical-tabs-menu-collapsed") && 22793 jQuery("body").hasClass("bp-up-to-md") ){ 22794 jQuery("body").addClass("vertical-tabs-menu-collapsed"); 22795 } 22796 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 22797 }); 22798 22799 jQuery(document).on("click", ".vertical-tabs-menu-toggle", function(e){ 22800 e.preventDefault(); 22801 jQuery("body").toggleClass("vertical-tabs-menu-collapsed"); 22802 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 22803 }); 22804 22805 window.addEventListener("orientationchange", function(){ 22806 ctlThemeTabResizeVerticalTabsMenu(); 22807 ctlThemeTabRefreshHorizontalTabsScroller(); 22808 ctlThemeTabRefreshHorizontalTabsScrollingButton(); 22809 }); 22810 jQuery(window).resize(function() { 22811 ctlThemeTabResizeVerticalTabsMenu(); 22812 ctlThemeTabRefreshHorizontalTabsScroller(); 22813 ctlThemeTabRefreshHorizontalTabsScrollingButton(); 22814 }); 22815 22816 jQuery(document).on("click", '.nav-tabs a, .nav-pills a', function (e) { 22817 var oNodeWrapper = jQuery(this).closest(".ctlgrouptabs-wrapper"); 22818 var szNewHash = ""; 22819 22820 if ( oNodeWrapper.closest(".modal").length == 0 ){ 22821 if (oNodeWrapper.length > 0 && 22822 !oNodeWrapper.hasClass("ctlgrouptabs-wizard") ){ 22823
22824 var szAppendHash = this.hash; 22825 szAppendHash = szAppendHash.replace("#", ""); 22826 22827 var aAppendHashParts = szAppendHash.split("-"); 22828 22829 if ( aAppendHashParts.length == 1 ){ 22830 szNewHash = "#" + szAppendHash; 22831 }else{ 22832 var iIndexToReplace = aAppendHashParts[aAppendHashParts.length-1]; 22833 var szCurHash = window.location.hash; 22834 szCurHash = szCurHash.replace("#", ""); 22835 22836 var aHashes = szCurHash.split("&"); 22837 22838 var bHashReplaced = false; 22839 for( var i = 0; i < aHashes.length; i++){ 22840 var aHashParts = aHashes[i].split("-"); 22841 if (!aHashParts){ 22842 continue; 22843 } 22844 if ( iIndexToReplace == aHashParts[aHashParts.length-1] ){ 22845 aHashes[i] = szAppendHash; 22846 bHashReplaced = true; 22847 break; 22848 } 22849 } 22850 22851 var szNewHash = aHashes.join("&"); 22852 if ( !bHashReplaced ){ 22853 if ( szCurHash.length > 0 ){ 22854 szNewHash += "&" + szAppendHash; 22855 }else{ 22856 szNewHash += szAppendHash; 22857 } 22858 } 22859 22860 szNewHash = "#" + szNewHash; 22861 } 22862 }else{ 22863 szNewHash = this.hash; 22864 } 22865 22866 if(history.pushState) { 22867 history.pushState(null, null, szNewHash); 22868 }else { 22869 location.hash = szNewHash; 22870 } 22871 } 22872 22873 if ( oNodeWrapper.length > 0 ){ 22874 var oNode = jQuery(this); 22875 var iOffsetTop = oNodeWrapper.offset().top - 150; 22876 if( oNode.closest(".modal").length > 0 ){ 22877 iOffsetTop -= jQuery('.modal-body').offset().top; 22878 jQuery('.modal-body').animate({ scrollTop: iOffsetTop }, 'slow'); 22879 }else{ 22880 iOffsetTop -= 150; 22881 jQuery('html,body').animate({ scrollTop: iOffsetTop }, 'slow'); 22882 } 22883 } 22884 22885 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 22886 }); 22887 22888 jQuery(document).on('mouseover', '.nav-tabs > li, .nav-pills > li', function() { 22889 if( jQuery(this).closest(".ctlgrouptabs-wrapper").attr("data-show-tab") === "mouseover" ){ 22890 if (jQuery(this).hasClass('hoverblock')){ 22891 return; 22892 }else{ 22893 jQuery(this).find('a').tab('show'); 22894 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 22895 } 22896 } 22897 }); 22898 22899 jQuery(document).on('click', '.nav-tabs > li a, .nav-pills > li a', function(e) { 22900 if ( jQuery(this).attr("data-toggle") !== "wizard"){ 22901 ctlThemeTabScrollToActiveTab(jQuery(this)); 22902 return; 22903 } 22904 22905 var oNodeListContainer = jQuery(this).closest("ul"); 22906 var oNodeListActiveItem = oNodeListContainer.find(".active").parent(); 22907 var oNodeListNextItemAnchor = jQuery(this); 22908 var oNodeListNextItem = jQuery(this).parent(); 22909 22910 if ( oNodeListNextItem.index() === oNodeListActiveItem.index() ){ 22911 return; 22912 } 22913 22914 var oNodeTabWrapper = oNodeListContainer.closest(".ctlgrouptabs-wrapper"); 22915 var oNodePaneContainer = oNodeTabWrapper.find(".tab-content"); 22916 var oNodeCurrentPane = oNodePaneContainer.children().eq(oNodeListActiveItem.index()); 22917 22918 ctlThemeTabWizardNavigation( 22919 oNodeCurrentPane, oNodeListContainer, 22920 oNodeListActiveItem.index(), oNodeListNextItem.index()); 22921 }); 22922 22923 jQuery('.nav-tabs > li, .nav-pills > li').find('a').click(function() { 22924 if( jQuery(this).closest(".ctlgrouptabs-wrapper").attr("data-show-tab") === "mouseover" ){ 22925 jQuery(this).parent().siblings().addClass('hoverblock'); 22926 } 22927 }); 22928 22929 jQuery(document).on( 'click', '.ctl-theme-tab-wizard-but-next', function(){ 22930 var oNodePane = null; 22931 var oNodeTabsWrapper = null; 22932 22933 if (jQuery(this).closest(".modal").length > 0 ){ 22934 oNodePane = jQuery(this).closest(".modal").find(".tab-pane.active"); 22935 oNodeTabsWrapper = jQuery(this).closest(".modal").find(".ctlgrouptabs-wrapper"); 22936 }else{ 22937 oNodePane = jQuery(this).closest(".tab-pane"); 22938 oNodeTabsWrapper = jQuery(this).closest(".ctlgrouptabs-wrapper"); 22939 } 22940 22941 ctlThemeTabWizardNavigation(oNodePane, 22942 oNodeTabsWrapper.find(".nav").first(), 22943 oNodePane.index(), oNodePane.index()+1); 22944 }); 22945 22946 jQuery(document).on( 'click', '.ctl-theme-tab-wizard-but-prev', function(){ 22947 var oNodePane = null; 22948 var oNodeTabsWrapper = null; 22949 22950 if (jQuery(this).closest(".modal").length > 0 ){ 22951 oNodePane = jQuery(this).closest(".modal").find(".tab-pane.active"); 22952 oNodeTabsWrapper = jQuery(this).closest(".modal").find(".ctlgrouptabs-wrapper"); 22953 }else{ 22954 oNodePane = jQuery(this).closest(".tab-pane"); 22955 oNodeTabsWrapper = jQuery(this).closest(".ctlgrouptabs-wrapper"); 22956 } 22957 22958 ctlThemeTabWizardNavigation(oNodePane, 22959 oNodeTabsWrapper.find(".nav").first(), 22960 oNodePane.index(), oNodePane.index()-1); 22961 }); 22962 22963 jQuery(document).on( 'click', '.ctl-theme-tab-wizard-but-save', function(){ 22964 var oNodePane = jQuery(this).closest(".tab-pane"); 22965 var oNodeWizard = jQuery(this).closest(".ctlgrouptabs-wizard"); 22966 var oGeneralFormData = {}; 22967 22968 if ( ctlThemeTabWizardNavigation(oNodePane, 22969 jQuery(this).closest(".ctlgrouptabs-wrapper").find(".nav"), 22970 oNodePane.index(), oNodePane.index()) ){ 22971 oNodeWizard.find(".tab-pane form").each(function(){ 22972 var oFormData = jQuery(this).serializeObject(); 22973 oGeneralFormData = jQuery.extend(oGeneralFormData, oFormData); 22974 }); 22975 22976 jQuery(document).trigger("ctl-tabs-wizard-save", [ oNodeWizard, oGeneralFormData, oNodePane ]); 22977 } 22978 }); 22979 22980 jQuery(document).on('show.bs.tab', 22981 '.nav-link[data-toggle="tab"],.nav-link[data-toggle="wizard"],.nav-link[data-toggle="pill"]', function (e) { 22982 22983 wpdk_do_action("ctl-theme-bootstrap-tabs-show-tab", 22984 jQuery(jQuery(e.target).attr("href")), jQuery(e.target)); 22985 }); 22986 22987 jQuery(document).on('shown.bs.tab', 22988 '.nav-link[data-toggle="tab"],.nav-link[data-toggle="wizard"],.nav-link[data-toggle="pill"]', function (e) { 22989 wpdk_do_action("ctl-theme-bootstrap-tabs-shown-tab", jQuery(jQuery(e.target).attr("href")), 22990 jQuery(e.target)); 22991 22992 let oNodeWrapper = jQuery(e.target).closest(".ctlgrouptabs-wrapper"); 22993 let oNodeNav = oNodeWrapper.find(".nav"); 22994 let oNodeListItem = jQuery(e.target).closest("li"); 22995 let idNodeTab = oNodeListItem.attr("data-tab-id"); 22996 let oNodeModalContent = oNodeWrapper.closest(".ctl-modal-content"); 22997 let iIndexTab = oNodeListItem.data("tab-pos"); 22998 22999 if ( oNodeWrapper.hasClass("ctlgrouptabs-dynamic-tabs") ){ 23000 23001 let oNodeTabPane = jQuery(".tab-pane[data-tab-id='" + idNodeTab + "']"); 23002 let oNodeTabLayout = oNodeTabPane.find(".layout-tab"); 23003 23004 // Disable wizard next button while loading 23005 if ( oNodeWrapper.hasClass("ctlgrouptabs-wizard")){ 23006 23007 let oNodeNextButton; 23008 if(oNodeModalContent.length > 0 ){ 23009 oNodeNextButton = oNodeModalContent.find(".ctl-theme-tab-wizard-but-next"); 23010 }else{ 23011 let oNodeWizardNavbar = oNodeTabPane.find(".ctl-theme-tab-wizard-navbar"); 23012 oNodeNextButton = oNodeWizardNavbar.find(".ctl-theme-tab-wizard-but-next"); 23013 } 23014 23015 if ( oNodeNextButton.length > 0 ){ 23016 oNodeNextButton.addClass("disabled"); 23017 } 23018 23019 for( var i = iIndexTab+1; i < oNodeNav.children().length; i++ ){ 23020 oNodeNav.children().eq(i).find("a").addClass("disabled"); 23021 } 23022 } 23023 23024 var oFormData = {}; 23025 oFormData["action"] = 'ctl-wp-studio'; 23026 oFormData["execute"] = 'ctl-theme-bootstrap-tabs'; 23027 oFormData["extension-action"] = 'reload-tab-content'; 23028 oFormData["tab-id"] = idNodeTab; 23029 oFormData["widget-id"] = oNodeWrapper.data("widget-id"); 23030 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 23031 23032 if ( oNodeWrapper.hasClass("ctlgrouptabs-serialize-previous-tab-data") ){ 23033 let oGeneralFormData = {}; 23034 let iPrevTabIndex = iIndexTab-1; 23035 23036 if ( iPrevTabIndex == -1 ){ 23037 oNodeWrapper.find(".tab-pane[data-tab-pos='0'] form").each(function(){ 23038 let oTabFormData = jQuery(this).serializeObject(); 23039 oGeneralFormData = jQuery.extend(oGeneralFormData, oTabFormData); 23040 }); 23041 }else if ( iPrevTabIndex > -1 ){ 23042 oNodeWrapper.find(".tab-pane[data-tab-pos='" + iPrevTabIndex + "'] form").each(function(){ 23043 let oTabFormData = jQuery(this).serializeObject(); 23044 oGeneralFormData = jQuery.extend(oGeneralFormData, oTabFormData); 23045 }); 23046 } 23047 23048 oFormData["g_oFormData"] = oGeneralFormData; 23049 } 23050 23051 oNodeTabLayout.html("<div class='text-center py-5'><div class='spinner-border text-primary' role='status'><span class='sr-only'>Loading...</span></div></div>"); 23052 23053 jQuery.ajax({ 23054 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 23055 type: "POST", 23056 data : oFormData, 23057 cache: false, 23058 method: 'POST', 23059 success:function(response, textStatus, jqXHR){ 23060 var oResponse = jQuery.parseJSON(response); 23061 23062 if (oResponse.res){ 23063 oNodeTabLayout.replaceWith(Base64.decode(oResponse.html)); 23064 oNodeTabLayout = oNodeTabPane.find(".layout-tab"); 23065 23066 // Enable wizard next button after loading 23067 if ( oNodeWrapper.hasClass("ctlgrouptabs-wizard")){ 23068 let oNodeNextButton; 23069 if(oNodeModalContent.length > 0 ){ 23070 oNodeNextButton = oNodeModalContent.find(".ctl-theme-tab-wizard-but-next"); 23071 }else{ 23072 let oNodeWizardNavbar = oNodeTabPane.find(".ctl-theme-tab-wizard-navbar"); 23073 oNodeNextButton = oNodeWizardNavbar.find(".ctl-theme-tab-wizard-but-next"); 23074 } 23075 if ( oNodeNextButton.length > 0 ){ 23076 oNodeNextButton.removeClass("disabled"); 23077 } 23078 } 23079 23080 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", oNodeTabLayout); 23081 ctlVulcanoResizeLayout(); 23082 } 23083 }, 23084 error: function(jqXHR, textStatus, errorThrown){ 23085 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 23086 } 23087 }); 23088 } 23089 }); 23090 23091 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 23092 if(!oNodeModal.hasClass("ctl-modal")){ 23093 oNodeModal = oNodeModal.closest(".modal"); 23094 } 23095 __ctlThemeTabsAdaptModal(oNodeModal); 23096 ctlThemeTabResizeVerticalTabsMenu(); 23097 ctlThemeTabRefreshHorizontalTabsScroller(); 23098 ctlThemeTabRefreshHorizontalTabsScrollingButton(); 23099 }); 23100 wpdk_add_action("ctl-theme-bootstrap-tabs-show-tab", function( oNodeTabPane, oNodeTabAnchor ){ 23101 g_oCTLWPStudio.resizeAspectRatioElements(oNodeTabPane); 23102 if ( oNodeTabPane.closest(".modal").length == 0 ){ 23103 return; 23104 } 23105 __ctlThemeTabsAdaptModal(oNodeTabPane.closest(".modal"), oNodeTabPane, oNodeTabAnchor); 23106 ctlThemeTabResizeVerticalTabsMenu(); 23107 ctlThemeTabRefreshHorizontalTabsScroller(); 23108 ctlThemeTabRefreshHorizontalTabsScrollingButton(); 23109 }); 23110 wpdk_add_action("ctl-theme-bootstrap-tabs-shown-tab", function( oNodeTabPane, oNodeTabAnchor ){ 23111 g_oCTLWPStudio.resizeAspectRatioElements(oNodeTabPane); 23112 }); 23113 23114}); 23115 23116function __ctlThemeTabsAdaptModal( oNodeModal, oNodeTabPane, oNodeTabAnchor ){ 23117 var oNodeTabsWizard = oNodeModal.find(".ctlgrouptabs-wizard"); 23118 if ( oNodeTabsWizard.length > 0 ){ 23119 __ctlThemeWizardTabsAdaptModal(oNodeModal, oNodeTabPane, oNodeTabAnchor); 23120 }else{ 23121 __ctlThemeClassicTabsAdaptModal(oNodeModal, oNodeTabPane, oNodeTabAnchor); 23122 } 23123} 23124 23125function __ctlThemeClassicTabsAdaptModal( oNodeModal, oNodeTabPane, oNodeTabAnchor ){ 23126 23127 if (!oNodeTabPane){ 23128 oNodeTabPane = jQuery(oNodeModal.find(".nav-link.active").attr("href")); 23129 } 23130 23131 if ( oNodeTabPane.length == 0 ){ 23132 return; 23133 } 23134 23135 let oNodeTabWrapper = oNodeTabPane.closest(".ctlgrouptabs-wrapper"); 23136 if(oNodeTabWrapper.hasClass("ctlgrouptabs-multilanguage")){ 23137 return; 23138 } 23139 23140 var oNodeModalFooter = oNodeModal.find(".ctl-modal-footer"); 23141 if ( oNodeModalFooter.length == 0 ){ 23142 return; 23143 } 23144 23145 var oNodeModalFooterExtraButtons = oNodeModalFooter.find(".modal
23145-footer-extra-buttons"); 23146 var oNodeModalFooterButtons = oNodeModalFooter.find(".modal-footer-buttons"); 23147 23148 var oNodeEditorButtons = oNodeTabPane.find(".ctl-editor-framework-editor-buttons"); 23149 if (oNodeEditorButtons.length == 0 ){ 23150 23151 oNodeModalFooterExtraButtons.find("button").each(function(){ 23152 var szClasses = jQuery(this).attr("class"); 23153 23154 if ( szClasses.indexOf("ctl-editors-actio") !== -1 ){ 23155 oNodeModalFooterExtraButtons.html(""); 23156 } 23157 }); 23158 23159 return; 23160 } 23161 23162 oNodeModalFooterExtraButtons.html(oNodeEditorButtons.clone().html()); 23163 oNodeEditorButtons.addClass("d-none"); 23164 23165 var oNodeCloseModalExtraButton = oNodeModalFooterExtraButtons.find(".btn-action-close-modal"); 23166 var oNodeCloseModalButton = oNodeModalFooterButtons.find(".btn-action-close-modal"); 23167 23168 if(oNodeCloseModalExtraButton.length > 0){ 23169 if(oNodeCloseModalButton.length > 0){ 23170 oNodeCloseModalExtraButton.remove(); 23171 oNodeCloseModalButton.removeClass("d-none"); 23172 } 23173 }else if(oNodeCloseModalButton.length > 0){ 23174 oNodeCloseModalButton.addClass("d-none"); 23175 } 23176} 23177 23178function __ctlThemeWizardTabsAdaptModal( oNodeModal, oNodeTabPane, oNodeTabAnchor ){ 23179 var oNodeTabsWizard = oNodeModal.find(".ctlgrouptabs-wizard"); 23180 23181 if ( oNodeTabsWizard.length == 0 ){ 23182 return; 23183 } 23184 23185 if (!oNodeTabPane){ 23186 oNodeTabPane = jQuery(oNodeModal.find(".nav-link.active").attr("href")); 23187 } 23188 23189 if ( oNodeTabPane.length == 0 ){ 23190 return; 23191 } 23192 23193 var oNodeWizardNavbar = oNodeTabPane.find(".ctl-theme-tab-wizard-navbar"); 23194 23195 if (oNodeWizardNavbar.length == 0 ){ 23196 return; 23197 } 23198 23199 var oNodeModalFooter = oNodeModal.find(".ctl-modal-footer"); 23200 if ( oNodeModalFooter.length == 0 ){ 23201 return; 23202 } 23203 23204 var oNodeModalFooterExtraButtons = oNodeModalFooter.find(".modal-footer-extra-buttons"); 23205 var oNodeModalFooterButtons = oNodeModalFooter.find(".modal-footer-buttons"); 23206 23207 var oNodeEditorsButtons = oNodeTabPane.find(".ctl-editor-framework-editor-buttons"); 23208 23209 oNodeWizardNavbar.removeClass("d-none"); 23210 23211 let oNodeWizardNavbarCloned = oNodeWizardNavbar.clone(); 23212 23213 let aNavbarButtons = []; 23214 oNodeWizardNavbarCloned.find(".btn").each(function(){ 23215 let oNodeButton = jQuery(this); 23216 aNavbarButtons.push(oNodeButton.prop("outerHTML")); 23217 }); 23218 23219 if ( oNodeEditorsButtons.length > 0 ){ 23220 oNodeEditorsButtons.removeClass("d-none"); 23221 23222 let oNodeEditorsButtonsCloned = oNodeEditorsButtons.clone(); 23223 23224 oNodeEditorsButtons.addClass("d-none"); 23225 23226 if (oNodeEditorsButtonsCloned.find(".btn-action-close-modal").length > 0 ){ 23227 oNodeEditorsButtonsCloned.find(".btn-action-close-modal").remove(); 23228 } 23229 23230 oNodeModalFooterExtraButtons.html('<div class="container-fluid mx-0"><div class="row">' + aNavbarButtons.join("") + oNodeEditorsButtonsCloned.html() + '</div></div>'); 23231 23232 }else{ 23233 oNodeModalFooterExtraButtons.html('<div class="container-fluid mx-0"><div class="row">' + aNavbarButtons.join("") + '</div></div>'); 23234 } 23235 23236 oNodeModalFooter.removeClass("d-none"); 23237 oNodeWizardNavbar.addClass("d-none"); 23238} 23239 23240function ctlThemeTabFixDuplicateTabs() { 23241 // 1. Cerchiamo tutti i trigger dei tab (BS4 usa data-toggle="tab") 23242 const triggers = document.querySelectorAll('[data-toggle="tab"], [data-toggle="pill"], [data-toggle="wizard"]'); 23243 const targets = Array.from(triggers).map(t => t.getAttribute('data-target') || t.getAttribute('href')); 23244 23245 // 2. Verifichiamo se esistono duplicati 23246 const hasDuplicates = targets.some((target, index) => targets.indexOf(target) !== index); 23247 23248 if (hasDuplicates) { 23249 console.warn("BS4 Fix: Rilevati tab duplicati. Sistemo gli ID..."); 23250 23251 // Selezioniamo i contenitori dei link (nav-tabs o nav-pills) 23252 const tabGroups = document.querySelectorAll('.nav-tabs, .nav-pills'); 23253 23254 tabGroups.forEach((group, groupIndex) => { 23255 // Lasciamo invariato il primo gruppo, modifichiamo dal secondo in poi 23256 if (groupIndex === 0) return; 23257 23258 const links = group.querySelectorAll('[data-toggle="tab"], [data-toggle="pill"], [data-toggle="wizard"]'); 23259 23260 links.forEach((link) => { 23261 23262 // BS4 può usare data-target o l'attributo href 23263 let selector = link.getAttribute('data-target') || link.getAttribute('href'); 23264 23265 if (!selector || selector === "#" || !selector.startsWith('#')) return; 23266 23267 const oldId = selector.substring(1); 23268 const newId = oldId + "-group-" + groupIndex; 23269 23270 // Aggiorniamo il trigger (il link/bottone) 23271 if (link.hasAttribute('data-target')) { 23272 link.setAttribute('data-target', '#' + newId); 23273 } else { 23274 link.setAttribute('href', '#' + newId); 23275 } 23276 23277 link.setAttribute('aria-controls', newId); 23278 23279 // IMPORTANTE: In BS4 i tab-pane sono spesso fuori dal nav.
23280 // Cerchiamo l'elemento con l'ID vecchio e lo rinominiamo. 23281 // Usiamo querySelector per essere sicuri di prendere quello non ancora rinominato. 23282 const wrapper = link.closest('.ctlgrouptabs-wrapper'); 23283 const pane = wrapper ? wrapper.querySelector('#' + oldId) : document.getElementById(oldId); 23284 if (pane) { 23285 pane.id = newId; 23286 } 23287 }); 23288 }); 23289 } 23290} 23291 23292function ctlThemeTabRefreshTabsByHash(){ 23293 23294 if (!window.location.hash){ 23295 return; 23296 } 23297 23298 var szCurHash = window.location.hash; 23299 23300 szCurHash = szCurHash.replace("#", ""); 23301 23302 var aHashes = szCurHash.split("&"); 23303 23304 for( var i = 0; i < aHashes.length; i++){ 23305 var szFoundHash = "#" + aHashes[i]; 23306 23307 if (jQuery('.nav a[href="' + szFoundHash+ '"]').length == 0 ){ 23308 continue; 23309 } 23310 23311 var oNodeWrapper = jQuery('.nav a[href="' + szFoundHash + '"]') 23312 .closest(".ctlgrouptabs-wrapper"); 23313 if (oNodeWrapper.length > 0 ){ 23314 23315 if (!oNodeWrapper.hasClass("ctlgrouptabs-wizard")){ 23316 jQuery('.nav a[href="' + szFoundHash + '"]').tab('show'); 23317 }else if (oNodeWrapper.hasClass("ctl-tabs-starting-hash")){ 23318 var oNodeAnchor = jQuery('.nav a[href="' + szFoundHash + '"]');
23319 var oNodeNavItem = oNodeAnchor.closest(".nav-item"); 23320 var oNodeListNavItems = oNodeNavItem.closest("ul"); 23321 var indexNavItem = Number(oNodeNavItem.attr("data-tab-pos"))+1; 23322 for( var i = 0; i < indexNavItem; i++ ){ 23323 var oNodeCurrentAnchor = oNodeListNavItems.find("li").eq(i).find("a"); 23324 oNodeCurrentAnchor.removeClass("disabled"); 23325 } 23326 jQuery('.nav a[href="' + szFoundHash + '"]').tab('show'); 23327 } 23328 }else{ 23329 jQuery('.nav a[href="' + szFoundHash + '"]').tab('show'); 23330 } 23331 } 23332} 23333 23334function ctlThemeTabWizardNavigation( oNodePane, oNodeNav, 23335 iCurIndex, iNextIndex ){ 23336 var oNodeAnchor = oNodeNav.children().eq(iNextIndex).find("a"); 23337 23338 var bFilled = true; 23339 23340 if ( iCurIndex < iNextIndex ){ 23341 bFilled = ctlFormFieldsCheckIfFormIsFilled(oNodePane); 23342 } 23343 23344 bFilled = wpdk_apply_filters( 23345 "ctl-theme-tab-wizard-check-tab-form", 23346 bFilled, oNodePane, iCurIndex, iNextIndex, oNodeNav); 23347 23348 if (!bFilled ){ 23349 if ( iNextIndex < iCurIndex ){ 23350 for( var i = iCurIndex; i < oNodeNav.children().length; i++ ){ 23351 oNodeNav.children().eq(i).find("a").addClass("disabled"); 23352 } 23353 oNodeAnchor.tab('show'); 23354 23355 if ( oNodePane.closest(".modal").length == 0){ 23356 if(history.pushState) { 23357 history.pushState(null, null, oNodeAnchor[0].hash); 23358 }else { 23359 location.hash = oNodeAnchor[0].hash; 23360 } 23361 } 23362 }else{ 23363 for( var i = iCurIndex+1; i < oNodeNav.children().length; i++ ){ 23364 oNodeNav.children().eq(i).find("a").addClass("disabled"); 23365 } 23366 } 23367 }else{ 23368 oNodeAnchor.removeClass("disabled"); 23369 oNodeAnchor.tab('show'); 23370 23371 if ( oNodePane.closest(".modal").length == 0){ 23372 if(history.pushState) { 23373 history.pushState(null, null, oNodeAnchor[0].hash); 23374 }else { 23375 location.hash = oNodeAnchor[0].hash; 23376 } 23377 } 23378 23379 ctlThemeTabScrollToActiveTab(oNodeAnchor); 23380 23381 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 23382 } 23383 23384 return bFilled; 23385 23386} 23387 23388function ctlThemeTabScrollToActiveTab( oNodeAnchor ){ 23389 return; 23390 if (oNodeAnchor.closest(".ctlgrouptabs-wrapper").hasClass("ctlgrouptabs-h-mobile")){ 23391 let oNodeUL = oNodeAnchor.closest("ul"); 23392 // scroll at the middle of the ul 23393 let iScrollLeft = oNodeUL.scrollLeft(); 23394 let iULWidth = oNodeUL.width(); 23395 let iAnchorLeft = oNodeAnchor.position().left; 23396 let iAnchorWidth = oNodeAnchor.outerWidth(); 23397 let iNewScrollLeft = iScrollLeft + iAnchorLeft - (iULWidth / 2) + (iAnchorWidth / 2); 23398 23399 oNodeUL.delay(100).animate({scrollLeft: iNewScrollLeft}, 300); 23400 } 23401} 23402 23403function ctlThemeTabInitValidation(){ 23404 jQuery(".ctl-tab-form-validation").each(function(){ 23405 var oNodeLink = jQuery(this).closest("a"); 23406 var idTab = oNodeLink.attr("href"); 23407 23408 jQuery(document).on("change input paste", idTab + " input", function(){ 23409 ctlThemeTabRefreshValidation(); 23410 }); 23411 jQuery(document).on("change input paste", idTab + " textarea", function(){ 23412 ctlThemeTabRefreshValidation(); 23413 }); 23414 jQuery(document).on("change input paste", idTab + " select", function(){ 23415 ctlThemeTabRefreshValidation(); 23416 }); 23417 }); 23418 23419 ctlThemeTabRefreshValidation(); 23420} 23421 23422function ctlThemeTabRefreshValidation(){ 23423 23424 jQuery(".ctl-tab-form-validation").each(function(){ 23425 var oNodeIconValidation = jQuery(this); 23426 var oNodeLink = jQuery(this).closest("a"); 23427 var idTab = oNodeLink.attr("href"); 23428 var oNodeTabDestination = jQuery(idTab); 23429 23430 oNodeTabDestination.find("form").each(function(){ 23431 var oNodeForm = jQuery(this); 23432 23433 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm, false) === false){ 23434 oNodeIconValidation.addClass("ctl-wp-studio-icons-asterisk"); 23435 }else{ 23436 oNodeIconValidation.removeClass("ctl-wp-studio-icons-asterisk"); 23437 } 23438 }); 23439 23440 }); 23441} 23442 23443function ctlThemeTabRefreshHorizontalTabsScroller(){ 23444 jQuery(".ctl-theme-bootstrap-tabs-navbar-horizontal-container .nav-horizontal").each(function(){ 23445 const element = this; 23446 const canScroll = element.scrollWidth > element.clientWidth; 23447 23448 let oNodeContainer = jQuery(this).closest(".ctl-theme-bootstrap-tabs-navbar-horizontal-container"); 23449 23450 if (canScroll){ 23451 jQuery(this).closest(".ctl-theme-bootstrap-tabs-navbar-horizontal-container").addClass("ctl-theme-bootstrap-tabs-h-nav-scrollable"); 23452 }else{ 23453 jQuery(this).closest(".ctl-theme-bootstrap-tabs-navbar-horizontal-container").removeClass("ctl-theme-bootstrap-tabs-h-nav-scrollable"); 23454 } 23455 }); 23456} 23457 23458function ctlThemeTabRefreshHorizontalTabsScrollingButton(){ 23459 jQuery(".ctl-theme-bootstrap-tabs-navbar-horizontal-container .nav-horizontal").each(function(){ 23460 const element = this; 23461 const canScroll = element.scrollWidth > element.clientWidth; 23462 23463 let oNodeContainer = jQuery(this).closest(".ctl-theme-bootstrap-tabs-navbar-horizontal-container"); 23464 23465 if (canScroll){ 23466 if ( element.scrollLeft === 0 ){ 23467 oNodeContainer.find(".ctl-theme-tabs-h-nav-left-container").addClass("width-0"); 23468 }else{ 23469 oNodeContainer.find(".ctl-theme-tabs-h-nav-left-container").removeClass("width-0"); 23470 } 23471 23472 if ( element.scrollLeft + element.clientWidth >= element.scrollWidth -1){ 23473 oNodeContainer.find(".ctl-theme-tabs-h-nav-right-container").addClass("width-0"); 23474 }else{ 23475 oNodeContainer.find(".ctl-theme-tabs-h-nav-right-container").removeClass("width-0"); 23476 } 23477 } 23478 }); 23479} 23480 23481function ctlThemeTabResizeVerticalTabsMenu(){ 23482 if ( jQuery(".ctl-theme-bootstrap-menu-col-nav-pills").length > 0 ){ 23483 jQuery("body").addClass("vertical-tabs-menu-active"); 23484 23485 if ( jQuery("body.bp-up-to-md").length > 0 ){ 23486 jQuery("body").addClass("vertical-tabs-menu-collapsed"); 23487 }else{ 23488 jQuery("body").removeClass("vertical-tabs-menu-collapsed"); 23489 } 23490 } 23491} 23492// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-theme-bootstrap-wp-category/php/../js/front.js 23493jQuery(document).ready(function(){ 23494 23495 jQuery(document).on("change", ".ctl-post-category-filters select", function(){ 23496 jQuery(this).closest("form").find('input[name=o]').val(""); 23497 }); 23498 23499 jQuery(document).on( "click", ".ctlthemecat-action-load-more-items", function(){ 23500 var id = jQuery(this).attr("data-id");
23501 var idCategory = parseInt(jQuery(this).attr("data-cat-id")); 23502 var items = parseInt(jQuery(this).attr("data-limit")); 23503 var offset = parseInt(jQuery(this).attr("data-offset")); 23504 var oNodeButton = jQuery(this); 23505 23506 oNodeButton.addClass("loading"); 23507 oNodeButton.removeClass("closing"); 23508 23509 jQuery.post( 23510 g_oCTLWPStudio._oLangCommon["ajaxurl"],{ 23511 'action' : 'ctl-wp-studio', 23512 'execute' : 'ctl-theme-bootstrap-wp-category', 23513 'extension-action' : 'load-more-items', 23514 'id' : id, 23515 'cat-id' : idCategory, 23516 'offset' : offset 23517 } 23518 ).done( function(response){ 23519 oNodeButton.addClass("closing"); 23520 if(response === ""){ 23521 return; 23522 } 23523 23524 var oNodeRow = oNodeButton.parents("#ctlthemecat-124").find(".ctlthemecat-row-items"); 23525 oNodeRow.append(response); 23526 oNodeButton.attr("data-offset", (offset+items) ); 23527 23528 }).fail( function(){ 23529 oNodeButton.addClass("closing"); 23530 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 23531 }); 23532 }); 23533}); 23534// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-theme-tables/php/../js/front.js 23535jQuery(document).ready(function () { 23536 23537 ctlThemeTableRefreshStickyColumnsShadow(); 23538 23539 // non è possibile mappare l'evento scroll direttamente sull'elemento .nav-horizontal perché non è un elemento che genera l'evento scroll, quindi si mappa l'evento scroll sul document e si verifica se l'elemento che sta scorrendo corrisponde al selettore desiderato 23540 document.addEventListener('scroll', function(e) { 23541 // Verifica che e.target sia un elemento HTML valido dotato del metodo .matches() 23542 if (e.target && typeof e.target.matches === 'function' && 23543 e.target.matches('.ctl-theme-tables-wrapper')) { 23544 23545 e.stopPropagation(); // Impedisce la risalita (bubbling) dell'evento 23546 ctlThemeTableRefreshStickyColumnsShadow(); 23547 } 23548 }, true); // <-- Il valore "true" abilita la fase di Capturing 23549 23550 const oURLParams = new URLSearchParams(window.location.search); 23551 23552 let aSortOnParams = oURLParams.getAll("sort-on[]"); 23553 23554 if (aSortOnParams) { 23555 let aSortByParams = oURLParams.getAll("sort-by[]"); 23556 23557 jQuery(".ctlgrouptablecols thead th").each(function () { 23558 let szSortName = jQuery(this).attr("data-sort-param-name"); 23559 if (!szSortName) { 23560 return; 23561 } 23562 23563 let iIndex = aSortOnParams.indexOf(szSortName); 23564 23565 jQuery(this).addClass("sort-" + aSortByParams[iIndex]); 23566 }); 23567 } 23568 23569 jQuery(".ctl-table-auto-refresh").each(function () { 23570 __ctlThemeTableSetAutoRefresh(jQuery(this)); 23571 }); 23572 23573 jQuery(document).on("click", ".btn-action-row-open-modal", function() { 23574 23575 let oNodeButton = jQuery(this); 23576 23577 let szReferral = oNodeButton.attr("data-resource-referral"); 23578 let idResource = oNodeButton.attr("data-resource-id"); 23579 23580 if ( szReferral.length > 0 && idResource.length > 0 ){ 23581 url = g_oCTLWPStudio.addParameterToUrl(window.location.href, szReferral, idResource); 23582 if (history.pushState) { 23583 history.pushState(null, null, url); 23584 } 23585 } 23586 23587 g_oCTLBootstrapModals.loadModal( 23588 oNodeButton.attr("data-modal-id"), 23589 null, 23590 oNodeButton.attr("data-modal-extra-data") 23591 ); 23592 }); 23593 23594 jQuery(document).on("click", ".btn-action-user-logout-row", function () { 23595 var oNodeButton = jQuery(this); 23596 var oNodeTR = oNodeButton.closest("tr"); 23597 var oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 23598 23599 var idLoading = g_oCTLWPStudio.showLoading(""); 23600 var oFormData = {}; 23601 oFormData['action'] = 'ctl-wp-studio'; 23602 oFormData['execute'] = 'ctl-theme-tables'; 23603 oFormData['extension-action'] = 'user-logout'; 23604 oFormData['table-id'] = oNodeMainTableWrapper.attr("data-table-id"); 23605 oFormData['user-id'] = oNodeTR.attr("data-resource-id"); 23606 23607 jQuery.ajax({ 23608 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 23609 type: "POST", 23610 data: oFormData, 23611 cache: false, 23612 method: 'POST', 23613 success: function (response, textStatus, jqXHR) { 23614 var oResponse = JSON.parse(response); 23615 g_oCTLWPStudio.closeDlg(idLoading); 23616 23617 if (oResponse.res === true) { 23618 if (oResponse.redirect) { 23619 g_oCTLWPStudio.showLoading(""); 23620 window.location.href = oResponse.redirect; 23621 } else { 23622 g_oCTLBootstrapModals.alert("", 23623 g_oCTLThemeTablesLocalizationFront["User logged out successfully!"]); 23624 } 23625 } else if (oResponse.desc) { 23626 alert(oResponse.desc); 23627 } else { 23628 g_oCTLWPStudio.closeDlg(idLoading); 23629 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 23630 } 23631 }, 23632 error: function (jqXHR, textStatus, errorThrown) { 23633 g_oCTLWPStudio.closeDlg(idLoading); 23634 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 23635 } 23636 }); 23637 }); 23638 23639 jQuery(document).on("click", ".btn-action-change-post-status-row", function () { 23640 var oNodeButton = jQuery(this); 23641 let szStatusValue = oNodeButton.attr("data-status-value"); 23642 23643 var oNodeTR = oNodeButton.closest("tr"); 23644 var oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 23645 23646 var idLoading = g_oCTLWPStudio.showLoading(""); 23647 var oFormData = {}; 23648 oFormData['action'] = 'ctl-wp-studio'; 23649 oFormData['execute'] = 'ctl-theme-tables'; 23650 oFormData['extension-action'] = 'change-post-status'; 23651 oFormData['post-status'] = szStatusValue; 23652 oFormData['table-id'] = oNodeMainTableWrapper.attr("data-table-id"); 23653 oFormData['resource-id'] = oNodeTR.attr("data-resource-id"); 23654 23655 jQuery.ajax({ 23656 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 23657 type: "POST", 23658 data: oFormData, 23659 cache: false, 23660 method: 'POST', 23661 success: function (response, textStatus, jqXHR) { 23662 var oResponse = JSON.parse(response); 23663 g_oCTLWPStudio.closeDlg(idLoading); 23664 23665 if (oResponse.res === true) { 23666 window.location.reload(); 23667 } else if (oResponse.desc) { 23668 alert(oResponse.desc); 23669 } else { 23670 g_oCTLWPStudio.closeDlg(idLoading); 23671 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 23672 } 23673 }, 23674 error: function (jqXHR, textStatus, errorThrown) { 23675 g_oCTLWPStudio.closeDlg(idLoading); 23676 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 23677 } 23678 }); 23679 }); 23680 23681 jQuery(document).on("click", ".btn-action-add-qty-split-post", function () { 23682 var oNodeButton = jQuery(this); 23683 var oNodeInput = oNodeButton.closest("li").find("input"); 23684 var oNodeListItem = oNodeButton.closest("li"); 23685 var fQty = Number(oNodeInput.val()) / 2; 23686 oNodeInput.val(fQty); 23687 23688 var oNodeNewItem = oNodeListItem.clone(); 23689 23690 oNodeListItem.after(oNodeNewItem); 23691 }); 23692 23693 jQuery(document).on("click", ".btn-action-maximize", function () { 23694 let oNodeButton = jQuery(this); 23695 let oNodeToMaximize = jQuery(oNodeButton.attr("data-maximize-selector")); 23696 23697 let bMaximized = oNodeToMaximize.hasClass("ctl-maximize"); 23698 23699 let oNodeTableScrollableWrapper = oNodeToMaximize.find(".ctl-theme-tables-scrollable-wrapper"); 23700 23701 if (oNodeTableScrollableWrapper.length === 0) { 23702 return; 23703 } 23704 23705 if (bMaximized) { 23706 __ctlResizeMaximizedTable(oNodeTableScrollableWrapper); 23707 } else { 23708 let fMaxHeight = oNodeTableScrollableWrapper.attr("data-max-height"); 23709 oNodeTableScrollableWrapper.css("max-height", fMaxHeight + "px"); 23710 } 23711 }); 23712 23713 jQuery(document).on("click", ".btn-action-ajax-refresh-table", function () { 23714 let oNodeButton = jQuery(this); 23715 23716 let oNodeMainWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 23717 23718 ctlThemeTableAjaxRefreshTable(oNodeMainWrapper); 23719 }); 23720 23721 jQuery(document).on("click", ".btn-action-massive-edit", function () { 23722 __ctlThemeTableMassiveOperations(jQuery(this)); 23723 }); 23724 23725 jQuery(document).on("click", ".btn-action-massive-creation", function () { 23726 __ctlThemeTableMassiveOperations(jQuery(this)); 23727 }); 23728 23729 jQuery(document).on("click", "button.ctl-table-row-action", function () { 23730 jQuery(this).blur(); 23731 }); 23732 23733 jQuery(document).on("click", ".btn-action-remove-qty-split-post", function () { 23734 let oNodeButton = jQuery(this); 23735 let oNodeListItem = oNodeButton.closest("li"); 23736 let oNodeList = oNodeListItem.closest("ul"); 23737 23738 if (oNodeList.children("li").length <= 1) { 23739 g_oCTLBootstrapModals.alert("", 23740 g_oCTLThemeTablesLocalizationFront["You can't remove all the items!"]); 23741 return; 23742 } 23743 23744 let oNodeInput = oNodeListItem.find("input"); 23745 let fQty = Number(oNodeInput.val()); 23746 23747 // fixfix 23748 23749 oNodeListItem.remove(); 23750 }); 23751 23752 jQuery(document).on("click", ".btn-action-split-post-row", function () { 23753 __ctlThemeTablePreSplitPost(jQuery(this)); 23754 }); 23755 23756 jQuery(document).on("change", ".ctl-table-calendar-action-period, .ctl-table-calendar-action-month, .ctl-table-calendar-action-year, .ctl-table-calendar-action-day", function (e,) { 23757 23758 var oNodeMainWrapper = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 23759 23760 if (jQuery(this).val() == "gantt") { 23761 __ctlThemeTableUpdatePeriod(oNodeMainWrapper, 0, true); 23762 } else { 23763 var oNodeWidget = jQuery(this).closest(".ctl-table-calendar-control
23763s"); 23764 23765 if (oNodeWidget.find('.ctl-table-calendar-action-year').length === 0 || 23766 oNodeWidget.find('.ctl-table-calendar-action-month').length === 0 || 23767 oNodeWidget.find('.ctl-table-calendar-action-day').length === 0) { 23768 __ctlThemeTableUpdatePeriod(oNodeMainWrapper, 0, true); 23769 } else { 23770 var szDate = oNodeWidget.find('.ctl-table-calendar-action-year').val() + "-" + 23771 oNodeWidget.find('.ctl-table-calendar-action-month').val() + "-" + 23772 oNodeWidget.find('.ctl-table-calendar-action-day').val(); 23773 __ctlThemeTableUpdatePeriod(oNodeMainWrapper, 0, true, szDate); 23774 } 23775 } 23776 }); 23777 23778 jQuery(document).on("click", ".ctl-table-calendar-action-submit", function () { 23779 var oNodeMainWrapper = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 23780 __ctlThemeTableUpdatePeriod(oNodeMainWrapper, 0, false); 23781 }); 23782 jQuery(document).on("click", ".ctl-table-calendar-action-prev-period", function () { 23783 var oNodeMainWrapper = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 23784 __ctlThemeTableUpdatePeriod(oNodeMainWrapper, -1, true); 23785 }); 23786 jQuery(document).on("click", ".ctl-table-calendar-action-today", function () { 23787 var oNodeMainWrapper = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 23788 var oMoment = moment(); 23789 __ctlThemeTableUpdatePeriod(oNodeMainWrapper, 0, true, oMoment.format("YYYY-MM-DD")); 23790 }); 23791 jQuery(document).on("click", ".ctl-table-calendar-action-next-period", function () { 23792 var oNodeMainWrapper = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 23793 __ctlThemeTableUpdatePeriod(oNodeMainWrapper, 1, true); 23794 }); 23795 23796 jQuery(document).on("change", ".ctl-table-auto-refresh", function () { 23797 __ctlThemeTableSetAutoRefresh(jQuery(this), true); 23798 }); 23799 23800 jQuery(document).on("click", ".ctl-table-action-save-cell-value", function () { 23801 ctlTableSaveInputCell(jQuery(this)) 23802 g_oCTLBootstrapModals.closeModalAndStack(); 23803 }); 23804 23805 23806 jQuery(document).on("click", ".ctl-theme-tables-action-popup-full-text", function () { 23807 var oNodeTD = jQuery(this).closest("td"); 23808 var szText = oNodeTD.attr("data-value"); 23809 23810 if (oNodeTD.attr("data-encode-value") == "base64") { 23811 szText = Base64.decode(szText); 23812 } 23813 23814 var oModalData = { 23815 modal_title: oNodeTD.find(".ctl-card-content-title").text(), 23816 modal_content: szText, 23817 position: "centered", 23818 entrance_animation: "animate__slideInUp", 23819 exit_animation: "animate__slideOutDown", 23820 }; 23821 g_oCTLBootstrapModals.showModal(oModalData); 23822 }); 23823 23824 jQuery(document).on("click", ".btn-save-row", function () { 23825 var oNodeButton = jQuery(this); 23826 if (!oNodeButton.attr("data-script-type")) { 23827 return; 23828 } 23829 23830 var oNodeTR = jQuery(this).closest("tr"); 23831 var oFormData = __ctlTableSerializeRow(oNodeTR); 23832 23833 switch (oNodeButton.attr("data-script-type")) { 23834 case "ajax-block": { 23835 __ctlTableSaveRowWithAjaxBlock(oFormData, 23836 oNodeButton.attr("data-ajax-block"), 23837 oNodeButton.attr("data-script-method")); 23838 } break; 23839 } 23840 23841 }); 23842 23843 jQuery(document).on("click", ".ctl-table-action-toggle-view", function () { 23844 var oNodeTablewrapper = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 23845 23846 if (!oNodeTablewrapper.hasClass("ctl-table-cards")) { 23847 oNodeTablewrapper.addClass("ctl-cards-visualization-lock"); 23848 } else { 23849 oNodeTablewrapper.removeClass("ctl-cards-visualization-lock"); 23850 } 23851 ctlToggleCardsVisualization(oNodeTablewrapper); 23852 }); 23853 23854 jQuery(window).on('resize', function () { 23855 ctlResizeScrollableTables(false); 23856 ctlCheckIfForceCardVisualization(); 23857 ctlTableInitStickyCols(); 23858 ctlResizeMaximizedTables(); 23859 ctlThemeTableRefreshStickyColumnsShadow(); 23860 }); 23861 23862 window.addEventListener("orientationchange", function () { 23863 ctlCheckIfForceCardVisualization(); 23864 ctlThemeTableRefreshStickyColumnsShadow(); 23865 }); 23866 23867 wpdk_add_action("ctl-theme-bootstrap-tabs-show-tab", function (oNodeTab, oNodeAnchor) { 23868 if (oNodeTab.find(".ctl-theme-table-main-wrapper").length > 0) { 23869 ctlResizeScrollableTables(true, 500, oNodeTab); 23870 ctlCheckIfForceCardVisualization(oNodeTab); 23871 ctlTableInitStickyCols(oNodeTab); 23872 ctlTableInitGantt(oNodeTab); 23873 ctlResizeMaximizedTables(oNodeTab); 23874 ctlTableInitSorting(oNodeTab); 23875 ctlThemeTableRefreshStickyColumnsShadow(); 23876 } 23877 }); 23878 23879 wpdk_add_action("ctl-theme-bootstrap-tabs-shown-tab", function (oNodeTab, oNodeAnchor) { 23880 ctlThemeTableRefreshStickyColumnsShadow(); 23881 }); 23882 23883 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function (oNodeModal) { 23884 if (oNodeModal.find(".ctl-theme-table-main-wrapper").length > 0) { 23885 ctlResizeScrollableTables(true, 500, oNodeModal); 23886 ctlCheckIfForceCardVisualization(oNodeModal); 23887 ctlTableInitStickyCols(oNodeModal); 23888 ctlTableInitGantt(oNodeModal); 23889 ctlResizeMaximizedTables(oNodeModal); 23890 ctlTableInitSorting(oNodeModal); 23891 ctlThemeTableRefreshStickyColumnsShadow(); 23892 } 23893 }); 23894 23895 jQuery(document).on("dblclick", ".ctl-table-enable-dblclk-to-view tbody tr", function () { 23896 var oNodeViewRecord = jQuery(this).find(".ctl-theme-tables-action-view-record"); 23897 var oNodeModalViewRecord = jQuery(this).find(".btn-action-row-open-modal"); 23898 23899 if (oNodeViewRecord.length > 0) { 23900 oNodeViewRecord = oNodeViewRecord.children().first(); 23901 oNodeViewRecord.click(); 23902 } else if (oNodeModalViewRecord.length > 0) { 23903 oNodeModalViewRecord.click(); 23904 } 23905 }); 23906 23907 jQuery(document).on("ctlswitchfield-change", function (e, oNodeSwitch, oNodeInput) { 23908 var oNodeTD = oNodeSwitch.closest("td"); 23909 if (oNodeSwitch.length === 0) { 23910 return; 23911 } 23912 oNodeTD.attr("data-value", oNodeInput.val()); 23913 }); 23914 23915 jQuery(document).on('change', '.ctl-table-instant-filters input[type=radio]', function () { 23916 23917 var oNodeMainWrapper = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 23918 23919 23920 // reset filters if needed 23921 if (jQuery(this).attr("data-match-value") === "*") { 23922 if (oNodeMainWrapper.find(".ctl-theme-tables-action-search-in-table").length > 0) { 23923 oNodeMainWrapper.find(".ctl-theme-tables-action-search-in-table").val(""); 23924 } 23925 ctlTableSearchInTable( 23926 jQuery(this).closest(".ctl-theme-table-main-wrapper"), ""); 23927 return; 23928 } 23929 23930 23931 var szComparison = jQuery(this).attr("data-comparison"); 23932 var idCol = jQuery(this).attr("data-col-id"); 23933 23934 switch (jQuery(this).attr("data-type-filter")) { 23935 case "string": { 23936 var aMatchValues = JSON.parse(Base64.decode(jQuery(this).attr("data-match-values"))); 23937 var bMatchCaseInsensitive = jQuery(this).attr("data-match-ci") === "0" ? false : true; 23938 23939 if (bMatchCaseInsensitive) { 23940 for (var i = 0; i < aMatchValues.length; i++) { 23941 aMatchValues[i] = aMatchValues[i].toLowerCase(); 23942 } 23943 } 23944 23945 23946 oNodeMainWrapper.find(".ctl-table-col-" + idCol).each(function () { 23947 var bMatch = false;
23948 var szCellValue = jQuery(this).attr("data-value"); 23949 23950 if (jQuery(this).attr("data-encode-value") == "base64") { 23951 szCellValue = Base64.decode(szCellValue); 23952 } 23953 23954 if (bMatchCaseInsensitive) { 23955 szCellValue = szCellValue.toLowerCase(); 23956 } 23957 23958 switch (szComparison) { 23959 case "contain-or": { 23960 for (var i = 0; i < aMatchValues.length; i++) { 23961 if (szCellValue.indexOf(aMatchValues[i]) >= 0) { 23962 bMatch = true; 23963 } 23964 } 23965 } break; 23966 case "contain-and": { 23967 bMatch = true; 23968 for (var i = 0; i < aMatchValues.length; i++) { 23969 if (szCellValue.indexOf(aMatchValues[i]) === -1) { 23970 bMatch = false; 23971 } 23972 } 23973 } break; 23974 case "equal": { 23975 bMatch = true; 23976 for (var i = 0; i < aMatchValues.length; i++) { 23977 if (szCellValue !== aMatchValues[i]) { 23978 bMatch = false; 23979 } 23980 } 23981 } break; 23982 case "exclude": { 23983 bMatch = true; 23984 for (var i = 0; i < aMatchValues.length; i++) { 23985 if (szCellValue.indexOf(aMatchValues[i]) >= 0) { 23986 bMatch = false; 23987 } 23988 } 23989 } break; 23990 } 23991 23992 if (bMatch) { 23993 jQuery(this).closest("tr").css("display", "table-row"); 23994 } else { 23995 jQuery(this).closest("tr").css("display", "none"); 23996 } 23997 }); 23998 } break; 23999 } 24000 24001 ctlTableUpdateCounter(oNodeMainWrapper); 24002 ctlTableRefreshFooterCalculations(oNodeMainWrapper.find("tbody").closest("table")); 24003 24004 window.dispatchEvent(new Event('resize')); 24005 }); 24006 24007 jQuery(document).on("click", ".ctl-theme-tables-search-in-table .btn-cancel-search", function () { 24008 var oNodeInputSearch = jQuery(this).closest(".ctl-theme-tables-search-in-table"). 24009 find(".ctl-theme-tables-action-search-in-table"); 24010 oNodeInputSearch.val(""); 24011 ctlTableSearchInTable( 24012 jQuery(this).closest(".ctl-theme-table-main-wrapper"), ""); 24013 }); 24014 24015 jQuery(document).on("input paste", ".ctl-theme-tables-action-search-in-table", function () { 24016 ctlTableSearchInTable( 24017 jQuery(this).closest(".ctl-theme-table-main-wrapper"), jQuery(this).val()); 24018 }); 24019 24020 jQuery(document).on("click", ".ctl-theme-table-main-wrapper .btn-change-status-selected-rows", function () { 24021 ctlTableChangeStatusRows(jQuery(this)); 24022 }); 24023 24024 jQuery(document).on("click", ".ctl-theme-table-main-wrapper .btn-delete-selected-rows", function () { 24025 ctlTableDeleteRows(jQuery(this), jQuery(this).hasClass("custom-deletion")); 24026 }); 24027 24028 jQuery(document).on("click", ".ctl-theme-table-main-wrapper .btn-delete-row", function () { 24029 ctlTableDeleteRow(jQuery(this), jQuery(this).hasClass("custom-deletion")); 24030 }); 24031 24032 jQuery(document).on("click", ".ctl-theme-table-main-wrapper .btn-add-row", function () { 24033 ctlTableAddRow(jQuery(this).closest(".ctl-theme-table-main-wrapper").find("tbody")); 24034 }); 24035 24036 jQuery(document).on("click", ".ctl-theme-tables-action-select-all .custom-control-label", function () { 24037 var oNodeCheck = jQuery(this).closest(".custom-checkbox").find(".custom-control-input"); 24038 var oNodeTableBody = jQuery(this).closest(".ctl-theme-tables-wrapper").find("tbody"); 24039 var bCheck = oNodeCheck.is(':checked') ? false : true; 24040 oNodeTableBody.find("tr").each(function () { 24041 if (jQuery(this).css("display") !== "none") { 24042 jQuery(this).find('.ctl-theme-tables-row-selector .custom-control-input').prop('checked', bCheck); 24043 } 24044 }); 24045 }); 24046 24047 jQuery(document).on("click", ".ctlgrouptablecols .editable", function (e) { 24048 if (!jQuery(this).hasClass("editing")) { 24049 ctlTableMakeColEditable(jQuery(this)); 24050 } 24051 }); 24052 24053 24054 jQuery(document).on("click", ".btn-action-user-logout-selected-rows", function () { 24055 var oNodeButton = jQuery(this); 24056 var oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 24057 var oNodeTableBody = oNodeMainTableWrapper.find("tbody"); 24058 24059 var aResourceIds = []; 24060 24061 oNodeTableBody 24062 .find("tr.ctl-table-row .ctl-theme-tables-row-selector input[type=checkbox]:checked") 24063 .each(function () { 24064 var oNodeRow = jQuery(this).closest("tr"); 24065 var idResource = oNodeRow.attr("data-resource-id"); 24066 aResourceIds.push(idResource); 24067 }); 24068 24069 if (aResourceIds.length == 0) { 24070 g_oCTLBootstrapModals.alert("", 24071 g_oCTLThemeTablesLocalizationFront["Select at least one row."]); 24072 return; 24073 } 24074 24075 var idLoading = g_oCTLWPStudio.showLoading(""); 24076 24077 var oFormData = {}; 24078 oFormData['action'] = 'ctl-wp-studio'; 24079 oFormData['execute'] = 'ctl-theme-tables'; 24080 oFormData['extension-action'] = 'users-logout'; 24081 oFormData['table-id'] = 24082 jQuery(this).closest(".ctl-theme-table-main-wrapper").attr("data-table-id");
24083 oFormData['resource-ids'] = aResourceIds; 24084 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 24085 24086 jQuery.ajax({ 24087 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 24088 type: "POST", 24089 data: oFormData, 24090 cache: false, 24091 method: 'POST', 24092 success: function (response, textStatus, jqXHR) { 24093 var oResponse = JSON.parse(response); 24094 g_oCTLWPStudio.closeDlg(idLoading); 24095 24096 if (oResponse.res === true) { 24097 if (oResponse.redirect) { 24098 g_oCTLWPStudio.showLoading(""); 24099 window.location.href = oResponse.redirect; 24100 } else { 24101 g_oCTLBootstrapModals.alert("", 24102 g_oCTLThemeTablesLocalizationFront["Users logged out successfully!"]); 24103 } 24104 } else if (oResponse.desc) { 24105 alert(oResponse.desc); 24106 } else { 24107 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24108 } 24109 }, 24110 error: function (jqXHR, textStatus, errorThrown) { 24111 g_oCTLWPStudio.closeDlg(idLoading); 24112 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24113 } 24114 }); 24115 }); 24116 24117 jQuery(document).on("click", ".btn-convert-selected-rows", function () { 24118 var oNodeButton = jQuery(this); 24119 var oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 24120 var oNodeTableBody = oNodeMainTableWrapper.find("tbody"); 24121 24122 var aResourceIds = []; 24123 24124 oNodeTableBody 24125 .find("tr.ctl-table-row .ctl-theme-tables-row-selector input[type=checkbox]:checked") 24126 .each(function () { 24127 var oNodeRow = jQuery(this).closest("tr"); 24128 var idResource = oNodeRow.attr("data-resource-id"); 24129 aResourceIds.push(idResource); 24130 }); 24131 24132 if (aResourceIds.length == 0) { 24133 g_oCTLBootstrapModals.alert("", 24134 g_oCTLThemeTablesLocalizationFront["Select at least one row."]); 24135 return; 24136 } 24137 24138 var idLoading = g_oCTLWPStudio.showLoading(""); 24139 24140 var oFormData = {}; 24141 oFormData['action'] = 'ctl-wp-studio'; 24142 oFormData['execute'] = 'ctl-theme-tables'; 24143 oFormData['extension-action'] = 'convert-selected-rows'; 24144 oFormData['table-id'] = 24145 jQuery(this).closest(".ctl-theme-table-main-wrapper").attr("data-table-id"); 24146 oFormData['resource-ids'] = aResourceIds; 24147 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 24148 24149 jQuery.ajax({ 24150 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 24151 type: "POST", 24152 data: oFormData, 24153 cache: false, 24154 method: 'POST', 24155 success: function (response, textStatus, jqXHR) { 24156 var oResponse = JSON.parse(response); 24157 24158 if (oResponse.res === true) { 24159 window.location.reload(); 24160 } else if (oResponse.desc) { 24161 g_oCTLWPStudio.closeDlg(idLoading); 24162 alert(oResponse.desc); 24163 } else { 24164 g_oCTLWPStudio.closeDlg(idLoading); 24165 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24166 } 24167 }, 24168 error: function (jqXHR, textStatus, errorThrown) { 24169 g_oCTLWPStudio.closeDlg(idLoading); 24170 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24171 } 24172 }); 24173 }); 24174 24175 jQuery(document).on("click", ".btn-group-together-selected-rows", function () { 24176 var oNodeButton = jQuery(this); 24177 var oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 24178 var oNodeTableBody = oNodeMainTableWrapper.find("tbody"); 24179 24180 var aResourceIds = []; 24181 24182 oNodeTableBody 24183 .find("tr.ctl-table-row .ctl-theme-tables-row-selector input[type=checkbox]:checked") 24184 .each(function () { 24185 var oNodeRow = jQuery(this).closest("tr"); 24186 var idResource = oNodeRow.attr("data-resource-id"); 24187 aResourceIds.push(idResource); 24188 }); 24189 24190 if (aResourceIds.length == 0) { 24191 g_oCTLBootstrapModals.alert("", 24192 g_oCTLThemeTablesLocalizationFront["Select at least one row."]); 24193 return; 24194 } 24195 24196 var idLoading = g_oCTLWPStudio.showLoading(""); 24197 24198 var oFormData = {}; 24199 oFormData['action'] = 'ctl-wp-studio'; 24200 oFormData['execute'] = 'ctl-theme-tables'; 24201 oFormData['extension-action'] = 'group-together-selected-rows'; 24202 oFormData['table-id'] = 24203 jQuery(this).closest(".ctl-theme-table-main-wrapper").attr("data-table-id");
24204 oFormData['resource-ids'] = aResourceIds; 24205 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 24206 24207 jQuery.ajax({ 24208 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 24209 type: "POST", 24210 data: oFormData, 24211 cache: false, 24212 method: 'POST', 24213 success: function (response, textStatus, jqXHR) { 24214 var oResponse = JSON.parse(response); 24215 24216 if (oResponse.res === true) { 24217 if (oResponse.redirect) { 24218 window.location.href = oResponse.redirect; 24219 } else { 24220 window.location.reload(); 24221 } 24222 } else if (oResponse.desc) { 24223 g_oCTLWPStudio.closeDlg(idLoading); 24224 alert(oResponse.desc); 24225 } else { 24226 g_oCTLWPStudio.closeDlg(idLoading); 24227 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24228 } 24229 }, 24230 error: function (jqXHR, textStatus, errorThrown) { 24231 g_oCTLWPStudio.closeDlg(idLoading); 24232 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24233 } 24234 }); 24235 }); 24236 24237 jQuery(document).on("click", ".btn-duplicate-selected-rows", function () { 24238 let oNodeButton = jQuery(this); 24239 let oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 24240 let oNodeTableBody = oNodeMainTableWrapper.find("tbody"); 24241 24242 let aResourceIds = []; 24243 24244 oNodeTableBody 24245 .find("tr.ctl-table-row .ctl-theme-tables-row-selector input[type=checkbox]:checked") 24246 .each(function () { 24247 let oNodeRow = jQuery(this).closest("tr"); 24248 let idResource = oNodeRow.attr("data-resource-id"); 24249 aResourceIds.push(idResource); 24250 }); 24251 24252 if (aResourceIds.length == 0) { 24253 g_oCTLBootstrapModals.alert("", 24254 g_oCTLThemeTablesLocalizationFront["Select at least one row."]); 24255 return; 24256 } 24257 24258 let idLoading = g_oCTLWPStudio.showLoading(""); 24259 24260 let oFormData = {}; 24261 oFormData['action'] = 'ctl-wp-studio'; 24262 oFormData['execute'] = 'ctl-theme-tables'; 24263 oFormData['extension-action'] = 'duplicate-selected-rows'; 24264 oFormData['table-id'] = 24265 jQuery(this).closest(".ctl-theme-table-main-wrapper").attr("data-table-id"); 24266 oFormData['resource-ids'] = aResourceIds; 24267 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 24268 24269 jQuery.ajax({ 24270 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 24271 type: "POST", 24272 data: oFormData, 24273 cache: false, 24274 method: 'POST', 24275 success: function (response, textStatus, jqXHR) { 24276 let oResponse = JSON.parse(response); 24277 24278 if (oResponse.res === true) { 24279 window.location.reload(); 24280 } else if (oResponse.desc) { 24281 g_oCTLWPStudio.closeDlg(idLoading); 24282 alert(oResponse.desc); 24283 } else { 24284 g_oCTLWPStudio.closeDlg(idLoading); 24285 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24286 } 24287 }, 24288 error: function (jqXHR, textStatus, errorThrown) { 24289 g_oCTLWPStudio.closeDlg(idLoading); 24290 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24291 } 24292 }); 24293 }); 24294 24295 jQuery(document).on("click", ".table-footer-actions .btn-export-all-data-in-csv", function (e) { 24296 var idLoading = g_oCTLWPStudio.showLoading(""); 24297 24298 var oFormData = {}; 24299 oFormData['action'] = 'ctl-wp-studio'; 24300 oFormData['execute'] = 'ctl-theme-tables'; 24301 oFormData['extension-action'] = 'export-all-data-in-csv'; 24302 oFormData['table-id'] = 24303 jQuery(this).closest(".ctl-theme-table-main-wrapper").attr("data-table-id"); 24304 24305 jQuery.ajax({ 24306 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 24307 type: "POST", 24308 data: oFormData, 24309 cache: false, 24310 method: 'POST', 24311 success: function (response, textStatus, jqXHR) { 24312 g_oCTLWPStudio.closeDlg(idLoading); 24313 var oResponse = JSON.parse(response); 24314 24315 if (oResponse.res === true) { 24316 var csvContent = "data:text/csv;charset=utf-8," + encodeURIComponent(oResponse.csv); 24317 24318 var link = document.createElement("a"); 24319 link.setAttribute("href", csvContent); 24320 24321 var szFileName = prompt(g_oCTLThemeTablesLocalizationFront["Type a filename..."]); 24322 24323 if (!szFileName) { 24324 return; 24325 } 24326 24327 link.setAttribute("download", szFileName + ".csv"); 24328 document.body.appendChild(link); 24329 24330 link.click(); 24331 } 24332 }, 24333 error: function (jqXHR, textStatus, errorThrown) { 24334 g_oCTLWPStudio.closeDlg(idLoading); 24335 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24336 } 24337 }); 24338 }); 24339 24340 jQuery(document).on("click", ".table-footer-actions .btn-export-csv", function (e) { 24341 var idLoading = g_oCTLWPStudio.showLoading(""); 24342 24343 __ctlThemeTableAjaxExportCsv( 24344 jQuery(this).closest(".ctl-theme-table-main-wrapper").attr("data-table-id"), 24345 g_oCTLWPStudio.getUrlParams(), 24346 1, 24347 ()=>{ 24348 g_oCTLWPStudio.closeDlg(idLoading); 24349 } 24350 ); 24351 }); 24352 24353 jQuery(document).on("click", ".table-footer-actions .btn-js-export-csv", function (e) { 24354 var oNodeMainWrapper = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 24355 24356 24357 24358 var aFile = new Array(); 24359 var szSeparator = ";"; 24360 24361 var aRow = new Array(); 24362 oNodeMainWrapper.find("thead").first().find("th.ctl-table-th-cell").each(function () { 24363 if (jQuery(this).hasClass("table-actions")) { 24364 return; 24365 } 24366 24367 aRow.push(JSON.stringify(jQuery(this).find(".ctl-table-cell-data").text())); 24368 }); 24369 aFile.push(aRow); 24370 24371 oNodeMainWrapper.find(".ctl-table-row").each(function () { 24372 24373 if (jQuery(this).css("display") === "none") { 24374 return; 24375 } 24376 24377 var aRow = new Array(); 24378 jQuery(this).find(".ctl-table-td-cell").each(function () { 24379 let oNodeTdCell = jQuery(this); 24380 24381 24382 let szCSVExportedValue = oNodeTdCell.attr("data-csv-exported-value"); 24383 let szValue = ""; 24384 switch (szCSVExportedValue) { 24385 default: 24386 case "cell-value": { 24387 szValue = oNodeTdCell.attr("data-value"); 24388 24389 if (oNodeTdCell.attr("data-encode-value") == "base64") { 24390 szValue = Base64.decode(szValue); 24391 szValue = new DOMParser().parseFromString(szValue, "text/html").documentElement.textContent; 24392 } 24393 } break; 24394 case "formatted-value": { 24395 switch (oNodeTdCell.attr("data-format")) {
24396 case "LIST": { 24397 let aNodesListItems = oNodeTdCell.find(".ctl-theme-tables-list-items li"); 24398 szValue = aNodesListItems.map(function () { 24399 return jQuery(this).text(); 24400 }).get().join(", "); 24401 } break; 24402 default: { 24403 szValue = oNodeTdCell.find(".ctl-table-cell-data").text(); 24404 } break; 24405 } 24406 24407 } break; 24408 } 24409 24410 aRow.push(JSON.stringify(szValue)); 24411 }); 24412 aFile.push(aRow); 24413 }); 24414 24415 24416 const BOM = '\uFEFF'; // Unicode BOM character 24417 const blob = new Blob([BOM + aFile.map(e => e.join(szSeparator)).join("\r\n")], { type: 'text/csv;charset=utf-8;' }); 24418 24419 const url = URL.createObjectURL(blob); 24420 24421 var link = document.createElement("a"); 24422 link.setAttribute("href", url); 24423 24424 var szFileName = prompt(g_oCTLThemeTablesLocalizationFront["Type a filename..."]); 24425 24426 if (!szFileName) { 24427 return; 24428 } 24429 24430 link.setAttribute("download", szFileName + ".csv"); 24431 document.body.appendChild(link); 24432 24433 link.click(); 24434 24435 wpdk_do_action("ctl-theme-tables-export-csv", oNodeMainWrapper); 24436 }); 24437 24438 jQuery(document).on("click", ".ctlgrouptablecols thead th", function () { 24439 24440 if (!jQuery(this).hasClass("sorting")) { 24441 return; 24442 } 24443 24444 let oNodeTableWrapper = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 24445 let szTablePostFilterID = oNodeTableWrapper.attr("data-post-filter-id"); 24446 let szSortName = jQuery(this).attr("data-sort-param-name"); 24447 24448 bPostFilterPagination = false; 24449 24450 if (szTablePostFilterID && szTablePostFilterID !== "") { 24451 24452 let oNodeInputSearchField = jQuery(".ctl-post-filters-" + szTablePostFilterID); 24453 24454 if (jQuery(".ctl-post-filters-pagination-wrapper-" + szTablePostFilterID).length > 0 24455 && oNodeInputSearchField.find("[name='" + szSortName + "']").length > 0) { 24456 bPostFilterPagination = true; 24457 } 24458 } 24459 24460 if (bPostFilterPagination) { 24461 24462 let oURLSearchParams = new URLSearchParams(); 24463 24464 let aSortOnParams = oURLParams.getAll("sort-on[]"); 24465 let aSortByParams = oURLParams.getAll("sort-by[]"); 24466 24467 let iIndex = aSortOnParams.indexOf(szSortName); 24468 if (iIndex !== -1) { 24469 aSortByParams[iIndex] = aSortByParams[iIndex] === "asc" ? "desc" : "asc"; 24470 } else { 24471 aSortOnParams.push(szSortName); 24472 aSortByParams.push("asc"); 24473 } 24474 24475 oURLSearchParams.delete("sort-on[]"); 24476 oURLSearchParams.delete("sort-by[]"); 24477 24478 for (const szValue of aSortOnParams) { 24479 oURLSearchParams.append("sort-on[]", szValue); 24480 } 24481 24482 for (const szValue of aSortByParams) { 24483 oURLSearchParams.append("sort-by[]", szValue); 24484 } 24485 24486 g_oCTLWPStudio.showLoading(""); 24487 window.location.href = window.location.origin + window.location.pathname + "?" + oURLSearchParams.toString(); 24488 24489 } else { 24490 var iCurIndex = jQuery(this).index(); 24491 24492 jQuery(this).closest("thead").find("th").each(function () { 24493 24494 if (iCurIndex === jQuery(this).index()) { 24495 return; 24496 } 24497 jQuery(this).removeClass("sort-desc"); 24498 jQuery(this).removeClass("sort-asc"); 24499 }); 24500 24501 if (!jQuery(this).hasClass("sort-asc")) { 24502 jQuery(this).addClass("sort-asc"); 24503 jQuery(this).removeClass("sort-desc"); 24504 24505 if (jQuery(this).hasClass("custom-sorting")) { 24506 jQuery(document).trigger("ctl-table-header-sort-by-col", [jQuery(this), "ASC"]); 24507 } else { 24508 ctlTableSortByColumn( 24509 jQuery(this).closest(".ctl-theme-tables-wrapper").find("tbody"), 24510 jQuery(this).index(), jQuery(this).attr("data-type"), "ASC"); 24511 } 24512 } else { 24513 jQuery(this).addClass("sort-desc"); 24514 jQuery(this).removeClass("sort-asc"); 24515 24516 if (jQuery(this).hasClass("custom-sorting")) { 24517 jQuery(document).trigger("ctl-table-header-sort-by-col", [jQuery(this), "DESC"]); 24518 } else { 24519 ctlTableSortByColumn(jQuery(this).closest(".ctl-theme-tables-wrapper").find("tbody"), 24520 jQuery(this).index(), jQuery(this).attr("data-type"), "DESC"); 24521 } 24522 } 24523 } 24524 }); 24525 24526 ctlResizeScrollableTables(true, 500); 24527 ctlCheckIfForceCardVisualization(); 24528 ctlTableInitSorting(); 24529 ctlTableInitStickyCols(); 24530 ctlTableInitGantt(); 24531 ctlResizeMaximizedTables(); 24532 24533 wpdk_add_action("ctl-vulcano-theme-resize-layout", function () { 24534 ctlResizeMaximizedTables(); 24535 }); 24536}); 24537 24538function ctlTableInitGantt(oNodeParent = null) { 24539 if (!oNodeParent) { 24540 oNodeParent = jQuery("body"); 24541 } 24542 24543 oNodeParent.find(".ctl-table-row-gantt").each(function () { 24544 24545 var oNodeTR = jQuery(this); 24546 var oGanttInfo = oNodeTR.attr("data-gantt"); 24547 24548 oGanttInfo = Base64.decode(oGanttInfo); 24549 oGanttInfo = JSON.parse(oGanttInfo); 24550 24551 var szDateStart = oGanttInfo.start; 24552 var szDateEnd = oGanttInfo.end; 24553 var oDateStart = moment(szDateStart); 24554 var oDateEnd = moment(szDateEnd); 24555 24556 if (!szDateStart || !szDateEnd) { 24557 return; 24558 } 24559 24560 oNodeTR.find(".ctl-table-calendar-day").each(function () { 24561 var oNodeTD = jQuery(this); 24562 var szCurrentDate = oNodeTD.attr("data-date"); 24563 var oCurrentDate = moment(szCurrentDate); 24564 var bCheck = false;
24565 var html = ""; 24566 24567 if (oCurrentDate.isBetween(szDateStart, szDateEnd)) { 24568 html += '<span class="ctl-table-cell-gantt ctl-table-cell-gantt-middle" style="background-color: ' + oGanttInfo.color + ';"></span>'; 24569 bCheck = true; 24570 } else if (oDateStart.isSame(szCurrentDate)) { 24571 html += '<span class="ctl-table-cell-gantt ctl-table-cell-gantt-start" style="background-color: ' + oGanttInfo.color + ';"></span>'; 24572 bCheck = true; 24573 } else if (oDateEnd.isSame(szCurrentDate)) { 24574 html += '<span class="ctl-table-cell-gantt ctl-table-cell-gantt-end" style="background-color: ' + oGanttInfo.color + ';"></span>'; 24575 bCheck = true; 24576 } 24577 24578 if (bCheck) { 24579 var oNodeCellData = oNodeTD.find(".ctl-table-cell-data"); 24580 oNodeCellData.html(html); 24581 } 24582 }); 24583 }); 24584} 24585 24586function ctlTableInitStickyCols(oNodeContainer = null) { 24587 setTimeout(function () { 24588 __ctlTableInitStickyCols(oNodeContainer); 24589 }, 500); 24590 24591 __ctlTableInitStickyCols(oNodeContainer); 24592} 24593 24594function __ctlTableInitStickyCols(oNodeContainer) { 24595 24596 if (!oNodeContainer) { 24597 oNodeContainer = jQuery("body"); 24598 } 24599 24600 oNodeContainer.find("thead tr").each(function () { 24601 var oNodeTR = jQuery(this); 24602 var iMaxCol = 0; 24603 var bFoundSticky = false; 24604 //STICKY LEFT 24605 oNodeTR.find(".ctl-table-th-sticky-col-left").each(function () { 24606 bFoundSticky = true; 24607 var oNodeTD = jQuery(this); 24608 var iCol = oNodeTD.index() + 1; 24609 var iOffset = 0; 24610 24611 if (oNodeTD.index() > iMaxCol) { 24612 iMaxCol = oNodeTD.index(); 24613 } 24614 24615 for (var i = 0; i < iCol; i++) { 24616 var oNodeCurrentTD = oNodeTR.find("th").eq(i); 24617 if (!oNodeCurrentTD.hasClass("d-none")) { 24618 oNodeCurrentTD.css("left", iOffset + "px"); 24619 iOffset += oNodeCurrentTD.outerWidth(); 24620 } 24621 } 24622 }); 24623 if (bFoundSticky) { 24624 oNodeTR.find("th").eq(iMaxCol).addClass("ctl-table-td-sticky-last-col-left"); 24625 } 24626 24627 //STICKY RIGHT 24628 24629 var iTotCol = 0; 24630 24631 oNodeTR.find(".ctl-table-th-sticky-col-right").each(function () { 24632 if (jQuery(this).index() > iTotCol) { 24633 iTotCol = jQuery(this).index(); 24634 } 24635 }); 24636 24637 24638 var iMinCol = iTotCol; 24639 bFoundSticky = false; 24640 jQuery(oNodeTR.find(".ctl-table-th-sticky-col-right").get().reverse()).each(function () { 24641 24642 bFoundSticky = true; 24643 var oNodeTD = jQuery(this); 24644 var iCol = oNodeTD.index() - 1; 24645 var iOffset = 0; 24646 24647 if (oNodeTD.index() < iMinCol) { 24648 iMinCol = oNodeTD.index(); 24649 } 24650 24651 for (var i = iTotCol; i > iCol; i--) { 24652 var oNodeCurrentTD = oNodeTR.find("th").eq(i); 24653 if (!oNodeCurrentTD.hasClass("d-none")) { 24654 oNodeCurrentTD.css("right", iOffset + "px"); 24655 iOffset += oNodeCurrentTD.outerWidth(); 24656 } 24657 } 24658 }); 24659 if (bFoundSticky) { 24660 oNodeTR.find("th").eq(iMinCol).addClass("ctl-table-td-sticky-last-col-right"); 24661 } 24662 }); 24663 24664 oNodeContainer.find("tbody tr, tfoot tr").each(function () { 24665 var oNodeTR = jQuery(this); 24666 var iMaxCol = 0; 24667 var bFoundSticky = false; 24668 oNodeTR.find(".ctl-table-td-sticky-col-left").each(function () { 24669 bFoundSticky = true; 24670 var oNodeTD = jQuery(this); 24671 var iCol = oNodeTD.index() + 1; 24672 var iOffset = 0; 24673 24674 if (oNodeTD.index() > iMaxCol) { 24675 iMaxCol = oNodeTD.index(); 24676 } 24677 24678 for (var i = 0; i < iCol; i++) { 24679 var oNodeCurrentTD = oNodeTR.find("td").eq(i); 24680 if (!oNodeCurrentTD.hasClass("d-none")) { 24681 oNodeCurrentTD.css("left", iOffset + "px"); 24682 iOffset += oNodeCurrentTD.outerWidth(); 24683 } 24684 } 24685 }); 24686 if (bFoundSticky) { 24687 oNodeTR.find("td").eq(iMaxCol).addClass("ctl-table-td-sticky-last-col-left"); 24688 } 24689 24690 var iTotCol = 0; 24691 24692 oNodeTR.find(".ctl-table-td-sticky-col-right").each(function () { 24693 if (jQuery(this).index() > iTotCol) { 24694 iTotCol = jQuery(this).index(); 24695 } 24696 }); 24697 24698 var iMinCol = iTotCol; 24699 bFoundSticky = false;
24700 jQuery(oNodeTR.find(".ctl-table-td-sticky-col-right").get().reverse()).each(function () { 24701 24702 bFoundSticky = true; 24703 var oNodeTD = jQuery(this); 24704 var iCol = oNodeTD.index() - 1; 24705 var iOffset = 0; 24706 24707 if (oNodeTD.index() < iMinCol) { 24708 iMinCol = oNodeTD.index(); 24709 } 24710 24711 for (var i = iTotCol; i > iCol; i--) { 24712 var oNodeCurrentTD = oNodeTR.find("td").eq(i); 24713 //iOffset += parseInt(oNodeTD.children(".ctl-table-bg-cell-data").css("padding-right")); 24714 if (!oNodeCurrentTD.hasClass("d-none")) { 24715 oNodeCurrentTD.css("right", iOffset + "px"); 24716 iOffset += oNodeCurrentTD.outerWidth(); 24717 } 24718 } 24719 }); 24720 if (bFoundSticky) { 24721 oNodeTR.find("td").eq(iMinCol).addClass("ctl-table-td-sticky-last-col-right"); 24722 } 24723 }); 24724} 24725 24726 24727function ctlTableInitSorting(oNodeParent = null) { 24728 24729 if (!oNodeParent) { 24730 oNodeParent = jQuery("body"); 24731 } 24732 24733 oNodeParent.find(".ctl-theme-table-main-wrapper.ctl-table-post-sortable").each(function () { 24734 ctlTableMakePostTableSortable(jQuery(this)); 24735 }); 24736 24737 oNodeParent.find(".ctl-theme-table-kanban.ctl-theme-table-kanban-sortable").each(function () { 24738 ctlTableMakeKanbanSortable(jQuery(this)); 24739 }); 24740} 24741 24742function ctlTableSaveInputCell(oNodeSaveButton, bIgnoreNewValue) { 24743 24744 var id = oNodeSaveButton.attr("data-td-id"); 24745 var oNodeInput = oNodeSaveButton.closest(".modal").find(".modal-body :input"); 24746 24747 var oNodeTD = jQuery("#" + id); 24748 24749 24750 var oNodeTABLE = oNodeTD.closest("table"); 24751 var oNodeTR = oNodeTD.closest("tr"); 24752 var oNodeTFOOT = oNodeTD.closest("tfoot"); 24753 24754 var oNodeCellData = oNodeTD.find(".ctl-table-cell-data"); 24755 var szPrevValue = oNodeTD.attr("data-value"); 24756 var szDataFormat = oNodeTD.attr("data-format"); 24757 var idResource = oNodeTR.attr("data-resource-id"); 24758 24759 if (oNodeTFOOT.length > 0) { 24760 szDataFormat = oNodeTD.attr("footer-data-format"); 24761 } 24762 24763 var col = oNodeTD.parent().children().index(oNodeTD); 24764 var row = oNodeTR.parent().children().index(oNodeTR); 24765 24766 24767 if (oNodeTD.attr("data-encode-value") == "base64") { 24768 szPrevValue = Base64.encode(szPrevValue); 24769 } 24770 24771 if (bIgnoreNewValue) { 24772 szStoredValue = oNodeTD.attr("data-value"); 24773 24774 if (oNodeTD.attr("data-encode-value") == "base64") { 24775 szOriginalValue = Base64.encode(szStoredValue); 24776 } else { 24777 szOriginalValue = szStoredValue; 24778 } 24779 } else { 24780 szOriginalValue = oNodeInput.val(); 24781 24782 if (oNodeTD.attr("data-encode-value") == "base64") { 24783 szStoredValue = Base64.encode(szOriginalValue); 24784 } else { 24785 szStoredValue = szOriginalValue; 24786 } 24787 24788 oNodeTD.attr("data-value", szStoredValue); 24789 } 24790 24791 oNodeTD.removeClass("editing"); 24792 oNodeCellData.removeClass("w-100"); 24793 24794 var szFormattedValue = ""; 24795 24796 switch (szDataFormat) { 24797 case "DD-MMM-YY": { 24798 if (szOriginalValue !== "") { 24799 szFormattedValue = moment(szOriginalValue, "YYYY-MM-DD", 24800 ctl_wp_studio_common_localization["locale"]).format('DD-MMM-YY'); 24801 } 24802 } break; 24803 case 'EU-CURRENCY': { 24804 if (szOriginalValue !== "") { 24805 szFormattedValue = '⬠' + numberFormat(parseFloat(szOriginalValue), 2, ',', '.'); 24806 // szFormattedValue = new Intl.NumberFormat('it-IT', { 24807 // style: 'currency', 24808 // currency: 'EUR', 24809 // }).format(parseFloat(szOriginalValue)); 24810 // szFormattedValue = `⬠${szFormattedValue.replace('â¬', '').trim()}`; 24811 } 24812 } break; 24813 default: { 24814 szFormattedValue = szOriginalValue; 24815 } 24816 } 24817 24818 oNodeCellData.html(szFormattedValue); 24819 ctlTableRefreshFooterCalculationsByCol(oNodeTABLE, col + 1, 24820 oNodeTD); 24821 24822 var aData = [idResource, szOriginalValue, szFormattedValue, szPrevValue, row, col]; 24823 24824 jQuery(document).trigger("ctl-table-save-cell", aData); 24825} 24826 24827function ctlTableMakePostTableSortable(oNodeTABLE) { 24828 var oNodeTBODY = oNodeTABLE.find("tbody"); 24829 var idTable = oNodeTABLE.attr("data-table-id"); 24830 24831 oNodeTBODY.sortable({ 24832 update: function () { 24833 24834 var aPostIds = []; 24835 oNodeTBODY.find("tr").each(function () { 24836 var idResource = jQuery(this).attr("data-resource-id"); 24837 if (!isNaN(idResource)) { 24838 aPostIds.push(idResource); 24839 } 24840 }); 24841 24842 idLoading = g_oCTLWPStudio.showLoading(""); 24843 24844 var oFormData = {}; 24845 oFormData['action'] = 'ctl-wp-studio'; 24846 oFormData['execute'] = 'ctl-theme-tables'; 24847 oFormData['extension-action'] = 'sort-table'; 24848 oFormData['table-id'] = idTable; 24849 oFormData['post-ids'] = aPostIds; 24850 24851 jQuery.ajax({ 24852 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 24853 type: "POST", 24854 data: oFormData, 24855 cache: false, 24856 method: 'POST', 24857 success: function (response, textStatus, jqXHR) { 24858 g_oCTLWPStudio.closeDlg(idLoading); 24859 var oResponse = jQuery.parseJSON(response); 24860 24861 if (oResponse.res === false) { 24862 alert(oResponse.desc); 24863 } 24864 }, 24865 error: function (jqXHR, textStatus, errorThrown) { 24866 g_oCTLWPStudio.closeDlg(idLoading); 24867 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24868 } 24869 }); 24870 }, 24871 helper: ctlTableSortableHelper(), 24872 placeholder: "ui-sortable-placeholder" 24873 }).disableSelection(); 24874}; 24875 24876function ctlTableMakeKanbanSortable(oNodeKanbanTable) { 24877 var idTable = oNodeKanbanTable.attr("data-table-id"); 24878 24879 oNodeKanbanTable.find(".ctl-theme-table-kanban-rows-container").each(function () { 24880 24881 var oNodeRowsContainer = jQuery(this); 24882 24883 var oNodeKanbanColumn = null; 24884 var oNodeRowItem = null; 24885 24886 oNodeRowsContainer.sortable({ 24887 revert: true, 24888 scroll: true, 24889 scrollSensitivity: 100, 24890 dropOnEmpty: true, 24891 // tolerance : "pointer", 24892 tolerance: "intersect", 24893 connectWith: ".ctl-theme-table-kanban-rows-container", 24894 stop: function (event, ui) { 24895 oNodeRowItem.css("opacity", "1"); 24896 24897 oNodeRowItem = jQuery(ui.item); 24898 24899 if (oNodeRowItem.closest(".modal").length > 0) { 24900 g_oCTLWPStudio.scrollToSelector("#" + oNodeRowItem.attr("id")); 24901 } else { 24902 var fOffset = 60; 24903 if (jQuery("header").length > 0) { 24904 fOffset += jQuery("header").height(); 24905 } 24906 g_oCTLWPStudio.scrollToSelector("#" + oNodeRowItem.attr("id"), - fOffset); 24907 } 24908 }, 24909 start: function (event, ui) { 24910 oNodeKanbanColumn = jQuery(event.currentTarget).closest(".ctl-theme-table-kanban-column-container"); 24911 24912 oNodeRowItem = jQuery(ui.item); 24913 24914 oNodeRowItem.css("display", "block"); 24915 oNodeRowItem.css("opacity", "0.5"); 24916 }, 24917 remove: function (event, ui) { 24918 oNodeRowItem.css("opacity", "1"); 24919 24920 // scroll the column to top if empty 24921 if (oNodeKanbanColumn.find(".ctl-theme-table-kanban-row").length == 0) { 24922 oNodeKanbanColumn.animate({ scrollTop: 0 }, 0); 24923 } 24924 }, 24925 update: function () { 24926 var aPostIds = []; 24927 oNodeRowsContainer.find(".ctl-theme-table-kanban-row").each(function () { 24928 var idResource = jQuery(this).attr("data-resource-id"); 24929 if (!isNaN(idResource)) { 24930 aPostIds.push(idResource); 24931 } 24932 }); 24933 24934 return; 24935 24936 idLoading = g_oCTLWPStudio.showLoading(""); 24937 24938 var oFormData = {}; 24939 oFormData['action'] = 'ctl-wp-studio'; 24940 oFormData['execute'] = 'ctl-theme-tables'; 24941 oFormData['extension-action'] = 'sort-table'; 24942 oFormData['table-id'] = idTable; 24943 oFormData['post-ids'] = aPostIds; 24944 24945 jQuery.ajax({ 24946 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 24947 type: "POST", 24948 data: oFormData, 24949 cache: false, 24950 method: 'POST', 24951 success: function (response, textStatus, jqXHR) { 24952 g_oCTLWPStudio.closeDlg(idLoading); 24953 var oResponse = jQuery.parseJSON(response); 24954 24955 if (oResponse.res === false) { 24956 alert(oResponse.desc); 24957 } 24958 }, 24959 error: function (jqXHR, textStatus, errorThrown) { 24960 g_oCTLWPStudio.closeDlg(idLoading); 24961 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 24962 } 24963 }); 24964 }, 24965 helper: ctlTableKanbanSortableHelper(), 24966 placeholder: "ui-sortable-placeholder" 24967 }).disableSelection(); 24968 }); 24969}; 24970 24971function ctlTableCloneNode(oNodeSource) { 24972 var oNodeClone = oNodeSource.clone(); 24973 24974 var oCloneSelectOptions = oNodeClone.find('select'); 24975 var oOriginalSelectOptions = oNodeSource.find('select'); 24976 24977 if (oOriginalSelectOptions) { 24978 oOriginalSelectOptions.each(function (index) { 24979 var aCloneOptions = oCloneSelectOptions.eq(index).find("option"); 24980 var aOriginalOptions = jQuery(this).find("option"); 24981 24982 aOriginalOptions.each(function (index) { 24983 aCloneOptions.eq(index).prop('selected', 24984 jQuery(this).prop('selected')); 24985 }); 24986 }); 24987 } 24988 24989 /* 24990 // se non dovesse funzionare con i radio 24991 var oCloneRadios = oCloneHtml.find('input[type=radio]'); 24992 var oOriginalRadios = jQuery(this).find('input[type=radio]'); 24993 if(oOriginalRadios){ 24994 oOriginalRadios.each(function(index){ 24995 oCloneRadios.eq(index).prop("checked", this.checked); 24996 }); 24997 } 24998 */ 24999 25000 return oNodeClone; 25001}; 25002 25003function ctlTableKanbanSortableHelper() { 25004 var fixHelperModified = function (e, oNode) { 25005 var $helper = ctlTableCloneNode(oNode); 25006 $helper.addClass("ui-sortable-movable"); 25007 return $helper; 25008 }; 25009 return fixHelperModified; 25010}; 25011 25012function ctlTableSortableHelper() { 25013 var fixHelperModified = function (e, oNode) { 25014 var $originals = oNode.children(); 25015 var $helper = ctlTableCloneNode(oNode); 25016 var szTagName = $helper[0].tagName.toLowerCase(); 25017 25018 $helper.children().each(function (index) { 25019 jQuery(this).width($originals.eq(index).width()); 25020 jQuery(this).css("background-color", "#ffe7b3"); 25021 jQuery(this).closest(szTagName).css("border", "1px solid #ffc64c"); 25022 jQuery(this).closest(szTagName).css("background-color", "#ffe7b3"); 25023 jQuery(this).closest(szTagName + " *").each(function () { 25024 jQuery(this).css("background-color", "#ffe7b3"); 25025 }); 25026 }); 25027 25028 return $helper; 25029 }; 25030 return fixHelperModified; 25031}; 25032 25033 25034function ctlTableRefreshFooterCalculationsByCol(oNodeTABLE, iTdCol, oNodeTD) { 25035 25036 szFooterCalculations = oNodeTD.attr("data-footer-calculations"); 25037 szDataFormat = oNodeTD.attr("footer-data-format") 25038 szDataMaxDecimals = oNodeTD.attr("data-number-max-decimals"); 25039 25040 if (!szFooterCalculations || szFooterCalculations == "none") { 25041 return; 25042 } 25043 25044 var oNodeTBODY = oNodeTABLE.find("tbody"); 25045 var oNodeTFOOT = oNodeTABLE.find("tfoot"); 25046 25047 if (oNodeTFOOT.length == 0) { 25048 return; 25049 } 25050 25051 switch (szFooterCalculations) { 25052 case "summation": { 25053 var fSum = 0; 25054 oNodeTBODY.find("tr td:nth-child(" + iTdCol + ")").each(function () { 25055 if (jQuery(this).closest("tr").css("display") == "none") { 25056 return; 25057 } 25058 fSum += Number(jQuery(this).attr("data-value")); 25059 }); 25060 let oNodeTDFooter = oNodeTFOOT.find("tr td:nth-child(" + iTdCol + ") .ctl-table-cell-data"); 25061 25062 oNodeTDFooter.html( 25063 __ctlThemeTableFormatCell(fSum, { 25064 "data-format": szDataFormat, 25065 "data-number-max-decimals": szDataMaxDecimals 25066 }));
25067 __updateValueAttributeTDFooter(oNodeTDFooter, fSum); 25068 } break; 25069 25070 case "average": { 25071 var fSum = 0; 25072 var iCnt = 0; 25073 25074 oNodeTBODY.find("tr td:nth-child(" + iTdCol + ")").each(function () { 25075 if (jQuery(this).closest("tr").css("display") == "none") { 25076 return; 25077 } 25078 iCnt++; 25079 fSum += Number(jQuery(this).attr("data-value")); 25080 }); 25081 let oNodeTDFooter = oNodeTFOOT.find("tr td:nth-child(" + iTdCol + ") .ctl-table-cell-data"); 25082 var fValue = fSum / iCnt; 25083 oNodeTDFooter.html( 25084 __ctlThemeTableFormatCell(fValue, { 25085 "data-format": szDataFormat, 25086 "data-number-max-decimals": szDataMaxDecimals 25087 })); 25088 25089 __updateValueAttributeTDFooter(oNodeTDFooter, fSum); 25090 } break; 25091 case "min-max": { 25092 var fMin = null; 25093 var fMax = null; 25094 25095 oNodeTBODY.find("tr td:nth-child(" + iTdCol + ")").each(function () { 25096 if (jQuery(this).closest("tr").css("display") == "none") { 25097 return; 25098 } 25099 25100 var fValue = Number(jQuery(this).attr("data-value")); 25101 25102 if (fMin === null) { 25103 fMin = fValue; 25104 } else if (fValue < fMin) { 25105 fMin = fValue; 25106 } 25107 25108 if (fMax === null) { 25109 fMax = fValue; 25110 } else if (fValue > fMax) { 25111 fMax = fValue; 25112 } 25113 }); 25114 let oNodeTDFooter = oNodeTFOOT.find("tr td:nth-child(" + iTdCol + ") .ctl-table-cell-data"); 25115 oNodeTDFooter.html( 25116 __ctlThemeTableFormatCell(fMin, { 25117 "data-format": szDataFormat, 25118 "data-number-max-decimals": szDataMaxDecimals 25119 }) + " / " + 25120 __ctlThemeTableFormatCell(fMax, { 25121 "data-format": szDataFormat, 25122 "data-number-max-decimals": szDataMaxDecimals 25123 }));
25124 __updateValueAttributeTDFooter(oNodeTDFooter, fSum); 25125 } break; 25126 } 25127} 25128 25129function __updateValueAttributeTDFooter(oNodeTDFooter, szNewValue) { 25130 let szDataEncode = oNodeTDFooter.attr("data-encode-value"); 25131 25132 switch (szDataEncode) { 25133 case "base64": 25134 szNewValue = Base64.encode(szNewValue); 25135 break; 25136 } 25137 oNodeTDFooter.attr("data-value", szNewValue); 25138} 25139 25140function ctlTableRefreshFooterCalculations(oNodeTABLE) { 25141 25142 var oNodeTBODY = oNodeTABLE.find("tbody"); 25143 var oNodeFakeRow = oNodeTBODY.find("tr").first(); 25144 var oNodeTFOOT = oNodeTABLE.find("tfoot"); 25145 25146 if (oNodeTFOOT.length == 0) { 25147 return; 25148 } 25149 25150 var aFooterData = []; 25151 var iCntVisibleRows = 0; 25152 25153 oNodeFakeRow.find("td").each(function () { 25154 var oData = {}; 25155 25156 if (jQuery(this).attr("data-footer-calculations")) { 25157 oData["footer-calculations"] = jQuery(this).attr("data-footer-calculations"); 25158 oData["number-max-decimals"] = jQuery(this).attr("data-number-max-decimals"); 25159 oData["data-format"] = jQuery(this).attr("data-format"); 25160 25161 if (jQuery(this).attr("data-apply-threshold-colors")) { 25162 oData["apply-threshold-colors"] = jQuery(this).attr("data-apply-threshold-colors"); 25163 } 25164 25165 if (jQuery(this).attr("data-threshold-style")) { 25166 oData["threshold-style"] = jQuery(this).attr("data-threshold-style"); 25167 } 25168 25169 for (var i = 0; i < 3; i++) { 25170 if (jQuery(this).attr("data-threshold-color-" + i)) { 25171 oData["threshold-color-" + i] = jQuery(this).attr("data-threshold-color-" + i); 25172 } 25173 if (jQuery(this).attr("data-threshold-op-" + i)) { 25174 oData["threshold-op-" + i] = jQuery(this).attr("data-threshold-op-" + i); 25175 } 25176 if (!isNaN(jQuery(this).attr("data-threshold-value-" + i))) { 25177 oData["threshold-value-" + i] = Number(jQuery(this).attr("data-threshold-value-" + i)); 25178 } 25179 } 25180 25181 switch (oData["footer-calculations"]) { 25182 case "min-max": { 25183 oData["min"] = null; 25184 oData["max"] = null; 25185 } break; 25186 case "average": 25187 case "summation": { 25188 oData["sum"] = 0; 25189 } break; 25190 } 25191 25192 aFooterData.push(oData); 25193 } else { 25194 aFooterData.push(null); 25195 } 25196 }); 25197 25198 oNodeTBODY.find("tr").each(function () { 25199 25200 var oNodeTR = jQuery(this); 25201 if (jQuery(this).css("display") == "none") { 25202 return; 25203 } 25204 25205 iCntVisibleRows++; 25206 25207 oNodeTR.find("td").each(function () { 25208 var oNodeTD = jQuery(this); 25209 var iCol = oNodeTD.index(); 25210 25211 if (!aFooterData[iCol]) { 25212 return; 25213 } 25214 25215 switch (aFooterData[iCol]["footer-calculations"]) { 25216 case "average": 25217 case "summation": { 25218 var fValue = Number(oNodeTD.attr("data-value")); 25219 25220 if (!isNaN(fValue)) { 25221 if (isNaN(aFooterData[iCol]["sum"])) { 25222 aFooterData[iCol]["sum"] = 0; 25223 } 25224 aFooterData[iCol]["sum"] += fValue; 25225 } 25226 } break; 25227 case "min-max": { 25228 var fValue = Number(oNodeTD.attr("data-value")); 25229 25230 if (!isNaN(fValue)) { 25231 if (isNaN(aFooterData[iCol]["min"])) { 25232 aFooterData[iCol]["min"] = fValue; 25233 } else if (fValue < aFooterData[iCol]["min"]) { 25234 aFooterData[iCol]["min"] = fValue; 25235 } 25236 25237 if (isNaN(aFooterData[iCol]["max"])) { 25238 aFooterData[iCol]["max"] = fValue; 25239 } else if (fValue > aFooterData[iCol]["max"]) { 25240 aFooterData[iCol]["max"] = fValue; 25241 } 25242 } 25243 25244 } break; 25245 } 25246 }); 25247 }); 25248 25249 25250 for (var i = 0; i < aFooterData.length; i++) { 25251 var oFooterData = aFooterData[i]; 25252 25253 if (!oFooterData) { 25254 continue; 25255 } 25256 25257 iTdCol = i + 1; 25258 25259 switch (oFooterData["footer-calculations"]) { 25260 case "summation": { 25261 oNodeTFOOT.find("tr td:nth-child(" + iTdCol + ")").attr("data-format", oFooterData["sum"]); 25262 oNodeTFOOT.find("tr td:nth-child(" + iTdCol + ") .ctl-table-cell-data").html( 25263 __ctlThemeTableFormatCell(oFooterData["sum"], oFooterData)); 25264 } break; 25265 25266 case "average": { 25267 var fValue = oFooterData["sum"] / iCntVisibleRows; 25268 oNodeTFOOT.find("tr td:nth-child(" + iTdCol + ")").attr("data-format", fValue); 25269 oNodeTFOOT.find("tr td:nth-child(" + iTdCol + ") .ctl-table-cell-data").html( 25270 __ctlThemeTableFormatCell(fValue, oFooterData)); 25271 } break; 25272 case "min-max": { 25273 oNodeTFOOT.find("tr td:nth-child(" + iTdCol + ")").attr("data-format", 25274 oFooterData["min"] + " / " + oFooterData["max"]); 25275 oNodeTFOOT.find("tr td:nth-child(" + iTdCol + ") .ctl-table-cell-data").html( 25276 __ctlThemeTableFormatCell(oFooterData["min"], oFooterData) + " / " + 25277 __ctlThemeTableFormatCell(oFooterData["max"], oFooterData)); 25278 } break; 25279 25280 } 25281 } 25282 25283} 25284 25285 25286function ctlTableMakeColEditable(oNodeEditableCell) { 25287 25288 var oNodeCellData = oNodeEditableCell.find(".ctl-table-cell-data"); 25289 var oNodeTD = oNodeEditableCell.closest("td"); 25290 var szDataType = oNodeEditableCell.attr("data-type"); 25291 var szDataFormat = oNodeEditableCell.attr("data-format"); 25292 var szDataInput = oNodeEditableCell.attr("data-input"); 25293 25294 if (szDataType === "boolean" && szDataFormat === "SWITCH") { 25295 return; 25296 } 25297 25298 let szHtmlModalContent = ''; 25299 25300 switch (szDataType) { 25301 case "boolean": { 25302 25303 oNodeEditableCell.addClass("editing"); 25304 oNodeCellData.addClass("w-100"); 25305 oNodeCellData.css("width", "auto"); 25306 25307 var szHtmlInput = ''; 25308 25309 var aData = szDataInput.split("-"); 25310 var szOnValue = aData[1]; 25311 var szOffValue = aData[2]; 25312 25313 szHtmlInput += formFieldsBuildSwitchField({ 25314 "data-on-label": "", 25315 "data-on-value": szOnValue, 25316 "data-off-label": "", 25317 "data-off-value": szOffValue 25318 }); 25319 25320 oNodeCellData.html(szHtmlInput); 25321 } break; 25322 case "float": { 25323 var szValue = oNodeEditableCell.attr('data-value'); 25324 25325 oNodeEditableCell.attr("id", g_oCTLWPStudio.makeCode(10)); 25326 25327 let oConfigNumberField = { 25328 "field-name": "table-cell-value", 25329 "wrapper-classes": "mb-0", 25330 }; 25331 25332 szHtmlModalContent += formFieldsBuildNumberField(oConfigNumberField, szValue); 25333 } break; 25334 default: { 25335 var szValue = oNodeEditableCell.attr('data-value'); 25336 25337 oNodeEditableCell.attr("id", g_oCTLWPStudio.makeCode(10)); 25338 25339 var szHtmlInput = ''; 25340 var oConfigTextArea = { 25341 "field-name": "table-cell-value", 25342 "wrapper-classes": "mb-0", 25343 }; 25344 25345 if (oNodeEditableCell.attr("data-encode-value") == "base64") { 25346 szValue = Base64.decode(szValue); 25347 oConfigTextArea["enable-summernote"] = true; 25348 oConfigTextArea["textarea-height"] = "100"; 25349 } 25350 25351 szHtmlModalContent += formFieldsBuildTextAreaField(oConfigTextArea, szValue); 25352 } 25353 } 25354 25355 if (szHtmlModalContent) { 25356 var oModalData = { 25357 modal_title: oNodeTD.find(".ctl-card-content-title").text(), 25358 modal_content: szHtmlModalContent, 25359 position: "centered", 25360 entrance_animation: "animate__slideInUp", 25361 exit_animation: "animate__slideOutDown", 25362 footer_buttons: [ 25363 '<button data-td-id="' + oNodeEditableCell.attr("id") + '" class="btn btn-primary ctl-table-action-save-cell-value"><i class="ctl-wp-studio-icons-floppy"></i><span class="btn-text ml-2">' + 25364 g_oCTLThemeTablesLocalizationFront["Save"] + '</span></button>' 25365 ] 25366 }; 25367 g_oCTLBootstrapModals.showModal(oModalData); 25368 } 25369} 25370 25371function ctlToggleCardsVisualization(oNodeMainWrapper) { 25372 25373 var oNodeTable = oNodeMainWrapper.find(".ctl-theme-tables-wrapper .ctlgrouptablecols"); 25374 var oNodeButton = oNodeMainWrapper.find(".ctl-table-action-toggle-view");
25375 var szBsClasses = oNodeTable.attr("data-bs-classes"); 25376 25377 var oNodeTableWrapper = oNodeMainWrapper.find(".ctl-theme-tables-wrapper"); 25378 oNodeTableWrapper.scrollTop(0); 25379 oNodeTableWrapper.scrollLeft(0); 25380 25381 if (szBsClasses === undefined || szBsClasses === "") { 25382 szBsClasses = ""; 25383 25384 if (oNodeTable.hasClass("table-hover")) { 25385 szBsClasses += 'table-hover '; 25386 oNodeTable.removeClass("table-hover"); 25387 } 25388 25389 if (oNodeTable.hasClass("table")) { 25390 szBsClasses += 'table '; 25391 oNodeTable.removeClass("table"); 25392 } 25393 25394 if (oNodeTable.hasClass("table-striped")) { 25395 szBsClasses += 'table-striped '; 25396 oNodeTable.removeClass("table-striped"); 25397 } 25398 25399 if (oNodeTable.hasClass("table-sm")) { 25400 szBsClasses += 'table-sm '; 25401 oNodeTable.removeClass("table-sm"); 25402 } 25403 25404 if (oNodeTable.hasClass("table-bordered")) { 25405 szBsClasses += 'table-bordered '; 25406 oNodeTable.removeClass("table-bordered"); 25407 } 25408 25409 oNodeTable.attr("data-bs-classes", szBsClasses); 25410 25411 if (oNodeButton.length > 0) { 25412 oNodeButton.find('i').attr("class", "ctl-wp-studio-icons-table"); 25413 oNodeButton.find('.btn-text').text(g_oCTLThemeTablesLocalizationFront["View as table"]); 25414 } 25415 } else { 25416 oNodeTable.addClass(szBsClasses); 25417 oNodeTable.attr("data-bs-classes", ""); 25418 25419 if (oNodeButton.length > 0) { 25420 oNodeButton.find('i').attr("class", "ctl-wp-studio-icons-th"); 25421 oNodeButton.find('.btn-text').text(g_oCTLThemeTablesLocalizationFront["View as cards"]); 25422 } 25423 } 25424 25425 oNodeMainWrapper.toggleClass("ctl-table-cards"); 25426 25427 window.dispatchEvent(new Event('resize')); 25428} 25429 25430function ctlCheckIfForceCardVisualization(oNodeParent = null) { 25431 var width = window.innerWidth; 25432 25433 if (!oNodeParent) { 25434 oNodeParent = jQuery("body"); 25435 } 25436 25437 oNodeParent.find(".ctl-theme-table-main-wrapper").each(function () { 25438 if (!jQuery(this).hasClass("ctl-table-force-cards-on-md")) { 25439 return; 25440 } 25441 25442 if (jQuery(this).hasClass("ctl-table-force-cards-on-md") && 25443 jQuery(this).find(".ctl-table-action-toggle-view").length > 0) { 25444 var oNodeButtonToggleView = jQuery(this).find(".ctl-table-action-toggle-view"); 25445 25446 if (width < 768) { 25447 oNodeButtonToggleView.removeClass("d-inline-block"); 25448 oNodeButtonToggleView.addClass("d-none"); 25449 } else { 25450 oNodeButtonToggleView.addClass("d-inline-block"); 25451 } 25452 } 25453 25454 if (width < 768 && !jQuery(this).hasClass("ctl-table-cards")) { 25455 ctlToggleCardsVisualization(jQuery(this)); 25456 } else if (width > 767 && jQuery(this).hasClass("ctl-table-cards") && 25457 !jQuery(this).hasClass("ctl-cards-visualization-lock")) { 25458 ctlToggleCardsVisualization(jQuery(this)); 25459 } 25460 }); 25461} 25462 25463function ctlResizeScrollableTables(bDelay, iTime, oNodeParent = null) { 25464 25465 if (!oNodeParent) { 25466 oNodeParent = jQuery("body"); 25467 } 25468 25469 oNodeParent.find(".ctl-theme-tables-scrollable-wrapper").each(function () { 25470 var oNodeTablesScrollableWrapper = jQuery(this); 25471 var oNodeInnerTable = jQuery(this).find(".ctlgrouptablecols"); 25472 var oNodeOuterTable = jQuery(this).closest(".ctl-theme-tables-wrapper").find(".scrollable"); 25473 25474 oNodeTablesScrollableWrapper.css("width", "100%"); 25475 oNodeInnerTable.css("width", "100%"); 25476 oNodeOuterTable.css("width", "100%"); 25477 }); 25478 25479 if (bDelay) { 25480 setTimeout(function () { 25481 __ctlResizeScrollableTables(oNodeParent); 25482 }, iTime ? iTime : 500); 25483 } else { 25484 __ctlResizeScrollableTables(oNodeParent); 25485 } 25486} 25487 25488function __ctlResizeScrollableTables(oNodeParent = null) { 25489 25490 if (!oNodeParent) { 25491 oNodeParent = jQuery("body"); 25492 } 25493 25494 oNodeParent.find(".ctl-theme-tables-scrollable-wrapper").each(function () { 25495 25496 var oNodeTablesScrollableWrapper = jQuery(this); 25497 var oNodeInnerTable = jQuery(this).find(".ctlgrouptablecols"); 25498 var oNodeOuterTable = jQuery(this).closest(".ctl-theme-tables-wrapper").find(".scrollable"); 25499 var oNodeInnerThead = oNodeInnerTable.find("thead"); 25500 var oNodeOuterThead = jQuery(this).closest(".ctl-theme-tables-wrapper").find(".scrollable thead"); 25501 var oNodeTableMainWrapper = oNodeTablesScrollableWrapper.closest(".ctl-theme-table-main-wrapper"); 25502 25503 if (oNodeTableMainWrapper.hasClass("ctl-table-cards")) { 25504 oNodeInnerTable.css("width", "100%"); 25505 oNodeOuterTable.css("width", "100%"); 25506 oNodeTablesScrollableWrapper.css("width", "100%"); 25507 } else { 25508 var i = 0; 25509 var iTotalWidth = 0; 25510 25511 oNodeInnerThead.find("th").each(function () { 25512 var iTHWidth = jQuery(this).outerWidth(); 25513 25514 if (!jQuery(this).hasClass("d-none")) { 25515 iTotalWidth += iTHWidth; 25516 jQuery(this).css("width", iTHWidth + "px"); 25517 oNodeOuterThead.find("th").eq(i).css("width", jQuery(this).outerWidth() + "px"); 25518 } 25519 25520 i++; 25521 }); 25522 25523 oNodeInnerTable.css("width", iTotalWidth + "px"); 25524 oNodeOuterTable.css("width", iTotalWidth + "px"); 25525 oNodeTablesScrollableWrapper.css("width", iTotalWidth + "px"); 25526 } 25527 }); 25528} 25529 25530function ctlTableUpdateCardinality(oNodeTableBody) { 25531 var oNodeTableMainWrapper = oNodeTableBody.closest(".ctl-theme-table-main-wrapper"); 25532 var bCardinality = parseInt(oNodeTableMainWrapper.attr("data-cardinality")) === 1 ? true : false;
25533 25534 if (!bCardinality) { 25535 return; 25536 } 25537 25538 var n = 1; 25539 oNodeTableBody.find("tr").each(function () { 25540 if (jQuery(this).attr("data-resource-id") === "table-fake-row") { 25541 return; 25542 } 25543 jQuery(this).find(".cardinality .ctl-table-cell-data").text(n + '.'); 25544 n++; 25545 }); 25546} 25547 25548function ctlTableSortByColumn(oNodeTableBody, iIndexCol, szDataType, szSortMode) { 25549 25550 var aTableHtml = new Array(); 25551 25552 var oNodeTable = oNodeTableBody.closest("table"); 25553 var oNodeFakeRow = oNodeTableBody.find("tr[data-resource-id=table-fake-row]"); 25554 var oClonedNodeFakeRow = oNodeFakeRow.clone(); 25555 25556 oNodeFakeRow.remove(); 25557 25558 oNodeTableBody.find("tr").each(function () { 25559 aTableHtml.push({ 25560 html: jQuery(this).clone(),//[0]+outerHTML, 25561 value: jQuery(this).children().eq(iIndexCol).attr("data-value") 25562 }); 25563 }); 25564 25565 ctlTableSortByValue(aTableHtml, "value", szDataType, szSortMode); 25566 oNodeTableBody.html(""); 25567 25568 for (var i = 0; i < aTableHtml.length; i++) { 25569 oNodeTableBody.append(aTableHtml[i]["html"]); 25570 } 25571 25572 oNodeTableBody.prepend(oClonedNodeFakeRow); 25573 25574 ctlTableUpdateCardinality(oNodeTableBody); 25575 ctlTableRefreshFooterCalculations(oNodeTable); 25576} 25577 25578function ctlTableSearchInTable(oNodeMainWrapper, szKey) { 25579 var oNodeTableBody = oNodeMainWrapper.find("tbody"); 25580 25581 szKey = szKey.toLowerCase(); 25582 25583 if (szKey === "") { 25584 oNodeTableBody.find("tr").css("display", "table-row"); 25585 } else { 25586 oNodeTableBody.find("tr").css("display", "none"); 25587 } 25588 25589 oNodeTableBody.find("tr").each(function () { 25590 jQuery(this).find(".ctl-table-cell-data").each(function () { 25591 var szTextData = jQuery(this).text().toLowerCase(); 25592 if (szTextData.indexOf(szKey) !== -1) { 25593 jQuery(this).closest("tr").css("display", "table-row"); 25594 } 25595 }); 25596 }); 25597 25598 oNodeTableBody.find("tr").each(function () { 25599 if (jQuery(this).css("display") === "none") { 25600 jQuery(this).find("input[type=checkbox]").prop("checked", false); 25601 } 25602 }); 25603 25604 ctlTableUpdateCounter(oNodeMainWrapper); 25605 ctlTableRefreshFooterCalculations(oNodeTableBody.closest("table")); 25606 25607 window.dispatchEvent(new Event('resize')); 25608} 25609 25610function ctlTableChangeStatusRows(oNodeButton) { 25611 25612 var oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 25613 var oNodeTableBody = oNodeMainTableWrapper.find("tbody"); 25614 var aIdsToUpdate = []; 25615 25616 oNodeTableBody 25617 .find("tr.ctl-table-row .ctl-theme-tables-row-selector input[type=checkbox]:checked") 25618 .each(function () { 25619 aIdsToUpdate.push(jQuery(this).closest("tr").attr("data-resource-id")); 25620 }); 25621 25622 if (aIdsToUpdate.length === 0) { 25623 g_oCTLBootstrapModals.alert("", 25624 g_oCTLThemeTablesLocalizationFront["Select at least one row."]); 25625 return; 25626 } 25627 25628 ctlTableAjaxChangeStatusOfPosts(oNodeMainTableWrapper.attr("data-table-id"), 25629 aIdsToUpdate, oNodeButton.val()); 25630} 25631 25632function ctlTableDeleteRows(oNodeButton, bCustomDeletion) { 25633 25634 var oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 25635 var oNodeTableBody = oNodeMainTableWrapper.find("tbody"); 25636 var oNodeTable = oNodeTableBody.closest("table"); 25637 var iCntRowsToDelete = 0; 25638 25639 if (oNodeButton.hasClass("confirm")) { 25640 oNodeTableBody 25641 .find("tr.ctl-table-row .ctl-theme-tables-row-selector input[type=checkbox]:checked") 25642 .each(function () { 25643 iCntRowsToDelete++; 25644 }); 25645 25646 if (iCntRowsToDelete === 0) { 25647 g_oCTLBootstrapModals.alert("", 25648 g_oCTLThemeTablesLocalizationFront["Select at least one row."]); 25649 return; 25650 } 25651 25652 var szConfirmBtnTitle = g_oCTLThemeTablesLocalizationFront["Yes"]; 25653 var id = g_oCTLBootstrapModals.showModal({ 25654 modal_content: g_oCTLThemeTablesLocalizationFront["Do you want to delete the selected rows?"], 25655 closeable: false, 25656 position: "centered", 25657 button_close_title: g_oCTLThemeTablesLocalizationFront["No"], 25658 footer_buttons: ['<button class="btn btn-outline-primary" data-confirm="modal">' + szConfirmBtnTitle + '</button>'] 25659 }); 25660 jQuery('#' + id + ' button[data-confirm="modal"]').on("click", function () { 25661 25662 oNodeTableBody.find("tr.ctl-table-row .ctl-theme-tables-row-selector input[type=checkbox]:checked").each(function () { 25663 var oNodeRow = jQuery(this).closest("tr"); 25664 if (bCustomDeletion) { 25665 jQuery(document).trigger("ctl-table-delete-row", [ 25666 oNodeMainTableWrapper.attr("data-main-class"), oNodeRow]); 25667 } else { 25668 ctlTableDeleteRow(oNodeRow.find(".btn-delete-row"), false, true); 25669 } 25670 }); 25671 25672 var oNodeCheckSelectMultiple = oNodeMainTableWrapper.find( 25673 ".ctl-theme-tables-action-select-all .custom-control-input"); 25674 if (oNodeCheckSelectMultiple.length > 0) { 25675 oNodeCheckSelectMultiple.prop("checked", false); 25676 } 25677 25678 ctlTableUpdateCounter(oNodeMainTableWrapper); 25679 ctlTableUpdateCardinality(oNodeTableBody); 25680 ctlTableRefreshFooterCalculations(oNodeTable); 25681 jQuery('#' + id).modal('hide'); 25682 }); 25683 } else { 25684 oNodeTableBody.find("tr.ctl-table-row input[type=checkbox]:checked").each(function () { 25685 jQuery(this).closest("tr").remove(); 25686 iCntRowsToDelete++; 25687 }); 25688 25689 if (iCntRowsToDelete === 0) { 25690 ctlTableUpdateCounter(oNodeMainTableWrapper); 25691 ctlTableUpdateCardinality(oNodeTableBody); 25692 ctlTableRefreshFooterCalculations(oNodeTable); 25693 } 25694 } 25695} 25696 25697function ctlTableRemoveNodeRow(oNodeRow) { 25698 var oNodeTable = oNodeRow.closest("table"); 25699 var oNodeMainTableWrapper = oNodeRow.closest(".ctl-theme-table-main-wrapper"); 25700 25701 oNodeRow.fadeOut("slow", function () { 25702 oNodeRow.remove(); 25703 ctlTableUpdateCounter(oNodeMainTableWrapper); 25704 ctlTableUpdateCardinality(oNodeMainTableWrapper.find("tbody")); 25705 ctlTableRefreshFooterCalculations(oNodeTable); 25706 ctlVulcanoResizeLayout(); 25707 }); 25708} 25709 25710function ctlTableAjaxChangeStatusOfPosts(idTable, aResourceIds, szStatus) { 25711 25712 var idLoading = g_oCTLWPStudio.showLoading(""); 25713 25714 var oFormData = {}; 25715 oFormData['action'] = 'ctl-wp-studio'; 25716 oFormData['execute'] = 'ctl-theme-tables'; 25717 oFormData['extension-action'] = 'change-status-of-posts'; 25718 oFormData['table-id'] = idTable;
25719 oFormData['resource-ids'] = aResourceIds; 25720 oFormData['post-status'] = szStatus; 25721 25722 jQuery.ajax({ 25723 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 25724 type: "POST", 25725 data: oFormData, 25726 cache: false, 25727 method: 'POST', 25728 success: function (response, textStatus, jqXHR) { 25729 var oResponse = jQuery.parseJSON(response); 25730 if (oResponse.res === true) { 25731 if ( oResponse.alert ){ 25732 g_oCTLWPStudio.closeDlg(idLoading); 25733 25734 g_oCTLBootstrapModals.alert("", oResponse.alert, function(){ 25735 g_oCTLWPStudio.showLoading(""); 25736 window.location.reload(); 25737 }, g_oCTLThemeTablesLocalizationFront["Continue"]); 25738 }else{ 25739 window.location.reload(); 25740 } 25741 } else { 25742 g_oCTLWPStudio.closeDlg(idLoading); 25743 alert(oResponse.desc); 25744 } 25745 }, 25746 error: function (jqXHR, textStatus, errorThrown) { 25747 g_oCTLWPStudio.closeDlg(idLoading); 25748 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 25749 } 25750 }); 25751} 25752 25753function ctlTableAjaxDeleteResource(idTable, idResource, oNodeRow, bMultipleDeletion) { 25754 25755 var idLoading = null; 25756 25757 if (!bMultipleDeletion) { 25758 idLoading = g_oCTLWPStudio.showLoading(""); 25759 } 25760 25761 var oFormData = {}; 25762 oFormData['action'] = 'ctl-wp-studio'; 25763 oFormData['execute'] = 'ctl-theme-tables'; 25764 oFormData['extension-action'] = 'delete-resource'; 25765 oFormData['table-id'] = idTable; 25766 oFormData['resource-id'] = idResource; 25767 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 25768 25769 jQuery.ajax({ 25770 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 25771 type: "POST", 25772 data: oFormData, 25773 cache: false, 25774 method: 'POST', 25775 success: function (response, textStatus, jqXHR) { 25776 g_oCTLWPStudio.closeDlg(idLoading); 25777 25778 var oResponse = jQuery.parseJSON(response); 25779 25780 if (oResponse.res === true) { 25781 ctlTableRemoveNodeRow(oNodeRow); 25782 } 25783 }, 25784 error: function (jqXHR, textStatus, errorThrown) { 25785 g_oCTLWPStudio.closeDlg(idLoading); 25786 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 25787 } 25788 }); 25789} 25790 25791 25792function ctlTableDeleteRow(oNodeButton, bCustomDeletion, bMultipleDeletion) { 25793 var oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 25794 25795 let oNodeRow = null; 25796 if (oNodeMainTableWrapper.hasClass("ctl-theme-table-kanban")) { 25797 oNodeRow = oNodeButton.closest(".ctl-theme-table-kanban-row"); 25798 } else { 25799 oNodeRow = oNodeButton.closest("tr"); 25800 } 25801 25802 var idResource = oNodeRow.attr("data-resource-id"); 25803 var szDataType = oNodeButton.attr("data-type"); 25804 25805 if (!idResource && !bCustomDeletion) { 25806 ctlTableRemoveNodeRow(oNodeRow); 25807 return; 25808 } 25809 25810 if (oNodeButton.hasClass("confirm") && !bMultipleDeletion) { 25811 var szConfirmBtnTitle = g_oCTLThemeTablesLocalizationFront["Yes"]; 25812 var id = g_oCTLBootstrapModals.showModal({ 25813 modal_content: g_oCTLThemeTablesLocalizationFront["Do you want to delete this row?"], 25814 closeable: false, 25815 position: "centered", 25816 button_close_title: g_oCTLThemeTablesLocalizationFront["No"], 25817 footer_buttons: ['<button class="btn btn-outline-primary" data-confirm="modal">' + szConfirmBtnTitle + '</button>'] 25818 }); 25819 jQuery('#' + id + ' button[data-confirm="modal"]').on("click", function () { 25820 25821 if (bCustomDeletion) { 25822 jQuery(document).trigger("ctl-table-delete-row", [ 25823 oNodeMainTableWrapper.attr("data-main-class"), oNodeRow]); 25824 } else if (szDataType == "post-filter" || 25825 szDataType == "user-filter") { 25826 ctlTableAjaxDeleteResource( 25827 oNodeMainTableWrapper.attr("data-table-id"), 25828 idResource, oNodeRow); 25829 } else { 25830 ctlTableRemoveNodeRow(oNodeRow); 25831 } 25832 25833 jQuery('#' + id).modal('hide'); 25834 }); 25835 } else { 25836 if (bCustomDeletion) { 25837 jQuery(document).trigger("ctl-table-delete-row", [ 25838 oNodeMainTableWrapper.attr("data-main-class"), oNodeRow]); 25839 } else if (szDataType == "post-filter" || 25840 szDataType == "user-filter") { 25841 ctlTableAjaxDeleteResource( 25842 oNodeMainTableWrapper.attr("data-table-id"),
25843 idResource, oNodeRow, bMultipleDeletion); 25844 } else { 25845 ctlTableRemoveNodeRow(oNodeRow); 25846 } 25847 } 25848} 25849 25850function ctlTableUpdateCounter(oNodeMainTableWrapper) { 25851 var oNodeTableBody = oNodeMainTableWrapper.find("tbody"); 25852 var oNodeRowCounter = oNodeMainTableWrapper.find(".ctl-theme-tables-row-counter small"); 25853 25854 if (oNodeRowCounter.length > 0) { 25855 // remove the fake row 25856 var iCntRows = oNodeTableBody.children().length - 1; 25857 25858 iCntRows = 0; 25859 oNodeTableBody.find(".ctl-table-row").each(function () { 25860 if (jQuery(this).css("display") !== "none") { 25861 iCntRows++; 25862 } 25863 }); 25864 25865 if (iCntRows === 0) { 25866 oNodeRowCounter.text(stripslashes(oNodeMainTableWrapper.attr("data-label-no-rows"))); 25867 } else if (iCntRows === 1) { 25868 oNodeRowCounter.text(stripslashes(oNodeMainTableWrapper.attr("data-label-one-row"))); 25869 } else { 25870 oNodeRowCounter.text( 25871 sprintf(stripslashes(oNodeMainTableWrapper.attr("data-label-more-rows")), iCntRows) 25872 ); 25873 } 25874 } 25875} 25876 25877function ctlTableAddRow(oNodeTableBody) { 25878 25879 var oNodeTable = oNodeTableBody.closest("table"); 25880 var oNodeMainTableWrapper = oNodeTableBody.closest(".ctl-theme-table-main-wrapper"); 25881 var oFakeRow = oNodeTableBody.find("tr[data-resource-id=table-fake-row]"); 25882 25883 var oNewRow = oFakeRow.clone(); 25884 25885 oNewRow.addClass("ctl-table-row"); 25886 oNewRow.attr("data-resource-id", ""); 25887 oNewRow.find("td").each(function () { 25888 var oNodeTD = jQuery(this); 25889 var oNodeCellData = jQuery(this).find(".ctl-table-cell-data"); 25890 25891 oNodeTD.removeClass("editing"); 25892 25893 25894 if (oNodeTD.hasClass("editable") && 25895 oNodeTD.attr("data-format") === "SWITCH" && 25896 oNodeTD.attr("data-type") === "boolean") { 25897 25898 var oNodeSwitch = oFakeRow.find(".switch"); 25899 25900 oNodeCellData.html( 25901 formFieldsBuildSwitchField({ 25902 "data-on-label": oNodeSwitch.attr("data-on-label"), 25903 "data-on-value": oNodeSwitch.attr("data-on-value"), 25904 "data-off-label": oNodeSwitch.attr("data-off-label"), 25905 "data-off-value": oNodeSwitch.attr("data-off-value") 25906 }, oNodeSwitch.attr("data-off-value")) 25907 ); 25908 25909 oNodeTD.attr("data-value", oNodeSwitch.attr("data-off-value")); 25910 } else if (oNodeTD.hasClass("multiple-selection")) { 25911 oNodeCellData.html( 25912 formFieldsBuildCheck({ 25913 "classes": 'ctl-theme-tables-row-selector', 25914 "field-name": oNodeMainTableWrapper.attr("data-selection-field-name") 25915 }, 25916 "", false) 25917 ); 25918 } else if (!oNodeCellData.hasClass("ctl-table-row-actions")) { 25919 oNodeTD.attr("data-value", ""); 25920 } 25921 }); 25922 25923 oNodeTableBody.append(oNewRow); 25924 25925 var oNodeScrollableWrapper = oNodeTableBody.closest('.ctl-theme-tables-scrollable-wrapper'); 25926 25927 if (oNodeScrollableWrapper.length > 0) { 25928 oNodeScrollableWrapper.animate({ scrollTop: oNodeScrollableWrapper[0].scrollHeight }, 'slow'); 25929 } else { 25930 var iOffsetTop = oNewRow.offset().top; 25931 jQuery('html,body,.modal').animate({ scrollTop: iOffsetTop }, 'slow'); 25932 } 25933 25934 ctlTableUpdateCounter(oNodeMainTableWrapper); 25935 ctlTableUpdateCardinality(oNodeTableBody); 25936 ctlTableRefreshFooterCalculations(oNodeTable); 25937} 25938 25939function ctlTableSortByValue(aData, szProp, szDataType, szOrder) { 25940 25941 var __compare = null; 25942 25943 switch (szDataType) { 25944 case "int": 25945 case "float": { 25946 __compare = function __compareNumber(a, b) { 25947 var fValueA = Number(a[szProp]); 25948 var fValueB = Number(b[szProp]); 25949 25950 if (isNaN(fValueA)) { fValueA = 0; } 25951 if (isNaN(fValueB)) { fValueB = 0; } 25952 25953 if (szOrder === "ASC") { 25954 if (fValueA < fValueB) { return -1; } 25955 if (fValueA > fValueB) { return 1; } 25956 } else { 25957 if (fValueA > fValueB) { return -1; } 25958 if (fValueA < fValueB) { return 1; } 25959 } 25960 return 0; 25961 }; 25962 } break; 25963 default: { 25964 __compare = function __compareString(a, b) { 25965 if (szOrder === "ASC") { 25966 if (a[szProp] < b[szProp]) { return -1; } 25967 if (a[szProp] > b[szProp]) { return 1; } 25968 } else { 25969 if (a[szProp] > b[szProp]) { return -1; } 25970 if (a[szProp] < b[szProp]) { return 1; } 25971 } 25972 return 0; 25973 }; 25974 } 25975 } 25976 25977 aData.sort(__compare); 25978}; 25979 25980function __ctlThemeTableFormatCell(value, oItemConfig, oRowData, bFooter = false) { 25981 25982 szDataFormat = bFooter ? oItemConfig["footer-data-format"] : oItemConfig["data-format"]; 25983 szDataInput = bFooter ? oItemConfig["footer-data-input"] : oItemConfig["data-input"]; 25984 25985 switch (szDataFormat) { 25986 case "HOURS": { 25987 if (value) { 25988 value = Math.round(value / 3600); 25989 } else { 25990 value = 0; 25991 } 25992 } break; 25993 case "MINUTES": { 25994 if (value) { 25995 value = Math.round(value / 60); 25996 } else { 25997 value = 0; 25998 } 25999 } break; 26000 case "HOURS-MINUTES": 26001 case "HOURS-MINUTES-FROM-SECONDS":{ 26002 if (value) { 26003 iHours = Math.floor(value / 3600);
26004 iMinutes = Math.floor((value % 3600) / 60); 26005 value = iHours + "h " + iMinutes + "m"; 26006 } else { 26007 value = "0h 0m"; 26008 } 26009 }break; 26010 case "HOURS-MINUTES-FROM-MINUTES":{ 26011 if (value) { 26012 iHours = Math.floor(value / 60); 26013 iMinutes = value % 60; 26014 value = iHours + "h " + iMinutes + "m"; 26015 } else { 26016 value = "0h 0m"; 26017 } 26018 }break; 26019 case "HOURS-MINUTES": { 26020 if (value) { 26021 iHours = Math.floor(value / 3600); 26022 iMinutes = Math.floor((value % 3600) / 60); 26023 value = iHours + ":" + iMinutes.toString().padStart(2, "0"); 26024 } else { 26025 value = "0:00"; 26026 } 26027 } break; 26028 case "DD/MM/YYYY": { 26029 if (value) { 26030 value = moment(value, "YYYY-MM-DD").format("DD/MM/YYYY"); 26031 } 26032 } break; 26033 case "YYYY-MM-DD HH:MM:SS": { 26034 if (value) { 26035 26036 switch (oItemConfig["data-input"]) { 26037 case "YYYY-MM-DD HH:mm:ss": { 26038 timestamp = Number(moment(value).format("X")); 26039 } break; 26040 case "timestamp": { 26041 timestamp = Number(value); 26042 } break; 26043 default: { 26044 timestamp = Number(value); 26045 } 26046 } 26047 26048 switch (oItemConfig["date-offset"]) { 26049 case "website": { 26050 timestamp = timestamp + 26051 (g_iWebsiteTimeZoneOffset * 3600); 26052 26053 } break; 26054 case "user": { 26055 console.log("to be implemented"); 26056 } break; 26057 } 26058 26059 value = moment.unix(timestamp).format('YYYY-MM-DD HH:mm:ss'); 26060 } 26061 } break; 26062 case "DD-MMM-YY": { 26063 value = moment(value).format('DD-MMM-YY'); 26064 } break; 26065 case "POST-STATUS": { 26066 oItemConfig["allow-html"] = true; 26067 26068 if (oRowData["resource-type"]) { 26069 var szPostStatus = value; 26070 var oStatusSettings = g_oCPTConfig["statuses"][oRowData["resource-type"]][value]; 26071 if (!oStatusSettings) { 26072 return value; 26073 } 26074 26075 var szStyle = ""; 26076 var szStatusLabel = oStatusSettings["status-label"]; 26077 26078 if (jQuery("html").attr("lang")) { 26079 let curLanguage = jQuery("html").attr("lang"); 26080 26081 if (oStatusSettings["status-label-" + curLanguage]) { 26082 szStatusLabel = oStatusSettings["status-label-" + curLanguage]; 26083 } 26084 } 26085 26086 if (oStatusSettings["color"]) { 26087 szStyle = ' style="background-color: ' + oStatusSettings["color"] + ';"'; 26088 } 26089 26090 value = '<span class="post-status chroma-apply-correction post-status-' + szPostStatus + 26091 '" ' + szStyle + '>' + szStatusLabel + '</span>'; 26092 } 26093 } break; 26094 case "COLOR": { 26095 if (value) { 26096 oItemConfig["allow-html"] = true; 26097 var szStyle = ' style="background-color: ' + value + ';"'; 26098 value = '<span class="post-color chroma-apply-correction" ' + szStyle + '>' + 26099 value + '</span>'; 26100 } 26101 } break; 26102 case "USER-STATUS": { 26103 oItemConfig["allow-html"] = true; 26104 var szUserStatus = value; 26105 if (oItemConfig["label-user-status-" + value]) { 26106 value = oItemConfig["label-user-status-" + value]; 26107 } 26108 value = '<span class="user-status-' + szUserStatus + '">' + 26109 value + '</span>'; 26110 } break; 26111 case "EU-CURRENCY": { 26112 if (!isNaN(value)) { 26113 26114 aTags = __ctlThemeTablesGenerateThresholdTags(oItemConfig, value); 26115 26116 26117 value = '⬠' + numberFormat(value, oItemConfig["number-max-decimals"], ',', '.'); 26118 oItemConfig["allow-html"] = true; 26119 26120 if (aTags.length > 0) { 26121 value = aTags[0] + value + aTags[1]; 26122 } 26123 } 26124 } break; 26125 case "PERCENTAGE": { 26126 if (!isNaN(value)) { 26127 value = parseFloat(value); 26128 26129 aTags = __ctlThemeTablesGenerateThresholdTags(oItemConfig, value); 26130 26131 value = value.toFixed(oItemConfig["number-max-decimals"]); 26132 value += '%'; 26133 26134 if (aTags.length > 0) { 26135 value = aTags[0] + value + aTags[1]; 26136 oItemConfig["allow-html"] = true; 26137 } 26138 } 26139 } break; 26140 case "YT_ID": { 26141 value = '<iframe class="ctl-aspect-ratio" data-aspect-ratio="16:9" width="100%" src="https://www.youtube.com/embed/' + value + '" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'; 26142 oItemConfig["allow-html"] = true; 26143 } break; 26144 case "GMAPS_GPS_COORDS": { 26145 let aCoords = value.split(" "); 26146 if (aCoords.length === 2) { 26147 value = '<a target="_blank" href="https://maps.google.com/?q=' + 26148 encodeURI(aCoords[0].trim() + ',' + aCoords[1].trim()) + '">' + 26149 '<i class="ctl-wp-studio-icons-location"></i>' + value + '</a>'; 26150 oItemConfig["allow-html"] = true; 26151 } 26152 } break; 26153 case "GMAPS_URL": { 26154 value = '<a target="_blank" href="https://maps.google.com/?q=' + encodeURI(value) + '">' + 26155 '<i class="ctl-wp-studio-icons-location"></i>' + value + '</a>'; 26156 oItemConfig["allow-html"] = true; 26157 } break; 26158 case "NUMBER": { 26159 26160 aTags = __ctlThemeTablesGenerateThresholdTags(oItemConfig, value); 26161 value = numberFormat(value, oItemConfig["number-max-decimals"], ',', '.'); 26162 26163 if (aTags.length > 0) { 26164 value = aTags[0] + value + aTags[1]; 26165 oItemConfig["allow-html"] = true; 26166 } 26167 } break; 26168 case "NUMBER-ITALIAN": { 26169 26170 aTags = __ctlThemeTablesGenerateThresholdTags(oItemConfig, value); 26171 value = numberFormat(value, oItemConfig["number-max-decimals"], ',', '.'); 26172 if (aTags.length > 0) { 26173 value = aTags[0] + value + aTags[1]; 26174 oItemConfig["allow-html"] = true; 26175 } 26176 26177 } break; 26178 case "INTEGER": { 26179 26180 aTags = __ctlThemeTablesGenerateThresholdTags(oItemConfig, value); 26181 value = numberFormat(value, 0, ',', '.'); 26182 26183 if (aTags.length > 0) { 26184 value = aTags[0] + value + aTags[1]; 26185 oItemConfig["allow-html"] = true; 26186 } 26187 26188 } break; 26189 case "POPUP-FULL-TEXT": { 26190 if (value) { 26191 value = '<button type="button" class="btn btn-sm btn-link ctl-theme-tables-action-popup-full-text"><i class="ctl-wp-studio-icons-eye"></i></button>'; 26192 oItemConfig["allow-html"] = true; 26193 } 26194 } break; 26195 case "INPUT_FLOAT": { 26196 if (!Number.isNaN(valuehtmlCellData)) { 26197 value = 0; 26198 } 26199 26200 if (!bFooter) { 26201 value = formFieldsBuildTextField({ 26202 "validate-number": true, 26203 "display": "inline-block", 26204 "field-name": oItemConfig["field-name"], 26205 "control-classes": "px-0", 26206 "wrapper-classes": "m-0", 26207 "classes": "form-control-sm", 26208 "align-value": oItemConfig["col-align"], 26209 "select-on-focus": true, 26210 }, valuehtmlCellData); 26211 oItemConfig["allow-html"] = true; 26212 } 26213 } break; 26214 case "IMAGE": { 26215 if (value && value != "-") { 26216 value = '<img src="' + value + '" class="img-fluid ctl-editor-framework-action-img-preview"/>'; 26217 oItemConfig["allow-html"] = true; 26218 } 26219 } break; 26220 case "URL": { 26221 if (value && value != "-") { 26222 value = '<a target="_blank" href="' + value + '">' + value + '</a>'; 26223 oItemConfig["allow-html"] = true; 26224 } 26225 } break; 26226 case "PHONE": { 26227 if (value) { 26228 value = '<a href="tel:' + value + '">' + value + '</a>';; 26229 oItemConfig["allow-html"] = true; 26230 } 26231 } break; 26232 case "EMAIL": { 26233 if (value) { 26234 value = '<a href="mailto:' + value + '">' + value + '</a>';; 26235 oItemConfig["allow-html"] = true; 26236 } 26237 } break;
26238 case "LIST": { 26239 if (value) { 26240 let aItems = []; 26241 switch ($szDataInput) { 26242 case "ARRAY-INT": 26243 case "ARRAY-STRING": { 26244 aItems = JSON.parse(Base64.decode(value)); 26245 } break; 26246 default: { 26247 aItems = JSON.parse(value); 26248 } 26249 } 26250 26251 var htmlValue = '<ul class="ctl-theme-tables-list-items px-0 mx-0 list-unstyled">'; 26252 for (var k = 0; k < aItems.length; k++) { 26253 var item = aItems[k]; 26254 htmlValue += '<li>' + item + '</li>'; 26255 } 26256 htmlValue += '</ul>'; 26257 value = htmlValue; 26258 } 26259 26260 oItemConfig["allow-html"] = true; 26261 } break; 26262 case "INLINE-LIST": { 26263 if (value) { 26264 let aItems = []; 26265 switch ($szDataInput) { 26266 case "ARRAY-INT": 26267 case "ARRAY-STRING": { 26268 aItems = JSON.parse(Base64.decode(value)); 26269 } break; 26270 default: { 26271 aItems = JSON.parse(value); 26272 } 26273 } 26274 26275 var htmlValue = '<ul class="ctl-theme-tables-inline-list-items px-0 mx-0 list-unstyled">'; 26276 for (var k = 0; k < aItems.length; k++) { 26277 var item = aItems[k]; 26278 htmlValue += '<li>' + item + '</li>'; 26279 } 26280 htmlValue += '</ul>'; 26281 value = htmlValue; 26282 } 26283 26284 oItemConfig["allow-html"] = true; 26285 } break; 26286 case "ATTACHMENTS": { 26287 if (value) { 26288 value = JSON.parse(value); 26289 26290 var htmlValue = '<ul class="ctl-theme-tables-list-attachments px-0 mx-0 list-unstyled">'; 26291 for (var k = 0; k < value.length; k++) { 26292 var url = value[k]; 26293 var filename = url.split('/').pop(); 26294 htmlValue += '<li><a class="" target="_blank" href="' + url + '"><i class="ctl-wp-studio-icons-download-cloud mr-1"></i><span>' + filename + '</span></a></li>'; 26295 } 26296 htmlValue += '</ul>'; 26297 value = htmlValue; 26298 } 26299 26300 oItemConfig["allow-html"] = true; 26301 } break; 26302 case "GALLERY": { 26303 if (value) { 26304 value = JSON.parse(value); 26305 var htmlValue = '<ul class="ctl-theme-tables-list-gallery px-0 mx-0 list-unstyled">'; 26306 for (var k = 0; k < value.length; k++) { 26307 var url = value[k]; 26308 htmlValue += '<img src="' + url + '" class="img-fluid"/>'; 26309 } 26310 htmlValue += '</ul>'; 26311 value = htmlValue; 26312 } 26313 oItemConfig["allow-html"] = true; 26314 } break; 26315 case "SWITCH": { 26316 if (value !== "") { 26317 var aData = oItemConfig["data-input"].split("-"); 26318 var szOnValue = aData[1]; 26319 var szOffValue = aData[2]; 26320 26321 value = formFieldsBuildSwitchField({ 26322 "control-classes": "mb-0", 26323 "data-on-value": szOnValue, 26324 "data-off-value": szOffValue, 26325 "readonly": !oItemConfig["editable"] 26326 }, value); 26327 oItemConfig["allow-html"] = true; 26328 } else { 26329 var aData = oItemConfig["data-input"].split("-"); 26330 var szOnValue = aData[1]; 26331 var szOffValue = aData[2]; 26332 26333 if (szOffValue == "empty") { 26334 szOffValue = "0"; 26335 26336 value = formFieldsBuildSwitchField({ 26337 "control-classes": "mb-0", 26338 "data-on-value": szOnValue, 26339 "data-off-value": "0", 26340 "readonly": !oItemConfig["editable"] 26341 }, "0"); 26342 oItemConfig["allow-html"] = true; 26343 } 26344 } 26345 } break; 26346 } 26347 26348 return value; 26349} 26350 26351function __ctlThemeTablesGenerateThresholdTags(oItemConfig, fValue) { 26352 26353 if (oItemConfig["apply-threshold-colors"]) { 26354 for (var i = 0; i < 3; i++) { 26355 if (!(oItemConfig["threshold-color-" + i]) ||
26356 !(oItemConfig["threshold-op-" + i])) { 26357 continue; 26358 } 26359 26360 color = oItemConfig["threshold-color-" + i]; 26361 26362 szStartTag = '<span style="color: ' + color + ';" class="ctl-threshold-color-' + i + '">'; 26363 26364 if (oItemConfig["threshold-style"]) { 26365 switch (oItemConfig["threshold-style"]) { 26366 case "badge": { 26367 szStartTag = '<span style="background-color: ' + color + ';" class="ctl-theme-table-threshold-tag chroma-apply-correction ctl-threshold-color-' + i + '">'; 26368 } break; 26369 case "text": { 26370 szStartTag = '<span style="color: ' + color + ';" class="ctl-threshold-color-' + i + '">'; 26371 } break; 26372 } 26373 } 26374 26375 szEndTag = '</span>'; 26376 26377 fValue = Number(fValue); 26378 switch (oItemConfig["threshold-op-" + i]) { 26379 case "greater-than": { 26380 if (fValue > oItemConfig["threshold-value-" + i]) { 26381 return [szStartTag, szEndTag]; 26382 } 26383 } break; 26384 case "greater-equal-than": { 26385 if (fValue >= oItemConfig["threshold-value-" + i]) { 26386 return [szStartTag, szEndTag]; 26387 } 26388 } break; 26389 case "equal": { 26390 if (fValue == oItemConfig["threshold-value-" + i]) { 26391 return [szStartTag, szEndTag]; 26392 } 26393 } break; 26394 case "lower-equal-than": { 26395 if (fValue <= oItemConfig["threshold-value-" + i]) { 26396 return [szStartTag, szEndTag]; 26397 } 26398 } break; 26399 case "lower-than": { 26400 if (fValue < oItemConfig["threshold-value-" + i]) { 26401 return [szStartTag, szEndTag]; 26402 } 26403 } break; 26404 } 26405 } 26406 } 26407 return []; 26408} 26409 26410 26411function ctlThemeTablesBuildCSV(oData, aRows) { 26412 26413 var oConfig = oData["table"]; 26414 var aHeader = oData["headers"]; 26415 var aItemConfig = oData["items"]; 26416 var aActions = oData["actions"]; 26417 26418 if (!aRows) { 26419 aRows = []; 26420 } 26421 26422 var oDefault = { 26423 'table-title': '', 26424 'table-desc': '', 26425 'head-classes': '', 26426 'striped': true, 26427 'bordered': false, 26428 'hover': true, 26429 'caption': '', 26430 'responsive': true, 26431 'borderless': false, 26432 'small': false, 26433 'max-height': 0, 26434 'hide-if-empty': false, 26435 26436 'print-num-rows': false, 26437 'label-no-rows': '', 26438 'label-one-row': '', 26439 'label-more-rows': '', 26440 26441 'action-position': 'right', 26442 'footer-actions-in-modals': false, 26443 'footer-actions-position': 'bottom', 26444 'footer-actions-horizontal-alignment': 'right', 26445 'action-add-rows': false, 26446 'action-new-row': false, 26447 'action-save-table': false, 26448 'action-search-in-table': false, 26449 26450 'custom-deletion': false, 26451 'confirm-delete': false, 26452 26453 'message-if-empty': '', 26454 'multiple-selection': false, 26455 'show-cardinality': false, 26456 'cardinality-width': '0', 26457 'selection-field-name': '', 26458 'class': '', 26459 26460 'print-table': false, 26461 'maxmize-table': false, 26462 }; 26463 26464 oConfig = jQuery.extend(oDefault, oConfig); 26465 26466 szSeparator = ';'; 26467 26468 26469 26470 var aCSVTotal = new Array(); 26471 var aCSVRow = new Array(); 26472 26473 for (var i = 0; i < aHeader.length; i++) { 26474 var oHeader = aHeader[i]; 26475 aCSVRow.push(oHeader["label"]); 26476 } 26477 aCSVTotal.push(aCSVRow); 26478 26479 for (var i = 0; i < aRows.length; i++) { 26480 var oRow = aRows[i]; 26481 aCSVTotal.push(oRow.items); 26482 } 26483 26484 var csvContent = "data:text/csv;charset=utf-8," + aCSVTotal.map(e => e.join(szSeparator)).join("\r\n"); 26485 var encodedUri = encodeURI(csvContent); 26486 var link = document.createElement("a"); 26487 link.setAttribute("href", encodedUri); 26488 var szFileName = prompt(g_oCTLThemeTablesLocalizationFront["Type a filename..."]); 26489 26490 if (!szFileName) { 26491 return; 26492 } 26493 link.setAttribute("download", szFileName + ".csv"); 26494 document.body.appendChild(link); 26495 link.click(); 26496} 26497 26498function ctlThemeTablesBuildTable(idTableWidget, oData, aRows) { 26499 26500 var oConfig = oData["table"]; 26501 var aHeader = oData["headers"]; 26502 var aItemConfig = oData["items"]; 26503 var aActions = oData["actions"]; 26504 26505 if (!aRows) { 26506 aRows = []; 26507 } 26508 26509 var html = ""; 26510 26511 var oDefault = { 26512 'table-title': '',
26513 'head-classes': '', 26514 'striped': true, 26515 'bordered': false, 26516 'hover': true, 26517 'caption': '', 26518 'responsive': true, 26519 'borderless': false, 26520 'small': false, 26521 'max-height': 0, 26522 'hide-if-empty': false, 26523 26524 'print-num-rows': false, 26525 'label-no-rows': '', 26526 'label-one-row': '', 26527 'label-more-rows': '', 26528 'label-split-post-modal-title': '', 26529 26530 'action-position': 'right', 26531 'action-add-rows': false, 26532 'action-new-row': false, 26533 'action-save-table': false, 26534 'action-search-in-table': false, 26535 26536 'custom-deletion': false, 26537 'confirm-delete': false, 26538 26539 'message-if-empty': '', 26540 'multiple-selection': false, 26541 'show-cardinality': false, 26542 'cardinality-width': '0', 26543 'selection-field-name': '', 26544 'class': '', 26545 26546 'print-table': false, 26547 'maxmize-table': false, 26548 26549 "period-cell-min-width": 0, 26550 "period-create-modal-id": 0, 26551 "period-edit-modal-id": 0, 26552 }; 26553 26554 oConfig = jQuery.extend(oDefault, oConfig); 26555 26556 if (!aRows || aRows.length === 0) { 26557 if (oConfig["hide-if-empty"]) { 26558 return html; 26559 } 26560 aRows = []; 26561 } 26562 26563 var szClasses = 'form-group ctl-theme-tables-wrapper'; 26564 var szMainWrapperClasses = 'ctl-theme-table-main-wrapper ctl-theme-table-main-wrapper-' + idTableWidget; 26565 26566 26567 if (oConfig['cards-view']) { 26568 szMainWrapperClasses += ' ctl-table-cards'; 26569 } 26570 26571 if (oConfig['force-cards-view-on-md']) { 26572 szMainWrapperClasses += ' ctl-table-force-cards-on-md'; 26573 } 26574 26575 if (oConfig['cards-distribution']) { 26576 szMainWrapperClasses += ' ctl-table-cards-distribution-' + oConfig['cards-distribution']; 26577 } 26578 if (oConfig['cards-alignment']) { 26579 szMainWrapperClasses += ' ctl-table-cards-alignment-' + oConfig['cards-alignment']; 26580 } 26581 26582 if (oConfig["class"]) { 26583 szMainWrapperClasses += ' ' + oConfig["class"]; 26584 } 26585 26586 szMainWrapperClasses += ' ctl-table-calendar-single-selection-mode'; 26587 26588 var guid = g_oCTLWPStudio.makeCode(4); 26589 html += '<div id="' + guid + '" data-main-class="' + oConfig["class"] + '" class="' + szMainWrapperClasses + '"'; 26590 html += ' data-table-id="' + idTableWidget + '"'; 26591 html += ' data-cardinality="' + oConfig['show-cardinality'] + '"'; 26592 html += ' data-selection-field-name="' + oConfig["selection-field-name"] + '"'; 26593 html += ' data-label-no-rows="' + addslashes(oConfig["label-no-rows"]) + '"'; 26594 html += ' data-label-one-row="' + addslashes(oConfig["label-one-row"]) + '"'; 26595 html += ' data-label-more-rows="' + addslashes(oConfig["label-more-rows"]) + '"'; 26596 html += ' data-label-split-post-modal-title="' + addslashes(oConfig["label-split-post-modal-title"]) + '"'; 26597 26598 if (oConfig["period-cell-min-width"]) { 26599 html += ' data-period-cell-min-width="' + oConfig["period-cell-min-width"] + '"'; 26600 } 26601 26602 if (oConfig["period-create-modal-id"]) { 26603 html += ' data-period-create-modal-id="' + oConfig["period-create-modal-id"] + '"'; 26604 } 26605 if (oConfig["period-edit-modal-id"]) { 26606 html += ' data-period-edit-modal-id="' + oConfig["period-edit-modal-id"] + '"'; 26607 } 26608 html += '>'; 26609 26610 if (oConfig['table-title']) { 26611 html += '<h3 class="ctl-theme-tables-title">' + oConfig['table-title'] + '</h3>'; 26612 } 26613 26614 if (oConfig['table-desc']) { 26615 html += '<div class="ctl-theme-tables-desc">' + oConfig['table-desc'] + '</div>'; 26616 } 26617 26618 if (oConfig["message-if-empty"] !== "" && aRows.length == 0) { 26619 html += '<div class="alert alert-warning" role="alert">'; 26620 html += oConfig["message-if-empty"]; 26621 html += '</div>'; 26622 html += '</div>'; 26623 return html; 26624 } 26625 26626 var htmlFooterActions = ""; 26627 26628 if (oConfig['footer-custom-actions']) { 26629 for (var k = 0; k < oConfig['footer-custom-actions'].length; k++) { 26630 var oConfigButton = oConfig['footer-custom-actions'][k]; 26631 htmlFooterActions += formFieldsBuildButtonField( 26632 oConfigButton, oConfigButton["default-value"]); 26633 } 26634 } 26635 26636 if (oConfig['action-add-rows']) { 26637 var oButtonConfig = { 26638 "display": "inline-block", 26639 "icon-class": "ctl-wp-studio-icons-plus", 26640 "classes": "btn-sm btn-add-row" 26641 }; 26642 26643 if (oConfig['label-new-row']) { 26644 oButtonConfig["button-title"] = oConfig['label-new-row']; 26645 } else { 26646 oButtonConfig["button-title"] = g_oCTLThemeTablesLocalizationFront["Add row"]; 26647 } 26648 26649 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26650 } 26651 26652 if (oConfig['action-new-row']) { 26653 var oButtonConfig = { 26654 "display": "inline-block", 26655 "icon-class": "ctl-wp-studio-icons-plus", 26656 "classes": "btn-sm btn-new-row" 26657 }; 26658 26659 if (oConfig['label-new-row']) { 26660 oButtonConfig["button-title"] = oConfig['label-new-row']; 26661 } else { 26662 oButtonConfig["button-title"] = g_oCTLThemeTablesLocalizationFront["New row"]; 26663 } 26664 26665 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26666 } 26667 26668 if (oConfig['action-save-table']) { 26669 htmlFooterActions += formFieldsBuildButtonField({ 26670 "button-title": g_oCTLThemeTablesLocalizationFront["Save"], 26671 "display": "inline-block", 26672 "icon-class": "ctl-wp-studio-icons-floppy", 26673 "classes": "btn-sm btn-save-table" 26674 }); 26675 } 26676 26677 if (aRows.length > 0) { 26678 if (oConfig['multiple-selection']) { 26679 26680 if (oConfig["action-pdf"] && oConfig["pdf-widget-id"]) { 26681 var oButtonConfig = { 26682 "button-title": g_oCTLThemeTablesLocalizationFront["PDF"], 26683 "display": "inline-block", 26684 "icon-class": "ctl-wp-studio-icons-file-pdf", 26685 "classes": "btn-sm btn-action-pdf-selected-rows btn-table-footer-action", 26686 "semantic-color": "secondary", 26687 "data-attr": 'data-table-id="' + idTableWidget + 26688 '" data-pdf-widget-id="' + oConfig["pdf-widget-id"] + '" =' + oConfig["pdf-multiple-archive"] + '"' 26689 }; 26690 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26691 } 26692 26693 if (oConfig["action-generate-invoice"] && oConfig["invoice-maker-widget-id"]) { 26694 var oButtonConfig = { 26695 "button-title": g_oCTLThemeTablesLocalizationFront["Generate invoice"], 26696 "display": "inline-block", 26697 "icon-class": "fa-solid fa-file-invoice-dollar", 26698 "classes": "btn-sm btn-action-generate-invoice-selected-rows btn-table-footer-action", 26699 "semantic-color": "secondary", 26700 "data-attr": 'data-table-id="' + idTableWidget + 26701 '" data-invoice-maker-widget-id="' + oConfig["invoice-maker-widget-id"] + '"' 26702 }; 26703 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26704 } 26705 26706 if (oConfig["action-user-logout"]) { 26707 var oButtonConfig = { 26708 "button-title": g_oCTLThemeTablesLocalizationFront["Logout"], 26709 "display": "inline-block", 26710 "icon-class": "ctl-wp-studio-icons-off", 26711 "classes": "btn-sm btn-action-user-logout-selected-rows btn-table-footer-action", 26712 "semantic-color": "secondary", 26713 "data-attr": 'data-table-id="' + idTableWidget + '"' 26714 26715 }; 26716 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26717 } 26718 26719 if (oConfig["action-delete"]) { 26720 var oButtonConfig = { 26721 "button-title": g_oCTLThemeTablesLocalizationFront["Delete"], 26722 "display": "inline-block", 26723 "icon-class": "ctl-wp-studio-icons-trash", 26724 "classes": "btn-sm btn-delete-selected-rows", 26725 "semantic-color": "danger" 26726 }; 26727 26728 if (oConfig["confirm-delete"]) { 26729 oButtonConfig["classes"] += ' confirm'; 26730 } 26731 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26732 } 26733 } 26734 26735 if (oConfig["export-csv"]) { 26736 26737 let szClasses = "btn-sm btn-table-footer-action "; 26738 if (oConfig["data-type"] === "table-data") { 26739 szClasses += "btn-js-export-csv"; 26740 }else{ 26741 szClasses += "btn-export-csv"; 26742 } 26743 26744 var oButtonConfig = { 26745 "button-title": g_oCTLThemeTablesLocalizationFront["Export CSV"], 26746 "display": "inline-block", 26747 "icon-class": "ctl-wp-studio-icons-download-cloud", 26748 "classes": szClasses, 26749 "semantic-color": "primary" 26750 }; 26751 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26752 } 26753 26754 if (oConfig["export-all-data-csv"]) { 26755 var oButtonConfig = { 26756 "button-title": g_oCTLThemeTablesLocalizationFront["Export all data in CSV"], 26757 "display": "inline-block", 26758 "icon-class": "ctl-wp-studio-icons-download-cloud", 26759 "classes": "btn-sm btn-export-all-data-in-csv", 26760 "semantic-color": "primary" 26761 }; 26762 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26763 } 26764 26765 if (oConfig["print-table"]) { 26766 var oButtonConfig = { 26767 "button-title": g_oCTLThemeTablesLocalizationFront["Print"], 26768 "display": "inline-block", 26769 "icon-class": "ctl-wp-studio-icons-print", 26770 "classes": "btn-sm", 26771 "semantic-color": "primary", 26772 "selector-to-print": "#" + guid, 26773 "type": "print" 26774 }; 26775 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26776 } 26777 26778 if (oConfig["maximize-table"]) { 26779 var oButtonConfig = { 26780 "button-title": g_oCTLThemeTablesLocalizationFront["Maximize"], 26781 "display": "inline-block", 26782 "icon-class": "ctl-wp-studio-icons-resize-full-alt", 26783 "classes": "btn-sm", 26784 "semantic-color": "primary", 26785 "selector-to-maximize": ".ctl-theme-table-main-wrapper-" + idTableWidget, 26786 "type": "maximize" 26787 }; 26788 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26789 } 26790 26791 if (oConfig["view-as-cards"]) { 26792 var oButtonConfig = { 26793 "display": "inline-block", 26794 "classes": "btn-sm ctl-table-action-toggle-view", 26795 "semantic-color": "primary" 26796 }; 26797 26798 if (oConfig["cards-view"]) { 26799 oButtonConfig["button-title"] = g_oCTLThemeTablesLocalizationFront["View as table"]; 26800 oButtonConfig["icon-class"] = "ctl-wp-studio-icons-table"; 26801 } else { 26802 oButtonConfig["button-title"] = g_oCTLThemeTablesLocalizationFront["View as cards"]; 26803 oButtonConfig["icon-class"] = "ctl-wp-studio-icons-th"; 26804 } 26805 26806 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26807 } 26808 } 26809 26810 if (oConfig["refresh-page"]) { 26811 oButtonConfig = { 26812 "button-title": g_oCTLThemeTablesLocalizationFront["Reload"], 26813 "display": "inline-block", 26814 "icon-class": "ctl-wp-studio-icons-ccw", 26815 "classes": "btn-sm", 26816 "semantic-color": "secondary", 26817 "type": "refresh-page" 26818 }; 26819 htmlFooterActions += formFieldsBuildButtonField(oButtonConfig); 26820 } 26821 26822 if (htmlFooterActions !== "") { 26823 let szFooterClasses = "table-footer-actions d-print-none"; 26824 26825 switch (oConfig["footer-actions-horizontal-alignment"]) {
26826 case "left": { 26827 szFooterClasses += " text-left"; 26828 } break; 26829 case "center": { 26830 szFooterClasses += " text-center"; 26831 } break; 26832 case "right": { 26833 szFooterClasses += " text-right"; 26834 } break; 26835 } 26836 26837 if (!oConfig["footer-actions-in-modals"]) { 26838 szFooterClasses += " ctl-editor-framework-editor-buttons"; 26839 } 26840 26841 htmlFooterActions = '<div class="' + szFooterClasses + '">' + 26842 htmlFooterActions + '</div>'; 26843 } 26844 26845 if (oConfig["footer-actions-position"] === "top" || 26846 oConfig["footer-actions-position"] === "both") { 26847 html += htmlFooterActions; 26848 } 26849 26850 html += '<div class="row d-print-none">'; 26851 26852 if (oConfig['action-search-in-table']) { 26853 var id = g_oCTLWPStudio.makeCode(4); 26854 html += '<div class="input-group input-group-sm col-12 col-md-6 col-lg-4 mb-3 ctl-theme-tables-search-in-table">'; 26855 26856 html += '<div class="input-group-prepend">'; 26857 html += '<span class="input-group-text"><i class="ctl-wp-studio-icons-search"></i></span>'; 26858 html += '</div>'; 26859 26860 html += '<input type="text" class="form-control ctl-theme-tables-action-search-in-table" placeholder="' + 26861 "Search..." + 26862 '" aria-describedby="' + id + '">'; 26863 html += '<div class="input-group-append">'; 26864 html += '<button class="btn btn-outline-primary btn-cancel-search" type="button" id="' + id + 26865 '"><i class="ctl-wp-studio-icons-cancel"></i></button>'; 26866 html += '</div>'; 26867 html += '</div>'; 26868 } 26869 26870 26871 var aIstantFilters = []; 26872 var bPrintTFoot = false; 26873 var bUseStickyColumnsLeft = false; 26874 var bUseStickyColumnsRight = false; 26875 for (var i = 0; i < aItemConfig.length; i++) { 26876 var oItemConfig = aItemConfig[i]; 26877 26878 if (oItemConfig["footer-calculations"] != "none") { 26879 bPrintTFoot = true; 26880 } 26881 26882 if (!(oItemConfig["instant-filters"])) { 26883 aIstantFilters = aIstantFilters.concat(oItemConfig['instant-filters']); 26884 } 26885 26886 if (oItemConfig["sticky-col"]) { 26887 if (oItemConfig["sticky-col"] == "left") { 26888 bUseStickyColumnsLeft = true; 26889 } else if (oItemConfig["sticky-col"] == "right") { 26890 bUseStickyColumnsRight = true; 26891 } 26892 } 26893 } 26894 26895 if (aIstantFilters.length > 0) { 26896 iFilterCnt = 0; 26897 html += '<div class="ctl-table-instant-filters col-12 col-md-6 col-lg-8 mb-3 text-right">'; 26898 html += '<label><strong><small>filtro</small></strong></label>'; 26899 html += '<ul>'; 26900 html += '<li>'; 26901 html += '<div class="custom-control custom-radio custom-control-inline">'; 26902 html += '<input type="radio" id="ctl-instant-filter-' + iFilterCnt + '" name="ctl-instant-filter-table-' + idTableWidget + '" class="custom-control-input" data-match-value="*" data-comparison="contain" checked>'; 26903 html += '<label class="custom-control-label" for="ctl-instant-filter-' + iFilterCnt + '"><small>' + 26904 g_oCTLThemeTablesLocalizationFront["All"] + '</small></label>'; 26905 html += '</div>'; 26906 html += '</li>'; 26907 26908 iFilterCnt++; 26909 26910 for (var i = 0; i < aIstantFilters.length; i++) { 26911 oFilterData = aIstantFilters[i]; 26912 26913 szAttributes = 'data-type-filter="' + oFilterData["type"] + '"'; 26914 26915 switch (oFilterData["type"]) { 26916 case "string": { 26917 szAttributes += ' data-comparison="' + oFilterData["string-comparison"] + '"'; 26918 szAttributes += ' data-match-values="' + Base64.encode(JSON.stringify(oFilterData["string-values"])) + '"'; 26919 szAttributes += ' data-match-ci="' + oFilterData["string-ci"] + '"'; 26920 } break; 26921 } 26922 26923 html += '<li>'; 26924 html += '<div class="custom-control custom-radio custom-control-inline">'; 26925 html += '<input type="radio" id="ctl-instant-filter-' + iFilterCnt + '" name="ctl-instant-filter-table-' + idTableWidget + '" class="custom-control-input"' + 26926 szAttributes + ' data-col-id="' + oFilterData["col-id"] + '">'; 26927 html += '<label class="custom-control-label" for="ctl-instant-filter-' + iFilterCnt
26927+ '"><small>' + 26928 oFilterData["label-filter"] + '</small></label>'; 26929 html += '</div>'; 26930 html += '</li>'; 26931 iFilterCnt++; 26932 } 26933 html += '</ul>'; 26934 html += '</div>'; 26935 } 26936 26937 if (oConfig['print-num-rows']) { 26938 26939 var iCntRows = aRows.length; 26940 var szNumRows = ""; 26941 26942 if (iCntRows === 0) { 26943 szNumRows = oConfig["label-no-rows"]; 26944 } else if (iCntRows === 1) { 26945 szNumRows = oConfig["label-one-row"]; 26946 } else { 26947 szNumRows = sprintf(oConfig["label-more-rows"], iCntRows); 26948 } 26949 26950 var szCounterClasses = ''; 26951 if (oConfig['action-search-in-table']) { 26952 szCounterClasses = 'col-12 col-md-6 col-lg-8'; 26953 } else { 26954 szCounterClasses = 'col-12'; 26955 } 26956 26957 html += '<div class="' + szCounterClasses + ' mb-3 align-self-end text-right">'; 26958 html += '<p class="ctl-theme-tables-row-counter d-inline"><small>' + szNumRows + '</small></p>'; 26959 html += '</div>'; 26960 } 26961 html += '</div>'; 26962 26963 html += '<div class="' + szClasses + '">'; 26964 26965 var szBootStrapAttributes = ""; 26966 var szTableClasses = 'ctlgrouptablecols'; 26967 var szTableHeaderClasses = 'scrollable ctlgrouptablecols'; 26968 var szTableHeadClasses = ''; 26969 26970 if (oConfig['cards-view']) { 26971 szTableClasses += ' '; 26972 szBootStrapAttributes += 'table'; 26973 } else { 26974 szTableClasses += ' table'; 26975 szTableHeaderClasses += ' table'; 26976 } 26977 26978 if (oConfig['striped']) { 26979 if (oConfig['cards-view']) { 26980 szBootStrapAttributes += ' table-striped'; 26981 } else { 26982 szTableClasses += ' table-striped'; 26983 szTableHeaderClasses += ' table-striped'; 26984 } 26985 } 26986 26987 if (oConfig['bordered']) { 26988 if (oConfig['cards-view']) { 26989 szBootStrapAttributes += 'table-bordered'; 26990 } else { 26991 szTableClasses += ' table-bordered'; 26992 szTableHeaderClasses += ' table-bordered'; 26993 } 26994 } 26995 26996 if (oConfig['borderless']) { 26997 if (oConfig['cards-view']) { 26998 szBootStrapAttributes += ' table-borderless'; 26999 } else { 27000 szTableClasses += ' table-borderless'; 27001 szTableHeaderClasses += ' table-borderless'; 27002 } 27003 } 27004 27005 if (oConfig['hover']) { 27006 if (oConfig['cards-view']) { 27007 szBootStrapAttributes += ' table-hover'; 27008 } else { 27009 szTableClasses += ' table-hover'; 27010 } 27011 } 27012 27013 if (oConfig['small']) { 27014 if (oConfig['cards-view']) { 27015 szBootStrapAttributes += ' table-sm'; 27016 } else { 27017 szTableClasses += ' table-sm'; 27018 szTableHeaderClasses += ' table-sm'; 27019 } 27020 } 27021 27022 if ((oConfig['head-classes'])) { 27023 szTableHeadClasses += ' ' + oConfig['head-classes']; 27024 } 27025 27026 if (oConfig["cardinality-width"] !== "0" && oConfig["cardinality-width"]) { 27027 oConfig["cardinality-width"] += 'px'; 27028 } else { 27029 oConfig["cardinality-width"] = "auto"; 27030 } 27031 27032 var htmlFoot = ""; 27033 htmlFoot += "<tfoot>"; 27034 htmlFoot += "<tr>"; 27035 27036 var htmlHead = ''; 27037 htmlHead += '<thead class="' + szTableHeadClasses + '">'; 27038 htmlHead += '<tr>'; 27039 27040 if (oConfig["enable-post-sorting"]) { 27041 27042 var szTHClasses = 'text-right tbl-td-post-sorting d-print-none'; 27043 if (bUseStickyColumnsLeft) { 27044 szTHClasses += ' ctl-table-th-sticky-col ctl-table-th-sticky-col-left'; 27045 } 27046 27047 htmlHead += '<th class="' + szTHClasses + '"'; 27048 htmlHead += ' style="width:30px;'; 27049 htmlHead += '"'; 27050 htmlHead += '>'; 27051 htmlHead += '<div class="ctl-table-bg-cell-data"></div>'; 27052 htmlHead += '<div class="ctl-table-cell-data"></div>'; 27053 htmlHead += '</th>'; 27054 27055 htmlFoot += '<td class="d-print-none"><div class="ctl-table-bg-cell-data"></div></td>'; 27056 } 27057 27058 if (oConfig['multiple-selection']) { 27059 27060 var szTHClasses = 'text-center multiple-selection d-print-none'; 27061 if (bUseStickyColumnsLeft) { 27062 szTHClasses += ' ctl-table-th-sticky-col ctl-table-th-sticky-col-left'; 27063 } 27064
27065 htmlHead += '<th class="' + szTHClasses + '">'; 27066 htmlHead += '<div class="ctl-table-bg-cell-data"></div>'; 27067 htmlHead += '<div class="ctl-table-cell-data">'; 27068 htmlHead += formFieldsBuildCheck( 27069 { "classes": 'ctl-theme-tables-action-select-all' }, 1); 27070 htmlHead += '</div>'; 27071 htmlHead += '</th>'; 27072 htmlFoot += '<td class="d-print-none"><div class="ctl-table-bg-cell-data"></div></td>'; 27073 } 27074 27075 if (oConfig['show-cardinality']) { 27076 var szTHClasses = 'ctl-table-th-cell text-right cardinality'; 27077 if (bUseStickyColumnsLeft) { 27078 szTHClasses += ' ctl-table-th-sticky-col ctl-table-th-sticky-col-left'; 27079 } 27080 27081 htmlHead += '<th class="' + szTHClasses + '"'; 27082 htmlHead += ' style="width:' + oConfig["cardinality-width"] + ';'; 27083 if (oConfig["cardinality-width"] !== "auto") { 27084 htmlHead += ' min-width:' + oConfig["cardinality-width"] + ';'; 27085 } 27086 htmlHead += '"'; 27087 htmlHead += '>'; 27088 htmlHead += '<div class="ctl-table-bg-cell-data"></div>'; 27089 htmlHead += '<div class="ctl-table-cell-data">'; 27090 htmlHead += '#'; 27091 htmlHead += '</div>'; 27092 htmlHead += '</th>'; 27093 27094 htmlFoot += '<td><div class="ctl-table-bg-cell-data"></div></td>'; 27095 } 27096 27097 27098 if (oConfig['show-post-locks']) { 27099 var szTHClasses = 'text-right post-locks'; 27100 if (bUseStickyColumnsLeft) { 27101 szTHClasses += ' ctl-table-th-sticky-col ctl-table-th-sticky-col-left'; 27102 } 27103 27104 htmlHead += '<th class="' + szTHClasses + '"'; 27105 htmlHead += ' style="width:50px;'; 27106 htmlHead += '"'; 27107 htmlHead += '>'; 27108 htmlHead += '<div class="ctl-table-bg-cell-data"></div>'; 27109 htmlHead += '<div class="ctl-table-cell-data">'; 27110 htmlHead += '</div>'; 27111 htmlHead += '</th>'; 27112 27113 htmlFoot += '<td><div class="ctl-table-bg-cell-data"></div></td>'; 27114 } 27115 27116 if (aActions.length > 0 && 27117 (oConfig["action-position"] == "left" || oConfig["action-position"] == "both")) { 27118 htmlHead += __ctlThemeTableFormatTHActions(oConfig, "left"); 27119 } 27120 27121 for (var i = 0; i < aHeader.length; i++) { 27122 var htmlHeadAttrs = ""; 27123 var oHeader = aHeader[i]; 27124 var oItemConfig = aItemConfig[i]; 27125 27126 htmlHead += '<th'; 27127 27128 htmlHead += ' class="ctl-table-th-cell'; 27129 if ((oHeader["classes"])) { 27130 htmlHead += ' ' + oHeader["classes"]; 27131 } 27132 27133 if (oItemConfig["sticky-col"]) { 27134 htmlHead += ' ctl-table-th-sticky-col'; 27135 } 27136 27137 htmlHead += '"'; 27138 27139 htmlHead += ' style="'; 27140 27141 if ((oHeader["width"]) && 27142 oHeader["width"] !== "0%" && 27143 oHeader["width"] !== "0px") { 27144 htmlHead += ' width: ' + oHeader["width"] + ';'; 27145 htmlHeadAttrs += ' data-width="width: ' + oHeader["width"] + '"'; 27146 } 27147 27148 if ((oHeader["min-width"]) && 27149 oHeader["min-width"] !== "0%" && 27150 oHeader["min-width"] !== "0px") { 27151 htmlHead += ' min-width: ' + oHeader["min-width"] + ';'; 27152 } 27153 27154 if ((oHeader["data-type"])) { 27155 htmlHeadAttrs += ' data-type="' + oHeader["data-type"] + '"'; 27156 } 27157 27158 if ((oHeader["field-name"])) { 27159 htmlHeadAttrs += ' data-field-name="' + oHeader["field-name"] + '"'; 27160 } 27161 27162 htmlHead += '"'; 27163 27164 htmlHead += htmlHeadAttrs; 27165 27166 htmlHead += '>'; 27167 htmlHead += '<div class="ctl-table-bg-cell-data"></div>'; 27168 htmlHead += '<div class="ctl-table-cell-data">'; 27169 htmlHead += oHeader["label"]; 27170 htmlHead += '</div>'; 27171 htmlHead += '</th>'; 27172 } 27173 27174 if (aActions.length > 0 && 27175 (oConfig["action-position"] == "right" || oConfig["action-position"] == "both")) { 27176 htmlHead += __ctlThemeTableFormatTHActions(oConfig, "right"); 27177 } 27178 27179 htmlHead += '</tr>'; 27180 htmlHead += '</thead>'; 27181 27182 if (oConfig['max-height']) { 27183 html += '<div class="ctl-table-used-as-header"><table class="' + 27184 szTableHeaderClasses + '" data-bs-classes="' + szBootStrapAttributes + '">'; 27185 html += htmlHead; 27186 html += '</table></div>'; 27187 html += '<div class="ctl-theme-tables-scrollable-wrapper" style="max-height:' 27188 + oConfig['max-height'] + 'px;">'; 27189 } 27190 27191 html += '<table class="' + szTableClasses + '" data-bs-classe
27191s="' + 27192 szBootStrapAttributes + '">'; 27193 if (!oConfig['max-height']) { 27194 if (oConfig['caption'] !== '') { 27195 html += '<caption>' + oConfig['caption'] + '</caption>'; 27196 } 27197 } 27198 27199 html += htmlHead; 27200 html += '<tbody>'; 27201 27202 html += __ctlThemeTablesBuildFakeRow(oConfig, aItemConfig, aHeader, aActions); 27203 var n = 1; 27204 for (var i = 0; i < aRows.length; i++) { 27205 var oRow = aRows[i]; 27206 html += __ctlThemeTablesBuildRow(n, oRow, oConfig, aItemConfig, 27207 aHeader, aActions); 27208 n++; 27209 } 27210 html += '</tbody>'; 27211 27212 if (bPrintTFoot) { 27213 if (aActions.length > 0) { 27214 if (oConfig["action-position"] == "left" || oConfig["action-position"] == "both") { 27215 htmlFoot += '<td class="d-print-none"><div class="ctl-table-bg-cell-data"></div></td>'; 27216 } 27217 } 27218 27219 for (i = 0; i < aItemConfig.length; i++) { 27220 oItemConfig = aItemConfig[i]; 27221 27222 switch (oItemConfig["type"]) { 27223 case "classic": { 27224 g_szTableFooterDay = ""; 27225 htmlFoot += __ctlThemeTableCreateTableFooter(oItemConfig, aHeader[i], 27226 g_aTableFooterCalculations[i], aRows); 27227 } break; 27228 case "period": { 27229 g_szTableFooterDay = ""; 27230 for (var k = 0; k < aDays.length; k++) { 27231 szDay = aDays[k]; 27232 g_szTableFooterDay = szDay; 27233 htmlFoot += __ctlThemeTableCreateTableFooter(oItemConfig, aHeader[i], g_aTableFooterCalculations[i], aRows); 27234 } 27235 } 27236 } 27237 27238 if (oItemConfig["footer-colspan"] && oItemConfig["footer-colspan"] > 1) { 27239 i += oItemConfig["footer-colspan"] - 1; 27240 } 27241 } 27242 27243 if (aActions.length > 0) { 27244 if (oConfig["action-position"] == "right" || oConfig["action-position"] == "both") { 27245 htmlFoot += '<td class="d-print-none"><div class="ctl-table-bg-cell-data"></div></td>'; 27246 } 27247 } 27248 27249 htmlFoot += "</tr>"; 27250 htmlFoot += "</tfoot>"; 27251 27252 html += htmlFoot; 27253 } 27254 27255 html += '</table>'; 27256 27257 if ((oConfig['max-height'])) { 27258 html += '</div>'; 27259 } 27260 27261 html += '</div>'; 27262 27263 if (oConfig["footer-actions-position"] === "bottom" || 27264 oConfig["footer-actions-position"] === "both") { 27265 html += htmlFooterActions; 27266 } 27267 27268 html += '</div>'; 27269 27270 return html; 27271} 27272 27273function __ctlThemeTableFormatTHActions(oConfig, szStickyDirection) { 27274 var htmlHead = ""; 27275 szTHClasses = 'text-center table-actions d-print-none'; 27276 if (oConfig["action-sticky"]) { 27277 szTHClasses += ' ctl-table-th-sticky-col ctl-table-th-sticky-col-' + szStickyDirection; 27278 } 27279 27280 htmlHead += '<th'; 27281 htmlHead += ' class="' + szTHClasses + ' ctl-table-th-cell'; 27282 htmlHead += '"'; 27283 htmlHead += ' style="'; 27284 27285 if (oConfig["actions-width"] && 27286 oConfig["actions-width"] != "0%" && 27287 oConfig["actions-width"] != "0px") { 27288 27289 htmlHead += ' width: ' + oConfig["actions-width"] + 'px;'; 27290 htmlHead += ' min-width: ' + oConfig["actions-width"] + 'px;'; 27291 } 27292 27293 htmlHead += '"'; 27294 htmlHead += ' data-width="' + oConfig["actions-width"] + '"'; 27295 htmlHead += '>'; 27296 htmlHead += '<div class="ctl-table-bg-cell-data"></div>'; 27297 htmlHead += '<div class="ctl-table-cell-data">'; 27298 htmlHead += oConfig["label-actions"]; 27299 htmlHead += '</div>'; 27300 htmlHead += '</th>'; 27301 27302 return htmlHead; 27303} 27304 27305function __ctlThemeTableCreateTableFooter(oItemConfig, oHeader, oTableFooterCalculations, aRows) { 27306 var htmlFoot = ""; 27307 27308 if (!oItemConfig["footer-calculations"]) { 27309 oItemConfig["footer-calculations"] = "none"; 27310 } 27311 27312 var szFooterClasses = ' ctl-table-footer-td-display-' + oItemConfig["footer-calculations"]; 27313 27314 if (oItemConfig["footer-editable"]) { 27315 szFooterClasses += ' editable'; 27316 } 27317 27318 if (oItemConfig["sorting"]) { 27319 szFooterClasses += ' sorting'; 27320 } 27321 27322 if (oItemConfig["footer-col-class"]) { 27323 szFooterClasses += ' ' + oItemConfig["footer-col-class"]; 27324 } 27325 27326 if (oItemConfig["display"]) { 27327 szFooterClasses += ' d-' + oItemConfig["display"]; 27328 } 27329 27330 var value = ""; 27331 var htmlCellData = ""; 27332 htmlCellData += '<div class="ctl-table-cell-data">'; 27333 27334 27335 27336 switch (oItemConfig["footer-calculations"]) { 27337 case "average": { 27338 value = oTableFooterCalculations / count(aRows); 27339 htmlCellData += __ctlThemeTableFormatCell(value, oItemConfig, null, true); 27340 } break; 27341 case "summation": { 27342 value = 0; 27343 if (oTableFooterCalculations) { 27344 value = oTableFooterCalculations; 27345 } 27346 htmlCellData += 27347 __ctlThemeTableFormatCell(value, oItemConfig, null, true); 27348 } break; 27349 case "min-max": { 27350 value = oTableFooterCalculations["min"] + " / " + 27351 oTableFooterCalculations["max"]; 27352 27353 htmlCellData += 27354 __ctlThemeTableFormatCell(oTableFooterCalculations["min"], 27355 oItemConfig, null, true) + " / " + 27356 __ctlThemeTableFormatCell(oTableFooterCalculations["max"], 27357 oItemConfig, null, true); 27358 } break; 27359 case "label": { 27360 if (oTableFooterCalculations) { 27361 htmlCellData += oTableFooterCalculations; 27362 } 27363 szFooterClasses += " ctl-wp-studio-noselect"; 27364 } break; 27365 case "php-block": { 27366 htmlCellData += __ctlThemeTableFormatCell(oTableFooterCalculations, oItemConfig, null, true); 27367 } break; 27368 } 27369 htmlCellData += '</div>'; 27370 27371 if (oItemConfig["footer-align"]) { 27372 szFooterClasses += " text-" + oItemConfig["footer-align"]; 27373 } else { 27374 szFooterClasses += " text-" + oItemConfig["col-align"]; 27375 } 27376 27377 if (oItemConfig["sticky-col"]) { 27378 szFooterClasses += " ctl-table-td-sticky-col"; 27379 } 27380 27381 htmlFoot += '<td class="' + szFooterClasses + '"'; 27382 27383 27384 if (oItemConfig["footer-colspan"] && oItemConfig["footer-colspan"] > 1) { 27385 htmlFoot += ' colspan="' + oItemConfig["footer-colspan"] + '"'; 27386 } 27387 27388 if (oItemConfig["field-name"]) { 27389 htmlFoot += ' data-field-name="' + oItemConfig["field-name"] + '"'; 27390 } 27391 27392 if (oItemConfig["store-data-value"]) { 27393 if (oItemConfig["allow-html"]) { 27394 htmlFoot += ' data-encode-value="base64" data-value="' + Base64.encode(value) + '"'; 27395 } else { 27396 htmlFoot += ' data-encode-value="none" data-value="' + value + '"'; 27397 } 27398 27399 } 27400 if (oItemConfig["footer-data-format"]) { 27401 htmlFoot += ' footer-data-format="' + oItemConfig["footer-data-format"] + '"'; 27402 } 27403 27404 if (oItemConfig["number-max-decimals"]) { 27405 htmlFoot += ' data-number-max-decimals="' + oItemConfig["number-max-decimals"] + '"'; 27406 } 27407 27408 if (oItemConfig["footer-data-input"]) { 27409 htmlFoot += ' footer-data-input="' + oItemConfig["footer-data-input"] + '"'; 27410 } 27411 27412 if (oItemConfig["footer-calculations"]) { 27413 htmlFoot += ' data-footer-calculations="' + oItemConfig["footer-calculations"] + '"'; 27414 } 27415 27416 if (oItemConfig["data-type"]) { 27417 htmlFoot += ' data-type="' + oItemConfig["data-type"] + '"'; 27418 } 27419 27420 htmlFoot += '>'; 27421 27422 htmlFoot += '<div class="ctl-table-bg-cell-data"></div>'; 27423 27424 if (!oHeader["hide-label-in-cards"]) { 27425 htmlFoot += '<label class="ctl-card-content-title">'; 27426 if (g_szTableFooterDay) { 27427 htmlFoot += __ctlThemeTableGetTableHeaderPeriodLabel( 27428 g_szTableFooterDay, 27429 oHeader["label-period"]); 27430 } else { 27431 htmlFoot += oHeader["label"]; 27432 } 27433 htmlFoot += '</label>'; 27434 } 27435 27436 htmlFoot += htmlCellData; 27437 27438 htmlFoot += "</td>"; 27439 return htmlFoot; 27440} 27441 27442function __ctlThemeTableGetTableHeaderPeriodLabel(szDate, szFormat) { 27443 var oMoment = moment(szDate, "YYYY-MM-DD"); 27444 27445 var html = ""; 27446 27447 if (szDate == moment().format("YYYY-MM-DD")) { 27448 html += '<div class="ctl-table-calendar-header ctl-calendar-day-today">'; 27449 } else { 27450 html += '<div class="ctl-table-calendar-header">'; 27451 } 27452 27453 switch (szFormat) { 27454 case "Dd": { 27455 szDayLabel = oMoment.format("D"); 27456 27457 switch (szDayLabel) { 27458 case "Mon": { 27459 szDayLabel = g_oCTLThemeTablesLocalizationFront["MON"]; 27460 } break; 27461 case "Tue": { 27462 szDayLabel = g_oCTLThemeTablesLocalizationFront["TUE"]; 27463 } break; 27464 case "Wed": { 27465 szDayLabel = g_oCTLThemeTablesLocalizationFront["WED"]; 27466 } break; 27467 case "Thu": { 27468 szDayLabel = g_oCTLThemeTablesLocalizationFront["THU"]; 27469 } break; 27470 case "Fri": { 27471 szDayLabel = g_oCTLThemeTablesLocalizationFront["FRI"]; 27472 } break; 27473 case "Sat": { 27474 szDayLabel = g_oCTLThemeTablesLocalizationFront["SAT"]; 27475 } break; 27476 case "Sun": { 27477 szDayLabel = g_oCTLThemeTablesLocalizationFront["SUN"]; 27478 } break; 27479 } 27480 27481 szDayLabel = '<div class="ctl-table-calendar-day-label">' + szDayLabel + '</div>'; 27482 27483 html += szDayLabel + '<div class="ctl-table-calendar-day"><span>' + oMoment.format("j"); + '</span></div>'; 27484 } break; 27485 default: { 27486 html += date('d', iTime); 27487 } 27488 } 27489 27490 html += '</div>'; 27491 27492 return html; 27493} 27494 27495function __ctlThemeTableUpdatePeriod(oNodeMainWrapper, iDirection, bSubmit, szCurDate = null) { 27496 27497 var oNodeControls = oNodeMainWrapper.find(".ctl-table-calendar-control
27497s"); 27498 27499 if (szCurDate == null) { 27500 szCurDate = oNodeControls.find('input[name=cdate]').val(); 27501 } 27502 var szPeriod = oNodeControls.find('select[name=period]').val(); 27503 27504 var szStartDate = ""; 27505 var szEndDate = ""; 27506 27507 switch (szPeriod) { 27508 case "gantt": { 27509 szEndDate = szStartDate = szCurDate = moment().format("YYYY-MM-DD"); 27510 } break; 27511 case "month": { 27512 var oMoment = moment(szCurDate, "YYYY-MM-DD"); 27513 if (iDirection != 0) { 27514 oMoment.add(iDirection, 'months'); 27515 } 27516 szCurDate = oMoment.format("YYYY-MM-DD"); 27517 27518 szStartDate = oMoment.startOf('month').format("YYYY-MM-DD"); 27519 szEndDate = oMoment.endOf('month').format("YYYY-MM-DD"); 27520 } break; 27521 case "day": { 27522 var oMoment = moment(szCurDate, "YYYY-MM-DD"); 27523 if (iDirection != 0) { 27524 oMoment.add(iDirection, 'days'); 27525 } 27526 szStartDate = szEndDate = szCurDate = oMoment.format("YYYY-MM-DD"); 27527 } break; 27528 case "week": { 27529 var oMoment = moment(szCurDate, "YYYY-MM-DD"); 27530 if (iDirection != 0) { 27531 oMoment.add(iDirection, 'weeks'); 27532 } 27533 szCurDate = oMoment.format("YYYY-MM-DD"); 27534 27535 szStartDate = oMoment.startOf('isoWeek').format("YYYY-MM-DD"); 27536 szEndDate = oMoment.endOf('isoWeek').format("YYYY-MM-DD"); 27537 } break; 27538 } 27539 27540 oNodeControls.find('input[name=cdate]').val(szCurDate); 27541 oNodeControls.find('input[name=cdate-gfx]').val(moment(szCurDate, "YYYY-MM-DD").format("DD/MM/YYYY")); 27542 27543 oNodeControls.find('input[name=cstart]').val(szStartDate); 27544 oNodeControls.find('input[name=cstart-gfx]').val(moment(szStartDate, "YYYY-MM-DD").format("DD/MM/YYYY")); 27545 oNodeControls.find('input[name=cend]').val(szEndDate);
27546 oNodeControls.find('input[name=cend-gfx]').val(moment(szEndDate, "YYYY-MM-DD").format("DD/MM/YYYY")); 27547 27548 if (bSubmit) { 27549 oNodeControls.find('.ctl-table-calendar-action-submit').click(); 27550 } 27551} 27552 27553function ctlThemeTableAjaxRefreshTable(oNodeMainWrapper) { 27554 if (!oNodeMainWrapper || oNodeMainWrapper.length == 0) { 27555 return; 27556 } 27557 27558 let idTableWidget = oNodeMainWrapper.attr("data-table-id"); 27559 27560 var oFormData = {}; 27561 oFormData['action'] = 'ctl-wp-studio'; 27562 oFormData['execute'] = 'ctl-theme-tables'; 27563 oFormData['extension-action'] = 'ajax-refresh-table'; 27564 oFormData['table-id'] = idTableWidget; 27565 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 27566 27567 var idLoading = g_oCTLWPStudio.showLoading(""); 27568 27569 jQuery.ajax({ 27570 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 27571 type: "POST", 27572 data: oFormData, 27573 cache: false, 27574 method: 'POST', 27575 success: function (response, textStatus, jqXHR) { 27576 var oResponse = JSON.parse(response); 27577 g_oCTLWPStudio.closeDlg(idLoading); 27578 27579 if (oResponse.res === true) { 27580 oNodeMainWrapper.replaceWith(oResponse.html); 27581 27582 oNodeMainWrapper = jQuery('.ctl-theme-table-main-wrapper-' + idTableWidget); 27583 27584 wpdk_do_action("ctl-theme-bootstrap-modals-show-modal", oNodeMainWrapper.parent()); 27585 ctlVulcanoResizeLayout(); 27586 27587 __ctlThemeTableSetAutoRefresh(jQuery('.ctl-theme-table-main-wrapper-' + idTableWidget).find('.ctl-table-auto-refresh')); 27588 27589 } else if (oResponse.desc) { 27590 alert(oResponse.desc); 27591 } else { 27592 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 27593 } 27594 }, 27595 error: function (jqXHR, textStatus, errorThrown) { 27596 g_oCTLWPStudio.closeDlg(idLoading); 27597 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 27598 } 27599 }); 27600} 27601 27602function __ctlThemeTableMassiveOperations(oNodeButton) { 27603 var oNodeMainTableWrapper = oNodeButton.closest(".ctl-theme-table-main-wrapper"); 27604 var oNodeTableBody = oNodeMainTableWrapper.find("tbody"); 27605 var idModal = oNodeButton.attr("data-modal-id"); 27606 27607 var aIds = []; 27608 27609 oNodeTableBody 27610 .find("tr.ctl-table-row .ctl-theme-tables-row-selector input[type=checkbox]:checked") 27611 .each(function () { 27612 var oNodeRow = jQuery(this).closest("tr"); 27613 var idResource = oNodeRow.attr("data-resource-id"); 27614 aIds.push(idResource); 27615 }); 27616 27617 if (aIds.length == 0) { 27618 g_oCTLBootstrapModals.alert("", g_oCTLThemeTablesLocalizationFront["You must select at least one row!"]); 27619 return; 27620 } 27621 27622 g_oCTLBootstrapModals.loadModal(idModal, { "resource-id": aIds }); 27623} 27624 27625function __ctlThemeTableSetAutoRefresh(oNodeSelect, bChanged = false) { 27626 var url = null; 27627 var idRefreshInterval = oNodeSelect.attr("data-refresh-interval"); 27628 27629 if (idRefreshInterval) { 27630 clearTimeout(idRefreshInterval); 27631 } 27632 27633 let idTableWidget = oNodeSelect.attr("data-table-id"); 27634 27635 if(!bChanged){ 27636 let iGetParamsAutoRefresh = g_oCTLWPStudio.getUrlParam("autorefresh-" + idTableWidget); 27637 if (iGetParamsAutoRefresh) { 27638 oNodeSelect.val(iGetParamsAutoRefresh); 27639 } 27640 }else{ 27641 jQuery('.ctl-theme-table-main-wrapper-' + idTableWidget).find('.ctl-table-auto-refresh').val(oNodeSelect.val()); 27642 } 27643 27644 oNodeSelect.removeAttr("data-refresh-interval"); 27645 27646 let iRefreshTime = Number(oNodeSelect.val()); 27647 27648 if (iRefreshTime > 0) { 27649 idRefreshInterval = setTimeout(function () { 27650 ctlThemeTableAjaxRefreshTable(jQuery('.ctl-theme-table-main-wrapper-' + idTableWidget)); 27651 }, iRefreshTime); 27652 27653 oNodeSelect.attr("data-refresh-interval", idRefreshInterval); 27654 27655 url = g_oCTLWPStudio.addParameterToUrl(window.location.href, "autorefresh-" + idTableWidget, oNodeSelect.val()); 27656 27657 if (history.pushState) { 27658 history.pushState(null, null, url); 27659 } 27660 } else { 27661 url = g_oCTLWPStudio.removeParameterFromUrl(window.location.href, "autorefresh-" + idTableWidget); 27662 } 27663 27664 if (history.pushState) { 27665 history.pushState(null, null, url); 27666 } 27667} 27668 27669function __ctlThemeTablesBuildFakeRow(oConfig, aItemConfig, aHeader, aActions) { 27670 var aFakeItems = []; 27671 27672 for (var i = 0; i < aItemConfig.length; i++) { 27673 switch (aItemConfig["data-input"]) { 27674 case "bool-true-false": { 27675 aFakeItems.push("false"); 27676 } break; 27677 case "bool-TRUE-FALSE": { 27678 aFakeItems.push("FALSE"); 27679 } break; 27680 case "bool-1-0": { 27681 aFakeItems.push("0"); 27682 } break; 27683 case "bool-yes-no": { 27684 aFakeItems.push("no"); 27685 } break; 27686 case "bool-YES-NO": { 27687 aFakeItems.push("NO"); 27688 } break; 27689 case "double": 27690 case "float": 27691 case "integer": { 27692 aFakeItems.push("0"); 27693 } break; 27694 case "YYYY-MM-DD": { 27695 aFakeItems.push("0000-00-00"); 27696 } break; 27697 default: { 27698 aFakeItems.push(""); 27699 } 27700 } 27701 } 27702 27703 return __ctlThemeTablesBuildRow(0, { 27704 "resource-id": "table-fake-row", 27705 "items": aFakeItems 27706 }, oConfig, aItemConfig, aHeader, aActions); 27707} 27708 27709function __ctlThemeTablesBuildRow(n, oRow, oConfig, aItemConfig, 27710 aHeader, aActions) { 27711 var aReferrals = {}; 27712 var aItems = oRow["items"]; 27713 27714 for (var i = 0; i < aItems.length; i++) { 27715 var oItemConfig = aItemConfig[i]; 27716 if ((oItemConfig["store-data-value"]) && oItemConfig["referral-alias"]) { 27717 aReferrals[oItemConfig["referral-alias"]] = aItems[i]; 27718 } 27719 } 27720 27721 var html = ""; 27722 27723 html += '<tr'; 27724 27725 var szRowClasses = ""; 27726 27727 if (oRow["resource-id"] !== "table-fake-row") { 27728 szRowClasses += ' ctl-table-row'; 27729
27730 if (oRow["gantt-info"]) { 27731 szRowClasses += " ctl-table-row-gantt"; 27732 html += ' data-gantt="' + Base64.encode(JSON.stringify(oRow["gantt-info"])) + '"'; 27733 } 27734 } 27735 27736 szRowClasses = szRowClasses.trim(); 27737 27738 if (szRowClasses) { 27739 html += ' class="' + szRowClasses + '"'; 27740 } 27741 27742 if (oRow["resource-id"]) { 27743 html += ' data-resource-id="' + oRow["resource-id"] + '"'; 27744 } 27745 html += '>'; 27746 27747 var htmlActions = ""; 27748 if (aActions.length > 0) { 27749 htmlActions += '<td class="text-center ctl-table-td-actions d-print-none'; 27750 if (oConfig["action-sticky"]) { 27751 htmlActions += ' ctl-table-th-sticky-col ctl-table-th-sticky-col-'; 27752 if ((oConfig["action-position"] == "left" || oConfig["action-position"] == "both")) { 27753 htmlActions += 'left'; 27754 } else { 27755 htmlActions += 'right'; 27756 } 27757 } 27758 27759 htmlActions += '">'; 27760 27761 htmlActions += '<div class="ctl-table-bg-cell-data"></div>'; 27762 htmlActions += '<div class="ctl-table-cell-data ctl-table-row-actions ctl-table-row-actions-size-' + 27763 aActions.length + '"'; 27764 27765 htmlActions += ' style="width: ' + oConfig["actions-width"] + 'px"'; 27766 27767 htmlActions += '>'; 27768 27769 for (var i = 0; i < aActions.length; i++) { 27770 var oAction = aActions[i]; 27771 27772 switch (oAction["type"]) { 27773 case "user-logout": { 27774 $htmlActions += '<button class="btn btn-action-user-logout-row btn-sm btn-outline-primary"><i class="ctl-wp-studio-icons-off"></i></button>'; 27775 } break; 27776 case "split-post": { 27777 $htmlActions += '<button class="btn btn-action-split-post-row btn-sm btn-outline-primary"><i class="fa-solid fa-file-half-dashed"></i></button>'; 27778 } break; 27779 case "pdf": { 27780 $htmlActions += '<button data-widget-id="' + oAction["pdf-widget-id"] + '" class="btn btn-action-pdf-row btn-sm btn-outline-primary "><i class="ctl-wp-studio-icons-file-pdf"></i></button>'; 27781 } break; 27782 case "generate-invoice": { 27783 $htmlActions += '<button data-widget-id="' + oAction["invoice-maker-widget-id"] + '" class="btn btn-action-generate-invoice-row btn-sm btn-outline-primary "><i class="fa-solid fa-file-invoice-dollar"></i></button>'; 27784 } break; 27785 case "author": { 27786 if (oAction["page"] && oRow["author-id"] && !oRow["invalid-author-role"]) { 27787 var szUrl = g_oCTLWPStudio.addParameterToUrl( 27788 oAction["page"], 27789 oAction["referral"], 27790 oRow["author-id"]); 27791 27792 for (var key in aReferrals) { 27793 value = aReferrals[key]; 27794 szUrl += '&' + key + '=' + encodeURI(value); 27795 } 27796 27797 htmlActions += '<a target="' + oAction["target"] + '" class="ctl-show-loading btn btn-outline-primary btn-sm ctl-theme-tables-action-view-record-author ctl-table-row-action" href="' + szUrl + '">'; 27798 27799 if (!oConfig["action-author-view-icon"]) { 27800 htmlActions += '<i class="ctl-wp-studio-icons-user"></i>'; 27801 } else { 27802 htmlActions += '<i class="' + oConfig["action-author-view-icon"] + '"></i>'; 27803 } 27804 27805 htmlActions += '</a>'; 27806 } 27807 } break; 27808 case "author2": { 27809 if (oAction["page"] && oRow["author-id"] && !oRow["invalid-author2-role"]) { 27810 var szUrl = g_oCTLWPStudio.addParameterToUrl( 27811 oAction["page"], 27812 oAction["referral"], 27813 oRow["author-id"]); 27814 27815 for (var key in aReferrals) { 27816 value = aReferrals[key]; 27817 szUrl += '&' + key + '=' + encodeURI(value); 27818 } 27819 27820 htmlActions += '<a target="' + oAction["target"] + '" class="ctl-show-loading btn btn-outline-primary btn-sm ctl-theme-tables-action-view-record-author2 ctl-table-row-action" href="' + szUrl + '">'; 27821 27822 if (!oConfig["action-author2-view-icon"]) { 27823 htmlActions += '<i class="ctl-wp-studio-icons-user"></i>'; 27824 } else { 27825 htmlActions += '<i class="' + oConfig["action-author2-view-icon"] + '"></i>'; 27826 } 27827 27828 htmlActions += '</a>'; 27829 } 27830 } break; 27831 case "derivate": { 27832 if (oAction["page"] && oRow["derivate-id"]) { 27833 var szUrl = g_oCTLWPStudio.addParameterToUrl( 27834 oAction["page"], 27835 oAction["referral"], 27836 oRow["derivate-id"]); 27837 27838 for (var key in aReferrals) { 27839 value = aReferrals[key]; 27840 szUrl += '&' + key + '=' + encodeURI(value); 27841 } 27842 27843 htmlActions += '<a target="' + oAction["target"] + '" class="ctl-show-loading btn btn-outline-primary btn-sm ctl-theme-tables-action-view-record-derivate ctl-table-row-action" href="' + szUrl + '">'; 27844 27845 if (!oConfig["action-derivate-view-icon"]) { 27846 htmlActions += '<i class="fa-solid fa-clone"></i>'; 27847 } else { 27848 htmlActions += '<i class="' + oConfig["action-derivate-view-icon"] + '"></i>'; 27849 } 27850 27851 htmlActions += '</a>'; 27852 } 27853 } break; 27854 case "parent": { 27855 if (oAction["page"] && oRow["parent-id"] && !oRow["ivalid-parent-post-type"]) { 27856 var szUrl = g_oCTLWPStudio.addParameterToUrl( 27857 oAction["page"], 27858 oAction["referral"], 27859 oRow["parent-id"]); 27860 27861 for (var key in aReferrals) { 27862 value = aReferrals[key]; 27863 szUrl += '&' + key + '=' + encodeURI(value); 27864 } 27865 27866 htmlActions += '<a target="' + oAction["target"] + '" class="ctl-show-loading btn btn-outline-primary btn-sm ctl-theme-tables-action-view-record-parent ctl-table-row-action" href="' + szUrl + '">'; 27867 27868 if (!oConfig["action-parent-view-icon"]) { 27869 htmlActions += '<i class="ctl-wp-studio-icons-reply"></i>'; 27870 } else { 27871 htmlActions += '<i class="' + oConfig["action-parent-view-icon"] + '"></i>'; 27872 } 27873 27874 htmlActions += '</a>'; 27875 } 27876 } break; 27877 case "parent2": { 27878 if (oAction["page"] && oRow["parent-id"] && !oRow["ivalid-parent2-post-type"]) { 27879 var szUrl = g_oCTLWPStudio.addParameterToUrl( 27880 oAction["page"], 27881 oAction["referral"], 27882 oRow["parent-id"]); 27883 27884 for (var key in aReferrals) { 27885 value = aReferrals[key]; 27886 szUrl += '&' + key + '=' + encodeURI(value); 27887 } 27888 27889 htmlActions += '<a target="' + oAction["target"] + '" class="ctl-show-loading btn btn-outline-primary btn-sm ctl-theme-tables-action-view-record-parent2 ctl-table-row-action" href="' + szUrl + '">'; 27890 27891 if (!oConfig["action-parent2-view-icon"]) { 27892 htmlActions += '<i class="ctl-wp-studio-icons-reply"></i>'; 27893 } else { 27894 htmlActions += '<i class="' + oConfig["action-parent2-view-icon"] + '"></i>'; 27895 } 27896 27897 htmlActions += '</a>'; 27898 } 27899 } break; 27900 case "user-from-post-author": { 27901 if (oAction["page"] && oRow["user-id"]) { 27902 var szUrl = g_oCTLWPStudio.addParameterToUrl( 27903 oAction["page"], 27904 oAction["referral"], 27905 oRow["user-id"]); 27906 27907 for (var key in aReferrals) { 27908 value = aReferrals[key]; 27909 szUrl += '&' + key + '=' + encodeURI(value); 27910 } 27911 27912 htmlActions += '<a target="' + oAction["target"] + '" class="ctl-show-loading btn btn-outline-primary btn-sm ctl-theme-tables-action-view-record-user-from-post-author ctl-table-row-action" href="' + szUrl + '">'; 27913 27914 if (!oConfig["action-user-from-post-author-view-icon"]) { 27915 htmlActions += '<i class="ctl-wp-studio-icons-user"></i>'; 27916 } else { 27917 htmlActions += '<i class="' + oConfig["action-user-from-post-author-view-icon"] + '"></i>'; 27918 } 27919 27920 htmlActions += '</a>'; 27921 } 27922 } break; 27923 case "view": { 27924 27925 var htmlIcon = ""; 27926 if (!oConfig["action-view-icon"]) { 27927 if (oConfig["user-filter"]) { 27928 htmlIcon = '<i class="ctl-wp-studio-icons-user"></i>'; 27929 } else { 27930 htmlIcon = '<i class="ctl-wp-studio-icons-doc-text"></i>'; 27931 } 27932 } else { 27933 htmlIcon = '<i class="' + oConfig["action-view-icon"] + '"></i>'; 27934 } 27935 27936 if ((oAction["page"])) { 27937 var szUrl = g_oCTLWPStudio.addParameterToUrl( 27938 oAction["page"], 27939 oAction["referral"], 27940 oRow["resource-id"]); 27941 27942 for (var key in aReferrals) { 27943 value = aReferrals[key]; 27944 szUrl += '&' + key + '=' + encodeURI(value); 27945 } 27946 27947 htmlActions += '<a target="' + oAction["target"] + '" class="ctl-show-loading btn btn-outline-primary btn-sm ctl-theme-tables-action-view-record" href="' + szUrl + '">'; 27948 27949 htmlActions += htmlIcon; 27950 27951 htmlActions += '</a>'; 27952 } else if (oAction["modal-id"]) { 27953 27954 var id = g_oCTLWPStudio.makeCode(6) 27955 htmlActions += '<form class="d-none layout-' + id + '">'; 27956 htmlActions += '<input type="hidden" name="' + oAction["referral"] + '" value="' + oRow["resource-id"] + '">'; 27957 htmlActions += '</form>'; 27958 htmlActions += '<button data-modal-extra-data="' + id + '" data-modal-id="' + oAction["modal-id"] + '" class="btn btn-outline-primary btn-action-row-open-modal btn-sm ctl-table-row-action" type="button">'; 27959 htmlActions += htmlIcon; 27960 htmlActions += '</button>'; 27961 } else { 27962 htmlActions += '<button class="btn btn-outline-primary btn-sm ctl-theme-tables-action-view-record ctl-table-row-action" type="button">'; 27963 htmlActions += htmlIcon; 27964 htmlActions += '</button>'; 27965 } 27966 } break; 27967 case "delete": { 27968 if (!oRow["readonly"] && oRow["allow-deletion"]) { 27969 htmlActions += '<button class="btn btn-outline-danger btn-sm btn-delete-row ctl-table-row-action'; 27970 htmlActions += (oAction["confirm"] ? ' confirm' : ''); 27971 htmlActions += (oConfig["custom-deletion"] ? ' custom-deletion' : ''); 27972 htmlActions += '"'; 27973 htmlActions += ' data-type="' + oConfig['data-type'] + '"'; 27974 htmlActions += ' type="button">'; 27975 htmlActions += '<i class="ctl-wp-studio-icons-trash"></i>'; 27976 27977 if (oConfig["action-delete-label"]) { 27978 $htmlActions += '<span class="btn-text ml-2">' + oConfig["action-delete-label"] + '</span>'; 27979 } 27980 27981 htmlActions += '</button>'; 27982 } 27983 } break; 27984 } 27985 27986 } 27987 htmlActions += '</div>'; 27988 htmlActions += '</td>'; 27989 } 27990 27991 if (oConfig["enable-post-sorting"]) { 27992 html += '<td class="text-right tbl-td-post-sorting d-print-none">'; 27993 html += '<div class="ctl-table-bg-cell-data"></div>'; 27994 html += '<div class="ctl-table-cell-data">'; 27995 html += '<i class="ctl-wp-studio-icons-arrow-combo"></i>'; 27996 html += '</div>'; 27997 html += '</td>'; 27998 } 27999 28000 if (oConfig['multiple-selection']) { 28001 html += '<td class="text-center multiple-selection d-print-none">'; 28002 html += '<div class="ctl-table-bg-cell-data"></div>'; 28003 html += '<div class="ctl-table-cell-data">'; 28004 if (!oRow["readonly"]) { 28005 html += formFieldsBuildCheck( 28006 { 28007 "classes": 'ctl-theme-tables-row-selector', 28008 "field-name": oConfig['selection-field-name'] 28009 }, oRow["resource-id"]); 28010 } 28011 html += '</div>'; 28012 html += '</td>'; 28013 } 28014 28015 if (oConfig['show-cardinality']) { 28016 html += '<td class="text-right cardinality ctl-table-td-cell" data-value="' + n + '" data-csv-exported-value="cell-value">'; 28017 html += '<div class="ctl-table-bg-cell-data"></div>'; 28018 html += '<div class="ctl-table-cell-data">'; 28019 html += n + "."; 28020 html += '</div>'; 28021 html += '</td>'; 28022 } 28023 28024 if (oConfig['show-post-locks']) { 28025 html += '<td class="text-right post-locks">'; 28026 html += '<div class="ctl-table-bg-cell-data"></div>'; 28027 html += '<div class="ctl-table-cell-data">'; 28028 if (!oRow["readonly"]) { 28029 html += '<i class="ctl-wp-studio-icons-lock-open"><i>'; 28030 } else { 28031 html += '<i class="ctl-wp-studio-icons-lock"><i>'; 28032 } 28033 html += '</div>'; 28034 html += '</td>'; 28035 } 28036 28037 if (oConfig["action-position"] === "left" || oConfig["action-position"] === "both") { 28038 html += htmlActions; 28039 } 28040 28041 for (var i = 0; i < aItems.length; i++) { 28042 var value = aItems[i]; 28043 var oItemConfig = aItemConfig[i]; 28044 28045 if ((oItemConfig["editable"])) { 28046 oItemConfig["classes"] += ' editable'; 28047 } 28048 28049 html += '<td'; 28050
28051 var szItemClasses = "ctl-table-td-cell ctl-table-col-" + oItemConfig["col-id"]; 28052 28053 if (oItemConfig["field-name"]) { 28054 szItemClasses += ' ctl-table-cell-field'; 28055 } 28056 28057 if (oItemConfig["sticky-col"]) { 28058 szItemClasses += ' ctl-table-td-sticky-col'; 28059 } 28060 28061 if (oItemConfig["classes"] !== "") { 28062 szItemClasses += ' ' + oItemConfig["classes"]; 28063 } 28064 if (szItemClasses !== "") { 28065 html += ' class="' + szItemClasses + '"'; 28066 } 28067 28068 html += ' style="'; 28069 if ((oItemConfig["width"])) { 28070 html += ' width: ' + oItemConfig["width"] + ';'; 28071 } 28072 if ((oItemConfig["min-width"])) { 28073 html += ' min-width: ' + oItemConfig["width"] + ';'; 28074 } 28075 html += '"'; 28076 28077 if ((oItemConfig["field-name"])) { 28078 html += ' data-field-name="' + oItemConfig["field-name"] + '"'; 28079 } 28080 28081 if (oItemConfig["sticky-col"]) { 28082 szItemClasses += ' ctl-table-td-sticky-col'; 28083 } 28084 28085 if (oItemConfig["csv-exported-value"]) { 28086 html += ' data-csv-exported-value="' + oItemConfig["csv-exported-value"] + '"'; 28087 } 28088 28089 if ((oItemConfig["store-data-value"])) { 28090 if (oItemConfig["allow-html"]) { 28091 html += ' data-encode-value="base64" data-value="' + Base64.encode(value) + '"'; 28092 } else { 28093 html += ' data-encode-value="none" data-value="' + value + '"'; 28094 } 28095 html += ' data-referral-alias="' + oItemConfig["referral-alias"] + '"'; 28096 } 28097 28098 if ((oItemConfig["data-format"])) { 28099 html += ' data-format="' + oItemConfig["data-format"] + '"'; 28100 } 28101 28102 if ((oItemConfig["data-input"])) { 28103 html += ' data-input="' + oItemConfig["data-input"] + '"'; 28104 } 28105 28106 if (oItemConfig["footer-calculations"]) { 28107 html += ' data-footer-calculations="' + oItemConfig["footer-calculations"] + '"'; 28108 } 28109 28110 if ((oItemConfig["data-type"])) { 28111 html += ' data-type="' + oItemConfig["data-type"] + '"'; 28112 } 28113 28114 html += '>'; 28115 28116 var szTextTransformClass = ""; 28117 28118 switch (oItemConfig["text-transform"]) { 28119 case "uppercase": { 28120 szTextTransformClass = " text-uppercase"; 28121 } break; 28122 case "capitalize": { 28123 szTextTransformClass = " text-capitalize"; 28124 } break; 28125 case "lowercase": { 28126 szTextTransformClass = " text-lowercase"; 28127 } break; 28128 default: { 28129 szTextTransformClass = ""; 28130 } 28131 } 28132 28133 html += '<div class="ctl-table-bg-cell-data"></div>'; 28134 28135 if (!aHeader[i]["hide-label-in-cards"]) { 28136 html += '<label class="ctl-card-content-title">' + aHeader[i]["label"] + '</label>'; 28137 } 28138 28139 html += '<div class="ctl-table-cell-data' + szTextTransformClass + '"'; 28140 if ((oItemConfig["width"]) && 28141 oItemConfig["width"] !== "0%" && 28142 oItemConfig["width"] !== "0px") { 28143 html += ' style="width: ' + oItemConfig["width"] + '"'; 28144 } 28145 html += '>'; 28146 28147 value = __ctlThemeTableFormatCell(value, oItemConfig, oRow); 28148 28149 if (!oItemConfig["allow-html"]) { 28150 value = htmlEntities(value); 28151 } 28152 28153 html += value; 28154 28155 html += '</div>'; 28156 html += '</td>'; 28157 } 28158 28159 if (oConfig["action-position"] && oConfig["action-position"] !== "left") { 28160 html += htmlActions; 28161 } 28162 28163 html += '</tr>'; 28164 28165 return html; 28166} 28167 28168 28169function __ctlTableSerializeRow(oNodeTR) { 28170 var oFormData = {}; 28171 oFormData["resource-id"] = oNodeTR.attr("data-resource-id"); 28172 oNodeTR.find("td").each(function () { 28173 var oNodeTD = jQuery(this); 28174 if (oNodeTD.attr("data-field-name")) { 28175 28176 switch (oNodeTD.attr("data-format")) { 28177 case "INPUT_FLOAT": { 28178 oFormData[oNodeTD.attr("data-field-name")] = oNodeTD.find("input").val(); 28179 } break; 28180 default: { 28181 28182 if (oNodeTD.attr("data-encode-value") == "base64") { 28183 oFormData[oNodeTD.attr("data-field-name")] = Base64.decode(oNodeTD.attr("data-value")); 28184 } else { 28185 oFormData[oNodeTD.attr("data-field-name")] = oNodeTD.attr("data-value"); 28186 } 28187 } 28188 } 28189 } 28190 }); 28191 28192 return oFormData; 28193} 28194 28195function __ctlTableSaveRowWithAjaxBlock(oFormData, szAjaxAction) { 28196 28197 28198 oFormData['action'] = 'ctl-wp-studio'; 28199 oFormData['execute'] = 'ctl-php-block'; 28200 oFormData['extension-action'] = szAjaxAction; 28201 28202 oFormData['url-params'] = g_oCTLWPStudio.getUrlParams(); 28203 28204 var idLoading = g_oCTLWPStudio.showLoading(""); 28205 jQuery.ajax({ 28206 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 28207 type: "POST", 28208 data: oFormData, 28209 cache: false, 28210 method: 'POST', 28211 success: function (response, textStatus, jqXHR) { 28212 g_oCTLWPStudio.closeDlg(idLoading); 28213 var oResponse = jQuery.parseJSON(response); 28214 if (oResponse.res === false) { 28215 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 28216 } else { 28217 28218 } 28219 }, error: function (jqXHR, textStatus, errorThrown) { 28220 g_oCTLWPStudio.closeDlg(idLoading); 28221 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 28222 } 28223 }); 28224 28225} 28226 28227function __ctlThemeTablePreSplitPost(oNodeButton) { 28228 28229 var oNodeTR = oNodeButton.closest("tr"); 28230 var oNodeTableWrapper = oNodeTR.closest(".ctl-theme-table-main-wrapper"); 28231 var idResource = oNodeTR.attr("data-resource-id"); 28232 28233 var oFormData = {}; 28234 oFormData['action'] = 'ctl-wp-studio'; 28235 oFormData['execute'] = 'ctl-theme-tables'; 28236 oFormData['extension-action'] = 'pre-split-post-row'; 28237 oFormData['table-id'] = oNodeTableWrapper.attr("data-table-id");
28238 oFormData['resource-id'] = idResource; 28239 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 28240 28241 var idLoading = g_oCTLWPStudio.showLoading(""); 28242 28243 jQuery.ajax({ 28244 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 28245 type: "POST", 28246 data: oFormData, 28247 cache: false, 28248 method: 'POST', 28249 success: function (response, textStatus, jqXHR) { 28250 var oResponse = JSON.parse(response); 28251 g_oCTLWPStudio.closeDlg(idLoading); 28252 28253 if (oResponse.res === true) { 28254 __ctlThemeTableShowSplitPostModal(oNodeButton, Number(oResponse.quantity)); 28255 } else if (oResponse.desc) { 28256 alert(oResponse.desc); 28257 } else { 28258 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 28259 } 28260 }, 28261 error: function (jqXHR, textStatus, errorThrown) { 28262 g_oCTLWPStudio.closeDlg(idLoading); 28263 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 28264 } 28265 }); 28266} 28267 28268function __ctlThemeTableCreateSplitQuantityPostInput(fQuantity) { 28269 let html = ''; 28270 28271 html += '<li>'; 28272 html += '<div class="input-group mb-3">'; 28273 html += '<input type="number" class="form-control" name="qty[]" value="' + fQuantity + '">'; 28274 html += '<div class="input-group-append">'; 28275 html += '<button class="btn btn-outline-secondary btn-action-add-qty-split-post" type="button"><i class="fa-solid fa-file-half-dashed"></i></button>'; 28276 html += '</div>'; 28277 html += '<div class="input-group-append">'; 28278 html += '<button class="btn btn-outline-danger btn-action-remove-qty-split-post" type="button"><i class="ctl-wp-studio-icons-trash"></i></button>'; 28279 html += '</div>'; 28280 html += '</div>'; 28281 html += '</li>'; 28282 28283 return html; 28284} 28285 28286function __ctlThemeTableShowSplitPostModal(oNodeButton, fQuantity) { 28287 let oNodeTR = oNodeButton.closest("tr"); 28288 let oNodeTableWrapper = oNodeTR.closest(".ctl-theme-table-main-wrapper"); 28289 let szModalTitle = oNodeTableWrapper.attr("data-label-split-post-modal-title"); 28290 let idResource = oNodeTR.attr("data-resource-id"); 28291 28292 let szMessage = g_oCTLThemeTablesLocalizationFront["The quantity to be divided is %s."]; 28293 szMessage = sprintf(szMessage, '<span class="badge badge-primary">' + fQuantity + '</span>'); 28294 28295 let html = '<form>'; 28296 html += '<div class="ctl-theme-tables-action-split-post-row">'; 28297 html += '<input type="hidden" name="resource-id" value="' + idResource + '">'; 28298 html += '<input type="hidden" name="table-id" value="' + oNodeTableWrapper.attr("data-table-id") + '">'; 28299 html += '<input type="hidden" name="source-qty" value="' + fQuantity + '">'; 28300 28301 html += '<p class="ctl-theme-tables-action-split-post-row-text">'; 28302 html += szMessage; 28303 html += '</p>'; 28304 html += '<ul class="list-unstyled">'; 28305 html += __ctlThemeTableCreateSplitQuantityPostInput(fQuantity); 28306 html += '</ul>'; 28307 html += '</div>'; 28308 html += '</form>'; 28309 28310 g_oCTLBootstrapModals.showModal({ 28311 modal_title: szModalTitle, 28312 modal_content: html, 28313 position: "centered", 28314 entrance_animation: "animate__slideInUp", 28315 exit_animation: "animate__slideOutDown", 28316 footer_buttons: ['<button class="btn btn-primary btn-action-split-post-row-confirm">' + 28317 g_oCTLThemeTablesLocalizationFront["Continue"] + '</button>' 28318 ] 28319 }); 28320 28321 jQuery(".btn-action-split-post-row-confirm").on("click", function () { 28322 28323 var oNodeForm = jQuery(this).closest(".modal").find("form"); 28324 var oFormData = oNodeForm.serializeObject(); 28325 28326 let fQtyFound = 0; 28327 oNodeForm.find("input[name='qty[]']").each(function () { 28328 fQtyFound += Number(jQuery(this).val()); 28329 }); 28330 28331 if (fQtyFound != Number(oFormData["source-qty"])) { 28332 g_oCTLBootstrapModals.alert("", g_oCTLThemeTablesLocalizationFront["The sum of the quantities does not match the original quantity!"]); 28333 return; 28334 } 28335 28336 oFormData['action'] = 'ctl-wp-studio'; 28337 oFormData['execute'] = 'ctl-theme-tables'; 28338 oFormData['extension-action'] = 'split-post-row'; 28339 oFormData['table-id'] = oNodeTableWrapper.attr("data-table-id");
28340 oFormData['resource-id'] = idResource; 28341 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 28342 var idLoading = g_oCTLWPStudio.showLoading(""); 28343 28344 jQuery.ajax({ 28345 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 28346 type: "POST", 28347 data: oFormData, 28348 cache: false, 28349 method: 'POST', 28350 success: function (response, textStatus, jqXHR) { 28351 var oResponse = JSON.parse(response); 28352 28353 if (oResponse.res === true) { 28354 window.location.reload(); 28355 } else if (oResponse.desc) { 28356 g_oCTLWPStudio.closeDlg(idLoading); 28357 alert(oResponse.desc); 28358 } else { 28359 g_oCTLWPStudio.closeDlg(idLoading); 28360 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 28361 } 28362 }, 28363 error: function (jqXHR, textStatus, errorThrown) { 28364 g_oCTLWPStudio.closeDlg(idLoading); 28365 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 28366 } 28367 }); 28368 }); 28369} 28370 28371function ctlResizeMaximizedTables(oNodeParent = null) { 28372 setTimeout(function () { 28373 if (!oNodeParent) { 28374 oNodeParent = jQuery("body"); 28375 } 28376 oNodeParent.find(".ctl-theme-table-main-wrapper.ctl-maximize").each(function () { 28377 let oNodeTableScrollableWrapper = jQuery(this).find(".ctl-theme-tables-scrollable-wrapper"); 28378 if (oNodeTableScrollableWrapper.length > 0) { 28379 __ctlResizeMaximizedTable(oNodeTableScrollableWrapper); 28380 } 28381 }); 28382 }, 500); 28383} 28384 28385function __ctlResizeMaximizedTable(oNodeTableScrollableWrapper) { 28386 let oNodeTableWrapper = oNodeTableScrollableWrapper.closest(".ctl-theme-tables-wrapper"); 28387 let oPosition = oNodeTableWrapper.position(); 28388 28389 let fWindowHeight = jQuery(window).height(); 28390 28391 let fMaxHeight = (fWindowHeight - oPosition.top - 30); // 30px for bottom margin 28392 28393 let oNodeFooterButtonsDown = jQuery(oNodeTableWrapper).nextAll().filter(".table-footer-actions"); 28394 28395 if (oNodeFooterButtonsDown.length > 0) { 28396 fMaxHeight -= oNodeFooterButtonsDown.outerHeight(); 28397 } 28398 oNodeTableScrollableWrapper.css("max-height", fMaxHeight + "px"); 28399} 28400 28401function __ctlThemeTableAjaxExportCsv($idTable, $aGetParams, $iOffset = 1, cbEnd){ 28402 var oFormData = {}; 28403 oFormData['action'] = 'ctl-wp-studio'; 28404 oFormData['execute'] = 'ctl-theme-tables'; 28405 oFormData['extension-action'] = 'export-csv'; 28406 oFormData['table-id'] = $idTable; 28407 oFormData['offset'] = $iOffset; 28408 oFormData["get-params"] = $aGetParams; 28409 28410 jQuery.ajax({ 28411 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 28412 type: "POST", 28413 data: oFormData, 28414 cache: false, 28415 method: 'POST', 28416 success: function (response, textStatus, jqXHR) { 28417 var oResponse = JSON.parse(response); 28418 28419 if (oResponse.res === true) { 28420 if(oResponse.continue){ 28421 __ctlThemeTableAjaxExportCsv($idTable, $aGetParams, $iOffset + 1, cbEnd); 28422 } else { 28423 g_oCTLWPStudio.downloadFile(oResponse.url, oResponse.filename); 28424 28425 if (cbEnd){ 28426 cbEnd.call(this, oResponse); 28427 } 28428 } 28429 } 28430 }, 28431 error: function (jqXHR, textStatus, errorThrown) { 28432 if (cbEnd){ 28433 cbEnd.call(this); 28434 } 28435 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 28436 } 28437 }); 28438} 28439 28440function ctlThemeTableRefreshStickyColumnsShadow(){ 28441 jQuery(".ctl-theme-tables-wrapper").each(function(){ 28442 const element = this; 28443 const canScroll = element.scrollWidth > element.clientWidth; 28444 28445 if (canScroll){ 28446 if ( element.scrollLeft === 0 ){ 28447 jQuery(this).removeClass("ctl-table-show-left-sticky-col-shadow"); 28448 }else{ 28449 jQuery(this).addClass("ctl-table-show-left-sticky-col-shadow"); 28450 } 28451 28452 if ( element.scrollLeft + element.clientWidth >= element.scrollWidth -1){ 28453 jQuery(this).removeClass("ctl-table-show-right-sticky-col-shadow"); 28454 }else{ 28455 jQuery(this).addClass("ctl-table-show-right-sticky-col-shadow"); 28456 } 28457 }else{ 28458 jQuery(this).removeClass("ctl-table-show-left-sticky-col-shadow"); 28459 jQuery(this).removeClass("ctl-table-show-right-sticky-col-shadow"); 28460 } 28461 }); 28462} 28463// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-user-access-form/php/../js/front.js 28464var g_oConfirmDialog = null; 28465var g_ctlUserAccessFormLoadingDialog = null; 28466 28467jQuery(document).ready(function(){ 28468 jQuery(".ctl-user-access-form-form-register input[type=text], .ctl-user-access-form-form-register input[type=number], .ctl-user-access-form-form-register input[type=email], .ctl-user-access-form-form-register input[type=password]").on('keyup', function (e) { 28469 if (e.keyCode === 13) { 28470 jQuery(this).blur(); 28471 ctl_user_try_access( jQuery(this) 28472 .closest(".ctl-user-access-form-wrapper"), "try-register" ); 28473 } 28474 }); 28475 28476 jQuery(".ctl-user-access-form-form-login input[type=text], .ctl-user-access-form-form-login input[type=number], .ctl-user-access-form-form-login input[type=email], .ctl-user-access-form-form-login input[type=password]").on('keyup', function (e) { 28477 if (e.keyCode === 13) { 28478 jQuery(this).blur(); 28479 ctl_user_try_access( jQuery(this) 28480 .closest(".ctl-user-access-form-wrapper"), "try-login" ); 28481 } 28482 }); 28483 28484 jQuery(document).on("click", ".ctl-user-access-form-action-resend-confirm-email", function(){ 28485 ctl_user_custom_login_resend_confirm_email_dialog( jQuery(this) ); 28486 }); 28487 28488 jQuery(document).on("click", ".ctl-user-access-form-action-confirm-phone", function(){ 28489 let oNodeForm = jQuery(this).closest(".modal").find("form"); 28490 28491 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 28492 return; 28493 } 28494 28495 let oFormData = oNodeForm.serializeObject(); 28496 28497 ctl_user_custom_login_confirm( "confirm-phone", 28498 oFormData["user_id"], oFormData["phone_prefix"], 28499 oFormData["phone"], oFormData["pin"], 28500 oFormData["login_form_id"], oFormData["register_form_id"] ); 28501 }); 28502 28503 jQuery(document).on("click", ".ctl-user-access-form-request-reset-password", function(){ 28504 28505 var oNodeForm = jQuery(this).closest("form"); 28506 var oFormData = oNodeForm.serializeObject(); 28507 28508 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 28509 return; 28510 } 28511 28512 oFormData["action"] = g_oCTLWPStudio._szPluginCode; 28513 oFormData["execute"] = "ctl-user-access-form"; 28514 oFormData["extension-action"] = "request-reset-password"; 28515 28516 g_oCTLWPStudio._idLoadingDlg = 28517 g_oCTLWPStudio.showLoading(""); 28518 28519 jQuery.post( 28520 ctl_wp_studio_common_localization["ajaxurl"],oFormData).done( 28521 function(response){ 28522 g_oCTLWPStudio.closeDlg(g_oCTLWPStudio._idLoadingDlg); 28523 var oResponse = jQuery.parseJSON(response); 28524 28525 if ( oResponse.res === true ){ 28526 28527 ctlFormFieldsClearForm(oNodeForm); 28528 28529 if ( oResponse.alert ){ 28530 g_oCTLBootstrapModals.alert("", oResponse.alert , ()=>{ 28531 if(oResponse.redirect){ 28532 g_oCTLWPStudio.showLoading(""); 28533 window.location.href = oResponse.redirect; 28534 } 28535 }); 28536 }else{ 28537 window.location.reload(); 28538 } 28539 }else{ 28540 alert(ctl_wp_studio_common_localization["Ooops! Something Went Wrong!"]); 28541 } 28542 } 28543 ).fail( function(){ 28544 g_oCTLWPStudio.closeDlg(g_oCTLWPStudio._idLoadingDlg); 28545 alert(ctl_wp_studio_common_localization["Ooops! Something Went Wrong!"]); 28546 }); 28547 }); 28548 28549 jQuery(document).on("click", ".ctl-user-access-form-change-password", function(){ 28550 28551 var oNodeForm = jQuery(this).closest("form"); 28552 var oFormData = oNodeForm.serializeObject(); 28553 28554 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 28555 return; 28556 } 28557 28558 oFormData["action"] = g_oCTLWPStudio._szPluginCode; 28559 oFormData["execute"] = "ctl-user-access-form"; 28560 oFormData["extension-action"] = "change-password"; 28561 28562 g_oCTLWPStudio._idLoadingDlg = 28563 g_oCTLWPStudio.showLoading(""); 28564 28565 jQuery.post( 28566 ctl_wp_studio_common_localization["ajaxurl"],oFormData).done( 28567 function(response){ 28568 g_oCTLWPStudio.closeDlg(g_oCTLWPStudio._idLoadingDlg); 28569 var oResponse = jQuery.parseJSON(response); 28570 28571 if ( oResponse.res === true ){ 28572 ctlFormFieldsClearForm(oNodeForm); 28573 if ( oResponse.alert ){ 28574 g_oCTLBootstrapModals.alert("", oResponse.alert, function(){ 28575 if ( oResponse.redirect ){ 28576 g_oCTLWPStudio.showLoading(""); 28577 window.location.href = oResponse.redirect; 28578 } 28579 } ); 28580 } 28581 }else{ 28582 alert(ctl_wp_studio_common_localization["Ooops! Something Went Wrong!"]); 28583 } 28584 } 28585 ).fail( function(){ 28586 g_oCTLWPStudio.closeDlg(g_oCTLWPStudio._idLoadingDlg); 28587 alert(ctl_wp_studio_common_localization["Ooops! Something Went Wrong!"]); 28588 }); 28589 }); 28590 28591 jQuery(document).on("click", ".ctl-user-access-form-action-login", function(){ 28592 ctl_user_try_access( jQuery(this) 28593 .closest(".ctl-user-access-form-wrapper"), "try-login" ); 28594 }); 28595 28596 jQuery(document).on("click", ".ctl-user-access-form-action-register", function(){ 28597 ctl_user_try_access( jQuery(this) 28598 .closest(".ctl-user-access-form-wrapper"), "try-register" ); 28599 }); 28600 28601 jQuery(document).on("click", ".ctl-user-access-form-action-update-registration-data", function(){ 28602 ctl_user_try_access( jQuery(this) 28603 .closest(".ctl-user-access-form-wrapper"), "update-register" ); 28604 }); 28605}); 28606 28607function ctl_user_custom_login_resend_confirm_email_dialog( oNodeButton ){ 28608 let oNodeForm = oNodeButton.closest(".modal").find("form"); 28609 var idUser = oNodeForm.find("input[name=user_id]").val(); 28610 28611 var oFormData = {}; 28612 oFormData["action"] = "ctl-wp-studio"; 28613 oFormData["execute"] = "ctl-user-access-form"; 28614 oFormData["extension-action"] = "resend-confirm-email"; 28615 oFormData["user_id"] = idUser; 28616 28617 g_ctlUserAccessFormLoadingDialog = g_oCTLWPStudio.showLoading(""); 28618 28619 jQuery.post( 28620 ctl_wp_studio_common_localization["ajaxurl"], oFormData ).done( 28621 function(response){ 28622 var aResult = JSON.parse(response); 28623 28624 g_oCTLWPStudio.closeDlg(g_ctlUserAccessFormLoadingDialog); 28625 g_oCTLBootstrapModals.closeLastModal(); 28626 28627 g_oCTLBootstrapModals.alert("", aResult.message ); 28628 }).fail( function(){ 28629 g_oCTLWPStudio.closeDlg(g_oConfirmDialog); 28630 }); 28631} 28632 28633function ctl_user_custom_login_confirm( szExecute, idUser, szPhonePrefix, szPhone, szPin, 28634 idLoginFormId, idRegisterFormId ){ 28635 var oFormData = {}; 28636 oFormData["action"] = "ctl-wp-studio"; 28637 oFormData["execute"] = "ctl-user-access-form"; 28638 oFormData["extension-action"] = szExecute; 28639 oFormData["pin"] = szPin; 28640 oFormData["phone"] = szPhone; 28641 oFormData["phone_prefix"] = szPhonePrefix; 28642 oFormData["user_id"] = idUser; 28643 oFormData["login_form_id"] = idLoginFormId;
28644 oFormData["register_form_id"] = idRegisterFormId; 28645 28646 g_ctlUserAccessFormLoadingDialog = g_oCTLWPStudio.showLoading(""); 28647 28648 jQuery.post( 28649 ctl_wp_studio_common_localization["ajaxurl"], oFormData ).done( 28650 function(response){ 28651 var aResult = JSON.parse(response); 28652 28653 g_oCTLWPStudio.closeDlg(g_ctlUserAccessFormLoadingDialog); 28654 28655 if( aResult.res === false ){ 28656 g_oCTLBootstrapModals.closeLastModal(); 28657 g_oCTLBootstrapModals.alert("", aResult.message ); 28658 }else{ 28659 g_oCTLBootstrapModals.closeLastModal(); 28660 if( aResult.redirect ){ 28661 g_oCTLWPStudio.showLoading(""); 28662 28663 let aPostParams = null; 28664 if(aResult.post_params && Object.keys(aResult.post_params).length > 0){ 28665 aPostParams = aResult.post_params; 28666 } 28667 28668 g_oCTLWPStudio.redirect(aResult.redirect, true, true, aPostParams); 28669 }else{ 28670 g_oCTLBootstrapModals.confirm("", aResult.message, g_oCTLUserAccessFormLocalizationFront["Continue"], function(){ 28671 g_oCTLWPStudio.showLoading(""); 28672 window.location.reload(); 28673 }); 28674 } 28675 } 28676 }).fail( function(){ 28677 g_oCTLWPStudio.closeDlg(g_oConfirmDialog); 28678 alert(ctl_wp_studio_common_localization["Error"]); 28679 }); 28680} 28681 28682function ctl_user_custom_login_close_confirm_dialog(){ 28683 g_oCTLWPStudio.closeDlg(g_oConfirmDialog); 28684} 28685 28686function ctl_user_try_access( oNodeContainer, szExecute ){ 28687 28688 var oFormData = oNodeContainer.find(".ctl-user-access-form-data").serializeObject(); 28689 var oFormReferrals = oNodeContainer.find(".ctl-user-access-form-referrals").serializeObject(); 28690 var oNodeExtraData = oNodeContainer.find(".ctl-user-access-extra-data form"); 28691 var oNodeFormPolicies = oNodeContainer.find(".ctl-user-access-policies"); 28692 28693 var oNodeForm = oNodeContainer.find("form"); 28694 28695 oNodeContainer.find(".field-error").each(function(){ 28696 jQuery(this).text(""); 28697 }); 28698 oNodeContainer.find(".form-errors").each(function(){ 28699 jQuery(this).html(""); 28700 }); 28701 28702 if ( !ctlFormFieldsCheckIfFormIsFilled(oNodeForm) ){ 28703 return; 28704 } 28705 28706 if ( oNodeExtraData.length > 0 ){ 28707 if ( !ctlFormFieldsCheckIfFormIsFilled(oNodeForm) ){ 28708 return; 28709 }else{ 28710 oFormData["extra-data"] = oNodeExtraData.serializeObject(); 28711 } 28712 } 28713 28714 if ( oNodeFormPolicies.length > 0 ){ 28715 if ( !ctlFormFieldsCheckIfFormIsFilled(oNodeFormPolicies) ){ 28716 return; 28717 } 28718 var oPolicyData = oNodeFormPolicies.serializeObject(); 28719 oFormData = jQuery.extend(oFormData, oPolicyData); 28720 } 28721 28722 oFormData["action"] = "ctl-wp-studio"; 28723 oFormData["execute"] = "ctl-user-access-form"; 28724 oFormData["extension-action"] = szExecute; 28725 oFormData["referrals"] = oFormReferrals; 28726 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 28727 28728 g_ctlUserAccessFormLoadingDialog = g_oCTLWPStudio.showLoading(""); 28729 28730 jQuery.post( 28731 ctl_wp_studio_common_localization["ajaxurl"], oFormData ).done( 28732 function(response){ 28733 var aResult = JSON.parse(response); 28734 28735 g_oCTLWPStudio.closeDlg(g_ctlUserAccessFormLoadingDialog); 28736 28737 if( aResult.res === false ){ 28738 var bJumpToRegistration = false; 28739 var bIncompatibleRole = false; 28740 var szDialogMessages = ""; 28741 var bAttachedFormErrors = false; 28742 28743 for( var i = 0; i < aResult.errors.length; i++ ){ 28744 var oError = aResult.errors[i]; 28745 28746 switch(oError.code){ 28747 case "wrong_credentials":{ 28748 bJumpToRegistration = true; 28749 }break; 28750 case "incompatible_role":{ 28751 bIncompatibleRole = true; 28752 28753 g_oCTLBootstrapModals.alert("", oError.label ); 28754 }break; 28755 case "invalid_nonce":{ 28756 28757 g_oCTLBootstrapModals.confirm( "", 28758 oError.label, 28759 g_oCTLUserAccessFormLocalizationFront["Continue"], 28760 function(){ 28761 g_oCTLWPStudio.showLoading(""); 28762 window.location.reload(); 28763 }); 28764 return; 28765 }break; 28766 } 28767 28768 var bScrollToField = false;
28769 var bScrollModal = false; 28770 var iMinScrollOffsetTop; 28771 if( oError.field ){ 28772 var oNodeField = oNodeContainer.find('*[name="'+oError.field+'"]'); 28773 if ( oNodeField.length > 0 ){ 28774 oNodeField.addClass("is-invalid"); 28775 oNodeField.closest(".ctl-wp-studio-form-control-wrapper").addClass("is-invalid"); 28776 var oNodeInvalidFeedback = oNodeField.closest(".form-group").eq(0).find(".invalid-feedback"); 28777 oNodeInvalidFeedback.text(oError.label); 28778 bAttachedFormErrors = true; 28779 28780 28781 var iOffsetTop = oNodeField.offset().top; 28782 if( oNodeField.closest(".modal").length > 0 ){ 28783 bScrollModal = true; 28784 28785 iOffsetTop -= jQuery('.modal-body').offset().top; 28786
28787 bScrollToField = true; 28788 if(!iMinScrollOffsetTop || iMinScrollOffsetTop > iOffsetTop){ 28789 iMinScrollOffsetTop = iOffsetTop; 28790 } 28791 }else{ 28792 iOffsetTop -= 150; 28793 if(!iMinScrollOffsetTop || iMinScrollOffsetTop > iOffsetTop){ 28794 iMinScrollOffsetTop = iOffsetTop; 28795 } 28796 } 28797 } 28798 }else if( oError.field_container ){ 28799 szDialogMessages += '<p>'+oError.label+'</p>'; 28800 }else{ 28801 szDialogMessages += '<p>'+oError.label+'</p>'; 28802 } 28803 } 28804 28805 if(bScrollToField){ 28806 if(bScrollModal){ 28807 jQuery('.modal-body').animate({ scrollTop: iMinScrollOffsetTop }, 'slow'); 28808 }else{ 28809 jQuery('html,body').animate({ scrollTop: iOffsetTop }, 'slow'); 28810 } 28811 } 28812 28813 if ( bJumpToRegistration === true ){ 28814 var oNodeRegistrationPage = oNodeForm.find('input[name=registration-page]'); 28815 if ( oNodeRegistrationPage.length > 0 ){ 28816 g_oCTLBootstrapModals.confirm( 28817 g_oCTLUserAccessFormLocalizationFront["Go to registration page"], 28818 g_oCTLUserAccessFormLocalizationFront["You are not yet registered on our site, continue to go to the registration page."], 28819 g_oCTLUserAccessFormLocalizationFront["Continue"], 28820 function(){ 28821 g_oCTLWPStudio.redirect(oNodeRegistrationPage.val(), true ); 28822 }); 28823 }else if(szDialogMessages !== ""){ 28824 g_oCTLBootstrapModals.alert("", szDialogMessages ); 28825 }else{ 28826 // fixfix 28827 g_oCTLBootstrapModals.alert("", g_oCTLUserAccessFormLocalizationFront["Wrong credentials"] ); 28828 } 28829 }else if (bIncompatibleRole){ 28830 g_oCTLBootstrapModals.alert("", 28831 g_oCTLUserAccessFormLocalizationFront["You cannot login from this page."]); 28832 }else if ( szDialogMessages !== "" ){ 28833 var oModalConfig = { 28834 modal_content : szDialogMessages, 28835 button_close_title : g_oCTLUserAccessFormLocalizationFront['Continue'], 28836 button_close_class : "btn-primary", 28837 position : "centered", 28838 closeable : false 28839 }; 28840 g_oCTLBootstrapModals.showModal(oModalConfig); 28841 } 28842 28843 if ( bAttachedFormErrors ){ 28844 var iOffsetTop = 28845 jQuery(".ctl-wp-studio-form-control-wrapper.is-invalid").eq(0).offset().top - 150; 28846 jQuery('html,body,.modal').animate({ scrollTop: iOffsetTop }, 'slow'); 28847 } 28848 28849 }else{ 28850 28851 28852 28853 if (aResult.hasOwnProperty("close-stack-dialog") && aResult["close-stack-dialog"] == true) { 28854 g_oCTLBootstrapModals.closeModalAndStack(); 28855 }else if( aResult.redirect ){ 28856 28857 if ( aResult.redirect.indexOf("reload") === 0 ){ 28858 window.location.reload(); 28859 }else{ 28860 28861 let aPostParams = null; 28862 if(aResult.post_params && Object.keys(aResult.post_params).length > 0){ 28863 aPostParams = aResult.post_params; 28864 } 28865 28866 g_oCTLWPStudio.redirect(aResult.redirect, true, true, aPostParams); 28867 } 28868 28869 }else{ 28870 if( aResult.confirm === "phone" ){ 28871 var html = '<form>'; 28872 html += "<div class='form-group'>"; 28873 html += sprintf(g_oCTLUserAccessFormLocalizationFront["We just sent a <strong>PIN</strong> via SMS to the phone number: <strong>%s</strong>"], aResult.phone ); 28874 html += "</div>"; 28875 28876 html += "<input type='hidden' name='register_form_id' value='"+aResult.register_form_id+"'/>"; 28877 html += "<input type='hidden' name='login_form_id' value='"+aResult.login_form_id+"'/>"; 28878 html += "<input type='hidden' name='user_id' value='"+aResult.user_id+"'/>"; 28879 html += "<input type='hidden' name='phone_prefix' value='"+aResult.phone_prefix+"'/>"; 28880 html += "<input type='hidden' name='phone' value='"+aResult.phone+"'/>"; 28881 28882 html += formFieldsBuildNumberField({ 28883 "label-title" : "", 28884 "display" : 12, 28885 "mandatory" : true, 28886 "field-name" : "pin", 28887 "validate-not-zero" : true, 28888 "validate-unsigned" : true, 28889 "validate-integer" : true, 28890 "floating-label" : false 28891 }); 28892 28893 html += '</form>'; 28894 28895 g_oConfirmDialog = g_oCTLBootstrapModals.showModal( 28896 { 28897 modal_title : g_oCTLUserAccessFormLocalizationFront["Enter your PIN"], 28898 modal_content : html, 28899 position : "centered", 28900 entrance_animation : "animate__slideInUp", 28901 exit_animation : "animate__slideOutDown", 28902 footer_buttons : [ 28903 '<button class="btn btn-primary ctl-user-access-form-action-confirm-phone"><span class="btn-text">'+ 28904 g_oCTLUserAccessFormLocalizationFront["Continue"]+'</span></button>' 28905 ] 28906 }); 28907 28908 }else if( aResult.confirm === "email" ){ 28909 28910 var html = "<form>"; 28911 html += "<input type='hidden' name='user_id' value='"+aResult.user_id+"'/>"; 28912 html += g_oCTLUserAccessFormLocalizationFront["Check your mailbox, we just sent a <strong>confirmation url</strong> to your email used during registration"]; 28913 html += "</form>"; 28914 28915 g_oConfirmDialog = g_oCTLBootstrapModals.showModal({ 28916 modal_title : g_oCTLUserAccessFormLocalizationFront["Email validation"], 28917 modal_content : html, 28918 position : "centered", 28919 entrance_animation : "animate__slideInUp", 28920 exit_animation : "animate__slideOutDown", 28921 footer_buttons : [ 28922 '<button class="btn btn-primary ctl-user-access-form-action-resend-confirm-email"><span class="btn-text">'+ 28923 g_oCTLUserAccessFormLocalizationFront["Resend confirmation email"]+'</span></button>' 28924 ] 28925 }); 28926 }else{ 28927 var oModalConfig = { 28928 modal_content : aResult.message, 28929 button_close_title : g_oCTLUserAccessFormLocalizationFront['Continue'], 28930 button_close_class : "btn-primary", 28931 position : "centered", 28932 closeable : false 28933 }; 28934 if (oFormData["redirect"]){ 28935 oModalConfig["cb_close"] = function(){ 28936 if ( oFormData["redirect"].indexOf("reload") === 0 ){ 28937 window.location.reload(); 28938 }else{ 28939 g_oCTLWPStudio.redirect(oFormData["redirect"], true ); 28940 } 28941 }; 28942 } 28943 g_oCTLBootstrapModals.showModal(oModalConfig); 28944 } 28945 } 28946 } 28947 28948 }).fail( function(){ 28949 g_oCTLWPStudio.closeDlg(g_ctlUserAccessFormLoadingDialog); 28950 alert(ctl_wp_studio_common_localization["Error"]); 28951 }); 28952} 28953// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-ecommerce/php/../js/front.js 28954jQuery(document).ready(function(){ 28955 28956 jQuery(document).on("click", ".btn-cart-summary-action-add-product-into-cart", function(){ 28957 ctlEcommerceAddProductIntoCartFromCartSummary(jQuery(this)); 28958 }); 28959 28960 jQuery(document).on("click", ".ctl-ecommerce-action-convert-order", function(){ 28961 var oNodeForm = jQuery(this).closest("form"); 28962 ctlEcommerceConvertOrder(oNodeForm); 28963 }); 28964 28965 jQuery(document).on("click", ".btn-action-cancel-order", function(){ 28966 var oNodeForm = jQuery(this).closest("form"); 28967 ctlEcommerceCancelOrder(oNodeForm); 28968 }); 28969 28970 jQuery(document).on("click", ".btn-action-increment-cart-product-qty", function(){ 28971 var oNodeForm = jQuery(this).closest("form"); 28972 ctlEcommerceIncrementCartProductQty(oNodeForm); 28973 }); 28974 jQuery(document).on("click", ".btn-action-decrement-cart-product-qty", function(){ 28975 var oNodeForm = jQuery(this).closest("form"); 28976 ctlEcommerceDecrementCartProductQty(oNodeForm); 28977 }); 28978 28979 jQuery(document).on("click", ".btn-action-increment-cart-item-qty", function(){ 28980 var oNodeForm = jQuery(this).closest("form"); 28981 ctlEcommerceIncrementCartItemQty(oNodeForm); 28982 }); 28983 jQuery(document).on("click", ".btn-action-decrement-cart-item-qty", function(){ 28984 var oNodeForm = jQuery(this).closest("form"); 28985 ctlEcommerceDecrementCartItemQty(oNodeForm); 28986 }); 28987 28988 jQuery(document).on("click", ".btn-action-pay-order", function(){ 28989 ctlEcommercePayOrder(jQuery(this)); 28990 }); 28991 28992 jQuery(document).on("click", ".action-update-qty", function(){ 28993 var oNodeInput = jQuery("input[name=upgrade-stock-quantity]"); 28994 var iQtyToAdd = Number(jQuery(this).text()); 28995 var iSign = jQuery("input[name=sign]:checked").val() === "minus" ? -1 : 1; 28996 var iPrevQty = Number(oNodeInput.val()); 28997 28998 oNodeInput.val( (iQtyToAdd*iSign) + iPrevQty); 28999 }); 29000 29001 jQuery(".ctl-ecommerce-action-apply-focus").each(function(){ 29002 jQuery(this).focus(); 29003 }); 29004 29005 jQuery(document).on("click", ".btn-action-add-product-to-cart", function(){ 29006 var oNodecontainer = jQuery(this).closest(".ctl-ecommerce-product-container"); 29007 29008 var oNodeQty = oNodecontainer.find('input[name=qty]'); 29009 29010 ctlEcommercePutProductIntoCart(oNodecontainer.attr("data-product-id"), 29011 oNodecontainer.attr("data-product-title"), 29012 oNodeQty.length > 0 ? oNodeQty.val() : 1); 29013 }); 29014 29015 jQuery(document).on("click", ".btn-action-update-cart-item-qty", function(){ 29016 var oNodeForm = jQuery(this).closest("form"); 29017 ctlEcommerceUpdateCartItemQty(oNodeForm); 29018 }); 29019 29020 jQuery(document).on("click", ".btn-action-place-order", function(){ 29021 ctlEcommercePlaceOrder(jQuery(this)); 29022 }); 29023 29024 jQuery(document).on("click", ".btn-action-remove-cart-item", function(){ 29025 var oNodeForm = jQuery(this).closest("form"); 29026 ctlEcommerceRemoveCartItem(oNodeForm); 29027 }); 29028 29029 jQuery(document).on("click", ".btn-action-empty-cart", function(){ 29030 ctlEcommerceEmptyCart(jQuery(this)); 29031 }); 29032 29033 jQuery(document).on("click", ".ctl-cart-action-open-cart", function(){ 29034 var urlCartPage = jQuery(this).attr("data-url"); 29035 g_oCTLWPStudio.showLoading(""); 29036 window.location.href = urlCartPage; 29037 }); 29038 29039 29040 29041 if (jQuery(".ctl-cart-action-open-cart").length > 0){ 29042 jQuery(".ctl-cart-action-open-cart").addClass("ctl-loading"); 29043 ctlEcommerceGetCart(); 29044 } 29045 29046 29047}); 29048 29049function ctlEcommercePlaceOrder(oNodeButton){ 29050 var oFormData = {}; 29051 oFormData['action'] = 'ctl-wp-studio'; 29052 oFormData['execute'] = 'ctl-ecommerce'; 29053 oFormData['extension-action'] = 'place-order'; 29054 29055 oFormData['widget-id'] = oNodeButton.attr("data-widget-id"); 29056 oFormData['widget-type'] = oNodeButton.attr("data-widget-type"); 29057 oFormData['cart-id'] = oNodeButton.attr("data-cart-id"); 29058 29059 29060 var idLoading = g_oCTLWPStudio.showLoading(""); 29061 29062 jQuery.ajax({ 29063 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29064 type: "POST", 29065 data : oFormData, 29066 cache: false, 29067 method: 'POST', 29068 success:function(response, textStatus, jqXHR){ 29069 var oResponse = jQuery.parseJSON(response); 29070 29071 g_oCTLWPStudio.closeDlg(idLoading); 29072 if( oResponse.res === false ){ 29073 if ( oResponse.alert ){ 29074 alert(oResponse.alert); 29075 }else{ 29076 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29077 } 29078 }else{ 29079 g_oCTLWPStudio.showLoading(""); 29080 window.location.href = oResponse.url_order;
29081 } 29082 }, 29083 error: function(jqXHR, textStatus, errorThrown){ 29084 g_oCTLWPStudio.closeDlg(idLoading); 29085 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29086 } 29087 }); 29088} 29089 29090function ctlEcommerceUpdateCartItemQty( oNodeForm ){ 29091 var oFormData = oNodeForm.serializeObject(); 29092 oFormData['action'] = 'ctl-wp-studio'; 29093 oFormData['execute'] = 'ctl-ecommerce'; 29094 oFormData['extension-action'] = 'update-cart-item-qty'; 29095 oFormData['limit-extensions'] = ["ctl-ecommerce"]; 29096 29097 var idLoading = g_oCTLWPStudio.showLoading(""); 29098 29099 jQuery.ajax({ 29100 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29101 type: "POST", 29102 data : oFormData, 29103 cache: false, 29104 method: 'POST', 29105 success:function(response, textStatus, jqXHR){ 29106 var oResponse = jQuery.parseJSON(response); 29107 g_oCTLWPStudio.closeDlg(idLoading); 29108 if( oResponse.res === false ){ 29109 if ( oResponse.alert ){ 29110 alert(oResponse.alert); 29111 }else{ 29112 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29113 } 29114 }else{ 29115 g_oCTLWPStudio.showLoading(""); 29116 window.location.reload(); 29117 } 29118 }, 29119 error: function(jqXHR, textStatus, errorThrown){ 29120 g_oCTLWPStudio.closeDlg(idLoading); 29121 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29122 } 29123 }); 29124} 29125 29126function ctlEcommerceEmptyCart( oNodeButton ){ 29127 var oFormData = {}; 29128 oFormData['action'] = 'ctl-wp-studio'; 29129 oFormData['execute'] = 'ctl-ecommerce'; 29130 oFormData['extension-action'] = 'empty-cart'; 29131 oFormData['limit-extensions'] = ["ctl-ecommerce", "ctl-editors-framework"]; 29132 29133 oFormData['widget-id'] = oNodeButton.attr("data-widget-id"); 29134 oFormData['cart-id'] = oNodeButton.attr("data-cart-id"); 29135 29136 var idLoading = g_oCTLWPStudio.showLoading(""); 29137 29138 jQuery.ajax({ 29139 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29140 type: "POST", 29141 data : oFormData, 29142 cache: false, 29143 method: 'POST', 29144 success:function(response, textStatus, jqXHR){ 29145 var oResponse = jQuery.parseJSON(response); 29146 g_oCTLWPStudio.closeDlg(idLoading); 29147 if( oResponse.res === false ){ 29148 if ( oResponse.alert ){ 29149 alert(oResponse.alert); 29150 }else{ 29151 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29152 } 29153 }else{ 29154 g_oCTLWPStudio.showLoading(""); 29155 window.location.reload(); 29156 } 29157 }, 29158 error: function(jqXHR, textStatus, errorThrown){ 29159 g_oCTLWPStudio.closeDlg(idLoading); 29160 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29161 } 29162 }); 29163} 29164 29165function ctlEcommerceRemoveCartItem( oNodeForm ){ 29166 var oFormData = oNodeForm.serializeObject(); 29167 oFormData['action'] = 'ctl-wp-studio'; 29168 oFormData['execute'] = 'ctl-ecommerce'; 29169 oFormData['extension-action'] = 'remove-cart-item'; 29170 oFormData['limit-extensions'] = ["ctl-ecommerce", "ctl-editors-framework"]; 29171 29172 var idLoading = g_oCTLWPStudio.showLoading(""); 29173 29174 jQuery.ajax({ 29175 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29176 type: "POST", 29177 data : oFormData, 29178 cache: false, 29179 method: 'POST', 29180 success:function(response, textStatus, jqXHR){ 29181 var oResponse = jQuery.parseJSON(response); 29182 g_oCTLWPStudio.closeDlg(idLoading); 29183 if( oResponse.res === false ){ 29184 if ( oResponse.alert ){ 29185 alert(oResponse.alert); 29186 }else{ 29187 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29188 } 29189 }else{ 29190 oNodeForm.fadeOut( "slow", function() { 29191 oNodeForm.remove(); 29192 }); 29193 g_oCTLWPStudio.showLoading(""); 29194 window.location.reload(); 29195 } 29196 }, 29197 error: function(jqXHR, textStatus, errorThrown){ 29198 g_oCTLWPStudio.closeDlg(idLoading); 29199 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29200 } 29201 }); 29202} 29203 29204function ctlEcommerceIncrementCartProductQty( oNodeForm ){ 29205 var oNodeInputQty = oNodeForm.find(".ctl-ecommerce-cart-product-qty"); 29206 var iQty = oNodeInputQty.val(); 29207 iQty++; 29208 oNodeInputQty.val(iQty); 29209 29210} 29211function ctlEcommerceDecrementCartProductQty( oNodeForm ){ 29212 var oNodeInputQty = oNodeForm.find(".ctl-ecommerce-cart-product-qty"); 29213 var iQty = oNodeInputQty.val(); 29214 29215 if ( iQty == 1 ){ 29216 return; 29217 } 29218 29219 iQty--; 29220 oNodeInputQty.val(iQty); 29221 29222} 29223 29224 29225function ctlEcommerceIncrementCartItemQty( oNodeForm ){ 29226 var oNodeInputQty = oNodeForm.find(".ctl-ecommerce-cart-item-qty"); 29227 var iQty = oNodeInputQty.val(); 29228 iQty++; 29229 oNodeInputQty.val(iQty); 29230 oNodeForm.find(".btn-action-update-cart-item-qty").click(); 29231} 29232function ctlEcommerceDecrementCartItemQty( oNodeForm ){ 29233 var oNodeInputQty = oNodeForm.find(".ctl-ecommerce-cart-item-qty"); 29234 var iQty = oNodeInputQty.val(); 29235 29236 if ( iQty == 0 ){ 29237 return; 29238 } 29239 29240 iQty--; 29241 29242 oNodeInputQty.val(iQty); 29243 oNodeForm.find(".btn-action-update-cart-item-qty").click(); 29244} 29245 29246function ctlEcommerceConvertOrder( oNodeForm ){ 29247 var oFormData = oNodeForm.serializeObject(); 29248 oFormData['action'] = 'ctl-wp-studio'; 29249 oFormData['execute'] = 'ctl-ecommerce'; 29250 oFormData['extension-action'] = 'convert-order'; 29251 oFormData['limit-extensions'] = ["ctl-ecommerce", "ctl-editors-framework"]; 29252 29253 29254 var idLoading = g_oCTLWPStudio.showLoading(""); 29255 29256 jQuery.ajax({ 29257 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29258 type: "POST", 29259 data : oFormData, 29260 cache: false, 29261 method: 'POST', 29262 success:function(response, textStatus, jqXHR){ 29263 var oResponse = jQuery.parseJSON(response); 29264 g_oCTLWPStudio.closeDlg(idLoading); 29265 if( oResponse.res === false ){ 29266 if ( oResponse.alert ){ 29267 alert(oResponse.alert); 29268 }else{ 29269 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29270 } 29271 }else{ 29272 if ( oResponse.redirect ){ 29273 g_oCTLWPStudio.showLoading(""); 29274 window.location.href = oResponse.redirect; 29275 } 29276 } 29277 }, 29278 error: function(jqXHR, textStatus, errorThrown){ 29279 g_oCTLWPStudio.closeDlg(idLoading); 29280 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29281 } 29282 }); 29283} 29284 29285function ctlEcommerceCancelOrder( oNodeForm ){ 29286 var oFormData = oNodeForm.serializeObject(); 29287 oFormData['action'] = 'ctl-wp-studio'; 29288 oFormData['execute'] = 'ctl-ecommerce'; 29289 oFormData['extension-action'] = 'cancel-order'; 29290 29291 var idLoading = g_oCTLWPStudio.showLoading(""); 29292 29293 jQuery.ajax({ 29294 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29295 type: "POST", 29296 data : oFormData, 29297 cache: false, 29298 method: 'POST', 29299 success:function(response, textStatus, jqXHR){ 29300 var oResponse = jQuery.parseJSON(response); 29301 g_oCTLWPStudio.closeDlg(idLoading); 29302 if( oResponse.res === false ){ 29303 if ( oResponse.alert ){ 29304 alert(oResponse.alert); 29305 }else{ 29306 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29307 } 29308 }else{ 29309 g_oCTLWPStudio.showLoading(""); 29310 window.location.href = oResponse.redirect; 29311 } 29312 }, 29313 error: function(jqXHR, textStatus, errorThrown){ 29314 g_oCTLWPStudio.closeDlg(idLoading); 29315 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29316 } 29317 }); 29318} 29319 29320function ctlEcommercePayOrder( oNodeButton ){ 29321 29322 var oNodeForm = oNodeButton.closest("form"); 29323 var oFormData = oNodeForm.serializeObject(); 29324 29325 oFormData['action'] = 'ctl-wp-studio'; 29326 oFormData['execute'] = 'ctl-ecommerce'; 29327 oFormData['extension-action'] = 'pay-order'; 29328 29329 var oNodeFormBillingAddress = jQuery(".ctl-ecommerce-form-billing-address"); 29330 if ( oNodeFormBillingAddress.length > 0 ){ 29331 var oBillingAddressFormData = oNodeFormBillingAddress.serializeObject(); 29332 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeFormBillingAddress) === false){ 29333 return; 29334 }else{
29335 oFormData['billing-address'] = oBillingAddressFormData["billing-address"]; 29336 } 29337 } 29338 29339 var oNodeFormShippingAddress = jQuery(".ctl-ecommerce-form-shipping-address"); 29340 if ( oNodeFormShippingAddress.length > 0 ){ 29341 var oShippingAddressFormData = oNodeFormShippingAddress.serializeObject(); 29342 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeFormShippingAddress) === false){ 29343 return; 29344 }else{ 29345 oFormData['shipping-address'] = oShippingAddressFormData["shipping-address"]; 29346 } 29347 } 29348 29349 var idLoading = g_oCTLWPStudio.showLoading(""); 29350 29351 jQuery.ajax({ 29352 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29353 type: "POST", 29354 data : oFormData, 29355 cache: false, 29356 method: 'POST', 29357 success:function(response, textStatus, jqXHR){ 29358 var oResponse = jQuery.parseJSON(response); 29359 g_oCTLWPStudio.closeDlg(idLoading); 29360 if( oResponse.res === false ){ 29361 if ( oResponse.alert ){ 29362 alert(oResponse.alert); 29363 }else{ 29364 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29365 } 29366 }else{ 29367 switch(oFormData['payment-method'] ){ 29368 case "nexi":{ 29369 g_oCTLWPStudio.showLoading(""); 29370 jQuery("#nexi-payment").submit(); 29371 return; 29372 }break; 29373 case "bank-transfer":{ 29374 g_oCTLWPStudio.showLoading(""); 29375 window.location.href = oNodeButton.attr("data-redirect") + 29376 "?order-id=" + oFormData["order-id"]; 29377 }break; 29378 case "sdd":{ 29379 g_oCTLWPStudio.showLoading(""); 29380 window.location.href = oNodeButton.attr("data-redirect") + 29381 "?order-id=" + oFormData["order-id"]; 29382 }break; 29383 } 29384 } 29385 }, 29386 error: function(jqXHR, textStatus, errorThrown){ 29387 g_oCTLWPStudio.closeDlg(idLoading); 29388 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29389 } 29390 }); 29391} 29392 29393function ctlEcommerceAddProductIntoCartFromCartSummary( oNodeButton ){ 29394 var oNodeForm = oNodeButton.closest("form"); 29395 var oFormData = oNodeForm.serializeObject(); 29396 29397 oFormData['action'] = 'ctl-wp-studio'; 29398 oFormData['execute'] = 'ctl-ecommerce'; 29399 oFormData['extension-action'] = 'add-product-to-cart-from-cart-summary'; 29400 29401 29402 if ( !oFormData['product-id'] || !oFormData['qty'] ){ 29403 g_oCTLBootstrapModals.alert("", g_oCTLEcommerceLocalizationFront["Select at least one product."]); 29404 return; 29405 } 29406 29407 var idLoading = g_oCTLWPStudio.showLoading(""); 29408 29409 jQuery.ajax({ 29410 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29411 type: "POST", 29412 data : oFormData, 29413 cache: false, 29414 method: 'POST', 29415 success:function(response, textStatus, jqXHR){ 29416 var oResponse = jQuery.parseJSON(response); 29417 g_oCTLWPStudio.closeDlg(idLoading); 29418 if( oResponse.res === false ){ 29419 if ( oResponse.alert ){ 29420 alert(oResponse.alert); 29421 }else{ 29422 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29423 } 29424 }else{ 29425 g_oCTLWPStudio.showLoading(""); 29426 window.location.reload(); 29427 } 29428 }, 29429 error: function(jqXHR, textStatus, errorThrown){ 29430 g_oCTLWPStudio.closeDlg(idLoading); 29431 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29432 } 29433 }); 29434 29435} 29436 29437 29438function ctlEcommercePutProductIntoCart( idProduct, szProductTitle, iQty ){ 29439 var oFormData = {}; 29440 oFormData['action'] = 'ctl-wp-studio'; 29441 oFormData['execute'] = 'ctl-ecommerce'; 29442 oFormData['extension-action'] = 'add-product-to-cart'; 29443 oFormData['qty'] = iQty; 29444 oFormData['product-id'] = idProduct; 29445 29446 var idLoading = g_oCTLWPStudio.showLoading(""); 29447 29448 jQuery.ajax({ 29449 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29450 type: "POST", 29451 data : oFormData, 29452 cache: false, 29453 method: 'POST', 29454 success:function(response, textStatus, jqXHR){ 29455 var oResponse = jQuery.parseJSON(response); 29456 g_oCTLWPStudio.closeDlg(idLoading); 29457 if( oResponse.res === false ){ 29458 if ( oResponse.alert ){ 29459 alert(oResponse.alert); 29460 }else{ 29461 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29462 } 29463 }else{ 29464 ctlEcommerceGetCart(); 29465 29466 var htmlCartLink = '<hr><a href="' + oResponse.url_cart + 29467 '" class="ctl-show-loading d-block"><i class="ctl-wp-studio-icons-basket mr-1"></i>' + 29468 g_oCTLEcommerceLocalizationFront["go to cart"] + '</a>'; 29469 29470 g_oToasts.appendToast( g_oCTLEcommerceLocalizationFront["Cart"], 29471 szProductTitle + htmlCartLink, "info", "text-break", true ); 29472 } 29473 }, 29474 error: function(jqXHR, textStatus, errorThrown){ 29475 g_oCTLWPStudio.closeDlg(idLoading); 29476 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29477 } 29478 }); 29479} 29480 29481function ctlEcommerceGetCart(){ 29482 var oFormData = {}; 29483 oFormData['action'] = 'ctl-wp-studio'; 29484 oFormData['execute'] = 'ctl-ecommerce'; 29485 oFormData['extension-action'] = 'get-cart'; 29486 29487 jQuery.ajax({ 29488 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29489 type: "POST", 29490 data : oFormData, 29491 cache: false, 29492 method: 'POST', 29493 success:function(response, textStatus, jqXHR){ 29494 var oResponse = jQuery.parseJSON(response); 29495 29496 if( oResponse.res === false ){ 29497 if ( oResponse.alert ){ 29498 alert(oResponse.alert); 29499 }else{ 29500 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29501 } 29502 }else{ 29503 ctlEcommerceUpdateCartIcon(oResponse.items, 29504 oResponse.total_qty, 29505 oResponse.total_price, 29506 oResponse.url_cart ); 29507 } 29508 }, 29509 error: function(jqXHR, textStatus, errorThrown){ 29510 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29511 } 29512 }); 29513} 29514 29515function ctlEcommerceUpdateCartIcon( items, total_qty, total_price, url_cart ){ 29516 var oNodeCartIcon = jQuery(".ctl-cart-action-open-cart"); 29517 29518 if ( oNodeCartIcon.length === 0 ){ 29519 return; 29520 } 29521 29522 var oNodeCounter = oNodeCartIcon.find(".counter"); 29523 29524 if ( total_qty > 0 ){ 29525 oNodeCounter.fadeIn(); 29526 oNodeCounter.text(total_qty); 29527 oNodeCounter.removeClass("d-none"); 29528 }else{ 29529 oNodeCounter.text(""); 29530 oNodeCounter.addClass("d-none"); 29531 } 29532 29533 oNodeCartIcon.removeClass("ctl-loading"); 29534 29535 oNodeCartIcon.attr("data-url", url_cart); 29536} 29537// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-editors-framework/php/../js/front.js 29538function __ctlEditorFrameworkMapEventKeyDownSaveHandler(){ 29539 jQuery(document).off('keydown', '.ctltextfield .form-control, .ctlnumfield .form-control'); 29540 jQuery(document).one('keydown', '.ctltextfield .form-control, .ctlnumfield .form-control', function(e){
29541 if(e.key === "Enter" && !e.originalEvent.repeat) { 29542 var oNodeControl = jQuery(this); 29543 29544 if (oNodeControl.closest(".ctl-multi-edit-post").length > 0 ){ 29545 oNodeControl.closest(".ctl-multi-edit-post").find(".ctl-editors-action-multi-edit-posts:visible").click(); 29546 }else if (oNodeControl.closest(".ctl-edit-post").length > 0 ){ 29547 if ( oNodeControl.closest(".ctl-modal-content").length > 0 ){ 29548 oNodeControl.closest(".ctl-modal-content").find(".ctl-editors-action-edit-post-data:visible").click(); 29549 }else{ 29550 oNodeControl.closest(".ctl-edit-post").find(".ctl-editors-action-edit-post-data:visible").click(); 29551 } 29552 }else if (oNodeControl.closest(".ctl-create-post").length > 0 ){ 29553 if ( oNodeControl.closest(".ctl-modal-content").length > 0 ){ 29554 oNodeControl.closest(".ctl-modal-content").find(".ctl-editors-action-create-post:visible").click(); 29555 }else{ 29556 oNodeControl.closest(".ctl-create-post").find(".ctl-editors-action-create-post:visible").click(); 29557 } 29558 }else if (oNodeControl.closest(".ctl-create-user").length > 0 ){ 29559 if ( oNodeControl.closest(".ctl-modal-content").length > 0 ){ 29560 oNodeControl.closest(".ctl-modal-content").find(".ctl-editors-action-create-user:visible").click(); 29561 }else{ 29562 oNodeControl.closest(".ctl-create-user").find(".ctl-editors-action-create-user:visible").click(); 29563 } 29564 }else if (oNodeControl.closest(".ctl-edit-user").length > 0 ){ 29565 if ( oNodeControl.closest(".ctl-modal-content").length > 0 ){ 29566 oNodeControl.closest(".ctl-modal-content").find(".ctl-editors-action-edit-user-data:visible").click(); 29567 }else{ 29568 oNodeControl.closest(".ctl-edit-user").find(".ctl-editors-action-edit-user-data:visible").click(); 29569 } 29570 } 29571 }else{ 29572 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 29573 } 29574 }); 29575} 29576 29577jQuery(document).ready(function(){ 29578 29579 jQuery(document).on( "click", ".ctl-multilanguage-action-apply-language", function(){ 29580 ctlMultilanguageApplyLanguage(jQuery(this).attr("data-lang")); 29581 }); 29582 29583 jQuery(document).on( "click", ".ctl-multilanguage-action-change-language", function(){ 29584 ctlMultilanguageListLanguagesAndShowChangeLanguageDialog(true); 29585 }); 29586 29587 jQuery(document).on('click', ".ctl-wp-studio-form-control-wrapper button", function(){ 29588 jQuery(this).blur(); 29589 }); 29590 29591 __ctlEditorFrameworkInitPriceCalculationFields(); 29592 29593 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 29594 __ctlEditorFrameworkInitPriceCalculationFields(); 29595 __ctlEditorFrameworkAdaptModal(oNodeModal); 29596 }); 29597 29598 //-------------------------- 29599 29600 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 29601 29602 //-------------------------- 29603 29604 jQuery(document).on("ajax-update", function( e, szClickAction, bSuccess, oFormData, oResponse ){ 29605 switch(szClickAction){ 29606 case "ctl-editors-action-edit-post":{ 29607 var oNodeMultiEditPosts = jQuery(".ctl-edit-data-container-"+oFormData["widget-id"]).closest(".ctl-multi-edit-post"); 29608 29609 if ( oNodeMultiEditPosts.length > 0 ){ 29610 __ctlEditorFrameworkMultiEditPostsExecuteForm( 29611 oNodeMultiEditPosts.find(".ctl-editors-action-multi-edit-posts")); 29612 } 29613 }break; 29614 } 29615 }); 29616 29617 jQuery(document).on("click", ".ctl-editors-action-goods-receipt-confirm-quantity", function(){ 29618 var fQuantity = parseFloat(jQuery(this).data("quantity")); 29619 var oNodeForm = jQuery(this).closest(".ctl-edit-post-form"); 29620 29621 oNodeForm.find('input[name=goods-receipt]').val(fQuantity).trigger("change"); 29622 }); 29623 29624 jQuery(document).on("click", ".ctl-editors-action-goods-receipt-confirm-quantity-and-save-post", function(){ 29625 var fQuantity = parseFloat(jQuery(this).data("quantity")); 29626 var oNodeForm = jQuery(this).closest(".ctl-edit-post-form"); 29627 var oNodeContainer = jQuery(this).closest(".ctl-edit-post-data-container"); 29628 29629 oNodeForm.find('input[name=goods-receipt]').val(fQuantity).trigger("change"); 29630 29631 jQuery(".ctl-editors-action-edit-post-data-"+oNodeForm.find("input[name=widget-id]").val()).first().click(); 29632 });
29633 29634 jQuery(document).on("click", ".ctl-editors-framework-action-preview-pdf", function(e){ 29635 e.preventDefault(); 29636 e.stopPropagation(); 29637 ctlShowPDFViewer(0,jQuery(this).attr("href"), {show_save_button : true}); 29638 }); 29639 29640 jQuery(document).on("click", ".ctl-editors-action-multi-edit-posts", function(){ 29641 let oNodeButton = jQuery(this); 29642 let oNodeMultiEditPosts = jQuery(this).closest(".ctl-multi-edit-post"); 29643 29644 window["g_aEditPostSequence"] = []; 29645 29646 let bFormErrors = false; 29647 oNodeMultiEditPosts.find(".ctl-editors-action-edit-post-data").each(function(){ 29648 let oNodeButtonEditPostData = jQuery(this); 29649 window["g_aEditPostSequence"].push(oNodeButtonEditPostData); 29650 29651 let oNodeForm = jQuery("form[data-widget-id="+oNodeButtonEditPostData.attr("data-widget-id")+"]"); 29652 let oFormData = oNodeForm.serializeObject(); 29653 29654 let aStatusesToIgnoreMandatoryFields = 29655 oNodeButtonEditPostData.attr("data-statuses-to-ignore-mandatory-fields").split(","); 29656 let bIgnoreMandatoryFields = false; 29657 for( let i = 0; i < aStatusesToIgnoreMandatoryFields.length; i++ ){ 29658 if ( aStatusesToIgnoreMandatoryFields[i] === oFormData["post-status"] ){ 29659 bIgnoreMandatoryFields = true; 29660 break; 29661 } 29662 } 29663 29664 if( bIgnoreMandatoryFields == false && 29665 ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 29666 bFormErrors = true; 29667 } 29668 29669 let oNodeExtraForm = null; 29670 if ( oFormData["extra-form-id"]){ 29671 oNodeExtraForm = jQuery("form.layout-"+oFormData["extra-form-id"]); 29672 if ( bIgnoreMandatoryFields || ctlFormFieldsCheckIfFormIsFilled(oNodeExtraForm) ){ 29673 oFormData["extra-data"] = oNodeExtraForm.serializeObject(); 29674 }else{ 29675 bFormErrors = true; 29676 } 29677 } 29678 }); 29679 29680 if (bFormErrors){ 29681 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 29682 return; 29683 } 29684 29685 __ctlEditorFrameworkMultiEditPostsExecuteForm(oNodeButton); 29686 }); 29687 29688 jQuery(document).on("change", 'input[id*="calendar-all-day"]',function(){ 29689 var oNodeCheckbox = jQuery(this); 29690 var oNodeRow = oNodeCheckbox.closest(".row"); 29691 var oNodeTimeStartPicker = oNodeRow.find(".calendar-time-start-picker"); 29692 var oNodeTimeEndPicker = oNodeRow.find(".calendar-time-end-picker"); 29693 29694 if(oNodeCheckbox.is(":checked")){ 29695 oNodeTimeStartPicker.addClass("d-none"); 29696 oNodeTimeEndPicker.addClass("d-none"); 29697 29698 let oNodeTimeStartInput = oNodeTimeStartPicker.find('input[name="calendar-times-start[]"]'); 29699 let oNodeTimeEndInput = oNodeTimeEndPicker.find('input[name="calendar-times-end[]"]'); 29700 29701 oNodeTimeStartInput.data("value-before-all-day", oNodeTimeStartInput.val()); 29702 oNodeTimeEndInput.data("value-before-all-day", oNodeTimeEndInput.val()); 29703 29704 oNodeTimeStartInput.val( 29705 moment("00:00:00", "HH:mm:ss").locale("it").format(oNodeTimeStartInput.attr("data-format")) 29706 ).trigger('input'); 29707 29708 oNodeTimeEndInput.val( 29709 moment("00:00:00", "HH:mm:ss").locale("it").format(oNodeTimeEndInput.attr("data-format")) 29710 ).trigger('input'); 29711 }else{ 29712 oNodeTimeStartPicker.removeClass("d-none"); 29713 oNodeTimeEndPicker.removeClass("d-none"); 29714 29715 let oNodeTimeStartInput = oNodeTimeStartPicker.find('input[name="calendar-times-start[]"]'); 29716 let oNodeTimeEndInput = oNodeTimeEndPicker.find('input[name="calendar-times-end[]"]'); 29717 29718 oNodeTimeStartInput.val( 29719 moment(oNodeTimeStartInput.data("value-before-all-day"), "HH:mm:ss").locale("it").format(oNodeTimeStartInput.attr("data-format")) 29720 ).trigger('input'); 29721 29722 oNodeTimeEndInput.val( 29723 moment(oNodeTimeEndInput.data("value-before-all-day"), "HH:mm:ss").locale("it").format(
29723oNodeTimeEndInput.attr("data-format")) 29724 ).trigger('input'); 29725 } 29726 }); 29727 29728 jQuery(document).on("change", 'select[name="vat-tax"]',function(){ 29729 var oNodeSelect = jQuery(this); 29730 var idSelectedVATTax = oNodeSelect.find("option:selected").val(); 29731 29732 var oNodeCreatePost = oNodeSelect.closest(".ctl-create-post"); 29733 var oNodeEditPost = oNodeSelect.closest(".ctl-edit-post"); 29734 var oEditorFormToUpdate; 29735 if (oNodeCreatePost.length > 0) { 29736 oEditorFormToUpdate = oNodeCreatePost; 29737 }else if(oNodeEditPost.length > 0){ 29738 oEditorFormToUpdate = oNodeEditPost; 29739 } 29740 29741 let szVatTaxFieldName = "vat-tax"; 29742 if (idSelectedVATTax) { 29743 __ctlEditorFrameworkUpdateVATTaxPercentage( 29744 oNodeSelect, 29745 idSelectedVATTax, 29746 ()=>{ 29747 __ctlEditorFrameworkUpdatePriceCalculations(oEditorFormToUpdate,szVatTaxFieldName); 29748 } 29749 ); 29750 }else{ 29751 oNodeSelect.data("vat-tax-percentage", 0); 29752 __ctlEditorFrameworkUpdatePriceCalculations(oEditorFormToUpdate,szVatTaxFieldName); 29753 } 29754 }); 29755 29756 jQuery(document).on("change", 'select[name="brand"]',function(){ 29757 var oNodeSelect = jQuery(this); 29758 var idSelectedBrand = oNodeSelect.find("option:selected").val(); 29759 29760 var oNodeCreatePost = oNodeSelect.closest(".ctl-create-post"); 29761 var oNodeEditPost = oNodeSelect.closest(".ctl-edit-post"); 29762 var oEditorFormToUpdate; 29763 if (oNodeCreatePost.length > 0) { 29764 oEditorFormToUpdate = oNodeCreatePost; 29765 }else if(oNodeEditPost.length > 0){ 29766 oEditorFormToUpdate = oNodeEditPost; 29767 } 29768 29769 let szPriceListDiscountFieldName = "price-list-discount"; 29770 if (idSelectedBrand) { 29771 __ctlEditorFrameworkUpdateBrandPriceData( 29772 oNodeSelect, 29773 idSelectedBrand, 29774 ( fPriceListDiscount )=>{ 29775 oEditorFormToUpdate.find('input[name=price-list-discount]').val(fPriceListDiscount); 29776 __ctlEditorFrameworkUpdatePriceCalculations(oEditorFormToUpdate,szPriceListDiscountFieldName); 29777 } 29778 ); 29779 }else{ 29780 oEditorFormToUpdate.find('input[name=price-list-discount]').val(0); 29781 __ctlEditorFrameworkUpdatePriceCalculations(oEditorFormToUpdate,szPriceListDiscountFieldName); 29782 } 29783 }); 29784 29785 jQuery(document).on("change input paste", ".ctl-create-post-form input[name=percentage-profit], .ctl-create-post-form input[name=price], .ctl-create-post-form input[name=price-list], .ctl-create-post-form input[name=price-list-discount], .ctl-create-post-form input[name=qty], .ctl-create-post-form input[name=qty-2], .ctl-create-post-form input[name=qty-3], .ctl-create-post-form input[name=cost], .ctl-create-post-form input[name=discount]", function(e, bPreventCalculations){ 29786 if(!bPreventCalculations){ 29787 __ctlEditorFrameworkUpdatePriceCalculations(jQuery(this).closest(".ctl-create-post"),jQuery(this).attr("name")); 29788 } 29789 }); 29790 29791 jQuery(document).on("change input paste", ".ctl-edit-post-form input[name=percentage-profit], .ctl-edit-post-form input[name=price], .ctl-edit-post-form input[name=price-list], .ctl-edit-post-form input[name=price-list-discount], .ctl-edit-post-form input[name=qty], .ctl-edit-post-form input[name=qty-2], .ctl-edit-post-form input[name=qty-3], .ctl-edit-post-form input[name=cost], .ctl-edit-post-form input[name=discount]", function(e, bPreventCalculations){ 29792 if(!bPreventCalculations){ 29793 __ctlEditorFrameworkUpdatePriceCalculations(jQuery(this).closest(".ctl-edit-post"),jQuery(this).attr("name")); 29794 } 29795 }); 29796 29797 jQuery(document).on("change input paste", ".ctl-edit-user-form input[name=price], .ctl-edit-user-form input[name=cost]", function(e, bPreventCalculations){ 29798 if(!bPreventCalculations){ 29799 __ctlEditorFrameworkUpdatePriceCalculations(jQuery(this).closest(".ctl-edit-user"),jQuery(this).attr("name"));
29800 } 29801 }); 29802 29803 jQuery(document).on("change input paste", ".ctluploadfield .custom-file-input", function(){ 29804 let oButtonUploadGalleryAttachment = jQuery(this).closest(".ctluploadfield").find(".ctl-editor-framework-action-upload-gallery-attachment"); 29805 29806 if ( oButtonUploadGalleryAttachment.length > 0 ){ 29807 if ( jQuery(this).val() == "" ){ 29808 oButtonUploadGalleryAttachment.addClass("disabled"); 29809 }else{ 29810 oButtonUploadGalleryAttachment.removeClass("disabled"); 29811 } 29812 } 29813 29814 let oButtonUploadGalleryImage = jQuery(this).closest(".ctluploadfield").find(".ctl-editor-framework-action-upload-gallery-image"); 29815 if ( oButtonUploadGalleryImage.length > 0 ){ 29816 if ( jQuery(this).val() == "" ){ 29817 oButtonUploadGalleryImage.addClass("disabled"); 29818 }else{ 29819 oButtonUploadGalleryImage.removeClass("disabled"); 29820 } 29821 } 29822 29823 }); 29824 29825 jQuery(document).on("change input paste", ".ctluploadfield .custom-file-image-input", function(){ 29826 let oButtonUpload = jQuery(this).closest(".ctluploadfield").find(".ctl-editor-framework-action-upload-post-featured-image"); 29827 if ( jQuery(this).val() == "" ){ 29828 oButtonUpload.addClass("disabled"); 29829 }else{ 29830 oButtonUpload.removeClass("disabled"); 29831 } 29832 }); 29833 29834 jQuery(document).on("click", ".ctl-editors-action-add-workers-into-group", function(){ 29835 __ctlHRManagementAddWorkersIntoGroup(jQuery(this)); 29836 }); 29837 29838 jQuery(document).on("click", ".ctl-editors-action-derivate-post", function(){ 29839 __ctlEditorFrameworkDerivatePost(jQuery(this)); 29840 }); 29841 29842 jQuery(document).on("click", ".ctl-editors-action-change-post-status", function(){ 29843 __ctlEditorFrameworkChangePostStatus(jQuery(this)); 29844 }); 29845 29846 jQuery(document).on("click", ".ctl-editors-inline-status-buttons-action-change-post-status", function(){ 29847 __ctlEditorFrameworkInlineStatusButtonsChangePostStatus(jQuery(this)); 29848 }); 29849 29850 jQuery(document).on("click", ".ctl-editors-action-massive-import-upload", function(){ 29851 __ctlEditorFrameworkMassiveImportUpload(jQuery(this)); 29852 }); 29853 jQuery(document).on("click", ".ctl-editors-action-massive-import-compute", function(){ 29854 __ctlEditorFrameworkMassiveImportCompute(jQuery(this)); 29855 }); 29856 jQuery(document).on("click", ".ctl-editors-action-massive-import-clear", function(){ 29857 __ctlEditorFrameworkMassiveImportClear(jQuery(this)); 29858 }); 29859 29860 jQuery(document).on("click", ".ctl-editors-action-show-edit-post-status", function(){ 29861 __ctlEditorFrameworkShowEditPostStatus(jQuery(this)); 29862 }); 29863 29864 jQuery(document).on("click", ".ctl-editors-action-edit-user-quotas", function(){ 29865 __ctlEditorFrameworkEditUserQuotas(jQuery(this)); 29866 }); 29867 29868 jQuery(document).on("click", ".ctl-editors-framework-action-send-editor-request", function(){ 29869 __ctlEditorFrameworkUserSendEditorRequest(jQuery(this)); 29870 }); 29871 29872 jQuery(document).on("click", ".btn-action-show-post-differencies", function(){ 29873 ctlEditorFrameworkShowPostRestorePoint( 29874 JSON.parse( 29875 Base64.decode( 29876 jQuery(this).attr("data-differencies")))); 29877 }); 29878 29879 jQuery(document).on("click", ".ctl-editors-action-empty-post-featured-image", function(){ 29880 var oNodeWrapper = jQuery(this).closest(".ctl-post-featured-image-wrapper"); 29881 var szDefaultImage = oNodeWrapper.find('img').attr("data-default-image"); 29882 29883 oNodeWrapper.find('img').attr("src",szDefaultImage); 29884 oNodeWrapper.find('input[name=featured-image-id]').val(""); 29885 jQuery(this).addClass("d-none"); 29886 29887 if ( szDefaultImage == ctl_wp_studio_common_localization["szDefaultImage"] ){ 29888 oNodeWrapper.find(".ctl-editors-action-download-featured-image").addClass("d-none"); 29889 }else{ 29890 oNodeWrapper.find(".ctl-editors-action-download-featured-image").attr("href", szDefaultImage); 29891 } 29892 29893 ctlEditorFrameworkEditPostAutoSaveData(jQuery(this).closest(".ctl-edit-post-data-container").find(".ctl-editors-action-edit-post-data")); 29894 });
29895 29896 jQuery(document).on("click", ".ctl-editors-action-empty-profile-picture", function(){ 29897 var oNodeWrapper = jQuery(this).closest(".ctl-user-profile-picture-wrapper"); 29898 oNodeWrapper.find('img').attr("src", ctl_wp_studio_common_localization["szDefaultImage"]); 29899 oNodeWrapper.find('input[name=profile_picture]').val(""); 29900 oNodeWrapper.find('.ctl-editors-action-preview-media-field').addClass('d-none'); 29901 }); 29902 29903 jQuery(document).on("click", ".ctl-editor-framework-action-clear-image-gallery", function(){ 29904 var oNodeModal = jQuery(this).closest(".modal"); 29905 var oNodeForm = jQuery("#media-gallery").find("form"); 29906 29907 oNodeForm.find('input[name="ctl-media-gallery-selected[]"]').prop( "checked", false ); 29908 29909 __ctlEditorFrameworkUpdatePostGallery(oNodeForm, "image"); 29910 29911 oNodeModal.modal("hide"); 29912 }); 29913 29914 jQuery(document).on("click", ".ctl-editors-action-delete-post-status", function(){ 29915 var oNodeForm = jQuery(this).closest("form"); 29916 29917 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 29918 return; 29919 } 29920 29921 var oFormData = oNodeForm.serializeObject(); 29922 29923 oFormData['action'] = 'ctl-wp-studio'; 29924 oFormData['execute'] = 'ctl-editors-framework'; 29925 oFormData['extension-action'] = 'delete-post-status'; 29926 oFormData['post-id'] = jQuery(this).attr("data-post-id"); 29927 29928 var idLoading = g_oCTLWPStudio.showLoading(""); 29929 29930 jQuery.ajax({ 29931 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29932 type: "POST", 29933 data : oFormData, 29934 cache: false, 29935 method: 'POST', 29936 success:function(response, textStatus, jqXHR){ 29937 var oResponse = jQuery.parseJSON(response); 29938 if( oResponse.res === false ){ 29939 g_oCTLWPStudio.closeDlg(idLoading); 29940 if ( oResponse.alert ){ 29941 g_oCTLBootstrapModals.alert("", oResponse.alert ); 29942 } 29943 }else{ 29944 window.location.reload(); 29945 } 29946 }, 29947 error: function(jqXHR, textStatus, errorThrown){ 29948 g_oCTLWPStudio.closeDlg(idLoading); 29949 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29950 } 29951 }); 29952 }); 29953 29954 jQuery(document).on("click", ".ctl-editors-action-update-post-status", function(){ 29955 var oNodeForm = jQuery(this).closest("form"); 29956 29957 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 29958 return; 29959 } 29960 29961 var oFormData = oNodeForm.serializeObject(); 29962 29963 oFormData['action'] = 'ctl-wp-studio'; 29964 oFormData['execute'] = 'ctl-editors-framework'; 29965 oFormData['extension-action'] = 'update-post-status'; 29966 29967 var idLoading = g_oCTLWPStudio.showLoading(""); 29968 29969 jQuery.ajax({ 29970 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 29971 type: "POST", 29972 data : oFormData, 29973 cache: false, 29974 method: 'POST', 29975 success:function(response, textStatus, jqXHR){ 29976 g_oCTLWPStudio.closeDlg(idLoading); 29977 var oResponse = jQuery.parseJSON(response); 29978 if( oResponse.res === false ){ 29979 if ( oResponse.alert ){ 29980 g_oCTLBootstrapModals.alert("", oResponse.alert ); 29981 } 29982 }else{ 29983 if ( oResponse.redirect ){ 29984 window.location.href = oResponse.redirect; 29985 }else{ 29986 window.location.reload(); 29987 } 29988 } 29989 }, 29990 error: function(jqXHR, textStatus, errorThrown){ 29991 g_oCTLWPStudio.closeDlg(idLoading); 29992 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 29993 } 29994 }); 29995 });
29996 29997 jQuery(document).on("click", ".ctl-editors-action-create-post-status", function(){ 29998 var oNodeForm = jQuery(this).closest("form"); 29999 30000 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 30001 return; 30002 } 30003 30004 var oFormData = oNodeForm.serializeObject(); 30005 30006 oFormData['action'] = 'ctl-wp-studio'; 30007 oFormData['execute'] = 'ctl-editors-framework'; 30008 oFormData['extension-action'] = 'create-post-status'; 30009 30010 var idLoading = g_oCTLWPStudio.showLoading(""); 30011 30012 jQuery.ajax({ 30013 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 30014 type: "POST", 30015 data : oFormData, 30016 cache: false, 30017 method: 'POST', 30018 success:function(response, textStatus, jqXHR){ 30019 g_oCTLWPStudio.closeDlg(idLoading); 30020 var oResponse = jQuery.parseJSON(response); 30021 if( oResponse.res === false ){ 30022 if ( oResponse.alert ){ 30023 g_oCTLBootstrapModals.alert("", oResponse.alert ); 30024 } 30025 }else{ 30026 if ( oResponse.redirect ){ 30027 window.location.href = oResponse.redirect; 30028 }else{ 30029 window.location.reload(); 30030 } 30031 } 30032 }, 30033 error: function(jqXHR, textStatus, errorThrown){ 30034 g_oCTLWPStudio.closeDlg(idLoading); 30035 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 30036 } 30037 }); 30038 }); 30039 30040 jQuery(document).on("click", ".ctl-editors-action-show-post-history", function(){ 30041 30042 var oFormData = {}; 30043 var oNodeForm = jQuery("form[data-widget-id="+jQuery(this).attr("data-widget-id")+"]"); 30044 var oFormData = oNodeForm.serializeObject(); 30045 30046 oFormData['action'] = 'ctl-wp-studio'; 30047 oFormData['execute'] = 'ctl-editors-framework'; 30048 oFormData['extension-action'] = 'get-post-history'; 30049 30050 var idLoading = g_oCTLWPStudio.showLoading(""); 30051 30052 jQuery.ajax({ 30053 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 30054 type: "POST", 30055 data : oFormData, 30056 cache: false, 30057 method: 'POST', 30058 success:function(response, textStatus, jqXHR){ 30059 g_oCTLWPStudio.closeDlg(idLoading); 30060 var oResponse = jQuery.parseJSON(response); 30061 if( oResponse.res === false ){ 30062 if ( oResponse.alert ){ 30063 g_oCTLBootstrapModals.alert("", oResponse.alert ); 30064 }else if ( oResponse.desc ){ 30065 switch(oResponse.desc){ 30066 case "invalid_user":{ 30067 g_oCTLWPStudio.showLoading(""); 30068 window.location.reload(); 30069 }break; 30070 default:{ 30071 g_oCTLBootstrapModals.alert("", oResponse.desc); 30072 } 30073 } 30074 } 30075 }else{ 30076 g_oCTLBootstrapModals.showModal({ 30077 wrapper_classes : "ctl-post-history", 30078 modal_title : g_oCTLEditorsFrameworkLocalizationFront["Post history"], 30079 modal_content : ctlEditorFrameworkFormatPostHistory( 30080 oResponse.history, oResponse.current ), 30081 entrance_animation : "animate__slideInUp", 30082 exit_animation : "animate__slideOutDown", 30083 closeable : true, 30084 width: '50', 30085 position: "centered", 30086 }); 30087 } 30088 }, 30089 error: function(jqXHR, textStatus, errorThrown){ 30090 g_oCTLWPStudio.closeDlg(idLoading); 30091 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 30092 } 30093 }); 30094 });
30095 30096 jQuery(document).on("click", ".ctl-editor-framework-action-update-image-gallery", function(){ 30097 var oNodeModal = jQuery(this).closest(".modal"); 30098 var oNodeForm = jQuery("#media-gallery").find("form"); 30099 30100 __ctlEditorFrameworkUpdatePostGallery(oNodeForm, "image"); 30101 30102 oNodeModal.modal("hide"); 30103 }); 30104 30105 jQuery(document).on("click", ".ctl-editor-framework-action-clear-attachment-gallery", function(){ 30106 var oNodeModal = jQuery(this).closest(".modal"); 30107 var oNodeForm = jQuery("#media-gallery").find("form"); 30108 30109 oNodeForm.find('input[name="ctl-media-gallery-selected[]"]').prop( "checked", false ); 30110 30111 __ctlEditorFrameworkUpdatePostGallery(oNodeForm, "attachment"); 30112 30113 oNodeModal.modal("hide"); 30114 }); 30115 30116 jQuery(document).on("click", ".ctl-editor-framework-action-upload-profile-picture", function(){ 30117 var oNodeModal = jQuery(this).closest(".modal"); 30118 var oNodeForm = jQuery(this).closest("form"); 30119 30120 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 30121 return; 30122 } 30123 30124 var oFormData = new FormData(); 30125 oFormData.append( 'user-id', oNodeForm.find('input[name=user-id]').val() ); 30126 oFormData.append( 'extension-action', 'upload-profile-picture' ); 30127 oFormData.append( 'file', oNodeForm.find('input[name=upload-image]')[0].files[0] ); 30128 oFormData.append( 'widget-id', oNodeForm.find('input[name=widget-id]').val() ); 30129 oFormData.append( 'action', 'ctl-wp-studio' ); 30130 oFormData.append( 'execute', 'ctl-editors-framework' ); 30131 30132 ctlEditorFrameworkAjaxUpdateFormData(oNodeForm, oFormData, false, function(oResponse){ 30133 if ( oResponse.res === true ){ 30134 jQuery(".ctl-user-profile-picture-wrapper").find("img").attr("src", oResponse.last_media.url); 30135 jQuery(".ctl-user-profile-picture-wrapper").find('input[name=profile_picture]').val(oResponse.last_media.id); 30136 30137 jQuery(".ctl-user-profile-picture-wrapper").find('.ctl-editors-action-preview-media-field').attr("href", oResponse.last_media.url); 30138 jQuery(".ctl-user-profile-picture-wrapper").find('.ctl-editors-action-preview-media-field').removeClass('d-none'); 30139 jQuery(".ctl-user-profile-picture-wrapper").find('.ctl-editors-action-empty-profile-picture').removeClass('d-none'); 30140 30141 oNodeModal.modal("hide"); 30142 } else if ( oResponse.desc ){ 30143 switch(oResponse.desc){ 30144 case "invalid_user":{ 30145 g_oCTLWPStudio.showLoading(""); 30146 window.location.reload(); 30147 }break; 30148 default:{ 30149 g_oCTLBootstrapModals.alert("", oResponse.desc); 30150 } 30151 } 30152 } 30153 }); 30154 }); 30155 30156 jQuery(document).on("click", ".ctl-editor-framework-action-upload-post-featured-image", function(){ 30157 var oNodeModal = jQuery(this).closest(".modal"); 30158 var oNodeForm = jQuery(this).closest("form"); 30159 30160 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 30161 return; 30162 } 30163 30164 var oFormData = new FormData(); 30165 oFormData.append( 'post-id', oNodeForm.find('input[name=post-id]').val() ); 30166 oFormData.append( 'file', oNodeForm.find('input[name=upload-image]')[0].files[0] ); 30167 oFormData.append( 'widget-id', oNodeForm.find('input[name=widget-id]').val() ); 30168 oFormData.append( 'action', 'ctl-wp-studio' ); 30169 oFormData.append( 'execute', 'ctl-editors-framework' ); 30170 oFormData.append( 'extension-action', 'upload-post-featured-image' ); 30171 30172 ctlEditorFrameworkAjaxUpdateFormData(oNodeForm, oFormData, false, function(oResponse){ 30173 if ( oResponse.res === true ){ 30174 jQuery("form[data-widget-id=" + oFormData.get('widget-id') + "] .ctl-post-featured-image-wrapper").find("img").attr("src", oResponse.last_media.url); 30175 jQuery("form[data-widget-id=" + oFormData.get('widget-id') + "] .ctl-post-featured-image-wrapper").find('input[name=featured-image-id]').val(oResponse.last_media.id).trigger("change"); 30176 30177 jQuery("form[data-widget-id=" + oFormData.get('widget-id') + "] .ctl-post-featured-image-wrapper").find(".ctl-editors-action-download-featured-image").attr("href", oResponse.last_media.url); 30178 jQuery("form[data-widget-id=" + oFormData.get('widget-id') + "] .ctl-post-featured-image-wrapper").find(".ctl-editors-action-empty-post-featured-image").removeClass("d-none"); 30179 oNodeModal.modal("hide"); 30180 }else if ( oResponse.desc ){ 30181 switch(oResponse.desc){ 30182 case "invalid_user":{ 30183 g_oCTLWPStudio.showLoading(""); 30184 window.location.reload(); 30185 }break; 30186 default:{ 30187 g_oCTLBootstrapModals.alert("", oResponse.desc); 30188 } 30189 } 30190 } 30191 }); 30192 });
30193 30194 jQuery(document).on("click", ".ctl-editor-framework-action-update-attachment-gallery", function(){ 30195 var oNodeModal = jQuery(this).closest(".modal"); 30196 var oNodeForm = jQuery("#media-gallery").find("form"); 30197 30198 __ctlEditorFrameworkUpdatePostGallery(oNodeForm, "attachment"); 30199 30200 oNodeModal.modal("hide"); 30201 }); 30202 30203 jQuery(document).on("click", ".ctl-editor-framework-action-delete-post-media-image", function(){ 30204 var oNodeForm = jQuery(this).closest("form"); 30205 var oFormData = oNodeForm.serializeObject(); 30206 30207 __ctlEditorFrameworkDeletePostImage( 30208 oFormData["widget-id"], 30209 oFormData["post-id"], 30210 jQuery(this).attr("data-id") ); 30211 }); 30212 30213 jQuery(document).on("click", ".ctl-editor-framework-action-delete-post-media-attachment", function(){ 30214 var oNodeForm = jQuery(this).closest("form"); 30215 var oFormData = oNodeForm.serializeObject(); 30216 jQuery(this).attr("data-id") 30217 30218 __ctlEditorFrameworkDeletePostAttachment( 30219 oFormData["widget-id"], 30220 oFormData["post-id"], 30221 jQuery(this).attr("data-id") ); 30222 }); 30223 30224 jQuery(document).on("click",".ctl-editor-framework-action-upload-gallery-image", function(){ 30225 let oNodeModal = jQuery(this).closest(".modal"); 30226 let oNodeForm = jQuery(this).closest("form"); 30227 let oNodeMediaGalleryFolder = oNodeModal.find(".ctl-media-gallery-folder"); 30228 30229 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 30230 return; 30231 } 30232 30233 var oFormData = new FormData(); 30234 oFormData.append( 'post-id', oNodeForm.find('input[name=post-id]').val() ); 30235 oFormData.append( 'widget-id', oNodeForm.find('input[name=widget-id]').val() ); 30236 oFormData.append( 'action', 'ctl-wp-studio' ); 30237 oFormData.append( 'execute', 'ctl-editors-framework' ); 30238 oFormData.append( 'extension-action', 'upload-post-gallery-image' ); 30239 30240 let aFiles = oNodeForm.find('input[type="file"]')[0].files; 30241 for (let i = 0; i < aFiles.length; i++) { 30242 oFormData.append( 'file[]', aFiles[i] ); 30243 } 30244 30245 ctlEditorFrameworkAjaxUpdateFormData(oNodeForm, oFormData, false, function(oResponse){ 30246 if ( oResponse.res === true ){ 30247 30248 oResponse.new_media.forEach( mediaItem => { 30249 oNodeMediaGalleryFolder.prepend( 30250 __ctlEditorFrameworkHtmlImageInMediaGallery(mediaItem, true, "image")); 30251 }); 30252 30253 ctlFormFieldsClearForm(oNodeForm); 30254 jQuery(".ctl-media-gallery-modal .tab-link-media-gallery").click(); 30255 g_oCTLWPStudio.onResize(oNodeMediaGalleryFolder); 30256 }else if ( oResponse.desc ){ 30257 switch(oResponse.desc){ 30258 case "invalid_user":{ 30259 g_oCTLWPStudio.showLoading(""); 30260 window.location.reload(); 30261 }break; 30262 default:{ 30263 g_oCTLBootstrapModals.alert("", oResponse.desc); 30264 } 30265 } 30266 } 30267 }); 30268 }); 30269 30270 jQuery(document).on("click",".ctl-editor-framework-action-upload-gallery-attachment", function(){ 30271 let oNodeModal = jQuery(this).closest(".modal"); 30272 let oNodeForm = jQuery(this).closest("form"); 30273 let oNodeMediaGalleryFolder = oNodeModal.find(".ctl-media-gallery-folder"); 30274 30275 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 30276 return; 30277 } 30278 30279 let oFormData = new FormData(); 30280 oFormData.append( 'post-id', oNodeForm.find('input[name=post-id]').val() ); 30281 oFormData.append( 'widget-id', oNodeForm.find('input[name=widget-id]').val() ); 30282 oFormData.append( 'action', 'ctl-wp-studio' ); 30283 oFormData.append( 'execute', 'ctl-editors-framework' ); 30284 oFormData.append( 'extension-action', 'upload-post-gallery-attachment' ); 30285 30286 let aFiles = oNodeForm.find('input[type="file"]')[0].files; 30287 for (let i = 0; i < aFiles.length; i++) { 30288 oFormData.append( 'file[]', aFiles[i] ); 30289 } 30290 30291 ctlEditorFrameworkAjaxUpdateFormData(oNodeForm, oFormData, false, function(oResponse){ 30292 if ( oResponse.res === true ){ 30293
30294 oResponse.new_media.forEach( mediaItem => { 30295 oNodeMediaGalleryFolder.prepend( 30296 __ctlEditorFrameworkHtmlImageInMediaGallery(mediaItem, true, "attachment")); 30297 }); 30298 30299 ctlFormFieldsClearForm(oNodeForm); 30300 jQuery(".ctl-media-gallery-modal .tab-link-media-gallery").click(); 30301 30302 g_oCTLWPStudio.onResize(oNodeMediaGalleryFolder); 30303 }else if ( oResponse.desc ){ 30304 switch(oResponse.desc){ 30305 case "invalid_user":{ 30306 g_oCTLWPStudio.showLoading(""); 30307 window.location.reload(); 30308 }break; 30309 } 30310 } 30311 }); 30312 }); 30313 30314 jQuery(document).on("click", ".ctl-editors-action-show-profile-picture-dlg", function(){ 30315 var oNodeContainer = jQuery(this).closest(".ctl-edit-user-data-container"); 30316 ctlEditorFrameworkProfilePicture(oNodeContainer); 30317 }); 30318 30319 jQuery(document).on("input paste change", ".ctl-edit-post-data-container[data-autosave=1] input,.ctl-edit-post-data-container[data-autosave=1] textarea", function(){ 30320 30321 ctlEditorFrameworkEditPostAutoSaveData(jQuery(this).closest(".ctl-edit-post-data-container").find(".ctl-editors-action-edit-post-data")); 30322 }); 30323 jQuery(document).on("change", ".ctl-edit-post-data-container[data-autosave=1] select", function(){ 30324 30325 ctlEditorFrameworkEditPostAutoSaveData(jQuery(this).closest(".ctl-edit-post-data-container").find(".ctl-editors-action-edit-post-data")); 30326 }); 30327 30328 jQuery(document).on("click", ".ctl-editors-action-show-post-featured-image-dlg", function(){ 30329 let szMaxFileSize = jQuery(this).attr("data-max-file-size"); 30330 30331 var oNodeContainer = jQuery(this).closest(".ctl-edit-post-data-container"); 30332 ctlEditorFrameworkFeaturedImage(oNodeContainer,szMaxFileSize); 30333 }); 30334 30335 jQuery(document).on("click", ".ctl-editors-action-edit-post-gallery", function(){ 30336 var oNodeContainer = jQuery(this).closest(".ctl-edit-post-data-container"); 30337 ctlEditorFrameworkMediaGallery(oNodeContainer); 30338 }); 30339 30340 jQuery(document).on("click", ".ctl-editors-action-edit-post-attachments", function(){ 30341 ctlFormFieldCleanError(jQuery(this)); 30342 var oNodeContainer = jQuery(this).closest(".ctl-edit-post-data-container"); 30343 ctlEditorFrameworkPostAttachmentsGallery(oNodeContainer); 30344 }); 30345 30346 jQuery(document).on("click", ".ctl-editor-framework-action-img-preview", function( e ){ 30347 let oNodeControlWrapper = jQuery(this).closest(".ctl-wp-studio-form-control-wrapper"); 30348 let oNodeField = oNodeControlWrapper.find('input[name="featured-image-id"]'); 30349 30350 if(oNodeField.length > 0 && !oNodeField.val()){ 30351 oNodeControlWrapper.find(".ctl-editors-action-show-post-featured-image-dlg").click(); 30352 }else{ 30353 __ctlEditorFrameworkImagePreview( jQuery(this).attr("src"), jQuery(this).attr("title") ); 30354 } 30355 }); 30356 30357 jQuery(document).on("click", ".ctl-editors-action-convert-post-to-user", function(){ 30358 var oNodeForm = jQuery("form[data-widget-id="+jQuery(this).attr("data-widget-id")+"]"); 30359 var oFormData = oNodeForm.serializeObject(); 30360 30361 var bFormErrors = false; 30362 if(ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 30363 bFormErrors = true; 30364 } 30365 30366 var oNodeExtraForm = null; 30367 if ( oFormData["extra-form-id"]){ 30368 oNodeExtraForm = jQuery("form.layout-"+oFormData["extra-form-id"]); 30369 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeExtraForm) ){ 30370 oFormData["extra-data"] = oNodeExtraForm.serializeObject(); 30371 }else{ 30372 bFormErrors = true; 30373 } 30374 } 30375 30376 if (bFormErrors){ 30377 return; 30378 } 30379 30380 var idLoading = g_oCTLWPStudio.showLoading(""); 30381 30382 oFormData['action'] = 'ctl-wp-studio'; 30383 oFormData['execute'] = 'ctl-editors-framework'; 30384 oFormData['extension-action'] = 'edit-post-data'; 30385 oFormData["click-class"] = "ctl-editors-action-convert-post-to-user"; 30386 jQuery.ajax({ 30387 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 30388 type: "POST", 30389 data : oFormData, 30390 cache: false, 30391 method: 'POST', 30392 success:function(response, textStatus, jqXHR){ 30393 var oResponse = jQuery.parseJSON(response); 30394 30395 if( oResponse.res === false ){ 30396 g_oCTLWPStudio.closeDlg(idLoading); 30397 30398 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 30399 if (oNodeExtraForm){ 30400 ctlFormFieldsApplyErrors(oNodeExtraForm, oResponse.errors); 30401 } 30402 30403 if ( oResponse.alert ){ 30404 g_oCTLBootstrapModals.alert("", oResponse.alert ); 30405 } 30406 30407 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false ] ); 30408 }else{ 30409 delete oFormData["extra-data"]; 30410 oFormData['extension-action'] = 'convert-post-to-user'; 30411 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 30412 30413 jQuery.ajax({ 30414 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 30415 type: "POST", 30416 data : oFormData, 30417 cache: false, 30418 method: 'POST', 30419 success:function(response, textStatus, jqXHR){ 30420 var oResponse = jQuery.parseJSON(response); 30421 if( oResponse.res === false ){ 30422 if ( oResponse.alert ){ 30423 g_oCTLWPStudio.closeDlg(idLoading); 30424 g_oCTLBootstrapModals.alert("", oResponse.alert ); 30425 }else if ( oResponse.desc ){ 30426 switch(oResponse.desc){ 30427 case "invalid_user":{ 30428 window.location.reload(); 30429 }break; 30430 } 30431 } 30432 }else{ 30433 window.location.href = oResponse.redirect; 30434 } 30435 }, 30436 error: function(jqXHR, textStatus, errorThrown){ 30437 g_oCTLWPStudio.closeDlg(idLoading); 30438 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 30439 } 30440 }); 30441 } 30442 }, 30443 error: function(jqXHR, textStatus, errorThrown){ 30444 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false ] ); 30445 g_oCTLWPStudio.closeDlg(idLoading); 30446 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 30447 } 30448 }); 30449 });
30450 30451 30452jQuery(document).on("click", ".ctl-editors-action-duplicate-post", function(){ 30453 var oNodeForm = jQuery("form[data-widget-id="+jQuery(this).attr("data-widget-id")+"]"); 30454 var oFormData = oNodeForm.serializeObject(); 30455 30456 var idLoading = g_oCTLWPStudio.showLoading(""); 30457 30458 oFormData['action'] = 'ctl-wp-studio'; 30459 oFormData['execute'] = 'ctl-editors-framework'; 30460 oFormData['extension-action'] = 'duplicate-post'; 30461 30462 jQuery.ajax({ 30463 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 30464 type: "POST", 30465 data : oFormData, 30466 cache: false, 30467 method: 'POST', 30468 success:function(response, textStatus, jqXHR){ 30469 var oResponse = jQuery.parseJSON(response); 30470 30471 if( oResponse.res === false ){ 30472 g_oCTLWPStudio.closeDlg(idLoading); 30473 30474 if ( oResponse.alert ){ 30475 g_oCTLWPStudio.closeDlg(idLoading); 30476 g_oCTLBootstrapModals.alert("", oResponse.alert ); 30477 }else if ( oResponse.desc ){ 30478 switch(oResponse.desc){ 30479 case "invalid_user":{ 30480 window.location.reload(); 30481 }break; 30482 } 30483 } 30484 }else{ 30485 if (oResponse.redirect){ 30486 window.location.href = oResponse.redirect; 30487 }else{ 30488 window.location.reload(); 30489 } 30490 } 30491 }, 30492 error: function(jqXHR, textStatus, errorThrown){ 30493 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false ] ); 30494 g_oCTLWPStudio.closeDlg(idLoading); 30495 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 30496 } 30497 }); 30498}); 30499 30500 jQuery(document).on("click", ".ctl-editors-action-convert-post-to-post", function(){ 30501 var oNodeForm = jQuery("form[data-widget-id="+jQuery(this).attr("data-widget-id")+"]"); 30502 var oNodeContainer = oNodeForm.closest(".ctl-edit-post-data-container"); 30503 var oFormData = oNodeForm.serializeObject(); 30504 30505 var bFormErrors = false; 30506 30507 if(ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 30508 bFormErrors = true; 30509 } 30510 30511 var oNodeExtraForm = null; 30512 if ( oFormData["extra-form-id"]){ 30513 oNodeExtraForm = jQuery("form.layout-"+oFormData["extra-form-id"]); 30514 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeExtraForm) ){ 30515 oFormData["extra-data"] = oNodeExtraForm.serializeObject(); 30516 }else{ 30517 bFormErrors = true; 30518 } 30519 } 30520 30521 if (bFormErrors){ 30522 return; 30523 } 30524 30525 var idLoading = g_oCTLWPStudio.showLoading(""); 30526 30527 oFormData['action'] = 'ctl-wp-studio'; 30528 oFormData['execute'] = 'ctl-editors-framework'; 30529 oFormData['extension-action'] = 'edit-post-data'; 30530 oFormData["click-class"] = "ctl-editors-action-convert-post-to-post"; 30531 30532 let cbConvertPostToPost = ()=>{ 30533 delete oFormData["extra-data"]; 30534 oFormData['extension-action'] = 'convert-post-to-post'; 30535 oFormData["get-params"] = g_oCTLWPStudio.getUrlParams(); 30536 30537 jQuery.ajax({ 30538 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 30539 type: "POST", 30540 data : oFormData, 30541 cache: false, 30542 method: 'POST', 30543 success:function(response, textStatus, jqXHR){ 30544 var oResponse = jQuery.parseJSON(response); 30545 if( oResponse.res === false ){ 30546 if ( oResponse.alert ){ 30547 g_oCTLWPStudio.closeDlg(idLoading); 30548 g_oCTLBootstrapModals.alert("", oResponse.alert ); 30549 }else if ( oResponse.desc ){ 30550 switch(oResponse.desc){ 30551 case "invalid_user":{ 30552 window.location.reload(); 30553 }break; 30554 } 30555 } 30556 }else if (oResponse.redirect){ 30557 window.location.href = oResponse.redirect; 30558 }else{ 30559 window.location.reload(); 30560 } 30561 }, 30562 error: function(jqXHR, textStatus, errorThrown){ 30563 g_oCTLWPStudio.closeDlg(idLoading); 30564 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 30565 } 30566 }); 30567 } 30568 30569 if(oNodeContainer.hasClass("ctl-post-readonly")){ 30570 cbConvertPostToPost(); 30571 return; 30572 } 30573 30574 jQuery.ajax({ 30575 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 30576 type: "POST", 30577 data : oFormData, 30578 cache: false, 30579 method: 'POST', 30580 success:function(response, textStatus, jqXHR){ 30581 var oResponse = jQuery.parseJSON(response); 30582 30583 if( oResponse.res === false ){ 30584 g_oCTLWPStudio.closeDlg(idLoading); 30585 30586 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 30587 if (oNodeExtraForm){ 30588 ctlFormFieldsApplyErrors(oNodeExtraForm, oResponse.errors); 30589 } 30590 30591 if ( oResponse.alert ){ 30592 g_oCTLBootstrapModals.alert("", oResponse.alert ); 30593 } 30594 30595 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false ] ); 30596 }else{ 30597 cbConvertPostToPost(); 30598 } 30599 }, 30600 error: function(jqXHR, textStatus, errorThrown){ 30601 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false ] ); 30602 g_oCTLWPStudio.closeDlg(idLoading); 30603 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 30604 } 30605 }); 30606 }); 30607 30608 jQuery(document).on("click", ".ctl-editors-action-edit-post-data", function(){ 30609 ctlEditorFrameworkEditPostSaveData(jQuery(this)); 30610 });
30611 30612 jQuery(document).on("click", ".ctl-editors-action-reset-post-status", function(){ 30613 30614 var oNodeButton = jQuery(this); 30615 30616 var oNodeContainer = oNodeButton.closest(".ctl-reset-post-statuses"); 30617 var oNodeForm = oNodeContainer.find("form"); 30618 var oFormData = {}; 30619 30620 if ( oNodeForm.length > 0 ){ 30621 if(ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 30622 return; 30623 } 30624 30625 oFormData = oNodeForm.serializeObject(); 30626 } 30627 30628 var idConfirmDialog = g_oCTLBootstrapModals.confirm( 30629 "", 30630 g_oCTLEditorsFrameworkLocalizationFront["Are you sure?"], 30631 g_oCTLEditorsFrameworkLocalizationFront["Continue"], 30632 function(){ 30633 g_oCTLBootstrapModals.closeModalAndStack(jQuery('#' + idConfirmDialog)); 30634 ctlEditorFrameworkAjaxResetPostStatus(oNodeButton, oFormData); 30635 }); 30636 30637 }); 30638 30639 jQuery(document).on("click", ".ctl-editors-action-edit-wp-options", function(){ 30640 30641 var oNodeForm = jQuery("form[data-widget-id="+jQuery(this).attr("data-widget-id")+"]"); 30642 30643 var bFormErrors = false; 30644 30645 if(ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 30646 bFormErrors = true; 30647 } 30648 30649 var oFormData = oNodeForm.serializeObject(); 30650 oFormData['action'] = 'ctl-wp-studio'; 30651 oFormData['execute'] = 'ctl-editors-framework'; 30652 oFormData['extension-action'] = 'edit-wp-options'; 30653 oFormData["click-class"] = "ctl-editors-action-edit-wp-options"; 30654 oFormData["widget-id"] = jQuery(this).attr("data-widget-id"); 30655 30656 var oNodeExtraForm = null; 30657 if ( oFormData["form-id"]){ 30658 oNodeExtraForm = jQuery("form.layout-"+oFormData["form-id"]); 30659 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeExtraForm) ){ 30660 oFormData["extra-data"] = oNodeExtraForm.serializeObject(); 30661 }else{ 30662 bFormErrors = true; 30663 } 30664 } 30665 30666 if (bFormErrors){ 30667 return; 30668 } 30669 30670 jQuery(document).trigger(oFormData["click-class"]); 30671 30672 ctlEditorFrameworkAjaxUpdateObjectData(oNodeForm, oFormData, oNodeExtraForm, function(){ 30673 g_oCTLWPStudio.showLoading(""); 30674 window.location.reload(); 30675 30676 }); 30677 }); 30678 30679 30680 jQuery(document).on("click", ".ctl-editors-action-edit-user-data", function(){ 30681 30682 var oNodeButton = jQuery(this); 30683 var oNodeForm = jQuery("form[data-widget-id="+jQuery(this).attr("data-widget-id")+"]"); 30684 30685 var bFormErrors = false; 30686 if(ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 30687 bFormErrors = true; 30688 } 30689 30690 var oFormData = oNodeForm.serializeObject(); 30691 30692 oFormData['action'] = 'ctl-wp-studio'; 30693 oFormData['execute'] = 'ctl-editors-framework'; 30694 oFormData['extension-action'] = 'edit-user-data'; 30695 oFormData["click-class"] = "ctl-editors-action-edit-user-data"; 30696 30697 var oNodeExtraForm = null; 30698 30699 if ( oFormData["extra-form-id"]){ 30700 oNodeExtraForm = jQuery("form.layout-"+oFormData["extra-form-id"]); 30701 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeExtraForm) ){ 30702 oFormData["extra-data"] = oNodeExtraForm.serializeObject(); 30703 }else{ 30704 bFormErrors = true; 30705 } 30706 } 30707 30708 if (bFormErrors){ 30709 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 30710 return; 30711 } 30712 30713 jQuery(document).trigger(oFormData["click-class"]); 30714 30715 ctlEditorFrameworkAjaxUpdateObjectData(oNodeForm, oFormData, oNodeExtraForm, function(){ 30716 if ( oNodeButton.attr("data-popup") === "true" ){ 30717 g_oCTLBootstrapModals.alert( 30718 oNodeButton.attr("data-title"), 30719 oNodeButton.attr("data-message"), 30720 function(){ 30721 if( oNodeButton.closest(".modal").length > 0 ){
30722 iOffsetTop = jQuery('.modal-body').offset().top; 30723 jQuery('.modal-body').animate({ scrollTop: iOffsetTop }, 'slow'); 30724 }else{ 30725 30726 iOffsetTop = 0; 30727 30728 jQuery('html,body').animate({ scrollTop: iOffsetTop }, 'slow'); 30729 } 30730 30731 if ( oNodeButton.attr("data-closing-action")){ 30732 switch(oNodeButton.attr("data-closing-action")){ 30733 case "reload-page":{ 30734 window.location.reload(); 30735 }break; 30736 case "close-stack-dialog":{ 30737 g_oCTLBootstrapModals.closeModalAndStack(); 30738 }break; 30739 case "close-last-dialog":{ 30740 g_oCTLBootstrapModals.closeLastModal(); 30741 }break; 30742 } 30743 } 30744 }, oNodeButton.attr("data-button")); 30745 }else if ( oNodeButton.attr("data-closing-action")){ 30746 switch(oNodeButton.attr("data-closing-action")){ 30747 case "reload-page":{ 30748 window.location.reload(); 30749 }break; 30750 case "close-stack-dialog":{ 30751 g_oCTLBootstrapModals.closeModalAndStack(); 30752 }break; 30753 case "close-last-dialog":{ 30754 g_oCTLBootstrapModals.closeLastModal(); 30755 }break; 30756 } 30757 } 30758 }); 30759 }); 30760 30761 30762 jQuery(document).on("click", ".ctl-editors-action-delete-post", function(){ 30763 var oFormData = {}; 30764 oFormData['action'] ='ctl-wp-studio'; 30765 oFormData['execute'] ='ctl-editors-framework'; 30766 oFormData['extension-action'] ='delete-post'; 30767 oFormData['post-ids'] = JSON.parse(Base64.decode(jQuery(this).attr("data-post-ids"))); 30768 oFormData['widget-id'] = jQuery(this).attr("data-widget-id"); 30769 oFormData["click-class"] = "ctl-editors-action-delete-post"; 30770 30771 var szRedirect = jQuery(this).attr("data-redirect"); 30772 var szClosingAction = jQuery(this).attr("data-closing-action"); 30773 30774 if ( jQuery(this).attr("data-popup") === "true" ){ 30775 var idConfirmDialog = g_oCTLBootstrapModals.confirm( 30776 jQuery(this).attr("data-title"), 30777 jQuery(this).attr("data-message"), 30778 jQuery(this).attr("data-button"), 30779 function(){ 30780 g_oCTLBootstrapModals.closeModalAndStack(jQuery('#' + idConfirmDialog)); 30781 ctlEditorFrameworkAjaxDeletePost(oFormData, function(){ 30782 switch(szClosingAction){ 30783 case "redirect":{ 30784 g_oCTLWPStudio.showLoading(""); 30785 window.location.href = szRedirect; 30786 }break; 30787 case "reload-page":{ 30788 g_oCTLWPStudio.showLoading(""); 30789 window.location.reload(); 30790 }break; 30791 case "close-stack-dialog":{ 30792 g_oCTLBootstrapModals.closeModalAndStack(); 30793 }break; 30794 case "close-last-dialog":{ 30795 g_oCTLBootstrapModals.closeLastModal(); 30796 }break; 30797 } 30798 }); 30799 }); 30800 }else{ 30801 ctlEditorFrameworkAjaxDeletePost(oFormData, function(){ 30802 switch(szClosingAction){ 30803 case "redirect":{ 30804 window.location.href = szRedirect; 30805 }break; 30806 case "reload-page":{ 30807 window.location.reload(); 30808 }break; 30809 case "close-stack-dialog":{ 30810 g_oCTLBootstrapModals.closeModalAndStack(); 30811 }break; 30812 case "close-last-dialog":{ 30813 g_oCTLBootstrapModals.closeLastModal(); 30814 }break; 30815 } 30816 }); 30817 } 30818 });
30819 30820 30821 jQuery(document).on("click", ".ctl-editors-action-delete-user", function(){ 30822 var oFormData = {}; 30823 oFormData['action'] ='ctl-wp-studio'; 30824 oFormData['execute'] ='ctl-editors-framework'; 30825 oFormData['extension-action'] ='delete-user'; 30826 oFormData['user-ids'] = JSON.parse(Base64.decode(jQuery(this).attr("data-user-ids"))); 30827 oFormData['widget-id'] = jQuery(this).attr("data-widget-id"); 30828 oFormData["click-class"] = "ctl-editors-action-delete-user"; 30829 30830 var szRedirect = jQuery(this).attr("data-redirect"); 30831 var szClosingAction = jQuery(this).attr("data-closing-action"); 30832 30833 if ( jQuery(this).attr("data-popup") === "true" ){ 30834 var idConfirmDialog = g_oCTLBootstrapModals.confirm( 30835 jQuery(this).attr("data-title"), 30836 jQuery(this).attr("data-message"), 30837 jQuery(this).attr("data-button"), 30838 function(){ 30839 g_oCTLBootstrapModals.closeModalAndStack(jQuery('#' + idConfirmDialog)); 30840 ctlEditorFrameworkAjaxDeleteUser(oFormData, function(){ 30841 switch(szClosingAction){ 30842 case "redirect":{ 30843 g_oCTLWPStudio.showLoading(""); 30844 window.location.href = szRedirect; 30845 }break; 30846 case "reload-page":{ 30847 g_oCTLWPStudio.showLoading(""); 30848 window.location.reload(); 30849 }break; 30850 case "close-stack-dialog":{ 30851 g_oCTLBootstrapModals.closeModalAndStack(); 30852 }break; 30853 case "close-last-dialog":{ 30854 g_oCTLBootstrapModals.closeLastModal(); 30855 }break; 30856 } 30857 }); 30858 }); 30859 }else{ 30860 ctlEditorFrameworkAjaxDeleteUser(oFormData, function(){ 30861 switch(szClosingAction){ 30862 case "redirect":{ 30863 window.location.href = szRedirect; 30864 }break; 30865 case "reload-page":{ 30866 window.location.reload(); 30867 }break; 30868 case "close-stack-dialog":{ 30869 g_oCTLBootstrapModals.closeModalAndStack(); 30870 }break; 30871 case "close-last-dialog":{ 30872 g_oCTLBootstrapModals.closeLastModal(); 30873 }break; 30874 } 30875 }); 30876 } 30877 }); 30878 30879 jQuery(document).on("click", ".ctl-editors-action-trash-post", function(){ 30880 var oFormData = {}; 30881 oFormData['action'] ='ctl-wp-studio'; 30882 oFormData['execute'] ='ctl-editors-framework'; 30883 oFormData['extension-action'] ='trash-post'; 30884 oFormData['post-id'] = jQuery(this).attr("data-post-id"); 30885 oFormData['widget-id'] = jQuery(this).attr("data-widget-id"); 30886 oFormData["click-class"] = "ctl-editors-action-trash-post"; 30887 30888 var szRedirect = jQuery(this).attr("data-redirect"); 30889 30890 if ( jQuery(this).attr("data-popup") === "true" ){ 30891 var idConfirmDialog = g_oCTLBootstrapModals.confirm( 30892 jQuery(this).attr("data-title"), 30893 jQuery(this).attr("data-message"), 30894 jQuery(this).attr("data-button"), 30895 function(){ 30896 jQuery('#' + idConfirmDialog).modal('hide'); 30897 ctlEditorFrameworkAjaxTrashPost(oFormData, szRedirect); 30898 }); 30899 }else{ 30900 ctlEditorFrameworkAjaxTrashPost(oFormData, szRedirect); 30901 } 30902 }); 30903 30904 jQuery(document).on("submit", ".ctl-create-post form, .ctl-create-user form, .ctl-edit-post form, .ctl-edit-user form", function(e){
30905 e.preventDefault(); 30906 return false; 30907 }); 30908 30909 jQuery(document).on("click", ".ctl-editors-action-create-post", function(){ 30910 ctlEditorFrameworkCreatePost(jQuery(this)); 30911 }); 30912 30913 jQuery(document).on("click", ".ctl-editors-action-create-user", function(){ 30914 ctlEditorFrameworkCreateUser(jQuery(this).closest(".ctl-create-user")); 30915 }); 30916 30917 30918 jQuery(document).on("click", ".ctl-editors-action-edit-post-featured-image", function(){ 30919 var oNodeFormGroup = jQuery(this).closest(".form-group"); 30920 var oNodeForm = jQuery(this).closest("form"); 30921 var oNodeRedirect = oNodeForm.find('input[name=redirect]'); 30922 30923 var oFormData = new FormData(); 30924 oFormData.append( 'post-id', oNodeForm.find('input[name=post-id]').val() ); 30925 oFormData.append( 'file', oNodeForm.find('input[name=post-featured-image]')[0].files[0] ); 30926 oFormData.append( 'widget-id', oNodeForm.find('input[name=widget-id]').val() ); 30927 oFormData.append( 'action', 'ctl-wp-studio' ); 30928 oFormData.append( 'execute', 'ctl-editors-framework' ); 30929 oFormData.append( 'extension-action', 'edit-post-featured-image' ); 30930 30931 oFormData.append("click-class", "ctl-editors-action-edit-post-featured-image"); 30932 30933 jQuery(document).trigger(oFormData.get("click-class")); 30934 30935 ctlEditorFrameworkAjaxUpdateFormData(oNodeForm, oFormData, false, function(){ 30936 if ( !oNodeFormGroup.hasClass("d-none") ){ 30937 g_oCTLBootstrapModals.message( 30938 g_oCTLEditorsFrameworkLocalizationFront["Image uploaded correctly."], 30939 g_oCTLEditorsFrameworkLocalizationFront["Continue"], function(){ 30940 if ( oNodeRedirect.length > 0 ){ 30941 g_oCTLWPStudio.showLoading(""); 30942 window.location.href = oNodeRedirect.val(); 30943 } 30944 }); 30945 } 30946 }); 30947 }); 30948 30949 __ctlEditorMakeGallerySortable(); 30950}); 30951 30952function ctlEditorFrameworkCreateUser( oNodeCreateUser ){ 30953 var bContinue = true; 30954 30955 // check if all forms are filled 30956 oNodeCreateUser.find("form").each(function(){ 30957 if(ctlFormFieldsCheckIfFormIsFilled(jQuery(this)) === false ){ 30958 bContinue = false; 30959 } 30960 }); 30961 30962 if (!bContinue){ 30963 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 30964 return; 30965 } 30966 30967 var oNodeForm = oNodeCreateUser.find(".ctl-create-user-form"); 30968 var oNodeButton = oNodeCreateUser.find(".ctl-editors-action-create-user"); 30969 30970 var oFormData = oNodeForm.serializeObject(); 30971 oFormData["action"] = 'ctl-wp-studio'; 30972 oFormData["execute"] = 'ctl-editors-framework'; 30973 oFormData["extension-action"] = 'create-user'; 30974 30975 var oNodeExtraForm = null; 30976 30977 if ( oNodeButton.attr("data-extra-form") ){ 30978 oNodeExtraForm = oNodeCreateUser.find(".layout-" + oNodeButton 30979 .attr("data-extra-form")); 30980 if(ctlFormFieldsCheckIfFormIsFilled(oNodeExtraForm) === false ){ 30981 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 30982 return; 30983 } 30984 oFormData["extra-form"] = oNodeExtraForm.serializeObject(); 30985 } 30986 30987 ctlEditorFrameworkAjaxUpdateObjectData(oNodeForm, oFormData, oNodeExtraForm); 30988} 30989 30990function __ctlEditorFrameworkUserSendEditorRequest( oNodeButton ){ 30991 30992 var idWidget = oNodeButton.attr("data-widget-id"); 30993 var oNodeForm = jQuery("form[data-widget-id="+idWidget+"]"); 30994 30995 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 30996 return; 30997 } 30998 30999 var oFormData = oNodeForm.serializeObject(); 31000 oFormData["action"] = 'ctl-wp-studio'; 31001 oFormData["execute"] = 'ctl-editors-framework'; 31002 oFormData["extension-action"] = 'user-send-editor-request'; 31003 31004 var idLoading = g_oCTLWPStudio.showLoading(""); 31005 31006 jQuery.ajax({ 31007 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 31008 type: "POST", 31009 data : oFormData, 31010 cache: false, 31011 method: 'POST', 31012 success:function(response, textStatus, jqXHR){ 31013 var oResponse = jQuery.parseJSON(response); 31014 31015 if( oResponse.res === false ){ 31016 g_oCTLWPStudio.closeDlg(idLoading); 31017 if (oResponse.errors){ 31018 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 31019 } 31020 if ( oResponse.alert ){ 31021 g_oCTLBootstrapModals.alert("", oResponse.alert ); 31022 } 31023 }else { 31024 g_oCTLWPStudio.closeDlg(idLoading); 31025 g_oCTLBootstrapModals.confirm( 31026 "", 31027 g_oCTLEditorsFrameworkLocalizationFront["Request sent correctly."], 31028 g_oCTLEditorsFrameworkLocalizationFront["Continue"], 31029 function(){ 31030 g_oCTLWPStudio.showLoading(""); 31031 window.location.reload(); 31032 }); 31033 } 31034 }, 31035 error: function(jqXHR, textStatus, errorThrown){ 31036 g_oCTLWPStudio.closeDlg(idLoading); 31037 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 31038 } 31039 }); 31040} 31041 31042 31043function __ctlEditorFrameworkEditUserQuotas( oNodeButton ){ 31044 var oNodeForm = oNodeButton.closest("form"); 31045 31046 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 31047 return; 31048 } 31049 31050 var oFormData = oNodeForm.serializeObject(); 31051 oFormData["action"] = 'ctl-wp-studio'; 31052 oFormData["execute"] = 'ctl-editors-framework'; 31053 oFormData["extension-action"] = 'edit-user-quotas'; 31054 31055 var idLoading = g_oCTLWPStudio.showLoading(""); 31056 31057 jQuery.ajax({ 31058 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 31059 type: "POST", 31060 data : oFormData, 31061 cache: false, 31062 method: 'POST', 31063 success:function(response, textStatus, jqXHR){ 31064 var oResponse = jQuery.parseJSON(response); 31065 31066 if( oResponse.res === false ){ 31067 g_oCTLWPStudio.closeDlg(idLoading); 31068 if (oResponse.errors){ 31069 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 31070 } 31071 if ( oResponse.alert ){ 31072 g_oCTLBootstrapModals.alert("", oResponse.alert ); 31073 } 31074 }else { 31075 window.location.reload(); 31076 } 31077 }, 31078 error: function(jqXHR, textStatus, errorThrown){ 31079 g_oCTLWPStudio.closeDlg(idLoading); 31080 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 31081 } 31082 });
31083} 31084 31085function __ctlEditorFrameworkDerivatePost( oNodeButton ){ 31086 var oNodeDerivatePost = jQuery(".ctl-derivate-post-"+oNodeButton.attr("data-widget-id")); 31087 var oNodeForm = oNodeDerivatePost.find("form.ctl-derivate-post-form"); 31088 31089 oNodeForm.find(".ctl-calculator-action-equal").click(); 31090 31091 let bFormErrors = false; 31092 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 31093 bFormErrors = true; 31094 } 31095 31096 var oFormData = oNodeForm.serializeObject(); 31097 31098 let oNodeExtraForm = null; 31099 if ( oFormData["extra-form-id"]){ 31100 oNodeExtraForm = jQuery("form.layout-"+oFormData["extra-form-id"]); 31101 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeExtraForm) ){ 31102 oFormData["extra-data"] = oNodeExtraForm.serializeObject(); 31103 }else{ 31104 bFormErrors = true; 31105 } 31106 } 31107 31108 if(bFormErrors){ 31109 return; 31110 } 31111 31112 oFormData["action"] = 'ctl-wp-studio'; 31113 oFormData["execute"] = 'ctl-editors-framework'; 31114 oFormData["extension-action"] = 'derivate-post'; 31115 31116 var idLoading = g_oCTLWPStudio.showLoading(""); 31117 31118 jQuery.ajax({ 31119 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 31120 type: "POST", 31121 data : oFormData, 31122 cache: false, 31123 method: 'POST', 31124 success:function(response, textStatus, jqXHR){ 31125 g_oCTLWPStudio.closeDlg(idLoading); 31126 var oResponse = jQuery.parseJSON(response); 31127 31128 if( oResponse.res === false ){ 31129 if (oResponse.errors){ 31130 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 31131 } 31132 if ( oResponse.alert ){ 31133 g_oCTLBootstrapModals.alert("", oResponse.alert ); 31134 } 31135 }else { 31136 31137 ctlFormFieldsClearForm(oNodeForm); 31138 if(oNodeExtraForm !== null){ 31139 ctlFormFieldsClearForm(oNodeExtraForm); 31140 } 31141 31142 if ( oNodeButton.attr("data-popup") === "true" && 31143 oNodeButton.attr("data-title") && 31144 oNodeButton.attr("data-message") ){ 31145 g_oCTLBootstrapModals.alert( 31146 oNodeButton.attr("data-title"), 31147 oNodeButton.attr("data-message"), 31148 function(){ 31149 switch(oResponse["redirect-type"]){ 31150 case "reload":{ 31151 g_oCTLWPStudio.showLoading(); 31152 window.location.reload(); 31153 }break; 31154 case "redirect":{ 31155 g_oCTLWPStudio.showLoading(); 31156 window.location.href = oResponse.redirect; 31157 }break; 31158 case "close-stack-dialog-and-load-modal":{ 31159 g_oCTLBootstrapModals.closeModalAndStack(); 31160 var oExtraData = {}; 31161 oExtraData[oResponse["modal-post-alias"]] = oResponse["post-id"]; 31162 g_oCTLBootstrapModals.loadModal( 31163 oResponse["edit-modal-id"], oExtraData); 31164 }break; 31165 case "close-last-dialog-and-load-modal":{ 31166 g_oCTLBootstrapModals.closeLastModal(); 31167 var oExtraData = {}; 31168 oExtraData[oResponse["modal-post-alias"]] = oResponse["post-id"]; 31169 g_oCTLBootstrapModals.loadModal( 31170 oResponse["edit-modal-id"], oExtraData); 31171 }break; 31172 case "load-modal-close-stack-dialog-and-refresh-table":{ 31173 g_oCTLBootstrapModals.closeModalAndStack(); 31174 var oExtraData = {}; 31175 oExtraData[oResponse["modal-post-alias"]] = oResponse["post-id"];
31176 g_oCTLBootstrapModals.loadModal( 31177 oResponse["edit-modal-id"], oExtraData); 31178 31179 if(oResponse["table-to-refresh"]){ 31180 ctlThemeTableAjaxRefreshTable( 31181 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + oResponse["table-to-refresh"] + "']") 31182 ); 31183 } 31184 }break; 31185 case "load-modal-close-stack-dialog-and-refresh-calendar":{ 31186 g_oCTLBootstrapModals.closeModalAndStack(); 31187 var oExtraData = {}; 31188 oExtraData[oResponse["modal-post-alias"]] = oResponse["post-id"]; 31189 g_oCTLBootstrapModals.loadModal( 31190 oResponse["edit-modal-id"], oExtraData, null, function(){ 31191 if ( jQuery(".ctl-calendar-action-reload").length > 0 ){ 31192 jQuery(".ctl-calendar-action-reload").click(); 31193 } 31194 }); 31195 31196 }break; 31197 case "close-stack-dialog-and-refresh-table":{ 31198 g_oCTLBootstrapModals.closeModalAndStack(); 31199 if(oResponse["table-to-refresh"]){ 31200 ctlThemeTableAjaxRefreshTable( 31201 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + oResponse["table-to-refresh"] + "']") 31202 ); 31203 } 31204 }break; 31205 case "close-last-dialog-and-refresh-table":{ 31206 g_oCTLBootstrapModals.closeLastModal(); 31207 if(oResponse["table-to-refresh"]){ 31208 ctlThemeTableAjaxRefreshTable( 31209 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + oResponse["table-to-refresh"] + "']") 31210 ); 31211 } 31212 }break; 31213 } 31214 }, 31215 oNodeButton.attr("data-button") 31216 ); 31217 }else{ 31218 switch(oResponse["redirect-type"]){ 31219 case "reload":{ 31220 g_oCTLWPStudio.showLoading(); 31221 window.location.reload(); 31222 }break; 31223 case "redirect":{ 31224 g_oCTLWPStudio.showLoading(); 31225 window.location.href = oResponse.redirect; 31226 }break; 31227 case "close-stack-dialog-and-load-modal":{ 31228 g_oCTLBootstrapModals.closeModalAndStack(); 31229 var oExtraData = {}; 31230 oExtraData[oResponse["modal-post-alias"]] = oResponse["post-id"]; 31231 g_oCTLBootstrapModals.loadModal( 31232 oResponse["edit-modal-id"], oExtraData); 31233 }break; 31234 case "close-last-dialog-and-load-modal":{ 31235 g_oCTLBootstrapModals.closeLastModal(); 31236 var oExtraData = {}; 31237 oExtraData[oResponse["modal-post-alias"]] = oResponse["post-id"]; 31238 g_oCTLBootstrapModals.loadModal( 31239 oResponse["edit-modal-id"], oExtraData); 31240 }break; 31241 case "load-modal-close-stack-dialog-and-refresh-table":{ 31242 g_oCTLBootstrapModals.closeModalAndStack(); 31243 var oExtraData = {}; 31244 oExtraData[oResponse["modal-post-alias"]] = oResponse["post-id"];
31245 g_oCTLBootstrapModals.loadModal( 31246 oResponse["edit-modal-id"], oExtraData); 31247 31248 if(oResponse["table-to-refresh"]){ 31249 ctlThemeTableAjaxRefreshTable( 31250 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + oResponse["table-to-refresh"] + "']") 31251 ); 31252 } 31253 }break; 31254 case "load-modal-close-stack-dialog-and-refresh-calendar":{ 31255 g_oCTLBootstrapModals.closeModalAndStack(); 31256 var oExtraData = {}; 31257 oExtraData[oResponse["modal-post-alias"]] = oResponse["post-id"]; 31258 g_oCTLBootstrapModals.loadModal( 31259 oResponse["edit-modal-id"], oExtraData, null, function(){ 31260 if ( jQuery(".ctl-calendar-action-reload").length > 0 ){ 31261 jQuery(".ctl-calendar-action-reload").click(); 31262 } 31263 }); 31264 }break; 31265 case "close-stack-dialog-and-refresh-table":{ 31266 g_oCTLBootstrapModals.closeModalAndStack(); 31267 if(oResponse["table-to-refresh"]){ 31268 ctlThemeTableAjaxRefreshTable( 31269 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + oResponse["table-to-refresh"] + "']") 31270 ); 31271 } 31272 }break; 31273 case "close-last-dialog-and-refresh-table":{ 31274 g_oCTLBootstrapModals.closeLastModal(); 31275 if(oResponse["table-to-refresh"]){ 31276 ctlThemeTableAjaxRefreshTable( 31277 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + oResponse["table-to-refresh"] + "']") 31278 ); 31279 } 31280 }break; 31281 } 31282 } 31283 } 31284 }, 31285 error: function(jqXHR, textStatus, errorThrown){ 31286 g_oCTLWPStudio.closeDlg(idLoading); 31287 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 31288 } 31289 }); 31290} 31291 31292function ctlEditorUpdateAddressParamsWithCalendarDate( szCurDate ){ 31293 var aUrlParams = g_oCTLWPStudio.getUrlParams(); 31294 31295 31296 if ( aUrlParams["cstart"] && aUrlParams["cend"] && aUrlParams["cdate"] && aUrlParams["period"]){ 31297 31298 var szStartDate = ""; 31299 var szEndDate = ""; 31300 31301 switch(aUrlParams["period"]){ 31302 case "month":{ 31303 var oMoment = moment(szCurDate, "YYYY-MM-DD"); 31304 szStartDate = oMoment.startOf('month').format("YYYY-MM-DD"); 31305 szEndDate = oMoment.endOf('month').format("YYYY-MM-DD"); 31306 }break; 31307 case "day":{ 31308 szStartDate = szEndDate = szCurDate; 31309 }break; 31310 case "week":{ 31311 var oMoment = moment(szCurDate, "YYYY-MM-DD"); 31312 szStartDate = oMoment.startOf('isoWeek').format("YYYY-MM-DD"); 31313 szEndDate = oMoment.endOf('isoWeek').format("YYYY-MM-DD"); 31314 }break; 31315 } 31316 31317 var url = window.location.href; 31318 url = g_oCTLWPStudio.removeParameterFromUrl(url, "cstart"); 31319 url = g_oCTLWPStudio.removeParameterFromUrl(url, "cend"); 31320 url = g_oCTLWPStudio.removeParameterFromUrl(url, "cdate"); 31321 url = g_oCTLWPStudio.removeParameterFromUrl(url, "cdate-gfx"); 31322 31323 url = g_oCTLWPStudio.addParameterToUrl(url, "cstart", szStartDate); 31324 url = g_oCTLWPStudio.addParameterToUrl(url, "cend", szEndDate); 31325 url = g_oCTLWPStudio.addParameterToUrl(url, "cdate", szCurDate); 31326 window.history.pushState(document.title, "", url); 31327 } 31328} 31329 31330function ctlEditorFrameworkCreatePost( oNodeButtonCreate ){ 31331 var oNodeCreatePost = jQuery(".ctl-create-post-"+oNodeButtonCreate.attr("data-widget-id")); 31332 31333 var bContinue = true; 31334 31335 oNodeCreatePost.find("form").each(function(){ 31336 if(ctlFormFieldsCheckIfFormIsFilled(jQuery(this)) === false ){ 31337 bContinue = false; 31338 } 31339 });
31340 31341 if (!bContinue){ 31342 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 31343 return; 31344 } 31345 31346 var oNodeForm = oNodeCreatePost.find(".ctl-create-post-form"); 31347 var oFormData = oNodeForm.serializeObject(); 31348 31349 oFormData["action"] = 'ctl-wp-studio'; 31350 oFormData["execute"] = 'ctl-editors-framework'; 31351 oFormData["extension-action"] = 'create-post'; 31352 oFormData["allow-duplication"] = oNodeButtonCreate.attr("data-allow-duplication"); 31353 31354 var oNodeExtraForm = null; 31355 31356 if ( oNodeButtonCreate.attr("data-extra-form") ){ 31357 oNodeExtraForm = oNodeCreatePost.find(".layout-" + 31358 oNodeButtonCreate.attr("data-extra-form")); 31359 if(ctlFormFieldsCheckIfFormIsFilled(oNodeExtraForm) === false ){ 31360 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 31361 return; 31362 } 31363 oFormData["extra-form"] = oNodeExtraForm.serializeObject(); 31364 } 31365 31366 ctlEditorFrameworkAjaxUpdateObjectData(oNodeForm, oFormData, oNodeExtraForm); 31367} 31368 31369function ctlEditorFrameworkAjaxUpdateFormData( oNodeForm, oFormData, bReloadPage, cb ){ 31370 let idLoading = g_oCTLWPStudio.showLoading(""); 31371 31372 jQuery.ajax({ 31373 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 31374 type: "POST", 31375 data : oFormData, 31376 cache: false, 31377 processData : false, 31378 contentType : false, 31379 method: 'POST', 31380 success:function(response, textStatus, jqXHR){ 31381 let oResponse = jQuery.parseJSON(response); 31382 31383 if( oResponse.res === false ){ 31384 31385 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 31386 31387 jQuery(document).trigger("ajax-update", [ oFormData.get("click-class"), false ] ); 31388 g_oCTLWPStudio.closeDlg(idLoading); 31389 31390 }else{ 31391 jQuery(document).trigger("ajax-update", [ oFormData.get("click-class"), true ] ); 31392 31393 if ( bReloadPage ){ 31394 g_oCTLWPStudio.showLoading(""); 31395 window.location.reload(); 31396 }else{ 31397 g_oCTLWPStudio.closeDlg(idLoading); 31398 if (cb){ 31399 cb.call(this, oResponse); 31400 } 31401 } 31402 } 31403 }, 31404 error: function(jqXHR, textStatus, errorThrown){ 31405 jQuery(document).trigger("ajax-update", [ oFormData.get("click-class"), false ] ); 31406 g_oCTLWPStudio.closeDlg(idLoading); 31407 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 31408 } 31409 }); 31410} 31411 31412function __ctlEditorMakeGallerySortable(){ 31413 jQuery(".ctl-media-gallery-list").each( function(){ 31414 let oNodeGalleryList = jQuery(this); 31415 jQuery(this).sortable({ 31416 update : function(){ 31417 let oNodeInput = oNodeGalleryList.find('input[type="hidden"]'); 31418 if ( oNodeInput.length > 0 ){ 31419 oNodeInput.first().trigger("change"); 31420 } 31421 }, 31422 helper: __ctlEditorGetSortableHelper(), 31423 placeholder : 'ctl-media-gallery-list-item-placeholder' 31424 31425 }).disableSelection(); 31426 31427 jQuery(this).data( "ui-sortable" ).floating = true; 31428 }); 31429} 31430 31431 31432function __ctlEditorGetSortableHelper(){ 31433 let fixHelperModified = function(e, oNode) { 31434 let $originals = oNode.children(); 31435 let $helper = __ctlEditorCloneNode(oNode); 31436 let szTagName = $helper[0].tagName.toLowerCase(); 31437 31438 $helper.children().each(function(index){ 31439 jQuery(this).width($originals.eq(index).width()); 31440 jQuery(this).css("background-color","#ffe7b3"); 31441 jQuery(this).closest(szTagName).css("border","1px solid #ffc64c"); 31442 jQuery(this).closest(szTagName).css("background-color","#ffe7b3"); 31443 jQuery(this).closest(szTagName + " *").each( function(){ 31444 jQuery(this).css("background-color","#ffe7b3"); 31445 }); 31446 }); 31447 31448 return $helper; 31449 }; 31450 return fixHelperModified; 31451};
31452 31453function __ctlEditorCloneNode( oNodeSource ){ 31454 let oNodeClone = oNodeSource.clone(); 31455 31456 let oCloneSelectOptions = oNodeClone.find('select'); 31457 let oOriginalSelectOptions = oNodeSource.find('select'); 31458 31459 if(oOriginalSelectOptions){ 31460 oOriginalSelectOptions.each(function(index){ 31461 let aCloneOptions = oCloneSelectOptions.eq(index).find("option"); 31462 let aOriginalOptions = jQuery(this).find("option"); 31463 31464 aOriginalOptions.each(function(index){ 31465 aCloneOptions.eq(index).prop('selected', 31466 jQuery(this).prop('selected')); 31467 }); 31468 }); 31469 } 31470 return oNodeClone; 31471}; 31472 31473function __ctlEditorFrameworkUpdateBrandPriceData( oNodeBrand, idBrand, cbSuccess){ 31474 var oFormData = {}; 31475 oFormData['action'] = 'ctl-wp-studio'; 31476 oFormData['execute'] = 'ctl-editors-framework'; 31477 oFormData['extension-action'] = 'get-brand-price-data'; 31478 oFormData['brand-id'] = idBrand; 31479 31480 var idLoading = g_oCTLWPStudio.showLoading(""); 31481 31482 jQuery.ajax({ 31483 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 31484 type: "POST", 31485 data : oFormData, 31486 cache: false, 31487 method: 'POST', 31488 success:function(response, textStatus, jqXHR){ 31489 var oResponse = jQuery.parseJSON(response); 31490 if( oResponse.res === false ){ 31491 g_oCTLWPStudio.closeDlg(idLoading); 31492 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 31493 }else{ 31494 g_oCTLWPStudio.closeDlg(idLoading); 31495 31496 if (cbSuccess) { 31497 cbSuccess.call(this, [oResponse["price-list-discount"]] ); 31498 } 31499 } 31500 }, 31501 error: function(jqXHR, textStatus, errorThrown){ 31502 g_oCTLWPStudio.closeDlg(idLoading); 31503 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 31504 } 31505 }); 31506} 31507 31508function __ctlEditorFrameworkUpdateVATTaxPercentage( oNodeVATTax, idVATTax, cbSuccess){ 31509 var oFormData = {}; 31510 oFormData['action'] = 'ctl-wp-studio'; 31511 oFormData['execute'] = 'ctl-editors-framework'; 31512 oFormData['extension-action'] = 'get-vat-tax-percentage'; 31513 oFormData['vat-tax-id'] = idVATTax; 31514 31515 var idLoading = g_oCTLWPStudio.showLoading(""); 31516 31517 jQuery.ajax({ 31518 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 31519 type: "POST", 31520 data : oFormData, 31521 cache: false, 31522 method: 'POST', 31523 success:function(response, textStatus, jqXHR){ 31524 var oResponse = jQuery.parseJSON(response); 31525 if( oResponse.res === false ){ 31526 g_oCTLWPStudio.closeDlg(idLoading); 31527 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 31528 }else{ 31529 g_oCTLWPStudio.closeDlg(idLoading); 31530 oNodeVATTax.data("vat-tax-percentage", oResponse["vat-tax-percentage"]); 31531 if (cbSuccess) { 31532 cbSuccess.call(this); 31533 } 31534 } 31535 }, 31536 error: function(jqXHR, textStatus, errorThrown){ 31537 g_oCTLWPStudio.closeDlg(idLoading); 31538 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 31539 } 31540 }); 31541} 31542 31543function __ctlEditorFrameworkUpdatePriceCalculations( oNodeMain, szUpdatedFieldName){ 31544 31545 if ( oNodeMain.attr("data-js-price-calculation") === "0"){ 31546 return; 31547 } 31548 31549 var oNodePriceList = oNodeMain.find('input[name=price-list]'); 31550 var oNodePriceListDiscount = oNodeMain.find('input[name=price-list-discount]'); 31551 var oNodeDiscount = oNodeMain.find('input[name=discount]'); 31552 var oNodePercentageProfit = oNodeMain.find('input[name=percentage-profit]'); 31553 var oNodeTotal = oNodeMain.find('input[name=total]'); 31554 var oNodeTotalTaxed = oNodeMain.find('input[name=total-taxed]'); 31555 var oNodeQty = oNodeMain.find('input[name=qty]'); 31556 var oNodeQtyMultiplier2 = oNodeMain.find('input[name=qty-2]'); 31557 var oNodeQtyMultiplier3 = oNodeMain.find('input[name=qty-3]'); 31558 var oNodeCost = oNodeMain.find('input[name=cost]'); 31559 var oNodePrice = oNodeMain.find('input[name=price]'); 31560 var oNodeProfit = oNodeMain.find('input[name=profit]'); 31561 var oNodeTotalCost = oNodeMain.find('input[name=total-cost]'); 31562 var oNodeTotalCostTaxed = oNodeMain.find('input[name=total-cost-taxed]'); 31563 var oNodeTotalProfit = oNodeMain.find('input[name=total-profit]'); 31564 var oNodeTotalProfitPercentage = oNodeMain.find('input[name=total-profit-percentage]'); 31565 var oNodeVATTax = oNodeMain.find('[name=vat-tax]'); 31566 if(oNodeVATTax.length == 0){ 31567 oNodeVATTax = oNodeMain.find('[data-field-name=vat-tax]'); 31568 } 31569 31570 const iQty = oNodeQty.length > 0 ? Number(oNodeQty.val()) : 1; 31571 const iQtyMultiplier2 = oNodeQtyMultiplier2.length > 0 ? Number(oNodeQtyMultiplier2.val()) : 1; 31572 const iQtyMultiplier3 = oNodeQtyMultiplier3.length > 0 ? Number(oNodeQtyMultiplier3.val()) : 1; 31573 const iTotalQty = iQty * iQtyMultiplier2 * iQtyMultiplier3; 31574 31575 const szDiscountType = oNodeDiscount.length > 0 ? oNodeDiscount.attr("data-discount-type") : "percentage"; 31576 const fDiscount = oNodeDiscount.length > 0 ? Number(oNodeDiscount.val()) : 0; 31577 31578 const fVATTaxPercentage = oNodeVATTax.length > 0 && oNodeVATTax.val() ? oNodeVATTax.data("vat-tax-percentage") : 0; 31579 31580 const fMinPrice = oNodePrice.length > 0 && oNodePrice.attr("data-min-price") ? Number(oNodePrice.attr("data-min-price")) : 0; 31581 const bBlockMinPrice = oNodePrice.length > 0 && oNodePrice.attr("data-min-price-block") == "1" ? true : false; 31582 const bAlertMinPrice = oNodePrice.length > 0 && oNodePrice.attr("data-min-price-alert") == "1" ? true : false; 31583 31584 var fCost = 0; 31585 var fPrice = 0; 31586 31587 var fProfit; 31588 var fPercentageProfit; 31589 31590 var fTotal; 31591 var fBaseTotal; 31592 var fTotalTaxed; 31593 31594 var fTotalCost; 31595 var fTotalCostTaxed; 31596 31597 var fTotalProfit; 31598 var fTotalProfitPercentage; 31599 31600 if(oNodePrice.length > 0){ 31601 fPrice = Number(oNodePrice.val()); 31602 } 31603 31604 if ( oNodePriceList.length > 0 && oNodePriceListDiscount.length > 0){ 31605 var fPriceList = Number(oNodePriceList.val()); 31606 var fPriceListDiscount = Number(oNodePriceListDiscount.val()); 31607 fCost = fPriceList - (fPriceList * (fPriceListDiscount / 100)); 31608 }else if( oNodeCost.length > 0 ){ 31609 fCost = Number(oNodeCost.val()); 31610 } 31611 31612 31613 // total 31614 if (oNodeTotal.length > 0){ 31615 fTotal = Number(oNodeTotal.val()); 31616 fBaseTotal = fTotal; 31617 }else{ 31618 fTotal = iTotalQty * fPrice; 31619 fBaseTotal = fTotal; 31620 } 31621 31622 // total-cost 31623 if(oNodeTotalCost.length > 0){ 31624 fTotalCost = Number(oNodeTotalCost.val()); 31625 }else{ 31626 fTotalCost = fCost * iTotalQty; 31627 } 31628 31629 // total-cost-taxed 31630 if(oNodeTotalCostTaxed.length > 0){ 31631 fTotalCostTaxed = Number(oNodeTotalCostTaxed.val()); 31632 }else{ 31633 fTotalCostTaxed = fTotalCost * (1+(fVATTaxPercentage/100)); 31634 } 31635 31636 // profit 31637 if(oNodeProfit.length > 0){ 31638 fProfit = Number(oNodeProfit.val()); 31639 }else{ 31640 fProfit = fPrice - fCost; 31641 } 31642 31643 // percentage-profit 31644 if(oNodePercentageProfit.length > 0){ 31645 fPercentageProfit = Number(oNodePercentageProfit.val()); 31646 }else{ 31647 if(fCost == 0){ 31648 fPercentageProfit = 100; 31649 }else{ 31650 fPercentageProfit = (fProfit) / fCost * 100; 31651 } 31652 } 31653 31654 // total-profit 31655 if(oNodeTotalProfit.length > 0){ 31656 fTotalProfit = Number(oNodeTotalProfit.val()); 31657 }else{ 31658 fTotalProfit = fTotal - fTotalCost; 31659 } 31660 31661 // total-profit-percentage 31662 if(oNodeTotalProfitPercentage.length > 0){ 31663 fTotalProfitPercentage = Number(oNodeTotalProfitPercentage.val()); 31664 }else{ 31665 if(fTotalCost == 0){ 31666 fTotalProfitPercentage = 100; 31667 }else{ 31668 fTotalProfitPercentage = (fTotalProfit) / fTotalCost * 100; 31669 } 31670 } 31671 31672
31673 let cbTryChangeFieldValue = ( oNodeField, fNewValue ) => { 31674 if( oNodeField.length == 0 ){ 31675 return; 31676 } 31677 31678 if(oNodeField.data("ignore-js-calculation") === 1){ 31679 return; 31680 } 31681 31682 let szCurFieldValue = oNodeField.val(); 31683 let fCurValue = Number(szCurFieldValue); 31684 let fFixedValue = Number(fNewValue).toFixed(2); 31685 31686 if(!isNaN(fFixedValue)){ 31687 if ( fCurValue != fFixedValue || szCurFieldValue == "" ){ 31688 oNodeField.val(fFixedValue); 31689 oNodeField.trigger("change",[true]); 31690 } 31691 } 31692 31693 } 31694 31695 let oRecalculationFunctions = { 31696 "price": () => { 31697 let bMinPriceBlocked = false; 31698 // check if price is lower than min price 31699 if ( fPrice < fMinPrice ){ 31700 if ( bBlockMinPrice ){ 31701 fPrice = fMinPrice; 31702 cbTryChangeFieldValue(oNodePrice, fPrice); 31703 bMinPriceBlocked = true; 31704 } 31705 if ( bAlertMinPrice ){ 31706 if ( oNodePrice.length > 0 ){ 31707 var oNodeControlWrapper = oNodePrice.closest(".ctl-wp-studio-form-control-wrapper"); 31708 oNodeControlWrapper.find(".invalid-feedback").text( 31709 g_oCTLEditorsFrameworkLocalizationFront["Price is lower than minimum price"]); 31710 oNodeControlWrapper.addClass("is-invalid"); 31711 } 31712 } 31713 }else{ 31714 if ( oNodePrice.length > 0 ){ 31715 var oNodeControlWrapper = oNodePrice.closest(".ctl-wp-studio-form-control-wrapper"); 31716 oNodeControlWrapper.find(".invalid-feedback").text(""); 31717 oNodeControlWrapper.removeClass("is-invalid"); 31718 } 31719 } 31720 31721 let aFieldsToUpdate = [ 31722 "total", 31723 "total-taxed", 31724 "profit", 31725 "percentage-profit", 31726 "total-profit", 31727 "total-profit-percentage" 31728 ]; 31729 31730 for (let i = 0; i < aFieldsToUpdate.length; i++) { 31731 const field = aFieldsToUpdate[i]; 31732 if (szUpdatedFieldName !== field || bMinPriceBlocked) { 31733 oRecalculationFunctions[field](); 31734 } 31735 } 31736 }, 31737 "cost": () => { 31738 let aFieldsToUpdate = [ 31739 "total-cost", 31740 "total-cost-taxed", 31741 "profit", 31742 "percentage-profit", 31743 "total-profit", 31744 "total-profit-percentage" 31745 ]; 31746 for (let i = 0; i < aFieldsToUpdate.length; i++) { 31747 const field = aFieldsToUpdate[i]; 31748 if (szUpdatedFieldName !== field) { 31749 oRecalculationFunctions[field](); 31750 } 31751 } 31752 }, 31753 "total": () => { 31754 fTotal = iTotalQty * fPrice; 31755 fBaseTotal = fTotal; 31756 31757 if ( fDiscount > 0 ){ 31758 let fDiscountAmountValue = 0; 31759 switch(szDiscountType){ 31760 case "percentage":{ 31761 fDiscountAmountValue = fBaseTotal * (fDiscount / 100); 31762 }break; 31763 case "value":{ 31764 fDiscountAmountValue = fDiscount; 31765 }break; 31766 } 31767 fTotal = fTotal - fDiscountAmountValue; 31768 } 31769 31770 cbTryChangeFieldValue(oNodeTotal, fTotal); 31771 }, 31772 "total-taxed": () => { 31773 fTotalTaxed = fTotal * (1+(fVATTaxPercentage/100)); 31774 cbTryChangeFieldValue(oNodeTotalTaxed, fTotalTaxed); 31775 }, 31776 "total-cost": () => { 31777 fTotalCost = fCost * iTotalQty; 31778 cbTryChangeFieldValue(oNodeTotalCost, fTotalCost); 31779 }, 31780 "total-cost-taxed": () => { 31781 fTotalCostTaxed = fTotalCost * (1+(fVATTaxPercentage/100)); 31782 cbTryChangeFieldValue(oNodeTotalCostTaxed, fTotalCostTaxed);
31783 }, 31784 "profit": () => { 31785 fProfit = fPrice - fCost; 31786 cbTryChangeFieldValue(oNodeProfit, fProfit); 31787 }, 31788 "percentage-profit": () => { 31789 if(fCost == 0){ 31790 fPercentageProfit = 100; 31791 }else{ 31792 fPercentageProfit = fProfit / fCost * 100; 31793 } 31794 cbTryChangeFieldValue(oNodePercentageProfit, fPercentageProfit); 31795 }, 31796 "total-profit": () => { 31797 fTotalProfit = fTotal - fTotalCost; 31798 cbTryChangeFieldValue(oNodeTotalProfit, fTotalProfit); 31799 }, 31800 "total-profit-percentage": () => { 31801 if(iTotalQty == 0){ 31802 fTotalProfitPercentage = 0; 31803 }else if(fCost == 0){ 31804 fTotalProfitPercentage = 100; 31805 }else{ 31806 fTotalProfitPercentage = (fTotalProfit/fTotalCost)*100; 31807 } 31808 31809 cbTryChangeFieldValue(oNodeTotalProfitPercentage, fTotalProfitPercentage); 31810 } 31811 } 31812 31813 switch(szUpdatedFieldName){ 31814 case "price-list": 31815 case "price-list-discount":{ 31816 fPrice = fCost; 31817 cbTryChangeFieldValue(oNodeCost, fCost); 31818 cbTryChangeFieldValue(oNodePrice, fPrice); 31819 31820 oRecalculationFunctions["cost"](); 31821 oRecalculationFunctions["price"](); 31822 }break; 31823 case "discount":{ 31824 oRecalculationFunctions["price"](); 31825 // oRecalculationFunctions["total"](); 31826 // oRecalculationFunctions["total-taxed"](); 31827 }break; 31828 case "qty": 31829 case "qty-2": 31830 case "qty-3":{ 31831 oRecalculationFunctions["price"](); 31832 oRecalculationFunctions["cost"](); 31833 }break; 31834 case "price":{ 31835 oRecalculationFunctions["price"](); 31836 }break; 31837 case "cost":{ 31838 oRecalculationFunctions["cost"](); 31839 }break; 31840 case "vat-tax":{ 31841 oRecalculationFunctions["total-taxed"](); 31842 oRecalculationFunctions["total-cost-taxed"](); 31843 }break; 31844 case "total-cost":{ 31845 fTotalCost = Number(oNodeTotalCost.val()); 31846 31847 fCost = fTotalCost / iTotalQty; 31848 cbTryChangeFieldValue(oNodeCost, fCost); 31849 31850 oRecalculationFunctions["cost"](); 31851 }break; 31852 case "total":{ 31853 fTotal = Number(oNodeTotal.val()); 31854 fBaseTotal = fTotal; 31855 31856 if ( fDiscount > 0 ){ 31857 let fDiscountAmountValue = 0; 31858 switch(szDiscountType){ 31859 case "percentage":{ 31860 fDiscountAmountValue = fTotal * (fDiscount / (100-fDiscount)); 31861 }break; 31862 case "value":{ 31863 fDiscountAmountValue = fDiscount; 31864 }break; 31865 } 31866 fBaseTotal = fTotal + fDiscountAmountValue; 31867 } 31868 31869 fPrice = fBaseTotal / iTotalQty; 31870 cbTryChangeFieldValue(oNodePrice, fPrice); 31871 31872 oRecalculationFunctions["price"](); 31873 }break; 31874 case "total-taxed":{ 31875 fTotalTaxed = Number(oNodeTotalTaxed.val()); 31876 31877 fPrice = (fTotalTaxed / iTotalQty) / (1+(fVATTaxPercentage/100)); 31878 cbTryChangeFieldValue(oNodePrice, fPrice); 31879 31880 oRecalculationFunctions["price"](); 31881 }break; 31882 case "total-cost-taxed":{ 31883 fTotalCostTaxed = Number(oNodeTotalCostTaxed.val()); 31884 31885 fCost = (fTotalCostTaxed / iTotalQty) / (1+(fVATTaxPercentage/100)); 31886 cbTryChangeFieldValue(oNodeCost, fCost); 31887 31888 oRecalculationFunctions["cost"](); 31889 }break; 31890 case "profit":{ 31891 fProfit = Number(oNodeProfit.val()); 31892 31893 fPrice = fProfit + fCost; 31894 cbTryChangeFieldValue(oNodePrice, fPrice); 31895 31896 oRecalculationFunctions["price"](); 31897 }break; 31898 case "percentage-profit":{ 31899 fPercentageProfit = Number(oNodePercentageProfit.val()); 31900 31901 fPrice = fCost + (fCost * (fPercentageProfit / 100)); 31902 cbTryChangeFieldValue(oNodePrice, fPrice); 31903 31904 oRecalculationFunctions["price"](); 31905 }break; 31906 case "total-profit":{ 31907 fTotalProfit = Number(oNodeTotalProfit.val()); 31908 31909 fPrice = (fTotalProfit / iTotalQty) + fCost; 31910 cbTryChangeFieldValue(oNodePrice, fPrice); 31911 31912 oRecalculationFunctions["price"](); 31913 }break; 31914 case "total-profit-percentage":{ 31915 fTotalProfitPercentage = Number(oNodeTotalProfitPercentage.val()); 31916 31917 fPrice = fCost * (1 + fTotalProfitPercentage / 100); 31918 cbTryChangeFieldValue(oNodePrice, fPrice); 31919 31920 oRecalculationFunctions["price"](); 31921 }break; 31922 } 31923} 31924 31925function ctlEditorFrameworkAjaxUpdateObjectData( oNodeForm, oFormData, oNodeExtraForm, cb ){ 31926 var idLoading = g_oCTLWPStudio.showLoading(""); 31927 31928 jQuery.ajax({ 31929 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 31930 type: "POST", 31931 data : oFormData, 31932 cache: false, 31933 method: 'POST', 31934 success:function(response, textStatus, jqXHR){ 31935 var oResponse = jQuery.parseJSON(response); 31936 31937 if( oResponse.res === false ){ 31938 g_oCTLWPStudio.closeDlg(idLoading); 31939 31940 ctlFormFieldsApplyErrors(oNodeForm, oResponse.errors); 31941 if (oNodeExtraForm){ 31942 ctlFormFieldsApplyErrors(oNodeExtraForm, oResponse.errors); 31943 } 31944 31945 if ( oResponse.alert ){ 31946 g_oCTLBootstrapModals.alert("", oResponse.alert ); 31947 } 31948 31949 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false, oFormData, oResponse ] ); 31950 }else{ 31951 31952 if( oResponse.reload ){ 31953 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 31954 31955 if ( oResponse["remove-hashes-from-reload-url"] ){ 31956 window.location.hash = ""; 31957 } 31958 window.location.reload(); 31959 }else if( oResponse.redirect ){ 31960 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 31961 window.location.href = oResponse.redirect; 31962 }else if ( oResponse['close-stack-dialog'] ){ 31963 g_oCTLWPStudio.closeDlg(idLoading); 31964 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 31965 g_oCTLBootstrapModals.closeModalAndStack(); 31966 }else if ( oResponse['close-last-dialog'] ){ 31967 g_oCTLWPStudio.closeDlg(idLoading); 31968 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 31969 g_oCTLBootstrapModals.closeLastModal(); 31970 }else if ( oResponse['close-stack-dialog-and-refresh-calendar'] ){ 31971 g_oCTLWPStudio.closeDlg(idLoading); 31972 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 31973 g_oCTLBootstrapModals.closeModalAndStack(); 31974 if ( jQuery(".ctl-calendar-action-reload").length > 0 ){ 31975 jQuery(".ctl-calendar-action-reload").click(); 31976 } 31977 }else if ( oResponse['close-stack-dialog-and-refresh-table'] ){ 31978 g_oCTLWPStudio.closeDlg(idLoading); 31979 31980 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 31981 31982 if(oResponse["table-to-refresh"]){ 31983 ctlThemeTableAjaxRefreshTable( 31984 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + oResponse["table-to-refresh"] + "']") 31985 ); 31986 } 31987 31988 g_oCTLBootstrapModals.closeModalAndStack(); 31989 }else if ( oResponse['close-last-dialog-and-refresh-table'] ){ 31990 g_oCTLWPStudio.closeDlg(idLoading); 31991 31992 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 31993 31994 if(oResponse["table-to-refresh"]){ 31995 ctlThemeTableAjaxRefreshTable( 31996 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + oResponse["table-to-refresh"] + "']") 31997 ); 31998 } 31999 32000 g_oCTLBootstrapModals.closeLastModal(); 32001 }else if ( oResponse['load-modal-close-stack-dialog-and-refresh-table'] ){ 32002 g_oCTLWPStudio.closeDlg(idLoading); 32003 32004 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 32005 32006 var oExtraData = {}; 32007 oExtraData[oResponse["post-param"]] = oResponse["post-id"]; 32008 32009 g_oCTLBootstrapModals.closeModalAndStack();
32010 g_oCTLBootstrapModals.loadModal( 32011 oResponse["new-modal-id"], oExtraData, null, function(){ 32012 if(oResponse["table-to-refresh"]){ 32013 ctlThemeTableAjaxRefreshTable( 32014 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + oResponse["table-to-refresh"] + "']") 32015 ); 32016 } 32017 }); 32018 32019 }else if ( oResponse['load-modal-close-stack-dialog-and-refresh-calendar'] ){ 32020 g_oCTLWPStudio.closeDlg(idLoading); 32021 32022 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 32023 32024 var oExtraData = {}; 32025 oExtraData[oResponse["post-param"]] = oResponse["post-id"]; 32026 32027 g_oCTLBootstrapModals.closeModalAndStack(); 32028 g_oCTLBootstrapModals.loadModal( 32029 oResponse["new-modal-id"], oExtraData, null, function(){ 32030 if ( jQuery(".ctl-calendar-action-reload").length > 0 ){ 32031 jQuery(".ctl-calendar-action-reload").click(); 32032 } 32033 }); 32034 32035 }else if ( oResponse['close-stack-dialog-and-load-modal'] ){ 32036 g_oCTLWPStudio.closeDlg(idLoading); 32037 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 32038 g_oCTLBootstrapModals.closeModalAndStack(); 32039 32040 var oExtraData = {}; 32041 oExtraData[oResponse["post-param"]] = oResponse["post-id"]; 32042 32043 g_oCTLBootstrapModals.loadModal( 32044 oResponse["new-modal-id"], oExtraData); 32045 32046 }else if ( oResponse['close-last-dialog-and-load-modal'] ){ 32047 g_oCTLWPStudio.closeDlg(idLoading); 32048 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 32049 g_oCTLBootstrapModals.closeLastModal(); 32050 32051 var oExtraData = {}; 32052 oExtraData[oResponse["post-param"]] = oResponse["post-id"]; 32053 32054 g_oCTLBootstrapModals.loadModal( 32055 oResponse["new-modal-id"], oExtraData); 32056 32057 }else if ( oResponse['load-modal-and-reload-page'] ){ 32058 g_oCTLWPStudio.closeDlg(idLoading); 32059 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 32060 32061 var oExtraData = {}; 32062 oExtraData[oResponse["post-param"]] = oResponse["post-id"]; 32063 32064 g_oCTLBootstrapModals.closeModalAndStack(); 32065 g_oCTLBootstrapModals.loadModal( 32066 oResponse["new-modal-id"], oExtraData, null, function(){ 32067 g_oCTLWPStudio.showLoading(""); 32068 window.location.reload(); 32069 }); 32070 }else{ 32071 var iReload = parseInt(oNodeForm.find('input[name=reload-page]').val()); 32072 if ( iReload === 1 ){ 32073 window.location.reload(); 32074 }else{ 32075 g_oCTLWPStudio.closeDlg(idLoading); 32076 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], true, oFormData, oResponse ] ); 32077 32078 if (cb){ 32079 cb.call(this, oResponse); 32080 } 32081 } 32082 } 32083 32084 } 32085 32086 __ctlEditorFrameworkMapEventKeyDownSaveHandler() 32087 }, 32088 error: function(jqXHR, textStatus, errorThrown){ 32089 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 32090 jQuery(document).trigger("ajax-update", [ oFormData["click-class"], false, oFormData, null ] ); 32091 g_oCTLWPStudio.closeDlg(idLoading); 32092 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32093 } 32094 }); 32095} 32096 32097function ctlEditorFrameworkAjaxDeletePost( oFormData, cb ){ 32098 var idLoading = g_oCTLWPStudio.showLoading(""); 32099 32100 jQuery.ajax({ 32101 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 32102 type: "POST", 32103 data : oFormData, 32104 cache: false, 32105 method: 'POST', 32106 success:function(response, textStatus, jqXHR){ 32107 var oResponse = jQuery.parseJSON(response); 32108 32109 if( oResponse.res === false ){ 32110 g_oCTLWPStudio.closeDlg(idLoading); 32111 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32112 }else{ 32113 g_oCTLWPStudio.closeDlg(idLoading); 32114 if (cb){ 32115 cb.call(this, oResponse); 32116 } 32117 } 32118 }, 32119 error: function(jqXHR, textStatus, errorThrown){ 32120 g_oCTLWPStudio.closeDlg(idLoading); 32121 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32122 } 32123 }); 32124} 32125 32126function ctlEditorFrameworkAjaxDeleteUser( oFormData, cb ){ 32127 var idLoading = g_oCTLWPStudio.showLoading(""); 32128 32129 jQuery.ajax({ 32130 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 32131 type: "POST", 32132 data : oFormData, 32133 cache: false, 32134 method: 'POST', 32135 success:function(response, textStatus, jqXHR){ 32136 var oResponse = jQuery.parseJSON(response); 32137 32138 if( oResponse.res === false ){ 32139 g_oCTLWPStudio.closeDlg(idLoading); 32140 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32141 }else{ 32142 g_oCTLWPStudio.closeDlg(idLoading); 32143 if (cb){ 32144 cb.call(this, oResponse); 32145 } 32146 } 32147 }, 32148 error: function(jqXHR, textStatus, errorThrown){ 32149 g_oCTLWPStudio.closeDlg(idLoading); 32150 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32151 } 32152 }); 32153} 32154 32155function ctlEditorFrameworkAjaxTrashPost( oFormData, szRedirect ){ 32156 var idLoading = g_oCTLWPStudio.showLoading(""); 32157 32158 jQuery.ajax({ 32159 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 32160 type: "POST", 32161 data : oFormData, 32162 cache: false, 32163 method: 'POST', 32164 success:function(response, textStatus, jqXHR){ 32165 g_oCTLWPStudio.closeDlg(idLoading); 32166 32167 var oResponse = jQuery.parseJSON(response); 32168 32169 if( oResponse.res === false ){ 32170 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32171 }else{ 32172 window.location.href = szRedirect; 32173 } 32174 }, 32175 error: function(jqXHR, textStatus, errorThrown){ 32176 g_oCTLWPStudio.closeDlg(idLoading); 32177 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32178 } 32179 }); 32180} 32181 32182 32183function ctlEditorFrameworkPostAttachmentsGallery( oNodeWrapper ){ 32184 32185 var oFormData = {}; 32186 oNodeWrapper.find("form").each(function(){ 32187 oFormData = jQuery.extend(jQuery(this).serializeObject(), oFormData); 32188 });
32189 32190 var aCurSelection = new Array(); 32191 oNodeWrapper.find('.ctl-media-gallery-list li').each(function(){ 32192 aCurSelection.push(jQuery(this).attr("data-id")); 32193 }); 32194 32195 var oRequestData = {}; 32196 oRequestData["action"] = 'ctl-wp-studio'; 32197 oRequestData["execute"] = 'ctl-editors-framework'; 32198 oRequestData["post-id"] = oFormData["post-id"]; 32199 oRequestData["widget-id"] = oFormData["widget-id"]; 32200 oRequestData["extension-action"] = 'get-post-attachments-folder'; 32201 32202 var idLoading = g_oCTLWPStudio.showLoading(""); 32203 32204 jQuery.ajax({ 32205 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 32206 type: "POST", 32207 data : oRequestData, 32208 cache: false, 32209 method: 'POST', 32210 success:function(response, textStatus, jqXHR){ 32211 g_oCTLWPStudio.closeDlg(idLoading); 32212 32213 var oResponse = jQuery.parseJSON(response); 32214 32215 if( oResponse.res === false ){ 32216 if ( oResponse.desc ){ 32217 switch(oResponse.desc){ 32218 case "invalid_user":{ 32219 g_oCTLWPStudio.showLoading(""); 32220 window.location.reload(); 32221 }break; 32222 default:{ 32223 g_oCTLBootstrapModals.alert("", oResponse.desc); 32224 } 32225 } 32226 } 32227 }else{ 32228 ctlEditorFrameworkShowMediaGallery( 32229 oFormData["widget-id"], 32230 oFormData["post-id"], 32231 oResponse.gallery, 32232 aCurSelection, 32233 oResponse.upload_max_filesize, 32234 oResponse.max_file_uploads, "attachment"); 32235 } 32236 }, 32237 error: function(jqXHR, textStatus, errorThrown){ 32238 g_oCTLWPStudio.closeDlg(idLoading); 32239 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32240 } 32241 }); 32242} 32243 32244function ctlEditorFrameworkFeaturedImage( oNodeWrapper, szMaxFileSize = null ){ 32245 32246 var oFormData = {}; 32247 oNodeWrapper.find("form").each(function(){ 32248 oFormData = jQuery.extend(jQuery(this).serializeObject(), oFormData); 32249 }); 32250 32251 let idPost = oFormData["post-id"]; 32252 if( "child-post-id" in oFormData ){ 32253 idPost = oFormData["child-post-id"]; 32254 } 32255 32256 ctlEditorFrameworkShowSingleMediaGallery( 32257 oFormData["widget-id"], 32258 idPost, "post-featured-image", szMaxFileSize); 32259} 32260 32261function ctlEditorFrameworkProfilePicture( oNodeWrapper ){ 32262 32263 var oFormData = {}; 32264 oNodeWrapper.find("form").each(function(){ 32265 oFormData = jQuery.extend(jQuery(this).serializeObject(), oFormData); 32266 }); 32267 32268 ctlEditorFrameworkShowSingleMediaGallery( 32269 oFormData["widget-id"], 32270 oFormData["user-id"], 32271 "profile-picture"); 32272} 32273 32274function ctlEditorFrameworkMediaGallery( oNodeWrapper ){ 32275 32276 var oFormData = {}; 32277 oNodeWrapper.find("form").each(function(){ 32278 oFormData = jQuery.extend(jQuery(this).serializeObject(), oFormData); 32279 }); 32280 32281 var aCurSelection = new Array(); 32282 oNodeWrapper.find('.ctl-media-gallery-list li').each(function(){ 32283 aCurSelection.push(jQuery(this).attr("data-id")); 32284 }); 32285 32286 var oRequestData = {}; 32287 oRequestData["action"] = 'ctl-wp-studio'; 32288 oRequestData["execute"] = 'ctl-editors-framework'; 32289 oRequestData["post-id"] = oFormData["post-id"]; 32290 oRequestData["widget-id"] = oFormData["widget-id"]; 32291 oRequestData["extension-action"] = 'get-post-gallery-folder'; 32292 32293 var idLoading = g_oCTLWPStudio.showLoading(""); 32294 32295 jQuery.ajax({ 32296 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 32297 type: "POST", 32298 data : oRequestData, 32299 cache: false, 32300 method: 'POST', 32301 success:function(response, textStatus, jqXHR){ 32302 g_oCTLWPStudio.closeDlg(idLoading); 32303 32304 var oResponse = jQuery.parseJSON(response); 32305 32306 if( oResponse.res === false ){ 32307 if ( oResponse.desc ){ 32308 switch(oResponse.desc){ 32309 case "invalid_user":{ 32310 g_oCTLWPStudio.showLoading(""); 32311 window.location.reload(); 32312 }break; 32313 default:{ 32314 g_oCTLBootstrapModals.alert("", oResponse.desc); 32315 } 32316 } 32317 } 32318 }else{ 32319 ctlEditorFrameworkShowMediaGallery( 32320 oFormData["widget-id"], 32321 oFormData["post-id"], 32322 oResponse.gallery, aCurSelection, 32323 oResponse.upload_max_filesize, 32324 oResponse.max_file_uploads,"image"); 32325 } 32326 }, 32327 error: function(jqXHR, textStatus, errorThrown){ 32328 g_oCTLWPStudio.closeDlg(idLoading); 32329 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32330 } 32331 }); 32332} 32333 32334function __ctlEditorFrameworkHtmlImageInPostGallery( oMedia, szTypeMedia ){ 32335 32336 var szFieldName = ""; 32337 32338 switch(szTypeMedia){ 32339 case "image":{ 32340 szFieldName = "post-gallery"; 32341 }break; 32342 case "attachment":{ 32343 szFieldName = "post-attachments"; 32344 }break; 32345 } 32346 32347 let html = ""; 32348 let szFileName = oMedia.url.replace(/^.*[\\\/]/, ''); 32349 32350 html += '<li data-id="' + oMedia.id + '" data-url="'+oMedia.url+'">'; 32351 html += '<input type="hidden" name="'+szFieldName+'[]" value="' + oMedia.id +'"/>'; 32352 html += __ctlEditorFrameworkHtmlMediaPreview(oMedia.url); 32353 html += '<small title="' + szFileName + '" class="ctl-post-media-name">' + szFileName +'</small>'; 32354 32355 html += '</li>'; 32356 32357 return html; 32358} 32359 32360 32361function __ctlEditorFrameworkHtmlMediaPreview( url ){ 32362 32363 let szFileName = url.replace(/^.*[\\\/]/, ''); 32364 let ext = szFileName.substring(szFileName.lastIndexOf('.')+1, szFileName.length) || szFileName; 32365 32366 let htmlImg = ''; 32367 let htmlAnchor = ''; 32368 let bAnchor = true; 32369 let szAnchorClasses = ''; 32370 let szTarget = '_blank'; 32371 32372 switch(ext){ 32373 case 'jpg': 32374 case 'jpeg': 32375 case 'gif': 32376 case 'png': 32377 case 'bmp':{ 32378 bAnchor = false; 32379 htmlImg += '<img title="' + szFileName + '" class="ctl-post-attachment-gallery-list-item ctl-editor-framework-action-img-preview img-fluid image-preview rounded img-thumbnail w-100"'; 32380 htmlImg += ' src="' + url + '" />'; 32381 }break; 32382 case "pdf":{ 32383 szTarget = '_self'; 32384 szAnchorClasses = 'ctl-editors-framework-action-preview-pdf'; 32385 htmlImg += '<div title="' + szFileName + '" class="ctl-post-attachment-gallery-list-item img-fluid image-preview rounded img-thumbnail w-100">'; 32386 htmlImg += '<i class="ctl-wp-studio-icons-file-pdf"></i></div>'; 32387 }break; 32388 case "zip":{ 32389 htmlImg += '<div title="' + szFileName + '" class="ctl-post-attachment-gallery-list-item img-fluid image-preview rounded img-thumbnail w-100">'; 32390 htmlImg += '<i class="ctl-wp-studio-icons-file-archive"></i></div>'; 32391 }break; 32392 default:{ 32393 htmlImg += '<div title="' + szFileName + '" class="ctl-post-attachment-gallery-list-item img-fluid image-preview rounded img-thumbnail w-100">'; 32394 htmlImg += '<i class="ctl-wp-studio-icons-doc-text"></i></div>'; 32395 } 32396 } 32397 32398 if (bAnchor){ 32399 htmlAnchor += '<a class="' + szAnchorClasses + '" href="' + url + '" target="' + szTarget + '">'; 32400 } 32401 32402 htmlAnchor += htmlImg; 32403 32404 if (bAnchor){ 32405 htmlAnchor += '</a>'; 32406 } 32407 32408 return htmlAnchor; 32409} 32410 32411function __ctlEditorFrameworkHtmlImageInMediaGallery( oMedia, bSelected, szTypeMedia ){ 32412 var guid = g_oCTLWPStudio.makeCode(4); 32413 32414 // check extension 32415 32416 var szFileName = oMedia.url.replace(/^.*[\\\/]/, ''); 32417 32418 var htmlImg = __ctlEditorFrameworkHtmlMediaPreview(oMedia.url); 32419 32420 var html = ''; 32421 html += '<li data-id="'+oMedia.id+'" data-url="'+oMedia.url+'">'; 32422 html += htmlImg; 32423 html += '<div class="input-group input-group-sm mt-2 mb-3">'; 32424 html += '<div class="input-group-prepend">'; 32425 html += '<div class="custom-control custom-checkbox">'; 32426 html += '<input id="' + guid + '" type="checkbox" class="custom-control-input" '; 32427 html += 'name="ctl-media-gallery-selected[]" '+ 32428 'value="' + oMedia.id + '" ' + 32429 (bSelected ? 'checked' : '' )+'/>'; 32430 html += '<label class="custom-control-label" '; 32431 html += 'for="'+guid+'"></label>'; 32432 html += '</div>'; 32433 html += '</div>'; 32434 html += '<input class="form-control" type="text" title="'+ szFileName +'" value="'+ szFileName +'" disabled/>'; 32435 html += '<div class="input-group-append">'; 32436 html += '<button data-id="'+oMedia.id+'" type="button" '; 32437 html += 'class="btn btn-sm btn-outline-danger ctl-editor-framework-action-delete-post-media-'+szTypeMedia+'">'; 32438 html += '<i class="ctl-wp-studio-icons-trash"></i>'; 32439 html += '</button>'; 32440 html += '</div>'; 32441 html += '</div>'; 32442 html += '</li>'; 32443 32444 return html; 32445} 32446 32447function __ctlEditorFrameworkMassiveImportCompute( oNodeButton ){ 32448 var oNodeForm = oNodeButton.closest("form"); 32449 32450 var oNodeItems = oNodeForm.find(".csv-list li"); 32451 var oNodeItem = oNodeItems.first(); 32452 32453 var oFormData = new FormData(); 32454 oFormData.append( 'extension-action', 'massive-import-compute' ); 32455 oFormData.append( 'widget-id', oNodeForm.find('input[name=widget-id]').val() ); 32456 oFormData.append( 'parent-id', oNodeForm.find('input[name=parent-id]').val() ); 32457 oFormData.append( 'file', oNodeItem.attr("data-file") ); 32458 oFormData.append( 'action', 'ctl-wp-studio' ); 32459 oFormData.append( 'execute', 'ctl-editors-framework' ); 32460 32461 ctlEditorFrameworkAjaxUpdateFormData(oNodeForm, oFormData, false, function(oResponse){ 32462 if ( oResponse.res === true ){ 32463 oNodeItem.remove(); 32464 32465 oNodeItems = oNodeForm.find(".csv-list li"); 32466 32467 if ( oNodeItems.length == 0 ){ 32468 g_oCTLBootstrapModals.alert("", g_oCTLEditorsFrameworkLocalizationFront["Import completed"], function(){ 32469 if ( oResponse.redirect ){ 32470 g_oCTLWPStudio.showLoading(""); 32471 window.location.href = oResponse.redirect; 32472 } 32473 }); 32474 return; 32475 } 32476 32477 __ctlEditorFrameworkMassiveImportCompute(oNodeButton); 32478 } else{ 32479 g_oCTLBootstrapModals.alert("", oResponse.desc); 32480 } 32481 });
32482} 32483 32484function __ctlEditorFrameworkMassiveImportClear( oNodeButton ){ 32485 var oNodeForm = oNodeButton.closest("form"); 32486 32487 var oFormData = new FormData(); 32488 oFormData.append( 'extension-action', 'massive-import-clear' ); 32489 oFormData.append( 'widget-id', oNodeForm.find('input[name=widget-id]').val() ); 32490 oFormData.append( 'action', 'ctl-wp-studio' ); 32491 oFormData.append( 'execute', 'ctl-editors-framework' ); 32492 32493 ctlEditorFrameworkAjaxUpdateFormData(oNodeForm, oFormData, false, function(oResponse){ 32494 if ( oResponse.res === true ){ 32495 g_oCTLWPStudio.showLoading(""); 32496 window.location.reload(); 32497 } 32498 }); 32499} 32500 32501function __ctlEditorFrameworkMassiveImportUpload( oNodeButton ){ 32502 var oNodeForm = oNodeButton.closest("form"); 32503 32504 if ( ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false){ 32505 return; 32506 } 32507 32508 var oNodeInput = oNodeForm.find('input[name="csv"], input[name="csv[]"]'); 32509 var aFiles = oNodeInput[0].files; 32510 32511 var oFormData = new FormData(); 32512 oFormData.append( 'extension-action', 'massive-import-upload' ); 32513 oFormData.append( 'widget-id', oNodeForm.find('input[name=widget-id]').val() ); 32514 oFormData.append( 'parent-id', oNodeForm.find('input[name=parent-id]').val() ); 32515 oFormData.append( 'action', 'ctl-wp-studio' ); 32516 oFormData.append( 'execute', 'ctl-editors-framework' ); 32517 for ( var i = 0; i < aFiles.length; i++ ){ 32518 oFormData.append( 'file[]', aFiles[i] ); 32519 } 32520 32521 ctlEditorFrameworkAjaxUpdateFormData(oNodeForm, oFormData, false, function(oResponse){ 32522 if ( oResponse.res === true ){ 32523 if(oResponse.alert){ 32524 g_oCTLBootstrapModals.alert("", oResponse.alert, function(){ 32525 g_oCTLWPStudio.showLoading(""); 32526 window.location.reload(); 32527 }, g_oCTLEditorsFrameworkLocalizationFront["Continue"]); 32528 32529 } else { 32530 g_oCTLWPStudio.showLoading(""); 32531 window.location.reload(); 32532 } 32533 } 32534 }); 32535 32536} 32537 32538function __ctlEditorFrameworkUpdatePostGallery( oNodeForm, szTypeMedia ){ 32539 32540 jQuery(".ctl-edit-post-form").each(function(){ 32541 let oNodeEditPostForm = jQuery(this); 32542 if ( Number(jQuery(this).find('input[name=widget-id]').val()) === 32543 Number(oNodeForm.find('input[name=widget-id]').val()) && 32544 32545 Number(jQuery(this).find('input[name=post-id]').val()) === 32546 Number(oNodeForm.find('input[name=post-id]').val()) ){ 32547 32548 var oNodePostGallery = jQuery(this).find(".ctl-post-"+szTypeMedia+"-gallery-list"); 32549 var oFormData = oNodeForm.serializeObject(); 32550 var aSelectedImages = oFormData["ctl-media-gallery-selected"]; 32551 32552 if (!aSelectedImages){ 32553 aSelectedImages = []; 32554 } 32555 32556 var aCurrentImages = []; 32557 oNodePostGallery.find("li").each(function(){ 32558 if ( !aSelectedImages.includes( jQuery(this).attr("data-id") ) ){ 32559 jQuery(this).remove(); 32560 }else{ 32561 aCurrentImages.push(jQuery(this).attr("data-id")); 32562 } 32563 }); 32564 32565 for( var i = 0; i < aSelectedImages.length; i++ ){ 32566 if( !aCurrentImages.includes(aSelectedImages[i])){ 32567 oNodePostGallery.append(__ctlEditorFrameworkHtmlImageInPostGallery( 32568 { 32569 id : aSelectedImages[i], 32570 url : jQuery('.ctl-media-gallery-folder li[data-id=' + 32571 aSelectedImages[i] + ']').attr("data-url") 32572 }, szTypeMedia 32573 )); 32574 } 32575 } 32576 32577 let oNodeLastInput = oNodePostGallery.find('input').last(); 32578 if ( oNodeLastInput.length > 0 ){ 32579 oNodeLastInput.trigger("change"); 32580 }else{ 32581 let oNodeEditPostcontainer = oNodeEditPostForm.closest(".ctl-edit-post-data-container"); 32582 32583 if ( oNodeEditPostcontainer.data("autosave") == "1" ){ 32584 if (oNodeEditPostForm.closest(".modal").length > 0 ){ 32585 ctlEditorFrameworkEditPostAutoSaveData(oNodeEditPostForm.closest(".modal").find(".ctl-editors-action-edit-post-data")); 32586 }else{ 32587 ctlEditorFrameworkEditPostAutoSaveData(oNodeEditPostcontainer.find(".ctl-editors-action-edit-post-data")); 32588 } 32589 } 32590 } 32591 32592 g_oCTLWPStudio.onResize(oNodePostGallery); 32593 } 32594 });
32595} 32596 32597 32598function __ctlEditorFrameworkDeletePostAttachment( idWidget, idPost, idAttachment ){ 32599 var oRequestData = {}; 32600 oRequestData["action"] = 'ctl-wp-studio'; 32601 oRequestData["execute"] = 'ctl-editors-framework'; 32602 oRequestData["post-id"] = idPost; 32603 oRequestData["widget-id"] = idWidget; 32604 oRequestData["attachment-id"] = idAttachment; 32605 oRequestData["extension-action"] = 'delete-post-attachment'; 32606 32607 var idLoading = g_oCTLWPStudio.showLoading(""); 32608 32609 jQuery.ajax({ 32610 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 32611 type: "POST", 32612 data : oRequestData, 32613 cache: false, 32614 method: 'POST', 32615 success:function(response, textStatus, jqXHR){ 32616 g_oCTLWPStudio.closeDlg(idLoading); 32617 32618 var oResponse = jQuery.parseJSON(response); 32619 32620 if( oResponse.res === false ){ 32621 if ( oResponse.desc ){ 32622 switch(oResponse.desc){ 32623 case "invalid_user":{ 32624 g_oCTLWPStudio.showLoading(""); 32625 window.location.reload(); 32626 }break; 32627 default:{ 32628 g_oCTLBootstrapModals.alert("", oResponse.desc); 32629 } 32630 } 32631 } 32632 }else{ 32633 var oNodeImageListItem = null; 32634 32635 oNodeImageListItem = jQuery(".ctl-media-gallery-folder li[data-id="+oResponse.attachment_id+"]"); 32636 if ( oNodeImageListItem.length > 0 ){ 32637 oNodeImageListItem.remove(); 32638 } 32639 32640 oNodeImageListItem = jQuery(".ctl-media-gallery-list li[data-id="+oResponse.attachment_id+"]"); 32641 if ( oNodeImageListItem.length > 0 ){ 32642 oNodeImageListItem.remove(); 32643 } 32644 32645 if ( jQuery(".ctl-media-gallery-folder li").length === 0 ){ 32646 jQuery(".ctl-media-gallery-modal .tab-link-upload-media").click(); 32647 } 32648 32649 if ( jQuery(".ctl-edit-data-container-"+idWidget).length > 0 ){ 32650 let oNodeEditPostContainer = jQuery(".ctl-edit-data-container-"+idWidget); 32651 if ( oNodeEditPostContainer.data("autosave") == "1" ){ 32652 if (oNodeEditPostContainer.closest(".modal").length > 0 ){ 32653 ctlEditorFrameworkEditPostAutoSaveData(oNodeEditPostContainer.closest(".modal").find(".ctl-editors-action-edit-post-data")); 32654 }else{ 32655 ctlEditorFrameworkEditPostAutoSaveData(oNodeEditPostContainer.find(".ctl-editors-action-edit-post-data")); 32656 } 32657 } 32658 } 32659 } 32660 }, 32661 error: function(jqXHR, textStatus, errorThrown){ 32662 g_oCTLWPStudio.closeDlg(idLoading); 32663 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32664 } 32665 }); 32666} 32667 32668function __ctlEditorFrameworkDeletePostImage( idWidget, idPost, idImage ){ 32669 var oRequestData = {}; 32670 oRequestData["action"] = 'ctl-wp-studio'; 32671 oRequestData["execute"] = 'ctl-editors-framework'; 32672 oRequestData["post-id"] = idPost; 32673 oRequestData["widget-id"] = idWidget; 32674 oRequestData["image-id"] = idImage; 32675 oRequestData["extension-action"] = 'delete-post-image'; 32676 32677 var idLoading = g_oCTLWPStudio.showLoading(""); 32678 32679 jQuery.ajax({ 32680 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 32681 type: "POST", 32682 data : oRequestData, 32683 cache: false, 32684 method: 'POST', 32685 success:function(response, textStatus, jqXHR){ 32686 g_oCTLWPStudio.closeDlg(idLoading); 32687 32688 var oResponse = jQuery.parseJSON(response); 32689 32690 if( oResponse.res === false ){ 32691 if ( oResponse.desc ){ 32692 switch(oResponse.desc){ 32693 case "invalid_user":{ 32694 g_oCTLWPStudio.showLoading(""); 32695 window.location.reload(); 32696 }break; 32697 default:{ 32698 g_oCTLBootstrapModals.alert("", oResponse.desc); 32699 } 32700 } 32701 } 32702 }else{ 32703 var oNodeImageListItem = null; 32704 32705 oNodeImageListItem = jQuery(".ctl-media-gallery-folder li[data-id="+oResponse.image_id+"]"); 32706 if ( oNodeImageListItem.length > 0 ){ 32707 oNodeImageListItem.remove(); 32708 } 32709 32710 oNodeImageListItem = jQuery(".ctl-media-gallery-list li[data-id="+oResponse.image_id+"]"); 32711 if ( oNodeImageListItem.length > 0 ){ 32712 oNodeImageListItem.remove(); 32713 } 32714 32715 if ( jQuery(".ctl-media-gallery-folder li").length === 0 ){ 32716 jQuery(".ctl-media-gallery-modal .tab-link-upload-media").click(); 32717 } 32718 } 32719 }, 32720 error: function(jqXHR, textStatus, errorThrown){ 32721 g_oCTLWPStudio.closeDlg(idLoading); 32722 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32723 } 32724 }); 32725} 32726 32727function ctlEditorFrameworkShowSingleMediaGallery( idWidget, idResource, szTypeMedia, szMaxFileSize = null ){ 32728 var htmlHiddenFields = ""; 32729 32730 htmlHiddenFields += formFieldsBuildHiddenField({ 32731 'field-name' : 'widget-id', 32732 }, idWidget); 32733 32734 32735 switch(szTypeMedia){ 32736 case "profile-picture":{ 32737 htmlHiddenFields += formFieldsBuildHiddenField({ 32738 'field-name' : 'user-id', 32739 }, idResource); 32740 }break; 32741 default:{ 32742 htmlHiddenFields += formFieldsBuildHiddenField({ 32743 'field-name' : 'post-id', 32744 }, idResource); 32745 } 32746 } 32747 32748 var html = ""; 32749 html += '<div id="upload-media">'; 32750 html += '<form method="post" enctype="multipart/form-data">'; 32751 32752 html += htmlHiddenFields; 32753 32754 let szLabelDescription = ""; 32755 if(szMaxFileSize){ 32756 szLabelDescription = sprintf(g_oCTLEditorsFrameworkLocalizationFront["Max upload file size %s"], szMaxFileSize); 32757 } 32758 32759 html += formFieldsBuildUploadAreaField({ 32760 "field-name" : "upload-image", 32761 "wrapper-classes" : "mb-0", 32762 "preview-image" : true, 32763 "browse-icon" : "", 32764 "btn-outlined" : true, 32765 "mandatory" : true, 32766 "mandatory-on-label" : true, 32767 "label-button" : g_oCTLEditorsFrameworkLocalizationFront["Browse"], 32768 "label-description" : szLabelDescription, 32769 "append-buttons" : '<button type="button" class="' + 32770 'btn btn-primary disabled ctl-editor-framework-action-upload-'+szTypeMedia+'">'+ 32771 g_oCTLEditorsFrameworkLocalizationFront["Continue"]+'</button>' 32772 } ); 32773 32774 html += '</form>'; 32775 32776 html += '</div>'; 32777 32778 g_oCTLBootstrapModals.showModal({ 32779 wrapper_classes : "ctl-media-gallery-modal", 32780 modal_title : g_oCTLEditorsFrameworkLocalizationFront["Upload"], 32781 modal_content : html, 32782 footer_btn_close : false, 32783 closeable : true, 32784 width: '80', 32785 position: "centered", 32786 entrance_animation : "animate__slideInUp", 32787 exit_animation : "animate__slideOutDown", 32788 });
32789} 32790 32791function __ctlEditorFrameworkMatchPostDifferences( oCurrentPost, oOldPost ){ 32792 var oMetaDifferencies = {}; 32793 var iCntDifferencies = 0; 32794 32795 for( var key in oCurrentPost["metas"] ){ 32796 if ( oOldPost["metas"][key] ){ 32797 if ( oCurrentPost["metas"][key][0] !== oOldPost["metas"][key][0]){ 32798 oMetaDifferencies[key] = { 32799 "prev" : oOldPost["metas"][key][0], 32800 "current" : oCurrentPost["metas"][key][0] 32801 }; 32802 iCntDifferencies++; 32803 } 32804 } 32805 } 32806 32807 var oPostDifferencies = {}; 32808 var aPostKeys = [ "post_title", "post_content", "post_excerpt", "post_status", "post_author", "post_parent" ]; 32809 for( var k = 0; k < aPostKeys.length; k++ ){ 32810 var key = aPostKeys[k]; 32811 if ( oCurrentPost["post"][key] !== oOldPost["post"][key]){ 32812 oPostDifferencies[key] = { 32813 "prev" : oOldPost["post"][key], 32814 "current" : oCurrentPost["post"][key] 32815 }; 32816 iCntDifferencies++; 32817 } 32818 } 32819 32820 return { "metas" : oMetaDifferencies, 32821 "post" : oPostDifferencies, 32822 "previous-date" : oOldPost["post"]["post_date"], 32823 "count" : iCntDifferencies }; 32824} 32825 32826function __htmlPostDifference( oDifferencies, key ){ 32827 var html = ''; 32828 32829 var szSemantic = ""; 32830 32831 html += '<div class="row">'; 32832 html += '<div class="col col-12">'; 32833 html += '<h5 class="text-center">' + key + '</h5>'; 32834 html += '</div>'; 32835 html += '<div class="col col-6">'; 32836 32837 szSemantic = "info"; 32838 32839 html += '<div class="alert alert-' + szSemantic + ' mb-0 h-100 text-break">' + oDifferencies[key]["current"] + '</div>'; 32840 html += '</div>'; 32841 html += '<div class="col col-6">'; 32842 32843 szSemantic = "warning"; 32844 32845 html += '<div class="alert alert-' + szSemantic + ' mb-0 h-100 text-break">' + oDifferencies[key]["prev"] + '</div>'; 32846 html += '</div>'; 32847 html += '</div>'; 32848 32849 return html; 32850} 32851 32852function __ctlEditorFrameworkShowEditPostStatus( oNodeButton ){ 32853 32854 var oFormData = {}; 32855 var idWidget = oNodeButton.attr("data-widget-id"); 32856 var szFormSelector = "form[data-widget-id="+idWidget+"]"; 32857 var oNodeForm = jQuery(szFormSelector); 32858 var oFormData = oNodeForm.serializeObject(); 32859 32860 oFormData['action'] = 'ctl-wp-studio'; 32861 oFormData['execute'] = 'ctl-editors-framework'; 32862 oFormData['extension-action'] = 'get-post-change-statuses'; 32863 32864 var idLoading = g_oCTLWPStudio.showLoading(""); 32865 32866 jQuery.ajax({ 32867 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 32868 type: "POST", 32869 data : oFormData, 32870 cache: false, 32871 method: 'POST', 32872 success:function(response, textStatus, jqXHR){ 32873 g_oCTLWPStudio.closeDlg(idLoading); 32874 var oResponse = jQuery.parseJSON(response); 32875 if( oResponse.res === false ){ 32876 if ( oResponse.alert ){ 32877 g_oCTLBootstrapModals.alert("", oResponse.alert ); 32878 }else if ( oResponse.desc ){ 32879 switch(oResponse.desc){ 32880 case "invalid_user":{ 32881 g_oCTLWPStudio.showLoading(""); 32882 window.location.reload(); 32883 }break; 32884 default:{ 32885 g_oCTLBootstrapModals.alert("", oResponse.desc); 32886 } 32887 } 32888 } 32889 }else{ 32890 32891 var html = ""; 32892 32893 html += '<form data-widget-id="' + idWidget + '">'; 32894 html += '<div class="row justify-content-center">'; 32895 32896 if(oResponse["show-post-status-note"]){ 32897 html += '<div class="col-12">'; 32898 html += formFieldsBuildTextAreaField({ 32899 "label-title" : g_oCTLEditorsFrameworkLocalizationFront["Status notes"], 32900 "display" : 12, 32901 "field-name" : "post-status-note", 32902 "mandatory" : oResponse["mandatory-post-status-note"] 32903 }); 32904 html += '</div>'; 32905 } 32906 32907 for( var i = 0; i < oResponse.statuses.length; i++ ){ 32908 var oStatus = oResponse.statuses[i];
32909 html += '<div class="col col-12 col-sm-6 col-md-6 mb-2">'; 32910 html += '<button style="background-color:'+ oStatus["color"] +';" class="btn h-100 w-100 chroma-apply-correction ctl-editors-action-change-post-status" type="button" value="'+ 32911 oStatus.value +'">' + oStatus.label + '</button>'; 32912 html += '</div>'; 32913 } 32914 32915 html += '</div>'; 32916 html += '</form>'; 32917 32918 g_oCTLBootstrapModals.showModal({ 32919 wrapper_classes : "ctl-post-edit-status", 32920 modal_title : g_oCTLEditorsFrameworkLocalizationFront["Edit Status"], 32921 modal_content : html, 32922 closeable : true, 32923 footer_btn_close : false, 32924 width: '60', 32925 position: "centered", 32926 entrance_animation : "animate__slideInUp", 32927 exit_animation : "animate__slideOutDown", 32928 attributes : 'data-form-selector="' + Base64.encode(szFormSelector) + '"' 32929 }); 32930 } 32931 }, 32932 error: function(jqXHR, textStatus, errorThrown){ 32933 g_oCTLWPStudio.closeDlg(idLoading); 32934 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 32935 } 32936 }); 32937} 32938 32939function __ctlEditorFrameworkAdaptModal( oNodeModal ){ 32940 32941 var oNodeEditorButtons = oNodeModal.find(".ctl-editor-framework-editor-buttons"); 32942 var oNodeModalFooter = oNodeModal.find(".modal-footer"); 32943 var oNodeWizard = oNodeModal.find(".ctlgrouptabs-wrapper.ctlgrouptabs-wizard"); 32944 32945 if ( oNodeModalFooter.length == 0 ){ 32946 return; 32947 } 32948 32949 if ( oNodeWizard.length > 0 ){ 32950 return; 32951 } 32952 32953 if (oNodeEditorButtons.length == 0 ){ 32954 return; 32955 } 32956 32957 if ( oNodeEditorButtons.closest(".ctlgrouptabs-wrapper").length > 0 ){ 32958 return; 32959 } 32960 32961 let oNodeModalFooterExtraButtons = oNodeModalFooter.find(".modal-footer-extra-buttons"); 32962 let oNodeModalFooterButtons = oNodeModalFooter.find(".modal-footer-buttons"); 32963 32964 oNodeModalFooterExtraButtons.html(oNodeEditorButtons.html()); 32965 oNodeModalFooter.removeClass("d-none"); 32966 oNodeEditorButtons.addClass("d-none"); 32967 32968 var oNodeCloseModalExtraButton = oNodeModalFooterExtraButtons.find(".btn-action-close-modal"); 32969 var oNodeCloseModalButton = oNodeModalFooterButtons.find(".btn-action-close-modal"); 32970 32971 if(oNodeCloseModalExtraButton.length > 0){ 32972 if(oNodeCloseModalButton.length > 0){ 32973 oNodeCloseModalExtraButton.remove(); 32974 oNodeCloseModalButton.removeClass("d-none"); 32975 } 32976 }else if(oNodeCloseModalButton.length > 0){ 32977 oNodeCloseModalButton.addClass("d-none"); 32978 } 32979} 32980 32981function __ctlEditorFrameworkImagePreview( szImageUrl, szImageTitle = "" ){ 32982 32983 var html = ""; 32984 32985 html += '<div class="ctl-editor-framework-image-preview d-flex h-100 align-items-center">'; 32986 html += '<div class="text-center ctl-editor-framework-image-loader">'; 32987 html += '<i class="spinner-border text-primary"></i>' 32988 html += '</div>'; 32989 html += '<img onload="__ctlEditorFrameworkImageRemoveSpinner(this)" class="d-none mx-auto img-fluid" src="' + szImageUrl+ '" />'; 32990 html += '</div>'; 32991 32992 let aSettingsModal = { 32993 wrapper_classes : "ctl-editor-framework-image-preview-dialog", 32994 modal_title : szImageTitle, 32995 modal_content : html, 32996 closeable : true, 32997 width: '80', 32998 position: "centered", 32999 entrance_animation : "animate__slideInUp", 33000 exit_animation : "animate__slideOutDown", 33001 footer_btn_close : true, 33002 footer_buttons : [] 33003 }; 33004 33005 let szButtonHtml = '<button class="btn btn-primary btn-save-pdf-viewer" data-pdf-url="' + szImageUrl + '">'; 33006 szButtonHtml += '<i class="ctl-wp-studio-icons-download-cloud mr-2"></i>' + g_oCTLEditorsFrameworkLocalizationFront["Download"]; 33007 szButtonHtml+= '</button>'; 33008 33009 aSettingsModal.footer_buttons.push(szButtonHtml); 33010 33011 g_oCTLBootstrapModals.showModal(aSettingsModal); 33012} 33013 33014function __ctlEditorFrameworkImageRemoveSpinner(domImage){ 33015 var oNodeImage = jQuery(domImage); 33016 var oNodeImagePreview = oNodeImage.closest(".ctl-editor-framework-image-preview"); 33017 var oNodespinner = oNodeImagePreview.find(".ctl-editor-framework-image-loader"); 33018 oNodespinner.remove(); 33019 oNodeImage.removeClass("d-none"); 33020 oNodeImage.addClass("d-block"); 33021} 33022 33023function __ctlEditorFrameworkInitPriceCalculationFields( ){ 33024 33025 jQuery(".ctl-edit-post,.ctl-create-post,.ctl-create-user,.ctl-edit-user").each(function(){ 33026 33027 var oNode = jQuery(this); 33028 33029 var oNodePriceList = oNode.find('input[name=price-list]'); 33030 var oNodePriceListDiscount = oNode.find('input[name=price-list-discount]'); 33031 var oNodeCost = oNode.find('input[name=cost]'); 33032 33033 if ( oNodePriceList.length > 0 && 33034 oNodePriceListDiscount.length > 0 && 33035 oNodeCost.length > 0 ){ 33036 // because cost is derived from price list and its discount 33037 let oNodeFormGroup = oNodeCost.closest(".form-group"); 33038 oNodeFormGroup.addClass("ctl-form-input-disabled"); 33039 oNodeCost.attr("tabindex", "-1"); 33040 } 33041 33042 let aFieldsToBlock = [ 33043 "total-profit", 33044 "total-cost", 33045 "total-cost-taxed", 33046 "total-taxed", 33047 "total", 33048 "profit", 33049 // "percentage-profit", 33050 "total-profit-percentage" 33051 ]; 33052 33053 if ( oNode.attr("data-js-block-price-totals") === "0"){ 33054 let aCreatePostFields = [ 33055 "total-profit", 33056 "total-cost", 33057 "total-cost-taxed", 33058 "total-taxed", 33059 "total", 33060 "profit", 33061 // "percentage-profit", 33062 "total-profit-percentage" 33063 ]; 33064 33065 let szCreatePostFieldsSelector = aCreatePostFields.map(field => '.ctl-create-post-form input[name='+field+']' ).join(','); 33066 let szEditPostFieldsSelector = aCreatePostFields.map(field => '.ctl-edit-post-form input[name='+field+']' ).join(','); 33067 33068 jQuery(document).on("change input paste", szCreatePostFieldsSelector, function(e, bPreventCalculations){ 33069 if( !bPreventCalculations ){ 33070 __ctlEditorFrameworkUpdatePriceCalculations(jQuery(this).closest(".ctl-create-post"),jQuery(this).attr("name"));
33071 } 33072 }); 33073 33074 jQuery(document).on("change input paste", szEditPostFieldsSelector, function(e, bPreventCalculations){ 33075 if( !bPreventCalculations ){ 33076 __ctlEditorFrameworkUpdatePriceCalculations(jQuery(this).closest(".ctl-edit-post"),jQuery(this).attr("name")); 33077 } 33078 }); 33079 return; 33080 } 33081 33082 33083 33084 aFieldsToBlock.forEach(szFieldName => { 33085 __ctlEditorFrameworkBlockPriceField(oNode, szFieldName); 33086 }); 33087 }); 33088 33089} 33090 33091function __ctlEditorFrameworkBlockPriceField(oNodeMain, szFieldName){ 33092 let oNodeField = oNodeMain.find('input[name='+szFieldName+']'); 33093 33094 if ( oNodeField.length == 0 ){ 33095 return; 33096 } 33097 33098 let oNodeFormGroup = oNodeField.closest(".form-group"); 33099 oNodeFormGroup.addClass("ctl-form-input-disabled"); 33100 oNodeField.attr("tabindex", "-1"); 33101} 33102 33103function __ctlEditorFrameworkInlineStatusButtonsChangePostStatus( oNodeButton ){ 33104 33105 var idWidgetID = oNodeButton.attr("data-widget-id"); 33106 33107 let oPostStatusField = jQuery('form[data-widget-id='+idWidgetID+']').find('input[name=post-status]').filter('[value='+ oNodeButton.val() +']'); 33108 let bChecked = oPostStatusField.prop('checked'); 33109 33110 33111 oPostStatusField.prop('checked', true); 33112 33113 let oNodeMultiEditPost = oNodeButton.closest(".ctl-multi-edit-post"); 33114 if(oNodeMultiEditPost.length > 0){ 33115 oPostStatusField.data('checked-before-btn-click', bChecked); 33116 oNodeMultiEditPost.find(".ctl-editors-action-multi-edit-posts").click(); 33117 }else{ 33118 jQuery(".ctl-editors-action-edit-post-data-"+idWidgetID).first().click(); 33119 oPostStatusField.prop('checked', bChecked); 33120 } 33121} 33122 33123function __ctlEditorFrameworkChangePostStatus( oNodeButton ){ 33124 var oNodeModal = oNodeButton.closest(".modal"); 33125 var oNodeForm = oNodeButton.closest("form"); 33126 var idWidgetID = oNodeForm.attr("data-widget-id"); 33127 var oNodeNote = oNodeForm.find('textarea[name=post-status-note]'); 33128 33129 if(!ctlFormFieldsCheckIfFormIsFilled(oNodeForm)){ 33130 return; 33131 } 33132 33133 var szFormSelector = Base64.decode(oNodeModal.attr("data-form-selector"));
33134 33135 jQuery(szFormSelector).find('textarea[name=post-status-note]').val(oNodeNote.val()); 33136 33137 let oPostStatusField = jQuery(szFormSelector).find('input[name=post-status]').filter('[value='+ oNodeButton.val() +']'); 33138 let bChecked = oPostStatusField.prop('checked'); 33139 33140 oPostStatusField.prop('checked', true); 33141 33142 g_oCTLBootstrapModals.closeModal(oNodeModal); 33143 33144 let oNodeMultiEditPost = jQuery(szFormSelector).closest(".ctl-multi-edit-post"); 33145 if(oNodeMultiEditPost.length > 0){ 33146 oPostStatusField.data('checked-before-btn-click', bChecked); 33147 oNodeMultiEditPost.find(".ctl-editors-action-multi-edit-posts").click(); 33148 }else{ 33149 jQuery(".ctl-editors-action-edit-post-data-"+idWidgetID).first().click(); 33150 oPostStatusField.prop('checked', bChecked); 33151 } 33152} 33153 33154function ctlEditorFrameworkShowPostRestorePoint( oPostDifferencies ){ 33155 var html = ''; 33156 33157 html += '<div class="container-fluid">'; 33158 33159 html += '<div class="row">'; 33160 html += '<div class="col col-6">'; 33161 html += '<h4 class="text-center">' + g_oCTLEditorsFrameworkLocalizationFront["Current values"] + '</h4>'; 33162 html += '</div>'; 33163 html += '<div class="col col-6">'; 33164 html += '<h4 class="text-center">' + g_oCTLEditorsFrameworkLocalizationFront["Previous values"] + '</h4>'; 33165 html += '</div>'; 33166 html += '</div>'; 33167 33168 for( var key in oPostDifferencies["post"] ){ 33169 html += __htmlPostDifference(oPostDifferencies["post"], key); 33170 html += '<hr>'; 33171 } 33172 for( var key in oPostDifferencies["metas"] ){ 33173 html += __htmlPostDifference(oPostDifferencies["metas"], key); 33174 html += '<hr>'; 33175 } 33176 33177 html += '</div>'; 33178 33179 g_oCTLBootstrapModals.showModal({ 33180 wrapper_classes : "ctl-post-restore-point", 33181 //modal_title : g_oCTLEditorsFrameworkLocalizationFront["Restore point"], 33182 modal_title : sprintf(g_oCTLEditorsFrameworkLocalizationFront["Restore point %s"], '<small>(' + oPostDifferencies["previous-date"] + ')</small>'), 33183 modal_content : html, 33184 entrance_animation : "animate__slideInUp", 33185 exit_animation : "animate__slideOutDown", 33186 closeable : true, 33187 width: '70', 33188 position: "centered", 33189 }); 33190} 33191 33192function ctlEditorFrameworkFormatPostHistory( aHistory, oCurrentPostData ){ 33193 33194 var html = ""; 33195 33196 33197 if ( aHistory.length == 0 ){ 33198 33199 html += '<div class="alert alert-info mb-0">'; 33200 html += '<i class="ctl-wp-studio-icons-info-circled mr-2"></i>'; 33201 html += g_oCTLEditorsFrameworkLocalizationFront["There are no history for this post!"]; 33202 html += '</div>'; 33203 33204 return html; 33205 } 33206 33207 html += '<ul class="ctl-post-history-list">'; 33208 33209 for( var i = 0; i < aHistory.length; i++ ){ 33210 var oData = aHistory[i]; 33211 33212 var oDifferencies = __ctlEditorFrameworkMatchPostDifferences(oCurrentPostData, oData); 33213 33214 var szAuthor = ""; 33215 var htmlButAction = ""; 33216 33217 if ( !oData["author"]["first_name"] && !oData["author"]["last_name"] ){ 33218 szAuthor = oData["author"]["first_name"] + " " + oData["author"]["last_name"]; 33219 }else{ 33220 szAuthor = oData["author"]["user_email"]; 33221 } 33222 33223 if ( oDifferencies.count > 0 ){ 33224 htmlButAction = '<button data-differencies="'+Base64.encode(JSON.stringify(oDifferencies))+'" class="btn btn-sm btn-primary btn-action-show-post-differencies"><i class="ctl-wp-studio-icons-zoom-in"></i>('+oDifferencies.count+')</button>'; 33225 }else{ 33226 htmlButAction = '<button class="btn btn-sm btn-secondary disabled" disabled><i class="ctl-wp-studio-icons-zoom-in"></i>(0)</button>'; 33227 } 33228 33229 szTime = '<span class="ctl-post-history-item-time">' + oData["post"]["post_date_gmt"] + '</span>'; 33230 szAuthor = '<span class="ctl-post-history-item-author">' + szAuthor + '</span>'; 33231 htmlButAction = '<span class="ctl-post-history-item-actions">' + htmlButAction + '</span>'; 33232 33233 html += '<li>' + szTime + szAuthor + htmlButAction + '</li>'; 33234 } 33235 html += '</ul>'; 33236 33237 33238 return html; 33239} 33240 33241function ctlEditorFrameworkShowMediaGallery( idWidget, idPost, aGallery, aCurSelection, 33242 upload_max_filesize, max_file_uploads, szTypeMedia ){ 33243 33244 33245 var htmlHiddenFields = ""; 33246 33247 htmlHiddenFields += formFieldsBuildHiddenField({ 33248 'field-name' : 'widget-id', 33249 }, idWidget); 33250 33251 htmlHiddenFields += formFieldsBuildHiddenField({ 33252 'field-name' : 'post-id', 33253 }, idPost); 33254 33255 33256 var html = ""; 33257 33258 html += '<div class="ctlgrouptabs-wrapper">'; 33259 html += '<ul class="nav nav-pills nav-horizontal justify-content-start mb-3" id="nav-tab" role="tablist">'; 33260 html += '<li class="nav-item">'; 33261 html += '<a class="nav-link tab-link-media-gallery active" data-toggle="tab" href="#media-gallery" '; 33262 html += 'role="tab" aria-selected="true">'+ 33263 g_oCTLEditorsFrameworkLocalizationFront["Media Gallery"]+'</a>'; 33264 html += '</li>'; 33265 33266 html += '<li class="nav-item">'; 33267 html += '<a class="nav-link tab-link-upload-media" data-toggle="tab" href="#upload-media" '; 33268 html += 'role="tab" aria-selected="false">'+ 33269 g_oCTLEditorsFrameworkLocalizationFront["Upload"]+'</a>'; 33270 html += '</li>'; 33271 html += '</ul>'; 33272 33273 html += '<div class="tab-content mt-2">'; 33274 33275 html += '<div class="tab-pane fade show active" id="media-gallery" role="tabpanel">'; 33276 html += '<form method="post">'; 33277 33278 html += htmlHiddenFields; 33279 33280 html += '<ul class="ctl-media-gallery-folder">'; 33281 for( var i = 0; i < aGallery.length; i++ ){ 33282 var oImage = aGallery[i];
33283 33284 html += __ctlEditorFrameworkHtmlImageInMediaGallery( 33285 oImage, 33286 aCurSelection.includes(String(oImage.id)), 33287 szTypeMedia); 33288 } 33289 html += '</ul>'; 33290 33291 html += '</form>'; 33292 html += '</div>'; 33293 33294 html += '<div class="tab-pane fade" id="upload-media" role="tabpanel">'; 33295 html += '<form method="post" enctype="multipart/form-data">'; 33296 33297 html += htmlHiddenFields; 33298 33299 html += formFieldsBuildUploadAreaField({ 33300 "label-description" : sprintf(g_oCTLEditorsFrameworkLocalizationFront["Max upload file size %s"], upload_max_filesize) + ".<br>" + sprintf(g_oCTLEditorsFrameworkLocalizationFront["Upload limit: %s files"], max_file_uploads) + ".", 33301 "field-name" : "upload-image", 33302 "preview-image" : false, 33303 "browse-icon" : "", 33304 "btn-outlined" : true, 33305 "mandatory" : true, 33306 "mandatory-on-label" : true, 33307 "multiple" : true, 33308 "label-button" : g_oCTLEditorsFrameworkLocalizationFront["Browse"], 33309 "append-buttons" : '<button type="button" class="' + 33310 'btn disabled btn-primary ctl-editor-framework-action-upload-gallery-'+szTypeMedia+'">'+ 33311 g_oCTLEditorsFrameworkLocalizationFront["Upload"]+'</button>' 33312 }); 33313 33314 html += '</form>'; 33315 33316 html += '</div>'; 33317 33318 html += '</div>'; 33319 33320 html += '</div>'; 33321 33322 g_oCTLBootstrapModals.showModal({ 33323 wrapper_classes : "ctl-media-gallery-modal", 33324 modal_title : g_oCTLEditorsFrameworkLocalizationFront["Media Gallery"], 33325 modal_content : html, 33326 closeable : true, 33327 width: '80', 33328 position: "centered", 33329 entrance_animation : "animate__slideInUp", 33330 exit_animation : "animate__slideOutDown", 33331 footer_buttons : [ 33332 '<button type="button" class="btn btn-warning ctl-editor-framework-action-clear-'+szTypeMedia+'-gallery">'+ 33333 g_oCTLEditorsFrameworkLocalizationFront["Clear selection"] + '</button>', 33334 33335 '<button type="button" class="btn btn-primary ctl-editor-framework-action-update-'+szTypeMedia+'-gallery">'+ 33336 g_oCTLEditorsFrameworkLocalizationFront["Update selection"] + '</button>' ] 33337 }); 33338 33339 if ( aGallery.length === 0 ){ 33340 jQuery(".ctl-media-gallery-modal .tab-link-upload-media").click(); 33341 } 33342} 33343 33344function ctlMultilanguageApplyLanguage( szLang ){ 33345 g_oCTLWPStudio.showLoading(""); 33346 window.location.href = g_oCTLWPStudio.addParameterToUrl(window.location.href, "lang", szLang); 33347} 33348 33349function ctlMultilanguageListLanguagesAndShowChangeLanguageDialog( bClose ){ 33350 var oFormData = {}; 33351 oFormData["action"] = "ctl-wp-studio"; 33352 oFormData["execute"] = "list-languages"; 33353 33354 var idLoading = g_oCTLWPStudio.showLoading(""); 33355 jQuery.post( 33356 ctl_wp_studio_common_localization["ajaxurl"], oFormData ).done( 33357 function(response){ 33358 33359 g_oCTLWPStudio.closeDlg(idLoading); 33360 33361 var oResult = JSON.parse(response); 33362 33363 if ( oResult.res == false ){ 33364 if ( oResult.redirect ){ 33365 g_oCTLWPStudio.showLoading(""); 33366 window.location.href = oResult.redirect; 33367 }else if(oResult.desc){ 33368 alert(oResult.desc); 33369 } 33370 }else{ 33371 ctlMultilanguageShowChangeLanguageDialog(oResult.languages); 33372 } 33373 33374 }).fail( function(){ 33375 g_oCTLWPStudio.closeDlg(idLoading); 33376 alert(ctl_wp_studio_common_localization["Error"]); 33377 }); 33378} 33379 33380function ctlMultilanguageShowChangeLanguageDialog( aLanguages ){ 33381 33382 if ( aLanguages.length == 0 ){ 33383 return; 33384 } 33385 33386 var html = ''; 33387 html += '<div class="w-100">'; 33388 html += '<div class="row">'; 33389 33390 for( var i = 0; i < aLanguages.length; i++ ){ 33391 var oLanguage = aLanguages[i]; 33392 html += '<div class="col col-12 col-md-6">'; 33393 html += '<button data-lang="' + oLanguage.lang + '" type="button" class="w-100 mb-3 btn btn-primary ctl-multilanguage-action-apply-language">'; 33394 html += '<span class="mr-2 flag-icon flag-icon-' + oLanguage.flag + '"></span>'; 33395 html += '<span class="btn-text">'; 33396 html += oLanguage.label; 33397 html += '</span>'; 33398 html += '</button>'; 33399 html += '</div>'; 33400 } 33401 html += '</div>'; 33402 html += '</div>'; 33403 33404 var oModalData = { 33405 modal_title : g_oCTLEditorsFrameworkLocalizationFront["Change language"], 33406 modal_content : html, 33407 position : "centered", 33408 entrance_animation : "animate__slideInUp", 33409 exit_animation : "animate__slideOutDown", 33410 }; 33411 33412 g_oCTLBootstrapModals.showModal(oModalData); 33413} 33414 33415function ctlEditorFrameworkAjaxResetPostStatus( oNodeButton, oFormData ){
33416 var idWidget = oNodeButton.attr("data-widget-id"); 33417 oFormData["action"] = 'ctl-wp-studio'; 33418 oFormData["execute"] = 'ctl-editors-framework'; 33419 oFormData["extension-action"] = 'reset-post-status'; 33420 oFormData["widget-id"] = idWidget; 33421 33422 var idLoading = g_oCTLWPStudio.showLoading(""); 33423 33424 jQuery.ajax({ 33425 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 33426 type: "POST", 33427 data : oFormData, 33428 cache: false, 33429 method: 'POST', 33430 success:function(response, textStatus, jqXHR){ 33431 g_oCTLWPStudio.closeDlg(idLoading); 33432 var oResponse = jQuery.parseJSON(response); 33433 33434 if( oResponse.res === false ){ 33435 if ( oResponse.alert ){ 33436 g_oCTLBootstrapModals.alert("", oResponse.alert ); 33437 } 33438 }else { 33439 if( oResponse.continue === true ){ 33440 var oNodeCounter = jQuery(".cnt-widget-"+idWidget); 33441 var iCounter = Number(oNodeCounter.text()); 33442 oNodeCounter.text(iCounter-1); 33443 33444 oNodeButton.click(); 33445 }else{ 33446 window.location.reload(); 33447 } 33448 } 33449 }, 33450 error: function(jqXHR, textStatus, errorThrown){ 33451 g_oCTLWPStudio.closeDlg(idLoading); 33452 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 33453 } 33454 }); 33455} 33456 33457function ctlEditorFrameworkEditPostAutoSaveData( oNodeButton ){ 33458 var oNodeForm = jQuery("form[data-widget-id="+oNodeButton.attr("data-widget-id")+"]"); 33459 var oFormData = oNodeForm.serializeObject(); 33460 33461 oFormData['action'] = 'ctl-wp-studio'; 33462 oFormData['execute'] = 'ctl-editors-framework'; 33463 oFormData['extension-action'] = 'edit-post-data'; 33464 oFormData["autosave"] = true; 33465 33466 var oNodeExtraForm = null; 33467 if ( oFormData["extra-form-id"]){ 33468 oNodeExtraForm = jQuery("form.layout-"+oFormData["extra-form-id"]); 33469 oFormData["extra-data"] = oNodeExtraForm.serializeObject(); 33470 } 33471 33472 jQuery.ajax({ 33473 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 33474 type: "POST", 33475 data : oFormData, 33476 cache: false, 33477 method: 'POST', 33478 success:function(response, textStatus, jqXHR){ 33479 var oResponse = jQuery.parseJSON(response); 33480 if ( oResponse.desc ){ 33481 switch(oResponse.desc){ 33482 case "invalid_user":{ 33483 g_oCTLWPStudio.showLoading(""); 33484 window.location.reload(); 33485 }break; 33486 } 33487 } 33488 }, 33489 error: function(jqXHR, textStatus, errorThrown){ 33490 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 33491 } 33492 }); 33493} 33494 33495function ctlEditorFrameworkEditPostSaveData( oNodeButton ){ 33496 var oNodeForm = jQuery("form[data-widget-id="+oNodeButton.attr("data-widget-id")+"]"); 33497 var oFormData = oNodeForm.serializeObject(); 33498 33499 oFormData['action'] = 'ctl-wp-studio'; 33500 oFormData['execute'] = 'ctl-editors-framework'; 33501 oFormData['extension-action'] = 'edit-post-data'; 33502 oFormData["click-class"] = "ctl-editors-action-edit-post"; 33503 33504 var aStatusesToIgnoreMandatoryFields = oNodeButton.attr("data-statuses-to-ignore-mandatory-fields").split(","); 33505 var bIgnoreMandatoryFields = false; 33506 for( var i = 0; i < aStatusesToIgnoreMandatoryFields.length; i++ ){ 33507 if ( aStatusesToIgnoreMandatoryFields[i] === oFormData["post-status"] ){ 33508 bIgnoreMandatoryFields = true; 33509 break; 33510 } 33511 } 33512 33513 var bFormErrors = false; 33514 if( bIgnoreMandatoryFields == false && 33515 ctlFormFieldsCheckIfFormIsFilled(oNodeForm) === false ){ 33516 bFormErrors = true; 33517 } 33518 33519 var oNodeExtraForm = null; 33520 if ( oFormData["extra-form-id"]){ 33521 oNodeExtraForm = jQuery("form.layout-"+oFormData["extra-form-id"]); 33522 if ( bIgnoreMandatoryFields || ctlFormFieldsCheckIfFormIsFilled(oNodeExtraForm) ){ 33523 oFormData["extra-data"] = oNodeExtraForm.serializeObject(); 33524 }else{ 33525 bFormErrors = true; 33526 } 33527 } 33528 33529 if (bFormErrors){ 33530 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 33531 return; 33532 } 33533 33534 jQuery(document).trigger(oFormData["click-class"]); 33535 33536 ctlEditorFrameworkAjaxUpdateObjectData(oNodeForm, oFormData, oNodeExtraForm, function( oResponse ){ 33537 if ( oNodeButton.attr("data-popup") === "true" ){ 33538 g_oCTLBootstrapModals.alert( 33539 oNodeButton.attr("data-title"), 33540 oNodeButton.attr("data-message"), 33541 function(){ 33542 if( oNodeButton.closest(".modal").length > 0 ){
33543 iOffsetTop = jQuery('.modal-body').offset().top; 33544 jQuery('.modal-body').animate({ scrollTop: iOffsetTop }, 'slow'); 33545 }else{ 33546 iOffsetTop = 0; 33547 33548 jQuery('html,body').animate({ scrollTop: iOffsetTop }, 'slow'); 33549 } 33550 33551 if ( oNodeButton.attr("data-closing-action")){ 33552 switch(oNodeButton.attr("data-closing-action")){ 33553 case "reload-page":{ 33554 g_oCTLWPStudio.showLoading(""); 33555 window.location.reload(); 33556 }break; 33557 case "reload-page-address-calendar-date":{ 33558 if (oFormData["calendar-dates"] && oFormData["calendar-dates"].length == 1){ 33559 ctlEditorUpdateAddressParamsWithCalendarDate(oFormData["calendar-dates"][0]); 33560 } 33561 window.location.reload(); 33562 }break; 33563 case "redirect":{ 33564 if ( oResponse.redirect ){ 33565 window.location.href = oResponse.redirect; 33566 } 33567 }break; 33568 case "close-stack-dialog":{ 33569 g_oCTLBootstrapModals.closeModalAndStack(); 33570 }break; 33571 case "close-last-dialog":{ 33572 g_oCTLBootstrapModals.closeLastModal(); 33573 }break; 33574 case "close-stack-dialog-and-refresh-calendar":{ 33575 g_oCTLBootstrapModals.closeModalAndStack(); 33576 if ( jQuery(".ctl-calendar-action-reload").length > 0 ){ 33577 jQuery(".ctl-calendar-action-reload").click(); 33578 }else if ( jQuery(".ctl-calendar-table-controls").length > 0 ){ 33579 jQuery(".ctl-calendar-table-controls .ctl-calendar-table-btn-submit").click(); 33580 } 33581 }break; 33582 case "load-modal-close-stack-dialog-and-refresh-calendar":{ 33583 var oExtraData = {}; 33584 oExtraData[oResponse["redirect-param"]] = oResponse["post-id"]; 33585 33586 g_oCTLBootstrapModals.closeModalAndStack(); 33587 g_oCTLBootstrapModals.loadModal( 33588 oResponse["new-modal-id"], oExtraData, null, function(){ 33589 if ( jQuery(".ctl-calendar-action-reload").length > 0 ){ 33590 jQuery(".ctl-calendar-action-reload").click(); 33591 }else if ( jQuery(".ctl-calendar-table-controls").length > 0 ){ 33592 jQuery(".ctl-calendar-table-controls .ctl-calendar-table-btn-submit").click(); 33593 } 33594 }); 33595 }break; 33596 case "load-modal-close-stack-dialog-and-refresh-table":{ 33597 var oExtraData = {}; 33598 oExtraData[oResponse["redirect-param"]] = oResponse["post-id"]; 33599 33600 g_oCTLBootstrapModals.closeModalAndStack(); 33601 g_oCTLBootstrapModals.loadModal( 33602 oResponse["new-modal-id"], oExtraData, null, function(){ 33603 if(oResponse["table-to-refresh"]){ 33604 ctlThemeTableAjaxRefreshTable( 33605 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + 33606 oResponse["table-to-refresh"] + "']") 33607 ); 33608 } 33609 }); 33610 }break; 33611 case "close-stack-dialog-and-refresh-table":{ 33612 g_oCTLBootstrapModals.closeModalAndStack(); 33613 if(oResponse["table-to-refresh"]){ 33614 ctlThemeTableAjaxRefreshTable( 33615 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + 33616 oResponse["table-to-refresh"] + "']") 33617 ); 33618 } 33619 }break; 33620 case "close-last-dialog-and-refresh-table":{ 33621 g_oCTLBootstrapModals.closeLastModal(); 33622 if(oResponse["table-to-refresh"]){ 33623 ctlThemeTableAjaxRefreshTable( 33624 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + 33625 oResponse["table-to-refresh"] + "']") 33626 ); 33627 } 33628 }break; 33629 case "previous-page":{ 33630 window.history.back(); 33631 } 33632 } 33633 } 33634 }, oNodeButton.attr("data-button"),); 33635 }else{ 33636 if ( oNodeButton.attr("data-closing-action")){ 33637 switch(oNodeButton.attr("data-closing-action")){ 33638 case "reload-page":{ 33639 g_oCTLWPStudio.showLoading(""); 33640 window.location.reload(); 33641 }break; 33642 case "close-stack-dialog":{ 33643 g_oCTLBootstrapModals.closeModalAndStack(); 33644 }break; 33645 case "close-last-dialog":{ 33646 g_oCTLBootstrapModals.closeLastModal(); 33647 }break; 33648 case "close-stack-dialog-and-refresh-calendar":{ 33649 g_oCTLBootstrapModals.closeModalAndStack(); 33650 if ( jQuery(".ctl-calendar-action-reload").length > 0 ){ 33651 jQuery(".ctl-calendar-action-reload").click(); 33652 }
33652else if ( jQuery(".ctl-calendar-table-controls").length > 0 ){ 33653 jQuery(".ctl-calendar-table-controls .ctl-calendar-table-btn-submit").click(); 33654 } 33655 }break; 33656 case "load-modal-close-stack-dialog-and-refresh-calendar":{ 33657 var oExtraData = {}; 33658 oExtraData[oResponse["redirect-param"]] = oResponse["post-id"]; 33659 33660 g_oCTLBootstrapModals.closeModalAndStack(); 33661 g_oCTLBootstrapModals.loadModal( 33662 oResponse["new-modal-id"], oExtraData, null, function(){ 33663 if ( jQuery(".ctl-calendar-action-reload").length > 0 ){ 33664 jQuery(".ctl-calendar-action-reload").click(); 33665 }else if ( jQuery(".ctl-calendar-table-controls").length > 0 ){ 33666 jQuery(".ctl-calendar-table-controls .ctl-calendar-table-btn-submit").click(); 33667 } 33668 }); 33669 }break; 33670 case "load-modal-close-stack-dialog-and-refresh-table":{ 33671 var oExtraData = {}; 33672 oExtraData[oResponse["redirect-param"]] = oResponse["post-id"]; 33673 33674 g_oCTLBootstrapModals.closeModalAndStack(); 33675 g_oCTLBootstrapModals.loadModal( 33676 oResponse["new-modal-id"], oExtraData, null, function(){ 33677 if(oResponse["table-to-refresh"]){ 33678 ctlThemeTableAjaxRefreshTable( 33679 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + 33680 oResponse["table-to-refresh"] + "']") 33681 ); 33682 } 33683 }); 33684 }break; 33685 case "close-stack-dialog-and-refresh-table":{ 33686 g_oCTLBootstrapModals.closeModalAndStack(); 33687 if(oResponse["table-to-refresh"]){ 33688 ctlThemeTableAjaxRefreshTable( 33689 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + 33690 oResponse["table-to-refresh"] + "']") 33691 ); 33692 } 33693 }break; 33694 case "close-last-dialog-and-refresh-table":{ 33695 g_oCTLBootstrapModals.closeLastModal(); 33696 if(oResponse["table-to-refresh"]){ 33697 ctlThemeTableAjaxRefreshTable( 33698 jQuery(".ctl-theme-table-main-wrapper[data-table-id='" + 33699 oResponse["table-to-refresh"] + "']") 33700 ); 33701 } 33702 }break; 33703 case "previous-page":{ 33704 window.history.back(); 33705 } 33706 } 33707 } 33708 } 33709 }); 33710} 33711 33712function __ctlEditorFrameworkMultiEditPostsExecuteForm( oNodeButton ){ 33713 33714 if ( window["g_aEditPostSequence"].length === 0){ 33715 var szClosingAction = oNodeButton.attr("data-closing-action"); 33716 33717 switch( szClosingAction ){ 33718 default: 33719 case "none":{ 33720 33721 }break; 33722 case "reload-page":{ 33723 g_oCTLWPStudio.showLoading(""); 33724 window.location.reload(); 33725 }break; 33726 case "reload-page-address-calendar-date":{ 33727 if (oFormData["calendar-dates"] && oFormData["calendar-dates"].length == 1){ 33728 ctlEditorUpdateAddressParamsWithCalendarDate(oFormData["calendar-dates"][0]); 33729 } 33730 window.location.reload(); 33731 }break; 33732 case "redirect":{ 33733 g_oCTLWPStudio.showLoading(""); 33734 window.location.href = oNodeButton.attr("data-redirect"); 33735 }break; 33736 case "close-stack-dialog":{ 33737 g_oCTLBootstrapModals.closeModalAndStack(); 33738 }break; 33739 case "close-last-dialog":{ 33740 g_oCTLBootstrapModals.closeLastModal(); 33741 }break; 33742 case "close-stack-dialog-and-refresh-calendar":{ 33743 g_oCTLBootstrapModals.closeModalAndStack(); 33744 if ( jQuery(".ctl-calendar-action-reload").length > 0 ){ 33745 jQuery(".ctl-calendar-action-reload").click(); 33746 }
33746else if ( jQuery(".ctl-calendar-table-controls").length > 0 ){ 33747 jQuery(".ctl-calendar-table-controls .ctl-calendar-table-btn-submit").click(); 33748 } 33749 }break; 33750 } 33751 33752 __ctlEditorFrameworkMapEventKeyDownSaveHandler(); 33753 33754 return; 33755 } 33756 33757 var oButtonData = window["g_aEditPostSequence"].shift(); 33758 ctlEditorFrameworkMultiEditPostsSaveData(oButtonData); 33759} 33760 33761function ctlEditorFrameworkMultiEditPostsSaveData( oNodeButton ){ 33762 33763 var oNodeForm = jQuery("form[data-widget-id="+oNodeButton.attr("data-widget-id")+"]"); 33764 var oFormData = oNodeForm.serializeObject(); 33765 33766 let oNodeMultiEditPost = oNodeButton.closest(".ctl-multi-edit-post"); 33767 let idMultiEditPost = oNodeMultiEditPost.attr("data-widget-id"); 33768 33769 oFormData['action'] = 'ctl-wp-studio'; 33770 oFormData['execute'] = 'ctl-editors-framework'; 33771 oFormData['extension-action'] = 'edit-post-data'; 33772 oFormData["click-class"] = "ctl-editors-action-edit-post"; 33773 oFormData["multi-edit-post-id"] = idMultiEditPost; 33774 33775 33776 jQuery(document).trigger(oFormData["click-class"]); 33777 33778 let oNodeExtraForm = null; 33779 if ( oFormData["extra-form-id"]){ 33780 oNodeExtraForm = jQuery("form.layout-"+oFormData["extra-form-id"]); 33781 oFormData["extra-data"] = oNodeExtraForm.serializeObject(); 33782 } 33783 33784 let oPostStatusField = oNodeForm.find('input[name=post-status]:checked'); 33785 if ( oPostStatusField.length > 0 ){ 33786 let bChecked = oPostStatusField.data('checked-before-btn-click'); 33787 if ( bChecked !== undefined ){ 33788 oPostStatusField.prop('checked', bChecked); 33789 oPostStatusField.removeData('checked-before-btn-click'); 33790 } 33791 } 33792 33793 ctlEditorFrameworkAjaxUpdateObjectData(oNodeForm, oFormData, oNodeExtraForm, function( oResponse ){ 33794 // do something... 33795 }); 33796 33797} 33798// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-post-filters/php/../js/front.js 33799jQuery(document).ready(function(){ 33800 jQuery(document).on("submit", "form.ctl-post-filters-form, form.ctl-user-filters-form", function(){ 33801 if ( ctlFormFieldsCheckIfFormIsFilled(jQuery(this)) === false){ 33802 return; 33803 } 33804 g_oCTLWPStudio.showLoading(); 33805 }); 33806 33807 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 33808 oNodeModal.find(".ctl-filter-wrapper form").each(function(){ 33809 let oNodeForm = jQuery(this); 33810 if ( oNodeForm.hasClass("form-search-collapsible") ){ 33811 ctlFiltersCollapseSearchForm(oNodeForm.closest(".ctl-filter-wrapper"), oNodeForm); 33812 } 33813 }); 33814 }); 33815 33816 jQuery(".ctl-filter-wrapper form").each(function(){ 33817 let oNodeForm = jQuery(this); 33818 if ( oNodeForm.hasClass("form-search-collapsible") ){ 33819 ctlFiltersCollapseSearchForm(oNodeForm.closest(".ctl-filter-wrapper"), oNodeForm); 33820 } 33821 }); 33822 33823 33824 jQuery(document).on("click", ".btn-action-clear-form-search", function(){ 33825 let oNodeWrapper = jQuery(this).closest(".ctl-filter-wrapper"); 33826 oNodeWrapper.find(".btn-clear-form").click(); 33827 oNodeWrapper.find(".btn-show-loading-on-submit").click(); 33828 }); 33829 33830 jQuery(document).on("click", ".btn-action-hide-filters", function(){ 33831 let oNodeWrapper = jQuery(this).closest(".ctl-filter-wrapper"); 33832 oNodeWrapper.find(".btn-action-form-search-toggle").click(); 33833 33834 ctlVulcanoResizeLayout(); 33835 }); 33836 33837 jQuery(document).on("click", ".btn-action-form-search-toggle", function(){ 33838 let oNodeWrapper = jQuery(this).closest(".ctl-filter-wrapper"); 33839 33840 oNodeWrapper.find(".form-search-toggle-container").toggleClass("d-none"); 33841 oNodeWrapper.find(".form-search-toggle-container").toggleClass("d-block"); 33842 33843 ctlVulcanoResizeLayout(); 33844 }); 33845}); 33846 33847function ctlFiltersCollapseSearchForm( oNodeWrapper, oNodeForm ){ 33848 33849 var aFields = []; 33850 33851 oNodeForm.find('input[type=text]').each(function(){ 33852 33853 szName = jQuery(this).attr("name"); 33854 33855 if ( szName.indexOf("-gfx") != -1 ){ 33856 aFields.push(szName.replace("-gfx", "")); 33857 }else{ 33858 if (szName){ 33859 aFields.push(szName); 33860 } 33861 } 33862 }); 33863 33864 oNodeForm.find('input[type=radio]').each(function(){ 33865 szName = jQuery(this).attr("name"); 33866 if (szName){ 33867 aFields.push(szName); 33868 } 33869 }); 33870 33871 oNodeForm.find('input[type=checkbox]').each(function(){ 33872 szName = jQuery(this).attr("name"); 33873 if (szName){ 33874 aFields.push(szName); 33875 } 33876 }); 33877 33878 oNodeForm.find('.ctlswitchfield,.ctlswitch3sfield').each(function(){ 33879 jQuery(this).find('input[type=hidden]').each(function(){ 33880 szName = jQuery(this).attr("name"); 33881 if (szName){ 33882 aFields.push(szName); 33883 } 33884 }); 33885 }); 33886 33887 33888 oNodeForm.find('input[type=number]').each(function(){ 33889 szName = jQuery(this).attr("name"); 33890 if (szName){ 33891 aFields.push(szName); 33892 } 33893 }); 33894 33895 oNodeForm.find('select').each(function(){ 33896 szName = jQuery(this).attr("name"); 33897 if (szName){ 33898 aFields.push(szName); 33899 } 33900 }); 33901 33902 var iCntFoundParams = 0; 33903 for ( var i = 0; i < aFields.length; i++ ){ 33904 let value = oNodeForm.find("[name='" + aFields[i] + "']").val(); 33905 if (value != null && value != ""){ 33906 iCntFoundParams++; 33907 } 33908 } 33909 33910 33911 let bClearForm = false;
33912 if ( oNodeForm.find(".btn-clear-form").length > 0 ){ 33913 bClearForm = true; 33914 } 33915 33916 let szFiltersMessage = ''; 33917 33918 let html = '<div class="row">'; 33919 html += '<div class="col">'; 33920 html += '<button data-toggle="collapse" data-target="#'+oNodeForm.attr("id")+'" class="btn btn-info btn-action-form-search-toggle w-100" type="button">'; 33921 33922 szFiltersMessage += '<i class="fa-solid fa-filter mr-2"></i>'; 33923 33924 if ( iCntFoundParams > 0 ){ 33925 szFiltersMessage += g_oCTLPostFiltersLocalizationFront['Active filters'] + ' (' + iCntFoundParams + ')'; 33926 }else{ 33927 szFiltersMessage += g_oCTLPostFiltersLocalizationFront['Apply search filters']; 33928 } 33929 html += szFiltersMessage; 33930 html += '</button>' 33931 html += '</div>'; 33932 33933 if ( iCntFoundParams == 0 ){ 33934 oNodeWrapper.find(".ctl-filter-active-filters-summary").html(''); 33935 }else{ 33936 oNodeWrapper.find(".ctl-filter-active-filters-summary").html('<span class="small p-2">' + szFiltersMessage + '</span>'); 33937 } 33938 33939 if ( bClearForm ){ 33940 html += '<div class="col col-auto pl-0">'; 33941 html += '<button class="btn btn-xs-hide-label btn-danger btn-action-clear-form-search" type="button">'; 33942 html += '<i class="fa-solid fa-xmark"></i>'; 33943 html += '<span class="btn-text ml-2">'+oNodeForm.find(".btn-clear-form .btn-text").text()+'</span>'; 33944 html += '</button>'; 33945 html += '</div>'; 33946 } 33947 33948 html += '</div>'; 33949 33950 oNodeWrapper.find(".form-search-toggle-container").append(html); 33951 33952 33953 33954} 33955// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-calendar/php/../js/front.js 33956jQuery(document).ready(function () { 33957 33958 window.addEventListener("orientationchange", function () { 33959 ctlCalendarsResize(true); 33960 }); 33961 33962 jQuery(window).resize(function () { 33963 ctlCalendarsResize(true); 33964 }); 33965 33966 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function (oNodeModal) { 33967 oNodeModal.find(".ctl-calendar-widget").each(function () { 33968 let oMoment = ctlCalendarMoment(jQuery(this)); 33969 33970 ctlCalendarUpdateBody( 33971 jQuery(this), 33972 ctlCalendarView(jQuery(this)), 33973 oMoment, oMoment); 33974 }); 33975 33976 oNodeModal.find(".ctl-table-calendar-widget").each(function () { 33977 ctlTableCalendarInit(jQuery(this), jQuery(this).attr("data-period")); 33978 }); 33979 }); 33980 33981 wpdk_add_action("on_ctl-vulcano-theme-resize-layout", function () { 33982 ctlCalendarsResize(true); 33983 }); 33984 33985 setTimeout(function () { 33986 jQuery(".ctl-calendar-widget").each(function () { 33987 let oMoment = ctlCalendarMoment(jQuery(this)); 33988 ctlCalendarUpdateBody( 33989 jQuery(this), 33990 ctlCalendarView(jQuery(this)), 33991 oMoment, oMoment); 33992 }); 33993 33994 jQuery(".ctl-table-calendar-widget").each(function () { 33995 ctlTableCalendarInit(jQuery(this), jQuery(this).attr("data-period")); 33996 }); 33997 }, 50) 33998 33999 jQuery(document).on("click", ".ctl-calendar-toggle-filter-editors", function () { 34000 var oNodeButton = jQuery(this); 34001 34002 var bShow = oNodeButton.attr("data-state") == "false"; 34003 34004 oNodeButton.attr("data-state", bShow ? "true" : "false"); 34005 oNodeButton.find("i").toggleClass("fa-square-check", !bShow); 34006 oNodeButton.find("i").toggleClass("fa-square", bShow); 34007 34008 oNodeButton.find("span").text(bShow ? g_oCTLCalendarLocalizationFront["Uncheck them all"] : g_oCTLCalendarLocalizationFront["Select them all"]); 34009 34010 if (bShow) { 34011 oNodeButton.closest(".ctl-calendar-filter-users").find("input[type=checkbox]").prop("checked", true).trigger("change"); 34012 oNodeButton.removeClass("btn-outline-success").addClass("btn-outline-warning"); 34013 } else { 34014 oNodeButton.closest(".ctl-calendar-filter-users").find("input[type=checkbox]").prop("checked", false).trigger("change"); 34015 oNodeButton.removeClass("btn-outline-warning").addClass("btn-outline-success"); 34016 } 34017 }); 34018 34019 jQuery(document).on("change", ".ctl-calendar-filter-users input", function () { 34020 34021 var bShow = jQuery(this).is(':checked'); 34022 34023 let idMe = Number(jQuery("body").attr("data-user-id")); 34024 let oNodeFilterUsers = jQuery(this).closest(".ctl-calendar-filter-users"); 34025 var idEditor = Number(jQuery(this).val()); 34026 var oNodeCalendar = jQuery(this).closest(".ctl-calendar-widget"); 34027 let bShowEditors = oNodeCalendar.attr("data-editor-filter-self") == "1" ? false : true; 34028 34029 if (oNodeCalendar.attr("data-state-filter-editors")) { 34030 let szStateFilterEditors = oNodeCalendar.attr("data-state-filter-editors"); 34031 aStateFilterEditors = JSON.parse(szStateFilterEditors); 34032
34033 aStateFilterEditors = __ctlCalendarUpdateEditorState(oNodeCalendar, aStateFilterEditors, 34034 idEditor, idMe, bShowEditors); 34035 34036 for (let key in aStateFilterEditors["editors"]) { 34037 if (aStateFilterEditors["editors"][key].id == idEditor) { 34038 aStateFilterEditors["editors"][key].visibility = bShow; 34039 break; 34040 } 34041 } 34042 oNodeCalendar.attr("data-state-filter-editors", JSON.stringify(aStateFilterEditors)); 34043 } 34044 34045 if (!bShow) { 34046 let oNodeToggleEditors = oNodeCalendar.find(".ctl-calendar-toggle-filter-editors"); 34047 oNodeToggleEditors.attr("data-state", "false"); 34048 oNodeToggleEditors.find("i").removeClass("fa-square").addClass("fa-square-check"); 34049 oNodeToggleEditors.find("span").text(g_oCTLCalendarLocalizationFront["Select them all"]); 34050 oNodeToggleEditors.removeClass("btn-outline-warning").addClass("btn-outline-success"); 34051 } else { 34052 34053 let bAllChecked = true; 34054 oNodeFilterUsers.find(".custom-control-input").each(function () { 34055 if (!jQuery(this).is(':checked')) { 34056 bAllChecked = false; 34057 } 34058 }); 34059 34060 if (bAllChecked) { 34061 let oNodeToggleEditors = oNodeCalendar.find(".ctl-calendar-toggle-filter-editors"); 34062 oNodeToggleEditors.attr("data-state", "true"); 34063 oNodeToggleEditors.find("i").removeClass("fa-square-check").addClass("fa-square"); 34064 oNodeToggleEditors.find("span").text(g_oCTLCalendarLocalizationFront["Uncheck them all"]); 34065 oNodeToggleEditors.removeClass("btn-outline-success").addClass("btn-outline-warning"); 34066 } 34067 } 34068 34069 __ctlCalendarRefreshEditorsVisibility(oNodeCalendar); 34070 }); 34071 34072 jQuery(document).on("click", ".ctl-calendar-day-item-compacted", function (e) { 34073 e.preventDefault(); 34074 e.stopPropagation(); 34075 34076 var oNodeCalendarDay = jQuery(this).closest(".ctl-calendar-day"); 34077 var oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34078 var idCreateModal = oNodeCalendarWidget.attr("data-create-modal-id"); 34079 var idEditModal = oNodeCalendarWidget.attr("data-edit-modal-id"); 34080 var szDate = oNodeCalendarDay.attr("data-date"); 34081 34082 var szTitle = ""; 34083 szTitle += oNodeCalendarDay.find("h4").text(); 34084 szTitle += " " + oNodeCalendarWidget.find(".ctl-calendar-action-month option:selected").text(); 34085 szTitle += " " + oNodeCalendarWidget.find(".ctl-calendar-action-year option:selected").text(); 34086 34087 ctlCalendarEditDay(oNodeCalendarDay, szTitle, szDate, idCreateModal, idEditModal, null, true); 34088 }); 34089 34090 jQuery(document).on("click", ".ctl-calendar-single-selection-mode .ctl-calendar-day", function (e) { 34091 34092 var oNodeCalendarDay = jQuery(this); 34093 var oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34094 var idCreateModal = oNodeCalendarWidget.attr("data-create-modal-id"); 34095 var idEditModal = oNodeCalendarWidget.attr("data-edit-modal-id"); 34096 var szDate = oNodeCalendarDay.attr("data-date"); 34097 34098 var szTitle = ""; 34099 szTitle += oNodeCalendarDay.find("h4").text(); 34100 szTitle += " " + oNodeCalendarWidget.find(".ctl-calendar-action-month option:selected").text(); 34101 szTitle += " " + oNodeCalendarWidget.find(".ctl-calendar-action-year option:selected").text(); 34102 34103 ctlCalendarEditDay(jQuery(this), szTitle, szDate, idCreateModal, idEditModal); 34104 }); 34105 34106 34107 jQuery(document).on("click", ".ctl-calendar-month-body .ctl-calendar-day h4 span", function (e) { 34108 e.stopPropagation(); 34109 var oNodeDay = jQuery(this).closest(".ctl-calendar-day"); 34110 var oNodeWidget = jQuery(this).closest(".ctl-calendar-widget"); 34111 34112 var bOptionFound = false; 34113 jQuery(".ctl-calendar-action-view-mode option").each(function () { 34114 if (jQuery(this).val() == "day") { 34115 bOptionFound = true; 34116 } 34117 }); 34118 34119 if (bOptionFound) { 34120 34121 let oOffsetDate = moment(oNodeDay.attr("data-date"), "YYYY-MM-DD"); 34122 let oNodeDatePicker = oNodeWidget.find("input[name=ctl-calendar-date-gfx]"); 34123 34124 if (oNodeDatePicker.length > 0) { 34125 oNodeDatePicker.val( 34126 oOffsetDate.format(oNodeDatePicker.attr("data-format"))); 34127 } 34128 34129 jQuery(".ctl-calendar-action-year").val(oNodeDay.attr("data-year")); 34130 jQuery(".ctl-calendar-action-month").val(oNodeDay.attr("data-month")); 34131 jQuery(".ctl-calendar-action-day").val(oNodeDay.attr("data-day")); 34132 jQuery(".ctl-calendar-action-view-mode").val("day").trigger("change"); 34133 } 34134 }); 34135 34136 jQuery(document).on("click", ".ctl-calendar-week-header h3", function () { 34137 var szDate = jQuery(this).attr("data-day"); 34138 var oMoment = moment(szDate, "YYYY-MM-DD"); 34139 34140 var bOptionFound = false;
34141 jQuery(".ctl-calendar-action-view-mode option").each(function () { 34142 if (jQuery(this).val() == "day") { 34143 bOptionFound = true; 34144 } 34145 }); 34146 34147 if (bOptionFound) { 34148 jQuery(".ctl-calendar-action-year").val(oMoment.format("YYYY")); 34149 jQuery(".ctl-calendar-action-month").val(oMoment.format("MM")); 34150 jQuery(".ctl-calendar-action-day").val(oMoment.format("DD")).trigger("change", [true]); 34151 jQuery(".ctl-calendar-action-view-mode").val("day").trigger("change"); 34152 } 34153 }); 34154 34155 jQuery(document).on("click", ".ctl-calendar-show-create-modal", function () { 34156 34157 var oNodeButton = jQuery(this); 34158 34159 var szDateStart = oNodeButton.attr("data-calendar-date-start"); 34160 var szDateEnd = oNodeButton.attr("data-calendar-date-end"); 34161 var idModal = oNodeButton.attr("data-general-create-modal-id"); 34162 34163 ctlCalendarWriteItem(idModal, { 34164 "calendar-date-start": szDateStart, 34165 "calendar-date-end": szDateEnd, 34166 }); 34167 }); 34168 34169 jQuery(document).on("click", ".ctl-calendar-action-select-all", function () { 34170 var oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34171 var oNodeMonth = oNodeCalendarWidget.find(".ctl-calendar-action-month"); 34172 34173 oNodeCalendarWidget.find(".ctl-calendar-day").each(function () { 34174 var currentMonth = jQuery(this).attr("data-month"); 34175 34176 if (oNodeMonth.val() == currentMonth) { 34177 jQuery(this).addClass("ctl-calendar-day-selected"); 34178 } else { 34179 jQuery(this).removeClass("ctl-calendar-day-selected"); 34180 } 34181 }); 34182 }); 34183 34184 jQuery(document).on("click", ".ctl-calendar-action-multiple-new", function () { 34185 let oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34186 let oNodeSelectedDays = oNodeCalendarWidget.find(".ctl-calendar-day-selected"); 34187 34188 if (oNodeSelectedDays.length == 0) { 34189 g_oCTLBootstrapModals.alert("", g_oCTLCalendarLocalizationFront["You must select at least one day!"]); 34190 return; 34191 } 34192 34193 var idModal = oNodeCalendarWidget.attr("data-create-modal-id"); 34194 34195 if (!idModal) { 34196 return; 34197 } 34198 34199 var aDates = []; 34200 oNodeSelectedDays.each(function () { 34201 aDates.push(jQuery(this).attr("data-date")); 34202 }); 34203 34204 ctlCalendarWriteItem(idModal, { 34205 "calendar-dates": aDates 34206 }); 34207 }); 34208 34209 jQuery(document).on("click", ".ctl-calendar-action-multiple-edit", function () { 34210 var oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34211 34212 oNodeSelectedDays = oNodeCalendarWidget.find(".ctl-calendar-day-selected"); 34213 34214 if (oNodeSelectedDays.length == 0) { 34215 g_oCTLBootstrapModals.alert("", g_oCTLCalendarLocalizationFront["You must select at least one day!"]); 34216 return; 34217 } 34218 34219 var idModal = oNodeCalendarWidget.attr("data-edit-modal-id"); 34220 var aIds = {}; 34221 34222 oNodeSelectedDays.each(function () { 34223 var oNodeDay = jQuery(this); 34224 oNodeDay.find(".ctl-calendar-day-item").each(function () { 34225 var oNodeDayItem = jQuery(this); 34226 var cpt = oNodeDayItem.attr("data-cpt"); 34227 if (!aIds[cpt]) { 34228 aIds[cpt] = []; 34229 } 34230 aIds[cpt].push(Number(oNodeDayItem.attr("data-id"))); 34231 }); 34232 }); 34233 34234 if (idModal) { 34235 var iCntCPT = 0; 34236 var szLastCPT = ""; 34237 for (var cpt in aIds) { 34238 iCntCPT++; 34239 szLastCPT = cpt; 34240 } 34241 34242 if (iCntCPT == 1) { 34243 g_oCTLBootstrapModals.loadModal(idModal, { "post-id": aIds[szLastCPT] }); 34244 } else if (iCntCPT > 1) { 34245 alert("disambigua cpt"); 34246 } 34247 } 34248 }); 34249 34250 jQuery(document).on("click", ".ctl-calendar-action-close-multiple-selection", function () { 34251 var oNodeCloseMultipleSelection = jQuery(this); 34252 var oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34253 var oNodeControlsContainer = oNodeCloseMultipleSelection.closest(".ctl-calendar-control
34253s-container"); 34254 var oNodeOpenMultipleSelection = oNodeControlsContainer.find( 34255 ".ctl-calendar-action-open-multiple-selection"); 34256 var oNodeControls = oNodeControlsContainer.find(".ctl-calendar-controls"); 34257 var oNodeMultipleSelectionButtons = oNodeControlsContainer.find(".ctl-calendar-multiple-selection-btn"); 34258 34259 oNodeCalendarWidget.find(".ctl-calendar-day").removeClass("ctl-calendar-day-selected"); 34260 34261 oNodeOpenMultipleSelection.removeClass("d-none"); 34262 oNodeControls.removeClass("d-none"); 34263 oNodeMultipleSelectionButtons.addClass("d-none"); 34264 34265 oNodeCalendarWidget.removeClass("ctl-calendar-multiple-selection-mode"); 34266 oNodeCalendarWidget.addClass("ctl-calendar-single-selection-mode"); 34267 34268 ctlVulcanoResizeLayout(); 34269 }); 34270 34271 jQuery(document).on("click", ".ctl-calendar-action-open-multiple-selection", function () { 34272 34273 var oNodeOpenMultipleSelection = jQuery(this); 34274 var oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34275 var oNodeControlsContainer = oNodeOpenMultipleSelection.closest(".ctl-calendar-controls-container"); 34276 var oNodeControls = oNodeControlsContainer.find(".ctl-calendar-controls"); 34277 var oNodeMultipleSelectionButtons = oNodeControlsContainer.find(".ctl-calendar-multiple-selection-btn"); 34278 34279 oNodeOpenMultipleSelection.addClass("d-none"); 34280 oNodeControls.addClass("d-none"); 34281 oNodeMultipleSelectionButtons.removeClass("d-none"); 34282 34283 oNodeCalendarWidget.addClass("ctl-calendar-multiple-selection-mode"); 34284 oNodeCalendarWidget.removeClass("ctl-calendar-single-selection-mode"); 34285 34286 ctlVulcanoResizeLayout(); 34287 }); 34288 34289 jQuery(document).on("click", 34290 ".ctl-calendar-single-selection-mode .ctl-calendar-hourly-activity .ctl-calendar-item-parent", function (e) { 34291 34292 e.stopPropagation(); 34293 e.preventDefault(); 34294 34295 var oNodeHourlyActivity = jQuery(this).closest(".ctl-calendar-hourly-activity"); 34296 var szHour = oNodeHourlyActivity.attr("data-hour"); 34297 var szDateStart = oNodeHourlyActivity.attr("data-mysql-date"); 34298 var oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34299 var idModal = oNodeCalendarWidget.attr("data-create-modal-id"); 34300 34301 if (!idModal) { 34302 return; 34303 } 34304 34305 if (szHour == "xx" || !szHour) { 34306 szHour = "00"; 34307 34308 var idCreateModal = oNodeCalendarWidget.attr("data-create-modal-id"); 34309 var idEditModal = oNodeCalendarWidget.attr("data-edit-modal-id"); 34310 var szTitle = ""; 34311 34312 szTitle += oNodeCalendarWidget.find(".ctl-calendar-action-day option:selected").text(); 34313 szTitle += " " + oNodeCalendarWidget.find(".ctl-calendar-action-month option:selected").text(); 34314 szTitle += " " + oNodeCalendarWidget.find(".ctl-calendar-action-year option:selected").text(); 34315 34316 ctlCalendarEditDay(jQuery(this), szTitle, szDate, idCreateModal, idEditModal); 34317 } else { 34318 var iNumNextHour = parseInt(szHour, 10); 34319 iNumNextHour = iNumNextHour + 1; 34320 if (iNumNextHour >= 24) { 34321 iNumNextHour = 0; 34322 } 34323 34324 var szNextHour = iNumNextHour.toString().padStart(2, '0'); 34325 34326 var oConfig = { 34327 "calendar-date-start": szDateStart, 34328 "calendar-date-end": szDateStart, 34329 "calendar-date-start-local": szDateStart + " " + szHour + ":00:00", 34330 "calendar-date-end-local": szDateStart + " " + szNextHour + ":00:00", 34331 "parent-id": jQuery(this).attr("data-parent-id"), 34332 }; 34333 34334 ctlCalendarWriteItem(idModal, oConfig); 34335 } 34336 }); 34337 34338 jQuery(document).on("click", ".ctl-calendar-single-selection-mode .ctl-calendar-hourly-activity", function (e) { 34339 var szHour = jQuery(this).attr("data-hour"); 34340 var oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34341 var szDate = jQuery(this).attr("data-mysql-date"); 34342 34343 if (szHour == "xx" || !szHour) { 34344 szHour = "00"; 34345 34346 var idCreateModal = oNodeCalendarWidget.attr("data-create-modal-id"); 34347 var idEditModal = oNodeCalendarWidget.attr("data-edit-modal-id"); 34348 var szTitle = ""; 34349 34350 szTitle += oNodeCalendarWidget.find(".ctl-calendar-action-day option:selected").text(); 34351 szTitle += " " + oNodeCalendarWidget.find(".ctl-calendar-action-month option:selected").text(); 34352 szTitle += " " + oNodeCalendarWidget.find(".ctl-calendar-action-year option:selected").text(); 34353 34354 ctlCalendarEditDay(jQuery(this), szTitle, szDate, idCreateModal, idEditModal); 34355 } else { 34356 var idModal = oNodeCalendarWidget.attr("data-create-modal-id"); 34357 if (!idModal) { 34358 return; 34359 } 34360 34361 var iNumNextHour = parseInt(szHour, 10); 34362 iNumNextHour = iNumNextHour + 1; 34363 34364 if (iNumNextHour >= 24) { 34365 iNumNextHour = 0; 34366 } 34367 34368 var szNextHour = iNumNextHour.toString().padStart(2, '0'); 34369 34370 var oConfig = { 34371 "calendar-date-start": szDate, 34372 "calendar-date-end": szDate, 34373 "calendar-date-start-local": szDate + " " + szHour + ":00:00", 34374 "calendar-date-end-local": szDate + " " + szNextHour + ":00:00", 34375 }; 34376 34377 ctlCalendarWriteItem(idModal, oConfig); 34378 } 34379 }); 34380 34381 jQuery(document).on("click", ".ctl-calendar-day-action-close", function () { 34382 var oNodeDayContainer = jQuery(this).closest(".ctl-calendar-day-container"); 34383 34384 oNodeDayContainer.fadeOut(400, function () { 34385 oNodeDayContainer.addClass("d-none"); 34386 oNodeDayContainer.attr("style", ""); 34387 }); 34388
34389 var iOffset = 30; 34390 if (jQuery("header").css("position") == "fixed") { 34391 iOffset += jQuery("header").height(); 34392 } 34393 g_oCTLWPStudio.scrollToSelector(".ctl-calen dar-widget", - iOffset); 34394 }); 34395 34396 jQuery(document).on("click", ".ctl-calendar-single-selection-mode .ctl-calendar-day-item a", function (e) { 34397 e.stopPropagation(); 34398 window.location = jQuery(this).attr("href"); 34399 }); 34400 34401 jQuery(document).on("click", ".modal .ctl-calendar-day-item", function (e) { 34402 34403 if (jQuery(this).find("a").length > 0) { 34404 return; 34405 } 34406 34407 e.preventDefault(); 34408 e.stopPropagation(); 34409 34410 var idPost = jQuery(this).attr("data-id"); 34411 var oNodeModal = jQuery(this).closest(".modal"); 34412 var idModal = oNodeModal.attr("data-general-edit-modal-id"); 34413 34414 if (idModal) { 34415 let szReferral = jQuery(this).attr("data-edit-modal-referral"); 34416 if (!szReferral) { 34417 szReferral = "post-id"; 34418 } 34419 34420 url = g_oCTLWPStudio.addParameterToUrl(window.location.href, szReferral, idPost); 34421 if (history.pushState) { 34422 history.pushState(null, null, url); 34423 } 34424 34425 g_oCTLBootstrapModals.loadModal(idModal, { [szReferral]: idPost }); 34426 } 34427 }); 34428 34429 jQuery(document).on("click", ".ctl-table-calendar-single-selection-mode .ctl-calendar-day-item, .ctl-calendar-single-selection-mode .ctl-calendar-day-item", function (e) { 34430 34431 if (jQuery(this).find("a").length > 0) { 34432 return; 34433 } 34434 34435 if (jQuery(this).hasClass("ctl-calendar-day-item-compacted")) { 34436 return; 34437 } 34438 34439 e.preventDefault(); 34440 e.stopPropagation(); 34441 34442 var idPost = jQuery(this).attr("data-id"); 34443 34444 34445 var oNodeCalendarWidget = jQuery(this).closest(".ctl-calendar-widget"); 34446 var idModal = jQuery(this).attr("data-edit-modal-id"); 34447 34448 if (!idModal) { 34449 idModal = oNodeCalendarWidget.attr("data-edit-modal-id"); 34450 } 34451 34452 if (idModal) { 34453 let szReferral = jQuery(this).attr("data-edit-modal-referral"); 34454 if (!szReferral) { 34455 szReferral = "post-id"; 34456 } 34457 34458 url = g_oCTLWPStudio.addParameterToUrl(window.location.href, szReferral, idPost); 34459 if (history.pushState) { 34460 history.pushState(null, null, url); 34461 } 34462 34463 g_oCTLBootstrapModals.loadModal(idModal, { [szReferral]: idPost }); 34464 } 34465 34466 }); 34467 34468 jQuery(document).on("click", ".ctl-calendar-multiple-selection-mode .ctl-calendar-day", function () { 34469 jQuery(this).toggleClass("ctl-calendar-day-selected"); 34470 }); 34471 34472 jQuery(document).on("click", ".ctl-table-calendar-single-selection-mode .ctl-table-calendar-day", function (e) { 34473 34474 if (jQuery(this).find("a").length > 0) { 34475 return; 34476 } 34477 34478 e.preventDefault(); 34479 e.stopPropagation(); 34480 34481 var oNodeCalendarDay = jQuery(this); 34482 var oNodeTR = oNodeCalendarDay.closest("tr"); 34483 var oNodeTableCalendarWidget = jQuery(this).closest(".ctl-theme-table-main-wrapper"); 34484 34485 var idCreateModal = oNodeTableCalendarWidget.attr("data-period-create-modal-id"); 34486 var idEditModal = oNodeTableCalendarWidget.attr("data-period-edit-modal-id"); 34487 var szDate = oNodeCalendarDay.attr("data-date"); 34488 34489 var idResource = oNodeTR.attr("data-resource-id"); 34490 34491 var oExtraData = { 34492 'resource-id': idResource 34493 } 34494 34495 ctlCalendarEditDay(jQuery(this), szTitle, szDate, idCreateModal, idEditModal, oExtraData); 34496 }); 34497 34498 jQuery(document).on("click", ".ctl-calendar-action-reload", function () { 34499 ctlCalendarRefreshData(jQuery(this).closest(".ctl-calendar-widget")); 34500 }); 34501 34502 jQuery(document).on("change", ".ctl-calendar-action-view-mode", function () { 34503 var oNodeWidget = jQuery(this).closest(".ctl-calendar-widget"); 34504 oNodeWidget.find('input[name=cview]').val(jQuery(this).val()); 34505 ctlCalendarChangeViewMode(jQuery(this).closest(".ctl-calendar-widget")); 34506 }); 34507
34508 jQuery(document).on("change", ".ctl-calendar-controls-container input[name=ctl-calendar-date]", function () { 34509 if (jQuery(this).attr("data-prev-date") == jQuery(this).val()) { 34510 return; 34511 } 34512 34513 // update the prev date for the next comparison 34514 jQuery(this).attr("data-prev-date", jQuery(this).val()); 34515 var oNodeInput = jQuery(this); 34516 var szDate = oNodeInput.val(); 34517 var aParts = szDate.split("-"); 34518 34519 var oNodeWidget = oNodeInput.closest(".ctl-calendar-widget"); 34520 34521 jQuery(".ctl-calendar-widget-form-date").find('input[name=cday]').val(aParts[2]); 34522 jQuery(".ctl-calendar-widget-form-date").find('input[name=cmonth]').val(aParts[1]); 34523 jQuery(".ctl-calendar-widget-form-date").find('input[name=cyear]').val(aParts[0]); 34524 34525 oNodeWidget.find('.ctl-calendar-action-year').val(aParts[0]).trigger('change', [true]); 34526 oNodeWidget.find('.ctl-calendar-action-month').val(aParts[1]).trigger('change', [true]); 34527 oNodeWidget.find('.ctl-calendar-action-day').val(aParts[2]).trigger('change', [false]); 34528 }); 34529 34530 jQuery(document).on("change", ".ctl-calendar-action-month", function (e, bAvoidRefresh) { 34531 var oNodeWidget = jQuery(this).closest(".ctl-calendar-widget"); 34532 oNodeWidget.find('input[name=cmonth]').val(jQuery(this).val()); 34533 if (bAvoidRefresh) { 34534 return; 34535 } 34536 ctlCalendarRefreshData(oNodeWidget); 34537 }); 34538 34539 jQuery(document).on("change", ".ctl-calendar-action-year", function (e, bAvoidRefresh) { 34540 var oNodeWidget = jQuery(this).closest(".ctl-calendar-widget"); 34541 oNodeWidget.find('input[name=cyear]').val(jQuery(this).val()); 34542 if (bAvoidRefresh) { 34543 return; 34544 } 34545 ctlCalendarRefreshData(oNodeWidget); 34546 }); 34547 34548 jQuery(document).on("change", ".ctl-calendar-action-day", function (e, bAvoidRefresh) { 34549 var oNodeWidget = jQuery(this).closest(".ctl-calendar-widget"); 34550 oNodeWidget.find('input[name=cday]').val(jQuery(this).val()); 34551 if (bAvoidRefresh) { 34552 return; 34553 } 34554 ctlCalendarRefreshData(oNodeWidget); 34555 }); 34556 34557 jQuery(document).on("click", ".ctl-calendar-action-today", function () { 34558 let oNodeWidget = jQuery(this).closest(".ctl-calendar-widget"); 34559 let oOffsetDate = moment(); 34560 let oNodeDatePicker = oNodeWidget.find("input[name=ctl-calendar-date-gfx]"); 34561 34562 if (oNodeDatePicker.length > 0) { 34563 oNodeDatePicker.val( 34564 oOffsetDate.format(oNodeDatePicker.attr("data-format"))).trigger('change'); 34565 } else { 34566 oNodeWidget.find(".ctl-calendar-widget-form-date").find('input[name=cday]').val(oOffsetDate.format("DD")); 34567 oNodeWidget.find(".ctl-calendar-widget-form-date").find('input[name=cmonth]').val(oOffsetDate.format("MM")); 34568 oNodeWidget.find(".ctl-calendar-widget-form-date").find('input[name=cyear]').val(oOffsetDate.format("YYYY")); 34569 34570 oNodeWidget.find('.ctl-calendar-action-year').val(oOffsetDate.format("YYYY")).trigger('change', [true]); 34571 oNodeWidget.find('.ctl-calendar-action-month').val(oOffsetDate.format("MM")).trigger('change', [true]); 34572 oNodeWidget.find('.ctl-calendar-action-day').val(oOffsetDate.format("DD")).trigger('change', [false]); 34573 } 34574 }); 34575 34576 jQuery(document).on("click", ".ctl-calendar-action-prev", function () { 34577 let oNodeWidget = jQuery(this).closest(".ctl-calendar-widget"); 34578 let szViewMode = oNodeWidget.find(".ctl-calendar-action-view-mode").val(); 34579 let oOffsetDate = oNodeWidget[0]["offset-date"]; 34580 34581 switch (szViewMode) { 34582 case "month": { 34583 oOffsetDate.subtract(1, "months"); 34584 } break; 34585 case "week": { 34586 oOffsetDate.subtract(1, "weeks"); 34587 } break; 34588 case "day": { 34589 oOffsetDate.subtract(1, "days"); 34590 } break; 34591 } 34592 34593 let oNodeDatePicker = oNodeWidget.find("input[name=ctl-calendar-date-gfx]"); 34594 if (oNodeDatePicker.length > 0) { 34595 oNodeDatePicker.val( 34596 oOffsetDate.format(oNodeDatePicker.attr("data-format"))).trigger('change'); 34597 } else { 34598 oNodeWidget.find(".ctl-calendar-widget-form-date").find('input[name=cday]').val(oOffsetDate.format("DD")); 34599 oNodeWidget.find(".ctl-calendar-widget-form-date").find('input[name=cmonth]').val(oOffsetDate.format("MM")); 34600 oNodeWidget.find(".ctl-calendar-widget-form-date").find('input[name=cyear]').val(oOffsetDate.format("YYYY")); 34601 34602 oNodeWidget.find('.ctl-calendar-action-year').val(oOffsetDate.format("YYYY")).trigger('change', [true]); 34603 oNodeWidget.find('.ctl-calendar-action-month').val(oOffsetDate.format("MM")).trigger('change', [true]); 34604 oNodeWidget.find('.ctl-calendar-action-day').val(oOffsetDate.format("DD")).trigger('change', [false]); 34605 } 34606 }); 34607 34608 jQuery(document).on("click", ".ctl-calendar-action-next", function () { 34609 let oNodeWidget = jQuery(this).closest(".ctl-calendar-widget"); 34610 let szViewMode = oNodeWidget.find(".ctl-calendar-action-view-mode").val(); 34611 let oOffsetDate = oNodeWidget[0]["offset-date"]; 34612 34613 switch (szViewMode) { 34614 case "month": { 34615 oOffsetDate.add(1, "months"); 34616 } break; 34617 case "week": { 34618 oOffsetDate.add(1, "weeks"); 34619 } break; 34620 case "day": { 34621 oOffsetDate.add(1, "days"); 34622 } break; 34623 } 34624 34625 let oNodeDatePicker = oNodeWidget.find("input[name=ctl-calendar-date-gfx]"); 34626 if (oNodeDatePicker.length > 0) { 34627 oNodeDatePicker.val( 34628 oOffsetDate.format(oNodeDatePicker.attr("data-format"))).trigger('change'); 34629 } else { 34630 oNodeWidget.find(".ctl-calendar-widget-form-date").find('input[name=cday]').val(oOffsetDate.format("DD")); 34631 oNodeWidget.find(".ctl-calendar-widget-form-date").find('input[name=cmonth]').val(oOffsetDate.format("MM")); 34632 oNodeWidget.find(".ctl-calendar-widget-form-date").find('input[name=cyear]').val(oOffsetDate.format("YYYY")); 34633 34634 oNodeWidget.find('.ctl-calendar-action-year').val(oOffsetDate.format("YYYY")).trigger('change', [true]); 34635 oNodeWidget.find('.ctl-calendar-action-month').val(oOffsetDate.format("MM")).trigger('change', [true]); 34636 oNodeWidget.find('.ctl-calendar-action-day').val(oOffsetDate.format("DD")).trigger('change', [false]); 34637 } 34638 34639 }); 34640}); 34641 34642function ctlCalendarView(oNodeCalendarWidget) { 34643 let oNodeFormDate = oNodeCalendarWidget.find(".ctl-calendar-widget-form-date"); 34644 let oFormDateValues = oNodeFormDate.serializeObject(); 34645 34646 return oFormDateValues["cview"]; 34647} 34648 34649function ctlCalendarMoment(oNodeCalendarWidget) { 34650 let oNodeFormDate = oNodeCalendarWidget.find(".ctl-calendar-widget-form-date"); 34651 let oFormDateValues = oNodeFormDate.serializeObject(); 34652 34653 let oMoment = moment( 34654 oFormDateValues.cyear + "-" + 34655 oFormDateValues.cmonth + "-" + 34656 oFormDateValues.cday).locale(g_oCTLCalendarLocalizationFront["user_locale"]); 34657 34658 return oMoment; 34659} 34660 34661function ctlCalendarWriteItem(idModal, oExtraData = null) {
34662 g_oCTLBootstrapModals.loadModal(idModal, oExtraData); 34663} 34664 34665function ctlCalendarGetFestivityDays(oNodeCalendar) { 34666 let aFestivityDays = []; 34667 switch (g_oCTLCalendarLocalizationFront["user_locale"]) { 34668 case "it_IT": { 34669 aFestivityDays = ["01-01", "01-06", "04-25", "05-01", "06-02", "08-15", "11-01", "12-08", "12-25", "12-26"]; 34670 34671 let oNodeFormDate = oNodeCalendar.find(".ctl-calendar-widget-form-date"); 34672 let oFormDateValues = oNodeFormDate.serializeObject(); 34673 let aEaster = getEaster(oFormDateValues.cyear); 34674 let iEasterMonth = aEaster[0]; 34675 let iEasterDay = aEaster[1]; 34676 34677 //Pasqua 34678 aFestivityDays.push( 34679 String(iEasterMonth).padStart(2, '0') + "-" + String(iEasterDay).padStart(2, '0') 34680 ); 34681 34682 let oEasterDate = new Date(oFormDateValues.cyear, iEasterMonth - 1, iEasterDay); 34683 oEasterDate.setDate(oEasterDate.getDate() + 1); 34684 34685 //Pasquetta 34686 aFestivityDays.push( 34687 String(oEasterDate.getMonth() + 1).padStart(2, '0') + "-" + String(oEasterDate.getDate()).padStart(2, '0') 34688 ); 34689 } break; 34690 default: { 34691 34692 } break; 34693 } 34694 34695 let szPatronalFeastDay = oNodeCalendar.data("patronal-feast-day"); 34696 if (szPatronalFeastDay) { 34697 aFestivityDays.push(szPatronalFeastDay); 34698 } 34699 34700 return aFestivityDays; 34701} 34702 34703/** 34704* Calculates Easter in the Gregorian/Western (Catholic and Protestant) calendar 34705* based on the algorithm by Oudin (1940) from http://www.tondering.dk/claus/cal/easter.php 34706* @returns {array} [int month, int day] 34707*/ 34708function getEaster(year) { 34709 year = parseInt(year); 34710 var f = Math.floor, 34711 // Golden Number - 1 34712 G = year % 19, 34713 C = f(year / 100), 34714 // related to Epact 34715 H = (C - f(C / 4) - f((8 * C + 13) / 25) + 19 * G + 15) % 30, 34716 // number of days from 21 March to the Paschal full moon 34717 I = H - f(H / 28) * (1 - f(29 / (H + 1)) * f((21 - G) / 11)), 34718 // weekday for the Paschal full moon 34719 J = (year + f(year / 4) + I + 2 - C + f(C / 4)) % 7, 34720 // number of days from 21 March to the Sunday on or before the Paschal full moon 34721 L = I - J, 34722 month = 3 + f((L + 40) / 44), 34723 day = L + 28 - 31 * f(month / 4); 34724 34725 return [month, day]; 34726} 34727 34728function ctlCalendarEditDay(oNodeCalendarDay, szTitle, szDate, idCreateModal, idEditModal, oExtraData = null, bCompacted = false) { 34729 34730 if (bCompacted && oNodeCalendarDay.find(".ctl-calendar-day-item").length > 0) { 34731 34732 if (oNodeCalendarDay.closest(".modal").length == 0) { 34733 34734 var oConfigModal = { 34735 modal_content: oNodeCalendarDay.html(), 34736 modal_title: szTitle, 34737 position: "centered", 34738 wrapper_classes: "ctl-calendar-single-selection-mode", 34739 entrance_animation: "animate__slideInUp", 34740 exit_animation: "animate__slideOutDown" 34741 }; 34742 34743 var szAttributes = ""; 34744 if (idCreateModal) { 34745 szAttributes += 'data-general-create-modal-id="' + idCreateModal + '" '; 34746 oConfigModal["footer_buttons"] = [ 34747 '<button class="btn btn-primary ctl-calendar-show-create-modal" data-calendar-date-start="' + szDate + '" data-calendar-date-end="' + szDate + '" data-general-create-modal-id="' + idCreateModal + '"><i class="ctl-wp-studio-icons-plus"></i><span class="btn-text ml-2">' + 34748 g_oCTLCalendarLocalizationFront["Add"] + '</span></button>' 34749 ] 34750 } 34751 34752 if (idEditModal) { 34753 szAttributes += 'data-general-edit-modal-id="' + idEditModal + '" '; 34754 } 34755 34756 if (szAttributes.length > 0) { 34757 oConfigModal["attributes"] = szAttributes; 34758 } 34759 34760 g_oCTLBootstrapModals.showModal(oConfigModal); 34761 return; 34762 } 34763 } 34764 34765 var oData = { 34766 "calendar-date-start": szDate, 34767 "calendar-date-end": szDate, 34768 }; 34769 34770 if (oExtraData) { 34771 oData = jQuery.extend(oData, oExtraData); 34772 } 34773 34774 if (idCreateModal) { 34775 ctlCalendarWriteItem(idCreateModal, oData); 34776 } 34777} 34778 34779function ctlCalendarShowWeekDetail(oNodeCalendarWidget, oMoment, iDays, oDayItems) { 34780 34781 var aHideWeekDays = JSON.parse(Base64.decode(oNodeCalendarWidget.attr("data-hide-week-days"))); 34782 34783 var oNodeCalendarContent = oNodeCalendarWidget.find(".ctl-calendar-content"); 34784 34785 oNodeCalendarWidget[0]["offset-date"] = oMoment; 34786 34787 // crea elenco parent ids se necessario 34788 var aTestIds = []; 34789 var aParentIds = []; 34790 for (var szDay in oDayItems) { 34791 for (var i = 0; i < oDayItems[szDay].length; i++) { 34792 var oDayItem = oDayItems[szDay][i]; 34793 if (oDayItem["parent-id"] && aTestIds.includes(oDayItem["parent-id"]) == false) { 34794 aTestIds.push(oDayItem["parent-id"]); 34795 aParentIds.push({ id: oDayItem["parent-id"], label: oDayItem["parent-label"] }); 34796 } 34797 } 34798 } 34799 g_oCTLWPStudio.arraySortBy(aParentIds, "label"); 34800 34801 if (aParentIds.length > 0 && oNodeCalendarWidget.attr("data-group-data-by-parent") == "1") { 34802 oNodeCalendarWidget.addClass("ctl-calendar-group-by-parent"); 34803 } 34804 34805 var iHours = 24;
34806 var szExtraClasses = ""; 34807 34808 if (oNodeCalendarWidget.attr("data-disable-hour-interval") == "1") { 34809 iHours = 0; 34810 } 34811 34812 var html = ""; 34813 html += '<div class="ctl-calendar-week-header' + szExtraClasses + '">'; 34814 html += '<div class="row">'; 34815 34816 html += '<div class="col">'; 34817 html += '</div>'; 34818 34819 if (iDays == 1 && oNodeCalendarWidget.attr("data-group-data-by-parent") == "1" && 34820 aParentIds.length > 0 && jQuery("body").hasClass("bp-up-to-sm") == false) { 34821 34822 html += '<div class="col">'; 34823 34824 html += '<div class="container-fluid px-0">'; 34825 html += '<div class="row">'; 34826 34827 html += '<div class="col col-12">'; 34828 html += '<div class="ctl-calendar-cell">'; 34829 html += '<h3>...</h3>'; 34830 html += '</div>'; 34831 34832 html += '<div class="d-flex ctl-calendar-item-parent-labels-container">'; 34833 for (var j = 0; j < aParentIds.length; j++) { 34834 var oParent = aParentIds[j]; 34835 html += '<div class="ctl-calendar-item-parent-label" data-parent-id="' + oParent.id + '">'; 34836 html += '<div class="p-1 text-center">' + oParent.label + '</div>'; 34837 html += '</div>'; 34838 } 34839 html += '</div>'; 34840 html += '</div>'; 34841 html += '</div>'; 34842 html += '</div>'; 34843 34844 } else { 34845 34846 var oTmpMoment = oMoment.clone(); 34847 34848 for (var i = 0; i < iDays; i++) { 34849 34850 if (iDays > 1 && aHideWeekDays.includes(oTmpMoment.day())) { 34851 oTmpMoment.add(1, "days"); 34852 continue; 34853 } 34854 34855 html += '<div class="col ctl-calendar-date-header">'; 34856 html += '<div class="ctl-calendar-cell">'; 34857 html += '<h3>...</h3>'; 34858 html += '</div>'; 34859 html += '</div>'; 34860 34861 oTmpMoment.add(1, "days"); 34862 } 34863 } 34864 34865 html += '</div>'; 34866 html += '</div>'; 34867 34868 if (iDays == 1) { 34869 html += '<div class="ctl-calendar-week-body ctl-calendar-week-body-single-day' + szExtraClasses + '">'; 34870 } else { 34871 html += '<div class="ctl-calendar-week-body' + szExtraClasses + '">'; 34872 } 34873 34874 for (var i = -1; i < iHours; i++) { 34875 var szHour = i == -1 ? 'xx' : ctlCalendarPaddy(i, 2); 34876 34877 if (i == -1) { 34878 html += '<div class="row ctl-calendar-row ctl-calendar-row-full-day">'; 34879 html += '<div class="col ctl-calendar-hour">'; 34880 html += '<span>' + g_oCTLCalendarLocalizationFront["full day"] + '</span>'; 34881 html += '</div>'; 34882 } else { 34883 if (i == 0) { 34884 html += '<div class="ctl-calendar-hours-container">'; 34885 } 34886 html += '<div class="row ctl-calendar-row">'; 34887 html += '<div class="col ctl-calendar-hour">'; 34888 html += '<span>' + ctlCalendarPaddy(i, 2) + ":00" + '</span>'; 34889 html += '</div>'; 34890 } 34891 34892 var oTmpMoment = oMoment.clone(); 34893 34894 if (iDays == 1 && oNodeCalendarWidget.attr("data-group-data-by-parent") == "1" && 34895 aParentIds.length > 0 && jQuery("body").hasClass("bp-up-to-sm") == false) { 34896 34897 for (var j = 0; j < aParentIds.length; j++) { 34898 var oParent = aParentIds[j]; 34899 html += '<div data-mysql-date="' + oMoment.format("YYYY-MM-DD") + '" data-hour="' + szHour + '" class="col ctl-calendar-hourly-activity ctl-calendar-item-parent ctl-calendar-item-parent-id-' + oParent.id + ' ctl-calendar-hour-' + szHour + '" data-parent-id="' + oParent.id + '">'; 34900 html += '</div>'; 34901 } 34902 } else { 34903 for (var k = 0; k < iDays; k++) { 34904 34905 if (iDays > 1 && aHideWeekDays.includes(oTmpMoment.day())) { 34906 oTmpMoment.add(1, "days"); 34907 continue; 34908 } 34909 34910 html += '<div data-mysql-date="' + oMoment.format("YYYY-MM-DD") + '" data-hour="' + szHour + '" class="col ctl-calendar-hourly-activity ctl-calendar-hour-' + szHour + '">'; 34911 html += '</div>'; 34912 34913 oTmpMoment.add(1, "days"); 34914 } 34915 } 34916 34917 html += '</div>'; 34918 34919 } 34920 34921 html += '</div>'; // close ctl-calendar-hours-container 34922 html += '</div>'; 34923 34924 html += '</div>'; 34925 34926 oNodeCalendarContent.html(html); 34927} 34928 34929function ctlCalendarPaddy(num, padlen, padchar) { 34930 var pad_char = typeof padchar !== 'undefined' ? padchar : '0'; 34931 var pad = new Array(1 + padlen).join(pad_char);
34932 return (pad + num).slice(-pad.length); 34933} 34934 34935function ctlCalendarChangeViewMode(oNodeWidget) { 34936 var oNodeViewMode = oNodeWidget.find(".ctl-calendar-action-view-mode"); 34937 var oMoment = ctlCalendarMoment(oNodeWidget); 34938 34939 if (!oMoment.isValid()) { 34940 return; 34941 } 34942 34943 if (jQuery("body").hasClass("bp-up-to-sm") && oNodeViewMode.val() == "week") { 34944 oNodeViewMode.val("day").trigger("change"); 34945 return; 34946 } 34947 34948 switch (oNodeViewMode.val()) { 34949 case "month": { 34950 ctlCalendarShowMonthDetail(oNodeWidget, oMoment); 34951 } break; 34952 case "week": { 34953 ctlCalendarShowWeekDetail(oNodeWidget, oMoment, 7); 34954 } break; 34955 case "day": { 34956 ctlCalendarShowWeekDetail(oNodeWidget, oMoment, 1); 34957 } break; 34958 } 34959 34960 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 34961 ctlCalendarRefreshData(oNodeWidget); 34962} 34963 34964function ctlCalendarRefreshData(oNodeWidget) { 34965 34966 var oNodeViewMode = oNodeWidget.find(".ctl-calendar-action-view-mode"); 34967 var oNodeYear = oNodeWidget.find(".ctl-calendar-action-year"); 34968 var oNodeMonth = oNodeWidget.find(".ctl-calendar-action-month"); 34969 var oNodeDay = oNodeWidget.find(".ctl-calendar-action-day"); 34970 34971 var oOffsetDate = null; 34972 var oSelectedDate = moment(oNodeYear.val() + "-" + oNodeMonth.val() + "-" + oNodeDay.val(), "YYYY-MM-DD"); 34973 34974 oSelectedDate.locale(g_oCTLCalendarLocalizationFront["user_locale"]); 34975 34976 oOffsetDate = oSelectedDate; 34977 34978 oNodeWidget[0]["offset-date"] = oOffsetDate; 34979 34980 ctlCalendarUpdateBody(oNodeWidget, oNodeViewMode.val(), oOffsetDate, oSelectedDate); 34981} 34982 34983function ctlCalendarUpdateBody(oNodeCalendar, szViewMode, oMomentOffsetDate, oMomentSelectedDate) { 34984 34985 var aHideWeekDays = JSON.parse(Base64.decode(oNodeCalendar.attr("data-hide-week-days"))); 34986 34987 var oNodeForm = oNodeCalendar.find(".ctl-calendar-widget-form-date"); 34988 var oFormData = oNodeForm.serializeObject(); 34989 34990 var iCurrentDay = oMomentOffsetDate.format("D"); 34991 var iCurrentMonth = oMomentOffsetDate.format("M"); 34992 var iCurrentYear = oMomentOffsetDate.format("YYYY"); 34993 34994 oFormData['action'] = 'ctl-wp-studio'; 34995 oFormData['execute'] = 'ctl-calendar'; 34996 oFormData['extension-action'] = 'get-' + szViewMode; 34997 oFormData['cmonth'] = iCurrentMonth; 34998 oFormData['cday'] = iCurrentDay; 34999 oFormData['cyear'] = iCurrentYear; 35000 oFormData['get-params'] = g_oCTLWPStudio.getUrlParams(); 35001 35002 var idLoading = g_oCTLWPStudio.showLoading(""); 35003 35004 jQuery.ajax({ 35005 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 35006 type: "POST", 35007 data: oFormData, 35008 cache: false, 35009 method: 'POST', 35010 success: function (response, textStatus, jqXHR) { 35011 var oResponse = jQuery.parseJSON(response); 35012 35013 if (oResponse.res === false) { 35014 g_oCTLWPStudio.closeDlg(idLoading); 35015 if (oResponse.alert) { 35016 g_oCTLBootstrapModals.alert("", oResponse.alert); 35017 } 35018 } else { 35019 g_oCTLWPStudio.closeDlg(idLoading); 35020 35021 if (oResponse.items) { 35022 var oDayItems = {}; 35023 var aListItems = oResponse.items; 35024 for (var i = 0; i < aListItems.length; i++) { 35025 35026 // discard items for hidden days 35027 if ((szViewMode == "week" || szViewMode == "month") && 35028 aHideWeekDays.includes(moment(aListItems[i]["start"], "YYYY-MM-DD").day())) { 35029 continue; 35030 } 35031 35032 if (!oDayItems[aListItems[i]["start"]]) { 35033 oDayItems[aListItems[i]["start"]] = []; 35034 } 35035 oDayItems[aListItems[i]["start"]].push(aListItems[i]); 35036 } 35037 35038 ctlCalendarInit(oNodeCalendar, oMomentOffsetDate, szViewMode, oDayItems); 35039 35040 switch (szViewMode) { 35041 case "month": { 35042 __ctlCalendarUpdateBodyMonth(oNodeCalendar, 35043 oMomentOffsetDate, oDayItems, 35044 oResponse["compact-calendar-items"], 35045 oResponse["calendar-items-post-types"]); 35046 } break; 35047 case "week": { 35048 __ctlCalendarUpdateBodyWeek(oNodeCalendar, 35049 oResponse, oDayItems, 7); 35050 } break; 35051 case "day": { 35052 __ctlCalendarUpdateBodyWeek(oNodeCalendar, 35053 oResponse, oDayItems, 1); 35054 } break; 35055 } 35056 } 35057 35058 var url = window.location.href; 35059 35060 url = g_oCTLWPStudio.removeParameterFromUrl(url, "cday"); 35061 url = g_oCTLWPStudio.removeParameterFromUrl(url, "cmonth"); 35062 url = g_oCTLWPStudio.removeParameterFromUrl(url, "cyear"); 35063 url = g_oCTLWPStudio.removeParameterFromUrl(url, "cview"); 35064 35065 var oReturnedStartMomentDate = null; 35066 var oReturnedEndMomentDate = null; 35067 35068 if (szViewMode == "month") { 35069 oReturnedStartMomentDate = moment(oMomentOffsetDate.format("YYYY") + "-" + oMomentOffsetDate.format("MM") + "-01", 'YYYY-MM-DD'); 35070 oReturnedEndMomentDate = moment(oResponse.end, 'YYYY-MM-DD'); 35071 } else { 35072 oReturnedStartMomentDate = moment(oResponse.start, 'YYYY-MM-DD'); 35073 oReturnedEndMomentDate = moment(oResponse.end, 'YYYY-MM-DD'); 35074 } 35075 35076 var szCurrentDay = oReturnedStartMomentDate.format("DD"); 35077 var szCurrentMonth = oReturnedStartMomentDate.format("MM"); 35078 var szCurrentYear = oReturnedStartMomentDate.format("YYYY"); 35079 35080 var oNodeActionMonth = oNodeCalendar.find(".ctl-calendar-action-month"); 35081 var oNodeActionYear = oNodeCalendar.find(".ctl-calendar-action-year"); 35082 var oNodeActionDay = oNodeCalendar.find(".ctl-calendar-action-day"); 35083 var oNodeViewMode = oNodeCalendar.find(".ctl-calendar-action-view-mode"); 35084 35085 35086 url = g_oCTLWPStudio.addParameterToUrl(url, "cmonth", oMomentSelectedDate.format("MM")); 35087 url = g_oCTLWPStudio.addParameterToUrl(url, "cyear", oMomentSelectedDate.format("YYYY")); 35088 url = g_oCTLWPStudio.addParameterToUrl(url, "cday", oMomentSelectedDate.format("DD")); 35089 35090 url = g_oCTLWPStudio.addParameterToUrl(url, "cview", oNodeViewMode.val()); 35091 35092 window.history.pushState(document.title, "", url); 35093 35094 var monthDate = moment(szCurrentYear + '-' + szCurrentMonth, 'YYYY-MM'); 35095 var daysInMonth = monthDate.daysInMonth(); 35096 var arrDays = []; 35097 while (daysInMonth) { 35098 var current = moment().date(daysInMonth); 35099 arrDays.push(current.format('YYYY-MM-DD')); 35100 daysInMonth--; 35101 } 35102 arrDays = arrDays.reverse(); 35103 35104 35105 oNodeActionMonth.removeClass("d-none"); 35106 oNodeActionYear.removeClass("d-none"); 35107 35108 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 35109 } 35110 35111 g_oCTLWPStudio.applyChromaCorrection(); 35112 35113 jQuery(".chroma-apply-correction").each(function () { 35114 var szBGColor = jQuery(this).css("background-color"); 35115 35116 if (!szBGColor || szBGColor == "rgba(0, 0, 0, 0)" || szBGColor == "transparent") { 35117 return; 35118 } 35119 jQuery(this).css("color", (chroma(szBGColor).luminance() < 0.5 ? "color : #fff;" : "")); 35120 }); 35121 }, 35122 error: function (jqXHR, textStatus, errorThrown) { 35123 g_oCTLWPStudio.closeDlg(idLoading); 35124 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 35125 } 35126 }); 35127} 35128 35129function __ctlCalendarRefreshEditorFilters(oNodeCalendar, aFoundEditors) { 35130 35131 if (oNodeCalendar.attr("data-editor-filter") === "0") { 35132 return; 35133 } 35134 35135 let aFilterEditors = {}; 35136 let szStateFilterEditors = oNodeCalendar.attr("data-state-filter-editors"); 35137 35138 if (szStateFilterEditors !== undefined && szStateFilterEditors !== "") { 35139 aStateFilterEditors = JSON.parse(szStateFilterEditors); 35140 aFilterEditors = aStateFilterEditors["editors"]; 35141 } 35142 35143 let idMe = jQuery("body").attr("data-user-id"); 35144 35145 let aSortedEditors = []; 35146 35147 let aFullEditorList = oNodeCalendar.attr("data-editors-list"); 35148 if (aFullEditorList) { 35149 aSortedEditors = JSON.parse(Base64.decode(aFullEditorList)); 35150 }else{ 35151 if (idMe && aFoundEditors["user-" + idMe]) { 35152 aSortedEditors.push(aFoundEditors["user-" + idMe]); 35153 } 35154 for (var key in aFoundEditors) { 35155 if (idMe && key == "user-" + idMe) { 35156 continue; 35157 } 35158 aSortedEditors.push(aFoundEditors[key]); 35159 } 35160 35161 // sort array by label 35162 aSortedEditors.sort(function (a, b) { 35163 if (a.label < b.label) { 35164 return -1; 35165 } 35166 if (a.label > b.label) { 35167 return 1; 35168 } 35169 return 0; 35170 }); 35171 } 35172 35173 var html = ""; 35174 let iCountSelectedEditors = 0; 35175 35176 for (let i = 0; i < aSortedEditors.length; i++) { 35177 35178 var oFoundEditor = aSortedEditors[i]; 35179 let bChecked = false;
35180 35181 for (let key in aFilterEditors) { 35182 if (aFilterEditors[key].id === oFoundEditor.id) { 35183 bChecked = aFilterEditors[key].visibility; 35184 break; 35185 } 35186 } 35187 35188 if (bChecked) { 35189 iCountSelectedEditors++; 35190 } 35191 35192 // count elements 35193 let iCountEditorElements = oNodeCalendar.find(".ctl-calendar-day-item-editor-stripe-" + oFoundEditor.id).length; 35194 35195 var szLabel = '<div class="badge d-flex justify-content-between align-items-center mt-1" style="' + 35196 (chroma(oFoundEditor.color).luminance() < 0.5 ? "color : #fff;" : "") + 35197 ';background-color:' + oFoundEditor.color + ';"><span class="ctl-calendar-editor-label text-left text-break text-wrap">' + 35198 String(oFoundEditor["label"]).trim() + '</span>' + ( iCountEditorElements > 0 ? '<span class="text-right ctl-calendar-editor-items-count">(' + iCountEditorElements + ')</span>' : "") + 35199 '</span></div>'; 35200 35201 let guid = g_oCTLWPStudio.makeCode(4); 35202 35203 html += '<div class="col-6 col-sm-4 col-md-12 custom-control custom-checkbox mb-0">'; 35204 html += '<div class="container-fluid">'; 35205 html += '<div class="row">'; 35206 html += '<input class="custom-control-input col-auto" type="checkbox" id="' + guid + '" value="' + oFoundEditor.id 35207 + '" name="' + "editor-" + oFoundEditor.id + '" ' + (bChecked ? 'checked' : '') + '/>'; 35208 35209 html += '<label class="custom-control-label col ml-3" role="button" for="' + guid + 35210 '">' + szLabel + '</label>'; 35211 html += '</div>'; 35212 html += '</div>'; 35213 html += '</div>'; 35214 } 35215 35216 if (aSortedEditors.length > 0) { 35217 html += '<div class="col-12">'; 35218 if (iCountSelectedEditors == aSortedEditors.length) { 35219 html += '<button data-state="true" class="btn btn-xs btn-outline-warning w-100 mt-2 ctl-calendar-toggle-filter-editors"><i class="fa-solid fa-square"></i><span class="ml-1">' + g_oCTLCalendarLocalizationFront["Uncheck them all"] + '</span></button>'; 35220 } else { 35221 html += '<button data-state="false" class="btn btn-xs btn-outline-success w-100 mt-2 ctl-calendar-toggle-filter-editors"><i class="fa-solid fa-square-check"></i><span class="ml-1">' + g_oCTLCalendarLocalizationFront["Select them all"] + '</span></button>'; 35222 } 35223 html += '</div>'; 35224 } 35225 35226 oNodeCalendar.find(".ctl-calendar-filter-users > .row").html(html); 35227} 35228 35229function __ctlCalendarparseTime(str) { 35230 const [hours, minutes] = str.split(":").map(Number); 35231 const date = new Date(); 35232 date.setHours(hours, minutes, 0, 0); 35233 return date; 35234} 35235 35236function __ctlCalendarhasOverlap(startA, endA, startB, endB) { 35237 const start1 = __ctlCalendarparseTime(startA); 35238 const end1 = __ctlCalendarparseTime(endA); 35239 const start2 = __ctlCalendarparseTime(startB); 35240 const end2 = __ctlCalendarparseTime(endB); 35241 35242 return start1 < end2 && start2 < end1; 35243} 35244 35245function __ctlCalendarcheckIslandOfOverlappedItems(oNodeCalendar, aDayElements) { 35246 35247 let bGroupDayItemsByParent = false; 35248 let szViewMode = oNodeCalendar.find(".ctl-calendar-action-view-mode").val(); 35249 35250 if (szViewMode == "day" && oNodeCalendar.attr("data-group-data-by-parent") == "1" && 35251 jQuery("body").hasClass("bp-up-to-sm") == false) { 35252 bGroupDayItemsByParent = true; 35253 } 35254 35255 let aIslands = []; 35256 let oOverlappedOffsets = {}; 35257 35258 for (let i = 0; i < aDayElements.length; i++) { 35259 var oNodeDayItem = aDayElements[i]; 35260 35261 var iStartHour = Number(oNodeDayItem.attr("data-start-hour")); 35262 var iEndHour = Number(oNodeDayItem.attr("data-end-hour")); 35263 var iStartMinutes = Number(oNodeDayItem.attr("data-start-minutes")); 35264 var iEndMinutes = Number(oNodeDayItem.attr("data-end-minutes")); 35265 35266 if (iStartHour === 0 && iStartMinutes === 0 && 35267 iEndHour === 0 && iEndMinutes === 0) { 35268 continue; 35269 } 35270 35271 var szStartTime = sprintf("%02d:%02d", iStartHour, iStartMinutes); 35272 var szEndTime = sprintf("%02d:%02d", iEndHour, iEndMinutes); 35273 35274 // check if the day item is already inserted in an island 35275 let bInsertedInIsland = false;
35276 for (let k = 0; k < aIslands.length; k++) { 35277 let aCurrentIsland = aIslands[k]; 35278 35279 for (let m = 0; m < aCurrentIsland.length; m++) { 35280 let oIslandItem = aCurrentIsland[m]; 35281 35282 if (oIslandItem.attr("data-id") == oNodeDayItem.attr("data-id")) { 35283 bInsertedInIsland = true; 35284 break; 35285 } 35286 } 35287 35288 if (bInsertedInIsland) { 35289 break; 35290 } 35291 } 35292 35293 // not inserted in island, check overlaps with the next items 35294 if (!bInsertedInIsland) { 35295 for (let k = 0; k < aIslands.length; k++) { 35296 let aCurrentIsland = aIslands[k]; 35297 let j=0; 35298 for (let m = 0; m < aCurrentIsland.length; m++) { 35299 let oIslandItem = aCurrentIsland[m]; 35300 35301 var iOtherStartHour = Number(oIslandItem.attr("data-start-hour")); 35302 var iOtherEndHour = Number(oIslandItem.attr("data-end-hour")); 35303 var iOtherStartMinutes = Number(oIslandItem.attr("data-start-minutes")); 35304 var iOtherEndMinutes = Number(oIslandItem.attr("data-end-minutes")); 35305 35306 if (__ctlCalendarhasOverlap( 35307 szStartTime, 35308 szEndTime, 35309 sprintf("%02d:%02d", iOtherStartHour, iOtherStartMinutes), 35310 sprintf("%02d:%02d", iOtherEndHour, iOtherEndMinutes) 35311 )) { 35312 35313 if (bGroupDayItemsByParent && 35314 oNodeDayItem.attr("data-parent-id") != oIslandItem.attr("data-parent-id")) { 35315 continue; 35316 } 35317 35318 bInsertedInIsland = true; 35319 35320 oOverlappedOffsets["id-" + oNodeDayItem.attr("data-id")] = j + 1; 35321 j++; 35322 aCurrentIsland.push(oNodeDayItem); 35323 break; 35324 } 35325 } 35326 35327 if (bInsertedInIsland) { 35328 break; 35329 } 35330 } 35331 } 35332 35333 if (!bInsertedInIsland) { 35334 oOverlappedOffsets["id-" + oNodeDayItem.attr("data-id")] = 0; 35335 aIslands.push([oNodeDayItem]); 35336 } 35337 } 35338 35339 return { 35340 'islands': aIslands, 35341 'offsets': oOverlappedOffsets 35342 }; 35343} 35344 35345function __ctlCalendarAdaptDayItems(oNodeCalendar) { 35346 35347 var k = -1; 35348 35349 if (jQuery("body").hasClass("bp-up-to-sm")) { 35350 if (oNodeCalendar.find(".ctl-calendar-action-view-mode").val() == "week") { 35351 oNodeCalendar.find(".ctl-calendar-action-view-mode").val("day").trigger("change"); 35352 return; 35353 } else if (oNodeCalendar.find(".ctl-calendar-action-view-mode").val() == "day" && 35354 oNodeCalendar.find(".ctl-calendar-item-parent-labels-container").length > 0) { 35355 oNodeCalendar.find(".ctl-calendar-action-view-mode").val("day").trigger("change"); 35356 return; 35357 } 35358 } else { 35359 if (oNodeCalendar.find(".ctl-calendar-action-view-mode").val() == "day" && 35360 oNodeCalendar.attr("data-group-data-by-parent") == "1" && 35361 oNodeCalendar.hasClass("ctl-calendar-group-by-parent") && 35362 oNodeCalendar.find(".ctl-calendar-item-parent-labels-container").length == 0) { 35363 oNodeCalendar.removeClass("ctl-calendar-group-by-parent") 35364 oNodeCalendar.find(".ctl-calendar-action-view-mode").val("day").trigger("change"); 35365 return; 35366 } 35367 } 35368 35369 // check if manage overlapped items is enabled 35370 if (oNodeCalendar.attr("data-manage-overlapped-items-in-week-day-view") === "1") { 35371 //CODICE OVERLAP 35372 35373 var aColumns = {}; 35374 oNodeCalendar.find(".ctl-calendar-week-body .ctl-calendar-hourly-activity").each(function () { 35375 35376 var szDate = jQuery(this).attr("data-mysql-date"); 35377 jQuery(this).find(".ctl-calendar-day-item").each(function () { 35378 35379 if (jQuery(this).closest(".ctl-calendar-dolly-items").length > 0) { 35380 return; 35381 } 35382 35383 if (!aColumns[szDate]) { 35384 aColumns[szDate] = []; 35385 } 35386 aColumns[szDate].push(jQuery(this)); 35387 }); 35388 35389 35390 if (jQuery(this).find(".ctl-calendar-dolly-items").length == 0) { 35391 jQuery(this).append('<div class="ctl-calendar-dolly-items"></div>'); 35392 35393 jQuery(this).find(".ctl-calendar-day-item").each(function () { 35394 35395 var oNodeDayItem = jQuery(this); 35396 var iStartHour = Number(oNodeDayItem.attr("data-start-hour")); 35397 var iEndHour = Number(oNodeDayItem.attr("data-end-hour")); 35398 var iStartMinutes = Number(oNodeDayItem.attr("data-start-minutes")); 35399 var iEndMinutes = Number(oNodeDayItem.attr("data-end-minutes")); 35400 35401 if (iStartHour === 0 && iStartMinutes === 0 && 35402 iEndHour === 0 && iEndMinutes === 0) { 35403 return; 35404 } 35405 35406 jQuery(this).clone().appendTo(jQuery(this).closest(".ctl-calendar-hourly-activity").find(".ctl-calendar-dolly-items")); 35407 jQuery(this).css("visibility", "hidden"); 35408 }); 35409 } 35410 }); 35411 } 35412 35413 35414 for (var szDate in aColumns) { 35415 let iOffsetX = 0; 35416 35417 let oResult = __ctlCalendarcheckIslandOfOverlappedItems(oNodeCalendar, aColumns[szDate]); 35418 let aIslands = oResult["islands"]; 35419 let oOffsets = oResult["offsets"]; 35420 35421 // iteriamo i calendar item di una giornata singola 35422 for (let i = 0; i < aColumns[szDate].length; i++) { 35423 35424 // calendar item del giorno szDate 35425 var oNodeDayItem = aColumns[szDate][i]; 35426 35427 var iStartHour = Number(oNodeDayItem.attr("data-start-hour")); 35428 var iEndHour = Number(oNodeDayItem.attr("data-end-hour")); 35429 var iStartMinutes = Number(oNodeDayItem.attr("data-start-minutes")); 35430 var iEndMinutes = Number(oNodeDayItem.attr("data-end-minutes")); 35431 35432 // escludiamo i fullday 35433 if (iStartHour === 0 && iStartMinutes === 0 && 35434 iEndHour === 0 && iEndMinutes === 0) { 35435 continue; 35436 } 35437 35438 var iNumHours = (iEndHour - iStartHour); 35439 var oNodeStartingHour = oNodeCalendar.find(":not(.ctl-calendar-dolly-items) .ctl-calendar-hour-" + sprintf("%02d", iStartHour)); 35440 var oNodeEndingHour = oNodeCalendar.find(":not(.ctl-calendar-dolly-items) .ctl-calendar-hour-" + sprintf("%02d", iEndHour)); 35441 35442 var oNodeDollyItem = oNodeDayItem.closest(".ctl-calendar-hourly-activity").find(".ctl-calendar-dolly-items .ctl-calendar-day-item").eq(oNodeDayItem.index()); 35443 var iStartingHeight = oNodeDayItem.outerHeight(); 35444 35445 iOffsetX = oOffsets["id-" + oNodeDayItem.attr("data-id")]; 35446 35447 let fFinalOffset = iOffsetX * 30 + 5; 35448 oNodeDollyItem.css("left", fFinalOffset + "px"); 35449 oNodeDollyItem.css("right", "5px"); 35450 oNodeDollyItem.css("width", "calc( 100% - " + fFinalOffset + "px) !important"); 35451 35452 // how minutes correspond to iStartHour : iStartMinutes and iEndHour : iEndMinutes 35453 var iMinutesInTotal = (iNumHours * 60) + (iEndMinutes - iStartMinutes); 35454 var iMinuteHeight = iStartingHeight / iMinutesInTotal; 35455 var iTotalHeight = 0; 35456 35457 for (var k = 0; k < iNumHours + 1; k++) { 35458 var oNodeHour = oNodeCalendar.find(".ctl-calendar-hour-" + sprintf("%02d", (iStartHour + k))); 35459 let iMinutesHeightToTest = 60; 35460 35461 if (k == 0) {
35462 iMinutesHeightToTest = 60 - iStartMinutes; 35463 } else if (k == iNumHours) { 35464 iMinutesHeightToTest = iEndMinutes; 35465 } 35466 35467 let iFoundHourHeight = 40; 35468 oNodeHour.find(".ctl-calendar-day-item").each(function () { 35469 if ( iFoundHourHeight < jQuery(this).height() ) { 35470 iFoundHourHeight = jQuery(this).height(); 35471 } 35472 }); 35473 35474 let fPartialHeight = (oNodeHour.outerHeight() / 60) * iMinutesHeightToTest; 35475 35476 if (k == iNumHours && (iTotalHeight + fPartialHeight) < iStartingHeight ) { 35477 35478 let fCurrentMinuteHeight = (iStartingHeight - iTotalHeight) / iMinutesHeightToTest; 35479 35480 // fixfix 35481 //oNodeHour.css("height", (fCurrentMinuteHeight * 60) + "px"); 35482 35483 fPartialHeight = ((fCurrentMinuteHeight * 60) / 60) * iMinutesHeightToTest; 35484 } 35485 35486 iTotalHeight += fPartialHeight; 35487 } 35488 35489 var iOffsetTop = (oNodeStartingHour.outerHeight() / 60) * iStartMinutes; 35490 35491 oNodeDollyItem.find(".ctl-calendar-day-item-bg").css("height", iTotalHeight + "px"); 35492 oNodeDollyItem.css("height", iTotalHeight + "px"); 35493 35494 oNodeDollyItem.css("top", iOffsetTop + "px"); 35495 35496 iOffsetX++; 35497 } 35498 } 35499 35500 let szViewMode = oNodeCalendar.find(".ctl-calendar-action-view-mode").val(); 35501 35502 if (szViewMode != "day") { 35503 for (var n = 0; n < oNodeCalendar.find(".ctl-calendar-row").length; n++) { 35504 let oNodeRow = oNodeCalendar.find(".ctl-calendar-row").eq(n); 35505 if (szViewMode !== "month" && !oNodeRow.hasClass("ctl-calendar-row-full-day")) { 35506 continue; 35507 } 35508 __ctlCalendarItemOptimizeHeightForMonth(oNodeRow); 35509 } 35510 } 35511} 35512 35513function __ctlCalendarUpdateEditorState(oNodeCalendar, aStateFilterEditors, idEditor, idMe, bShowEditors) { 35514 35515 if (!aStateFilterEditors["editors"]["editor-" + idEditor]) { 35516 35517 aStateFilterEditors["editors"]["editor-" + idEditor] = { 35518 id: idEditor 35519 }; 35520 35521 if (aStateFilterEditors.loaded == true) { 35522 if (idMe == idEditor) { 35523 aStateFilterEditors["editors"]["editor-" + idEditor]["visibility"] = true; 35524 } else { 35525 aStateFilterEditors["editors"]["editor-" + idEditor]["visibility"] = bShowEditors; 35526 } 35527 } else { 35528 if (!bShowEditors) { 35529 if (idMe == idEditor) { 35530 aStateFilterEditors["editors"]["editor-" + idEditor]["visibility"] = true; 35531 } else { 35532 aStateFilterEditors["editors"]["editor-" + idEditor]["visibility"] = false; 35533 } 35534 } else { 35535 aStateFilterEditors["editors"]["editor-" + idEditor]["visibility"] = true; 35536 } 35537 } 35538 } 35539 35540 return aStateFilterEditors; 35541} 35542 35543function __ctlCalendarUpdateBodyWeek(oNodeCalendar, oData, oDayItems, iDays) { 35544 35545 var aFestivityDays = []; 35546 if (oNodeCalendar.attr("data-festivity") === "1") { 35547 aFestivityDays = ctlCalendarGetFestivityDays(oNodeCalendar); 35548 } 35549 35550 var aFestivityWeekDays = JSON.parse(Base64.decode(oNodeCalendar.attr("data-festivity-week-days"))); 35551 var szToday = moment().format("YYYY-MM-DD"); 35552 35553 oReturnedMomentDate = moment(oData.start, 'YYYY-MM-DD').locale(g_oCTLCalendarLocalizationFront["user_locale"]); 35554 var oNodeWeekDays = oNodeCalendar.find(".ctl-calendar-week-header h3"); 35555 35556 oNodeCalendar.find(".ctl-calendar-hourly-activity").each(function () { 35557 var aClasses = jQuery(this).attr("class").split(" "); 35558 for (var i = 0; i < aClasses.length; i++) { 35559 if (aClasses[i].indexOf("ctl-calendar-date-") == 0) { 35560 aClasses.splice(i, 1); 35561 break; 35562 } 35563 } 35564 var szClasses = ""; 35565 for (var i = 0; i < aClasses.length; i++) { 35566 szClasses += aClasses[i] + " "; 35567 } 35568 35569 jQuery(this).attr("class", szClasses); 35570 jQuery(this).html(''); 35571 }); 35572 35573 let iStartColIndex = 1; 35574 35575 for (var i = 0; i < 24; i++) { 35576 var oNodeRow = oNodeCalendar.find(".ctl-calendar-week-body > .row, .ctl-calendar-hours-container > .row").eq(i); 35577 var oDateCloned = oReturnedMomentDate.clone(); 35578 let aNodesCols = oNodeRow.find(".col"); 35579 35580 for (var k = iStartColIndex; k < aNodesCols.length; k++) { 35581 var oNodeCol = aNodesCols.eq(k); 35582 35583 oNodeCol.attr("data-mysql-date", oDateCloned.format("YYYY-MM-DD")); 35584 oNodeCol.addClass("ctl-calendar-date-" + oDateCloned.format("YYYY-MM-DD")); 35585 35586 if (iDays > 1) { 35587 oDateCloned.add(1, 'days'); 35588 } 35589 } 35590 } 35591 35592 var oDateCloned = oReturnedMomentDate.clone(); 35593 35594 let szDateLabel = oDateCloned.format("MMMM"); 35595 35596 for (var i = 0;
35596 i < iDays; i++) { 35597 35598 var szCurDay = oDateCloned.format("YYYY-MM-DD"); 35599 var szDateDay = oDateCloned.format("MM") + "-" + 35600 oDateCloned.format("DD"); 35601 35602 if (aFestivityDays.indexOf(szDateDay) >= 0 || 35603 aFestivityWeekDays.indexOf(oDateCloned.format("d")) >= 0) { 35604 oNodeWeekDays.eq(i).closest(".ctl-calendar-cell").addClass("ctl-calendar-day-festivity"); 35605 } else { 35606 oNodeWeekDays.eq(i).closest(".ctl-calendar-cell").removeClass("ctl-calendar-day-festivity"); 35607 } 35608 35609 if (szToday == szCurDay) { 35610 oNodeWeekDays.eq(i).closest(".ctl-calendar-cell").addClass("ctl-calendar-day-today"); 35611 } else { 35612 oNodeWeekDays.eq(i).closest(".ctl-calendar-cell").removeClass("ctl-calendar-day-today"); 35613 } 35614 35615 if (iDays > 1) { 35616 oNodeWeekDays.eq(i).closest(".ctl-calendar-date-header").addClass("ctl-calendar-date-header-" + szCurDay); 35617 } 35618 35619 oNodeWeekDays.eq(i).attr("data-day", szCurDay); 35620 if (iDays == 1) { 35621 oNodeWeekDays.eq(i).html('<span class="ctl-calendar-day-inline-date">' + oDateCloned.format("YYYY MMMM D (dddd)") + '</span>'); 35622 } else { 35623 oNodeWeekDays.eq(i).html("<span>" + oDateCloned.format("ddd") + "<br>" + oDateCloned.format("D") + "</span>"); 35624 } 35625 35626 oDateCloned.add(1, 'days'); 35627 } 35628 35629 if (iDays > 1) { 35630 let szLastYear = oDateCloned.format("YYYY"); 35631 let szLastMonth = oDateCloned.format("MMMM"); 35632 35633 if (szLastYear != oReturnedMomentDate.format("YYYY")) { 35634 szDateLabel += ' ' + oReturnedMomentDate.format("YYYY"); 35635 } 35636 35637 if (szLastMonth != szDateLabel) { 35638 szDateLabel += " - " + szLastMonth + ' ' + szLastYear; 35639 } else { 35640 szDateLabel += ' ' + oReturnedMomentDate.format("YYYY"); 35641 } 35642 } else { 35643 szDateLabel += ' ' + oReturnedMomentDate.format("YYYY"); 35644 } 35645 35646 oNodeCalendar.find(".ctl-calendar-current-date-label").html(szDateLabel); 35647 35648 let aFoundEditors = {}; 35649 35650 let idMe = Number(jQuery("body").attr("data-user-id")); 35651 let bShowEditors = oNodeCalendar.attr("data-editor-filter-self") == "1" ? false : true; 35652 let aStateFilterEditors = { loaded: false, editors: {} }; 35653 35654 if (oNodeCalendar.attr("data-state-filter-editors")) { 35655 let szStateFilterEditors = oNodeCalendar.attr("data-state-filter-editors"); 35656 aStateFilterEditors = JSON.parse(szStateFilterEditors); 35657 } 35658 35659 for (var szDay in oDayItems) { 35660 35661 oDayItems[szDay].sort(function (a, b) { 35662 var dateA = new Date(a["start-local"]); 35663 var dateB = new Date(b["start-local"]); 35664 return dateA - dateB; 35665 }); 35666 35667 for (var i = 0; i < oDayItems[szDay].length; i++) { 35668 var oDayItem = oDayItems[szDay][i]; 35669 35670 var html = ""; 35671 var szCalendarHour = moment(oDayItem["start-local"], "YYYY-MM-DD HH:mm:ss").format("HH"); 35672 var szStartHour = moment(oDayItem["start-local"], "YYYY-MM-DD HH:mm:ss").format("H"); 35673 var szEndHour = moment(oDayItem["end-local"], "YYYY-MM-DD HH:mm:ss").format("H"); 35674 var szStartMinutes = moment(oDayItem["start-local"], "YYYY-MM-DD HH:mm:ss").format("m"); 35675 var szEndMinutes = moment(oDayItem["end-local"], "YYYY-MM-DD HH:mm:ss").format("m"); 35676 35677 var szEditorClasses = ""; 35678 let szItemClasses = ""; 35679 35680 if (oDayItem["classes"]) { 35681 szItemClasses += " " + oDayItem["classes"]; 35682 } 35683 35684 if (oDayItem["editors"]) { 35685 for (var k = 0; k < oDayItem["editors"].length; k++) { 35686 szEditorClasses += " ctl-calendar-day-item-editor-" + oDayItem["editors"][k].id; 35687 } 35688 } 35689 35690 szEditorClasses = szEditorClasses.trim(); 35691 35692 if (oDayItem["period"] == "interval") { 35693 switch (oDayItem["interval-section"]) { 35694 case "start": 35695 case "middle": 35696 case "end": { 35697 szItemClasses += " ctl-calendar-day-item-interval ctl-calendar-day-item-interval-" + oDayItem["interval-section"]; 35698 35699 if (szStartHour != "0" || szStartMinutes != "0" || szEndHour != "0" || szEndMinutes != "0") {
35700 szItemClasses += " visible-item-label"; 35701 } 35702 35703 } break; 35704 case "middle-start": { 35705 szItemClasses += " ctl-calendar-day-item-interval ctl-calendar-day-item-interval-middle visible-item-label"; 35706 } break; 35707 case "end-single-item": { 35708 szItemClasses += " ctl-calendar-day-item-interval ctl-calendar-day-item-interval-end visible-item-label"; 35709 } break; 35710 } 35711 } else if (oDayItem["period"] == "single") { 35712 szItemClasses += " ctl-calendar-day-item-single"; 35713 } 35714 35715 html += '<div class="ctl-calendar-day-item chroma-apply-correction ' 35716 + szEditorClasses + ' ' + szItemClasses + '" data-cpt="' + oDayItem["post-type"] 35717 + '" data-id="' + oDayItem["post-id"] + '"'; 35718 35719 html += ' data-start-hour="' + szStartHour + '"'; 35720 html += ' data-end-hour="' + szEndHour + '"'; 35721 35722 html += ' data-start-minutes="' + szStartMinutes + '"'; 35723 html += ' data-end-minutes="' + szEndMinutes + '"'; 35724 35725 if (oDayItem["edit-modal-id"]) { 35726 html += ' data-edit-modal-id="' + oDayItem["edit-modal-id"] + '"'; 35727 35728 if (oDayItem["edit-modal-referral"]) { 35729 html += ' data-edit-modal-referral="' + oDayItem["edit-modal-referral"] + '"'; 35730 } else { 35731 html += ' data-edit-modal-referral="post-id"'; 35732 } 35733 } 35734 35735 if (oDayItem["parent-id"]) { 35736 html += ' data-parent-id="' + oDayItem["parent-id"] + '"'; 35737 } 35738 35739 html += ' style="background-color: ' + oDayItem["post-color"] + ';"'; 35740 35741 html += '>'; 35742 35743 html += '<div class="ctl-calendar-day-item-bg chroma-apply-correction" style="background-color: ' + 35744 oDayItem["post-color"] + ';"></div>'; 35745 35746 if (oDayItem["link"]) { 35747 html += '<a class="text-reset ctl-calendar-day-item-link ctl-show-loading" href="' + oDayItem["link"] + '">'; 35748 } 35749 35750 html += '<div class="ctl-calendar-day-item-label">'; 35751 35752 if (oDayItem["editors"]) { 35753 35754 let szClassesEditorsStripe = "ctl-calendar-day-item-editor-stripe-container pt-2"; 35755 35756 html += '<div class="' + szClassesEditorsStripe + '">'; 35757 35758 for (var k = 0; k < oDayItem["editors"].length; k++) { 35759 if (!aFoundEditors["editor-" + oDayItem["editors"][k].id]) { 35760 aFoundEditors["editor-" + oDayItem["editors"][k].id] = oDayItem["editors"][k]; 35761 35762 aStateFilterEditors = __ctlCalendarUpdateEditorState(oNodeCalendar, aStateFilterEditors, 35763 oDayItem["editors"][k].id, idMe, bShowEditors); 35764 } 35765 35766 html += '<div class="ctl-calendar-day-item-editor-stripe ctl-calendar-day-item-editor-stripe-' + oDayItem["editors"][k].id + '" style="background-color:' + oDayItem["editors"][k].color + ';"></div>'; 35767 } 35768 html += '</div>'; 35769 35770 } 35771 html += '<div class="ctl-calendar-day-item-label-content">'; 35772 html += oDayItem["label"]; 35773 html += '</div>'; 35774 html += '</div>'; 35775 35776 if (oDayItem["link"]) { 35777 html += '</a>'; 35778 } 35779 35780 html += '</div>' 35781 35782 let oNodeBodyWeekColumn = jQuery(html); 35783 35784 if (szStartHour == "0" && szStartMinutes == "0" && szEndHour == "0" && szEndMinutes == "0") { 35785 jQuery(".ctl-calendar-date-" + szDay + ".ctl-calendar-hour-xx").append(oNodeBodyWeekColumn); 35786 } else { 35787 35788 if (iDays == 1 && oNodeCalendar.attr("data-group-data-by-parent") == "1" && oDayItem["parent-id"] && 35789 jQuery("body").hasClass("bp-up-to-sm") == false) { 35790 jQuery(".ctl-calendar-date-" + szDay + ".ctl-calendar-hour-" + szCalendarHour + ".ctl-calendar-item-parent-id-" + oDayItem["parent-id"]).append(oNodeBodyWeekColumn); 35791 } else { 35792 jQuery(".ctl-calendar-date-" + szDay + ".ctl-calendar-hour-" + szCalendarHour + "").append(oNodeBodyWeekColumn); 35793 } 35794 } 35795 } 35796 } 35797 35798 aStateFilterEditors.loaded = true; 35799 oNodeCalendar.attr("data-state-filter-editors", JSON.stringify(aStateFilterEditors)); 35800 __ctlCalendarRefreshEditorsVisibility(oNodeCalendar); 35801 35802 __ctlCalendarNormalizeWeekIntervalItems(oNodeCalendar); 35803 __ctlCalendarRefreshEditorFilters(oNodeCalendar, aFoundEditors); 35804 __ctlCalendarAdaptDayItems(oNodeCalendar); 35805 35806 // se disabilitato è 0 altrimenti è maggiore di 0 e mostrerà l'orario 35807 let iShowStartHoursScroll = parseInt(oNodeCalendar.attr("data-start-hours-scroll")); 35808 35809 if (iShowStartHoursScroll > 0) { 35810 let iShowVisibileHoursScroll = parseInt(oNodeCalendar.attr("data-visible-hours-scroll")); 35811 __ctlCalendarVisibleHoursScrollLimitedView(oNodeCalendar, iShowStartHoursScroll, iShowVisibileHoursScroll); 35812 } 35813} 35814 35815function __ctlTableCalendarUpdateBodyMonth(oNodeTableCalendar, idResource, oDayItems) { 35816 var oNodeTR = oNodeTableCalendar.find("tr[data-resource-id='" + idResource + "']"); 35817 var oNodeTableWrapper = oNodeTableCalendar.closest(".ctl-theme-table-main-wrapper"); 35818 var iMinwidth = oNodeTableWrapper.attr("data-period-cell-min-width"); 35819 35820 console.log(oDayItems); 35821 35822 for (var szFullDate in oDayItems) { 35823 var html = ""; 35824 html += '<div class="ctl-table-calendar-day-content">'; 35825 35826 html += '<ul class="ctl-table-calendar-day-item-list">'; 35827 35828 for (var i = 0; i < oDayItems[szFullDate].length; i++) { 35829 var oDayItem = oDayItems[szFullDate][i]; 35830 35831 var szEditorClasses = ""; 35832 for (var z = 0; z < oDayItem["editors"].length; z++) { 35833 szEditorClasses += " ctl-calendar-day-item-editor-" + oDayItem["editors"][z].id; 35834 } 35835 szEditorClasses = szEditorClasses.trim(); 35836 35837 let szItemClasses = ""; 35838 35839 if (oDayItem["classes"]) {
35840 szItemClasses += " " + oDayItem["classes"]; 35841 } 35842 35843 if (oDayItem["period"] == "interval") { 35844 switch (oDayItem["interval-section"]) { 35845 case "start": 35846 case "middle": 35847 case "end": { 35848 szItemClasses += " ctl-calendar-day-item-interval ctl-calendar-day-item-interval-" + oDayItem["interval-section"]; 35849 35850 } break; 35851 case "middle-start": { 35852 szItemClasses += " ctl-calendar-day-item-interval ctl-calendar-day-item-interval-middle visible-item-label"; 35853 } break; 35854 case "end-single-item": { 35855 szItemClasses += " ctl-calendar-day-item-interval ctl-calendar-day-item-interval-end visible-item-label"; 35856 } break; 35857 } 35858 } else if (oDayItem["period"] == "single") { 35859 szItemClasses += " ctl-calendar-day-item-single"; 35860 } 35861// fixfix 35862 html += '<li class="ctl-calendar-day-item chroma-apply-correction ' + 35863 szEditorClasses + szItemClasses + '" data-cpt="' + oDayItem["post-type"] 35864 + '" data-id="' + oDayItem["post-id"] + '"'; 35865 35866 if (oDayItem["edit-modal-id"]) { 35867 html += ' data-edit-modal-id="' + oDayItem["edit-modal-id"] + '"'; 35868 35869 if (oDayItem["edit-modal-referral"]) { 35870 html += ' data-edit-modal-referral="' + oDayItem["edit-modal-referral"] + '"'; 35871 } else { 35872 html += ' data-edit-modal-referral="post-id"'; 35873 } 35874 } 35875 35876 if (oDayItem["post-color"]) { 35877 html += ' style="background-color: ' + oDayItem["post-color"] + ';"'; 35878 } 35879 35880 html += '>'; 35881 35882 if (oDayItem["link"]) { 35883 html += '<a class="text-reset ctl-calendar-day-item-link ctl-show-loading" href="' + oDayItem["link"] + '">'; 35884 } 35885 35886 html += '<div class="ctl-calendar-day-item-label">'; 35887 if (oDayItem["editors"]) { 35888 for (var z = 0; z < oDayItem["editors"].length; z++) { 35889 if (!aFoundEditors["editor-" + oDayItem["editors"][z].id]) { 35890 aFoundEditors["editor-" + oDayItem["editors"][z].id] = 35891 oDayItem["editors"][z]; 35892 } 35893 html += '<div class="ctl-calendar-day-item-editor-stripe ctl-calendar-day-item-editor-stripe-' + oDayItem["editors"][z].id + '" style="background-color:' + oDayItem["editors"][z].color + ';"></div>'; 35894 } 35895 } 35896 html += '<div class="ctl-calendar-day-item-label-content">'; 35897 html += oDayItem["label"]; 35898 html += '</div>'; 35899 html += '</div>'; 35900 35901 if (oDayItem["link"]) { 35902 html += '</a>'; 35903 } 35904 35905 html += '</li>' 35906 } 35907 html += '</ul>'; 35908 35909 html += '</div>'; 35910 35911 let oNodeDayContent = jQuery(html); 35912 35913 var oNodeTD = oNodeTR.find("td." + szFullDate + " .ctl-table-cell-data"); 35914 35915 oNodeTD.append(oNodeDayContent); 35916 35917 if (iMinwidth) { 35918 oNodeTD.css("min-width", iMinwidth + "px"); 35919 } 35920 } 35921 35922} 35923 35924function __ctlCalendarUpdateBodyMonth(oNodeCalendar, oMomentDate, oDayItems, bCompactItems, aCalendarItemsPostTypes) { 35925 35926 var aHideWeekDays = JSON.parse(Base64.decode(oNodeCalendar.attr("data-hide-week-days"))); 35927 35928 var aFestivityDays = []; 35929 35930 if (oNodeCalendar.attr("data-festivity") === "1") { 35931 aFestivityDays = ctlCalendarGetFestivityDays(oNodeCalendar); 35932 } 35933 35934 var aFestivityWeekDays = JSON.parse(Base64.decode(oNodeCalendar.attr("data-festivity-week-days"))); 35935 var szToday = moment().format("YYYY-MM-DD"); 35936 35937 var aCalendarDays = []; 35938 var iWeekStart = parseInt(oNodeCalendar.attr("data-week-start")); 35939 var iCurrentMonth = oMomentDate.format("MM"); 35940 var iCurrentYears = oMomentDate.format("YYYY"); 35941 var oFirstDayOfMonth = moment(iCurrentYears + '-' + iCurrentMonth + '-01', 'YYYY-MM-DD'); 35942 var iFirstWeekDay = parseInt(oFirstDayOfMonth.format("d")); 35943 var iDaysInMonth = oFirstDayOfMonth.daysInMonth(); 35944 var szDaysInMonth = iDaysInMonth + ""; 35945 35946 oFirstDayOfMonth.locale(g_oCTLCalendarLocalizationFront["user_locale"]); 35947 35948 var oStartingCalendarDay = oFirstDayOfMonth.clone(); 35949 35950 var iOffsetDay = (iFirstWeekDay - 1); 35951 35952 if (iWeekStart === 1) { 35953 if (iFirstWeekDay === 0) { 35954 iOffsetDay = 6; 35955 } 35956 } else { 35957 iOffsetDay += 1; 35958 } 35959 35960 oStartingCalendarDay.subtract(iOffsetDay, 'days'); 35961 35962 for (var j = 0; j < 42; j++) { 35963 var oDayData = { 35964 "day": oStartingCalendarDay.format("DD"), 35965 "view_day": oStartingCalendarDay.format("D"), 35966 "month": oStartingCalendarDay.format("MM"), 35967 "year": oStartingCalendarDay.format("YYYY"), 35968 "weekday": oStartingCalendarDay.day() + "" 35969 }; 35970 35971 oDayData.date = oDayData.year + "-" + oDayData.month + "-" + oDayData.day; 35972 35973 var szDateDay = oStartingCalendarDay.format("MM") + "-" + 35974 oStartingCalendarDay.format("DD"); 35975
35976 oDayData.current_month = (oStartingCalendarDay.format("MM") === iCurrentMonth); 35977 oDayData.festivity = aFestivityDays.includes(szDateDay); 35978 oDayData.today = szToday === oStartingCalendarDay.format("YYYY-MM-DD"); 35979 35980 aCalendarDays.push(oDayData); 35981 oStartingCalendarDay.add(1, "days"); 35982 } 35983 35984 var html = ""; 35985 var k = 0; 35986 var bJumpLastRow = false; 35987 var aFoundEditors = {}; 35988 35989 let idMe = jQuery("body").attr("data-user-id"); 35990 let bShowEditors = oNodeCalendar.attr("data-editor-filter-self") == "1" ? false : true; 35991 let aStateFilterEditors = { loaded: false, editors: {} }; 35992 35993 if (oNodeCalendar.attr("data-state-filter-editors")) { 35994 let szStateFilterEditors = oNodeCalendar.attr("data-state-filter-editors"); 35995 aStateFilterEditors = JSON.parse(szStateFilterEditors); 35996 } 35997 35998 for (var r = 0; r < 6; r++) { 35999 if (bJumpLastRow) { 36000 break; 36001 } 36002 36003 html += '<div class="row ctl-calendar-row">'; 36004 36005 for (var c = 0; c < 7; c++) { 36006 var szFullDate = aCalendarDays[k].year + '-' + 36007 aCalendarDays[k].month + '-' + 36008 aCalendarDays[k].day; 36009 36010 if (!aHideWeekDays.includes(moment(szFullDate, "YYYY-MM-DD").day())) { 36011 var szAttrs = ''; 36012 szAttrs += ' data-day="' + aCalendarDays[k].day + '"'; 36013 szAttrs += ' data-month="' + aCalendarDays[k].month + '"'; 36014 szAttrs += ' data-year="' + aCalendarDays[k].year + '"'; 36015 szAttrs += ' data-date="' + szFullDate + '"'; 36016 36017 html += '<div' + szAttrs + ' class="col ctl-calendar-day">'; 36018 36019 var szClasses = "ctl-calendar-cell"; 36020 if (aCalendarDays[k].current_month) { 36021 szClasses += ' ctl-calendar-day-current-month'; 36022 } 36023 if (aCalendarDays[k].festivity || 36024 aFestivityWeekDays.includes(aCalendarDays[k].weekday)) { 36025 szClasses += ' ctl-calendar-day-festivity'; 36026 } 36027 if (aCalendarDays[k].today) { 36028 szClasses += ' ctl-calendar-day-today'; 36029 } 36030 szClasses = ' class="' + szClasses + '"'; 36031 36032 html += '<div' + szClasses + '>'; 36033 html += '<h4><span>' + aCalendarDays[k].view_day + '</span></h4>'; 36034 html += '<div class="'; 36035 html += 'ctl-calendar-day-content'; 36036 html += bCompactItems == true ? ' ctl-calendar-day-content-compacted' : ''; 36037 html += '">'; 36038 36039 if (bCompactItems == true) { 36040 var oResult = __ctlCalendarDrawMonthCompactedCalendarItem(oNodeCalendar, aCalendarItemsPostTypes, oDayItems, szFullDate, 36041 aFoundEditors, aStateFilterEditors, idMe, bShowEditors); 36042 html += oResult.html; 36043 } 36044 36045 var oResult = __ctlCalendarDrawMonthCalendarItem(oNodeCalendar, oDayItems, szFullDate, 36046 aFoundEditors, aStateFilterEditors, idMe, bShowEditors, c); 36047 html += oResult.html; 36048 aFoundEditors = oResult.aFoundEditors; 36049 aStateFilterEditors = oResult.aStateFilterEditors; 36050 36051 html += '</div>'; 36052 html += '</div>'; 36053 html += '</div>'; 36054 } 36055 36056 if (r > 0 && aCalendarDays[k].view_day === szDaysInMonth) { 36057 bJumpLastRow = true; 36058 } 36059 36060 k++; 36061 } 36062 html += '</div>'; 36063 } 36064 36065 let oNodeCalendarMonthBody = jQuery(html); 36066 36067 36068 oNodeCalendar.find(".ctl-calendar-month-body").html(oNodeCalendarMonthBody); 36069 oNodeCalendar.find(".ctl-calendar-current-date-label").html(oMomentDate.format("MMMM YYYY")); 36070 36071 aStateFilterEditors.loaded = true; 36072 oNodeCalendar.attr("data-state-filter-editors", JSON.stringify(aStateFilterEditors)); 36073 __ctlCalendarRefreshEditorsVisibility(oNodeCalendar); 36074 36075 if (!bCompactItems) { 36076 __ctlCalendarNormalizeIntervalMonthItems(oNodeCalendar); 36077 } 36078 36079 __ctlCalendarRefreshEditorFilters(oNodeCalendar, aFoundEditors); 36080 36081 jQuery(document).trigger("ctl-calendar-update-month", 36082 [oNodeCalendar, oMomentDate]); 36083} 36084 36085function __ctlCalendarDrawMonthCalendarItem(oNodeCalendar, oDayItems, szFullDate, aFoundEditors, aStateFilterEditors, idMe, bShowEditors, c) { 36086 var html = ""; 36087 if (oDayItems[szFullDate] && oDayItems[szFullDate].length > 0) { 36088 html += '<ul class="ctl-calendar-day-item-list">'; 36089 for (var i = 0; i < oDayItems[szFullDate].length; i++) { 36090 var oDayItem = oDayItems[szFullDate][i]; 36091 36092 var szEditorClasses = ""; 36093 for (var z = 0; z < oDayItem["editors"].length; z++) { 36094 szEditorClasses += " ctl-calendar-day-item-editor-" + oDayItem["editors"][z].id; 36095 } 36096 szEditorClasses = szEditorClasses.trim(); 36097 36098 let szItemClasses = ""; 36099 36100 if (oDayItem["classes"]) {
36101 szItemClasses += " " + oDayItem["classes"]; 36102 } 36103 36104 if (oDayItem["period"] == "interval") { 36105 switch (oDayItem["interval-section"]) { 36106 case "start": 36107 case "middle": 36108 case "end": { 36109 szItemClasses += " ctl-calendar-day-item-interval ctl-calendar-day-item-interval-" + oDayItem["interval-section"]; 36110 36111 if (c == 0) { 36112 szItemClasses += " visible-item-label"; 36113 } 36114 36115 } break; 36116 case "middle-start": { 36117 szItemClasses += " ctl-calendar-day-item-interval ctl-calendar-day-item-interval-middle visible-item-label"; 36118 } break; 36119 case "end-single-item": { 36120 szItemClasses += " ctl-calendar-day-item-interval ctl-calendar-day-item-interval-end visible-item-label"; 36121 } break; 36122 } 36123 } else if (oDayItem["period"] == "single") { 36124 szItemClasses += " ctl-calendar-day-item-single"; 36125 } 36126 36127 html += '<li class="ctl-calendar-day-item chroma-apply-correction ' + 36128 szEditorClasses + szItemClasses + '" data-cpt="' + oDayItem["post-type"] 36129 + '" data-id="' + oDayItem["post-id"] + '"'; 36130 36131 if (oDayItem["edit-modal-id"]) { 36132 html += ' data-edit-modal-id="' + oDayItem["edit-modal-id"] + '"'; 36133 36134 if (oDayItem["edit-modal-referral"]) { 36135 html += ' data-edit-modal-referral="' + oDayItem["edit-modal-referral"] + '"'; 36136 } else { 36137 html += ' data-edit-modal-referral="post-id"'; 36138 } 36139 } 36140 36141 html += ' style="background-color: ' + oDayItem["post-color"] + ';">'; 36142 36143 html += '<div class="ctl-calendar-day-item-bg chroma-apply-correction" style="background-color: ' + oDayItem["post-color"] + ';"></div>'; 36144 36145 if (oDayItem["link"]) { 36146 html += '<a class="text-reset ctl-calendar-day-item-link ctl-show-loading" href="' + oDayItem["link"] + '">'; 36147 } 36148 36149 html += '<div class="ctl-calendar-day-item-label">'; 36150 if (oDayItem["editors"]) { 36151 html += '<div class="ctl-calendar-day-item-editor-stripe-container pt-2">'; 36152 36153 for (var z = 0; z < oDayItem["editors"].length; z++) { 36154 if (!aFoundEditors["editor-" + oDayItem["editors"][z].id]) { 36155 36156 aFoundEditors["editor-" + oDayItem["editors"][z].id] = 36157 oDayItem["editors"][z]; 36158 36159 aStateFilterEditors = __ctlCalendarUpdateEditorState(oNodeCalendar, aStateFilterEditors, 36160 oDayItem["editors"][z].id, idMe, bShowEditors); 36161 36162 } 36163 html += '<div class="ctl-calendar-day-item-editor-stripe ctl-calendar-day-item-editor-stripe-' + oDayItem["editors"][z].id + '" style="background-color:' + oDayItem["editors"][z].color + ';"></div>'; 36164 } 36165 36166 html += '</div>'; 36167 } 36168 html += '<div class="ctl-calendar-day-item-label-content">'; 36169 html += oDayItem["label"]; 36170 html += '</div>'; 36171 html += '</div>'; 36172 36173 if (oDayItem["link"]) { 36174 html += '</a>'; 36175 } 36176 36177 html += '</li>' 36178 } 36179 html += '</ul>'; 36180 } 36181 36182 return { 36183 html: html, 36184 aFoundEditors: aFoundEditors, 36185 aStateFilterEditors: aStateFilterEditors 36186 } 36187} 36188 36189function __ctlCalendarDrawMonthCompactedCalendarItem(oNodeCalendar, aCalendarItemsPostTypes, oDayItems, szFullDate, 36190 aFoundEditors, aStateFilterEditors, idMe, bShowEditors) { 36191 36192 var html = ""; 36193 36194 if (oDayItems[szFullDate] && aCalendarItemsPostTypes.length > 0) { 36195 36196 html += '<ul class="ctl-calendar-day-item-list ctl-calendar-day-item-list-compacted">'; 36197 36198 for (var t = 0; t < aCalendarItemsPostTypes.length; t++) { 36199 var oCalendarItemsPostType = aCalendarItemsPostTypes[t]; 36200 36201 var iCntItemFound = 0; 36202 var aEditorsClasses = []; 36203 var aItemsClasses = []; 36204 var aItemEditors = []; 36205 36206 for (var i = 0; i < oDayItems[szFullDate].length; i++) { 36207 36208 var oDayItem = oDayItems[szFullDate][i]; 36209 36210 if (oDayItem["post-type"] != oCalendarItemsPostType["slug"]) { 36211 continue; 36212 } 36213 36214 iCntItemFound++; 36215 36216 for (var z = 0; z < oDayItem["editors"].length; z++) { 36217 if (aEditorsClasses.indexOf("ctl-calendar-day-item-editor-" + oDayItem["editors"][z].id) === -1) { 36218 aEditorsClasses.push("ctl-calendar-day-item-editor-" + oDayItem["editors"][z].id); 36219 } 36220 36221 if (!aFoundEditors["editor-" + oDayItem["editors"][z].id]) { 36222 aFoundEditors["editor-" + oDayItem["editors"][z].id] = oDayItem["editors"][z];
36223 aStateFilterEditors = __ctlCalendarUpdateEditorState(oNodeCalendar, aStateFilterEditors, 36224 oDayItem["editors"][z].id, idMe, bShowEditors); 36225 } 36226 36227 let bAddEditor = true; 36228 for (var k = 0; k < aItemEditors.length; k++) { 36229 if (aItemEditors[k].id == oDayItem["editors"][z].id) { 36230 bAddEditor = false; 36231 break; 36232 } 36233 } 36234 36235 if (bAddEditor) { 36236 aItemEditors.push(oDayItem["editors"][z]); 36237 } 36238 } 36239 36240 if (oDayItem["classes"]) { 36241 aItemsClasses.push(oDayItem["classes"]); 36242 } 36243 } 36244 36245 if (iCntItemFound == 0) { 36246 continue; 36247 } 36248 36249 let szEditorClasses = aEditorsClasses.join(" ").trim(); 36250 let szItemClasses = aItemsClasses.join(" ").trim(); 36251 36252 szItemClasses += " ctl-calendar-day-item-single"; 36253 36254 html += '<li class="ctl-calendar-day-item ctl-calendar-day-item-compacted chroma-apply-correction ' + 36255 szEditorClasses + ' ' + szItemClasses + '" data-cpt="' + oCalendarItemsPostType["slug"] + '"'; 36256 36257 html += ' style="background-color: ' + oCalendarItemsPostType["color"] + ';">'; 36258 36259 html += '<div class="ctl-calendar-day-item-bg chroma-apply-correction" style="background-color: ' + oCalendarItemsPostType["color"] + ';"></div>'; 36260 36261 html += '<div class="ctl-calendar-day-item-label">'; 36262 if (oDayItem["editors"]) { 36263 html += '<div class="ctl-calendar-day-item-editor-stripe-container pt-2">'; 36264 for (var z = 0; z < aItemEditors.length; z++) { 36265 html += '<div class="ctl-calendar-day-item-editor-stripe ctl-calendar-day-item-editor-stripe-' + 36266 aItemEditors[z].id + '" style="background-color:' + aItemEditors[z].color + ';"></div>'; 36267 } 36268 html += '</div>'; 36269 } 36270 html += '<div class="ctl-calendar-day-item-label-content">'; 36271 html += oCalendarItemsPostType["label-plural"] + ' (' + iCntItemFound + ')'; 36272 html += '</div>'; 36273 html += '</div>'; 36274 36275 html += '</li>' 36276 } 36277 36278 html += '</ul>'; 36279 } 36280 36281 return { 36282 html: html, 36283 aFoundEditors: aFoundEditors, 36284 aStateFilterEditors: aStateFilterEditors 36285 } 36286} 36287 36288function __ctlCalendarRefreshEditorsVisibility(oNodeCalendar, oNodeTarget = null) { 36289 36290 let aEditors = {}; 36291 36292 if (oNodeCalendar.attr("data-state-filter-editors")) { 36293 let szStateFilterEditors = oNodeCalendar.attr("data-state-filter-editors"); 36294 aStateFilterEditors = JSON.parse(szStateFilterEditors); 36295 aEditors = aStateFilterEditors["editors"]; 36296 } 36297 36298 if (!oNodeTarget) { 36299 oNodeTarget = oNodeCalendar; 36300 } 36301 36302 for (let key in aEditors) { 36303 let idEditor = aEditors[key].id; 36304 let bShow = aEditors[key].visibility; 36305 36306 var oNodeStripes = oNodeTarget.find(".ctl-calendar-day-item-editor-stripe-" + idEditor); 36307 36308 oNodeStripes.each(function () { 36309 var oNodeTargetStripe = jQuery(this); 36310 if (bShow == false) { 36311 oNodeTargetStripe.addClass("d-none"); 36312 } else { 36313 oNodeTargetStripe.removeClass("d-none"); 36314 } 36315 36316 var oNodeDayItem = oNodeTargetStripe.closest(".ctl-calendar-day-item-editor-" + idEditor); 36317 36318 if (oNodeDayItem.find(".d-none.ctl-calendar-day-item-editor-stripe").length == 36319 oNodeDayItem.find(".ctl-calendar-day-item-editor-stripe").length) { 36320 oNodeDayItem.addClass("d-none"); 36321 } else { 36322 oNodeDayItem.removeClass("d-none"); 36323 } 36324 }); 36325 } 36326 36327 ctlVulcanoResizeLayout(); 36328} 36329 36330function __ctlCalendarReorganizeMonthCalendarItems(aMaskPrevDay, oCurCol, iOffset = 0) { 36331 36332 // Logic to reorganize calendar items 36333 if (aMaskPrevDay[iOffset] != 0 && iOffset < aMaskPrevDay.length) { 36334 __ctlCalendarReorganizeMonthCalendarItems(aMaskPrevDay, oCurCol, ++iOffset); 36335 return; 36336 } 36337 36338 for (var i = 0; i < oCurCol.find(".ctl-calendar-day-item").length; i++) { 36339 36340 var oNodeDayItem = oCurCol.find(".ctl-calendar-day-item").eq(i); 36341 36342 if (oNodeDayItem.closest(".ctl-calendar-day-item-list-compacted").length > 0) { 36343 continue; 36344 } 36345 36346 if ((oNodeDayItem.hasClass("ctl-calendar-day-item-single") || 36347 oNodeDayItem.hasClass("ctl-calendar-day-item-interval-start")) 36348 ) { 36349 36350 if (i == iOffset) { 36351 __ctlCalendarReorganizeMonthCalendarItems(aMaskPrevDay, oCurCol, ++iOffset); 36352 break; 36353 } else if (i > iOffset) { 36354 // move node in the position iOffset 36355 oNodeDayItem.detach().insertBefore(oCurCol.find(".ctl-calendar-day-item").eq(iOffset)); 36356 __ctlCalendarReorganizeMonthCalendarItems(aMaskPrevDay, oCurCol, ++iOffset); 36357 break; 36358 } 36359 } 36360 } 36361} 36362 36363function __ctlCalendarReorganizeMonthCalendarDay(oCurCol) { 36364 36365 let aCurDayItemsMiddle = []; 36366 36367 oCurCol.find(".ctl-calendar-day-item-interval-middle").each(function () { 36368 aCurDayItemsMiddle.push(jQuery(this)); 36369 }); 36370 let aCurDayItemsStart = []; 36371 36372 oCurCol.find(".ctl-calendar-day-item-interval-start").each(function () { 36373 aCurDayItemsStart.push(jQuery(this)); 36374 }); 36375 36376 let aCurDayItemsEnd = []; 36377 oCurCol.find(".ctl-calendar-day-item-interval-end").each(function () { 36378 aCurDayItemsEnd.push(jQuery(this)); 36379 }); 36380 36381 let iOffsetItems = 0; 36382 for (var k = 0; k < aCurDayItemsMiddle.length; k++) { 36383 aCurDayItemsMiddle[k].insertBefore(oCurCol.find(".ctl-calendar-day-item").eq(iOffsetItems)); 36384 iOffsetItems++; 36385 } 36386 36387 for (var k = 0; k < aCurDayItemsStart.length; k++) { 36388 oCurCol.find(".ctl-calendar-day-item").eq(iOffsetItems).before(aCurDayItemsStart[k]); 36389 iOffsetItems++; 36390 } 36391 36392 for (var k = 0; k < aCurDayItemsEnd.length; k++) { 36393 oCurCol.find(".ctl-calendar-day-item").eq(iOffsetItems).before(aCurDayItemsEnd[k]); 36394 iOffsetItems++; 36395 } 36396} 36397 36398function __ctlCalendarItemOptimizeHeightForMonth(oNodeRow) { 36399 36400 let aDayItemsForID = {}; 36401 let aDayItemsForCPT = {}; 36402 36403 for (let i = 0; i < oNodeRow.length; i++) { 36404 let oNodeCol = oNodeRow.eq(i); 36405 36406 oNodeCol.find(".ctl-calendar-day-item").each(function () { 36407 36408 if (jQuery(this).hasClass("ctl-calendar-day-item-compacted")) { 36409 let szCPT = jQuery(this).attr("data-cpt"); 36410 if (!aDayItemsForCPT[szCPT]) { 36411 aDayItemsForCPT[szCPT] = []; 36412 } 36413 aDayItemsForCPT[szCPT].push(jQuery(this)); 36414 } else { 36415 let idPost = jQuery(this).attr("data-id"); 36416 if (!aDayItemsForID[idPost]) { 36417 aDayItemsForID[idPost] = []; 36418 } 36419 aDayItemsForID[idPost].push(jQuery(this)); 36420 } 36421 }); 36422 36423 } 36424 36425 for (let idPost in aDayItemsForID) { 36426 let aDayItems = aDayItemsForID[idPost]; 36427 if (aDayItems.length > 1) { 36428 let iWidth = -20; 36429 let oNodeFirstDayItem = aDayItems[0].find(".ctl-calendar-day-item-optimized-height"); 36430 if (oNodeFirstDayItem.length === 0) { 36431 let szHtml = ''; 36432 36433 for (var i = 0; i < aDayItems.length; i++) { 36434 if (!jQuery(aDayItems[i]).hasClass("ctl-calendar-day-item-hidden")) { 36435 iWidth += jQuery(aDayItems[i]).find(".ctl-calendar-day-item-bg").outerWidth(); 36436 } 36437 } 36438 36439 szHtml += '<div style="width: ' + iWidth + 'px" class="ctl-calendar-day-item-optimized-height" data-id="' + idPost + '">'; 36440 szHtml += '</div>'; 36441 var oNodeOptimizedHeight = jQuery(szHtml); 36442 36443 if (aDayItems[0].find("a").length > 0) { 36444 var oNodeToClone = aDayItems[0].find("a"); 36445 oNodeOptimizedHeight.append(oNodeToClone.clone()); 36446 oNodeToClone.css("visibility", "hidden"); 36447 } else { 36448 var oNodeToClone = aDayItems[0].find(".ctl-calendar-day-item-label"); 36449 oNodeOptimizedHeight.append(oNodeToClone.clone()); 36450 oNodeToClone.css("visibility", "hidden"); 36451 } 36452 36453 aDayItems[0].append(oNodeOptimizedHeight); 36454 36455 let iOptimizedHeight = oNodeOptimizedHeight.outerHeight(); 36456 36457 for (var i = 0; i < aDayItems.length; i++) { 36458 aDayItems[i].css("height", iOptimizedHeight + "px"); 36459 aDayItems[i].find(".ctl-calendar-day-item-bg").css("height", "100%"); 36460 } 36461 } else { 36462 for (var i = 0; i < aDayItems.length; i++) { 36463 if (!jQuery(aDayItems[i]).hasClass("ctl-calendar-day-item-hidden")) { 36464 iWidth += aDayItems[i].find(".ctl-calendar-day-item-bg").outerWidth(); 36465 } 36466 } 36467 oNodeFirstDayItem.css("width", iWidth + "px"); 36468 36469 let iOptimizedHeight = oNodeFirstDayItem.outerHeight(); 36470 36471 for (var i = 0; i < aDayItems.length; i++) { 36472 aDayItems[i].css("height", iOptimizedHeight + "px"); 36473 aDayItems[i].find(".ctl-calendar-day-item-bg").css("height", "100%"); 36474 } 36475 } 36476 } 36477 } 36478 36479} 36480 36481function __ctlCalendarReorganizeMonthColumnItems(oPrevCol, oCurCol) { 36482 36483 var aPrevDayItems = []; 36484 oPrevCol.find(".ctl-calendar-day-item").each(function () { 36485 aPrevDayItems.push(jQuery(this)); 36486 }); 36487 36488 //--------------------------------------------------------- 36489 // reorganizzo i middle in alto, i singoli alla fine e gli start dopo i middle 36490 __ctlCalendarReorganizeMonthCalendarDay(oCurCol); 36491 36492 //--------------------------------------------------------- 36493 // riposiziono gli elementi vicini di middle e start 36494 var aCurDayItems = []; 36495 oCurCol.find(".ctl-calendar-day-item").each(function () { 36496 aCurDayItems.push(jQuery(this)); 36497 }); 36498 36499 let iOffsetMaxMovedItems = 0; 36500 let aCurDayItemsLinked = []; 36501 let aCurDayItemsNotLinked = []; 36502 36503 for (var k = 0; k < aPrevDayItems.length; k++) { 36504 var idPost = aPrevDayItems[k].attr("data-id"); 36505 36506 if (aPrevDayItems[k].hasClass("ctl-calendar-day-item-interval-middle") || 36507 aPrevDayItems[k].hasClass("ctl-calendar-day-item-interval-start")) { 36508 36509 for (var j = 0; j < aCurDayItems.length; j++) { 36510 if (aCurDayItems[j].attr("data-id") == idPost) { 36511 aCurDayItemsLinked.push(aCurDayItems[j]); 36512 break; 36513 } 36514 } 36515 } 36516 } 36517 36518 for (var j = 0; j < aCurDayItems.length; j++) { 36519 let bFound = false;
36520 for (var k = 0; k < aCurDayItemsLinked.length; k++) { 36521 if (aCurDayItems[j].attr("data-id") == aCurDayItemsLinked[k].attr("data-id")) { 36522 bFound = true; 36523 break; 36524 } 36525 } 36526 36527 if (!bFound) { 36528 aCurDayItemsNotLinked.push(aCurDayItems[j]); 36529 } 36530 } 36531 36532 // add day items linked in oCurCol 36533 for (var k = 0; k < aCurDayItemsLinked.length; k++) { 36534 let iOffsetToAttach = iOffsetMaxMovedItems; 36535 36536 for (var m = iOffsetMaxMovedItems; m >= 0; m--) { 36537 let oCurDayItem = oCurCol.find(".ctl-calendar-day-item").eq(m); 36538 36539 if (!oCurDayItem.hasClass("ctl-calendar-day-item-single") && !oCurDayItem.hasClass("ctl-calendar-day-item-interval-start")) { 36540 break; 36541 } else { 36542 iOffsetToAttach = m; 36543 } 36544 } 36545 36546 if (iOffsetToAttach >= oCurCol.find(".ctl-calendar-day-item").length) { 36547 iOffsetToAttach = oCurCol.find(".ctl-calendar-day-item").length - 1; 36548 } 36549 36550 aCurDayItemsLinked[k].insertBefore(oCurCol.find(".ctl-calendar-day-item").eq(iOffsetToAttach)); 36551 iOffsetMaxMovedItems++; 36552 } 36553 // add day items not linked in oCurCol 36554 for (var k = 0; k < aCurDayItemsNotLinked.length; k++) { 36555 oCurCol.find(".ctl-calendar-day-item").eq(oCurCol.find(".ctl-calendar-day-item").length - 1).after(aCurDayItemsNotLinked[k]); 36556 } 36557 36558 36559 //--------------------------------------------------------- 36560 // creo i dummy invisibili per allineare gli elementi 36561 iCntTestedItems = 0; 36562 while (true) { 36563 let bContinue = false; 36564 36565 var aCurDayItems = []; 36566 oCurCol.find(".ctl-calendar-day-item").each(function () { 36567 aCurDayItems.push(jQuery(this)); 36568 }); 36569 36570 var aPrevDayItems = []; 36571 oPrevCol.find(".ctl-calendar-day-item").each(function () { 36572 aPrevDayItems.push(jQuery(this)); 36573 }); 36574 36575 for (var k = iCntTestedItems; k < aCurDayItems.length; k++) { 36576 36577 if ((aCurDayItems[k].hasClass("ctl-calendar-day-item-interval-middle") || 36578 aCurDayItems[k].hasClass("ctl-calendar-day-item-interval-end")) && 36579 k < aPrevDayItems.length) { 36580 36581 //console.log("<<< check x buco " + aCurDayItems[k].attr("data-id") + " - " + oCurCol.attr("data-date") ); 36582 iCntTestedItems++; 36583 bContinue = true; 36584 36585 for (var j = 0; j < aPrevDayItems.length; j++) { 36586 36587 if (aPrevDayItems[j].attr("data-id") == aCurDayItems[k].attr("data-id")) { 36588 if (k < j) { 36589 //console.log("TROVATOOOOOOO " +aCurDayItems[k].attr("data-id") + " - " + oCurCol.attr("data-date") + " diff " + (j-k) ); 36590 36591 for (var m = 0; m < (j - k); m++) { 36592 //console.log("m: " + m); 36593 var oNodeClone = aPrevDayItems[(j - (j - k)) + m].clone(); 36594 oNodeClone.addClass("ctl-calendar-day-item-hidden"); 36595 oNodeClone.insertBefore(aCurDayItems[k]); 36596 } 36597 } 36598 break; 36599 } 36600 } 36601 break 36602 } 36603 36604 } 36605 36606 if (!bContinue) { 36607 break; 36608 } 36609 } 36610 36611 36612} 36613 36614function __ctlCalendarNormalizeIntervalMonthItems(oNodeCalendar, oCurCol) { 36615 //riorganizzare il primo giorno del mese prima di procedere all'analisi prev cur col 36616 36617 for (var n = 0; n < oNodeCalendar.find(".ctl-calendar-row").length; n++) { 36618 var oNodeRow = oNodeCalendar.find(".ctl-calendar-row").eq(n); 36619 36620 var aCols = []; 36621 36622 oNodeRow.find(".ctl-calendar-day").each(function () { 36623 var oNodeCol = jQuery(this); 36624 aCols.push(oNodeCol); 36625 }); 36626 36627 36628 __ctlCalendarReorganizeMonthCalendarDay(aCols[0]); 36629 36630 for (var i = 1; i < aCols.length; i++) { 36631 36632 var oPrevCol = aCols[i - 1]; 36633 var oCurCol = aCols[i]; 36634 36635 __ctlCalendarReorganizeMonthColumnItems(oPrevCol, oCurCol); 36636 } 36637 } 36638} 36639 36640function __ctlCalendarNormalizeWeekIntervalItems(oNodeCalendar) { 36641 36642 for (var n = 0; n < oNodeCalendar.find(".ctl-calendar-week-body .row").length; n++) { 36643 var oNodeRow = oNodeCalendar.find(".ctl-calendar-week-body .row").eq(n); 36644 36645 var aCols = []; 36646 36647 oNodeRow.find(".ctl-calendar-hourly-activity").each(function () { 36648 var oNodeCol = jQuery(this); 36649 aCols.push(oNodeCol); 36650 }); 36651 36652 __ctlCalendarReorganizeMonthCalendarDay(aCols[0]); 36653 36654 for (var i = 1; i < aCols.length; i++) { 36655 36656 var oPrevCol = aCols[i - 1]; 36657 var oCurCol = aCols[i]; 36658 36659 __ctlCalendarReorganizeMonthColumnItems(oPrevCol, oCurCol); 36660 } 36661 } 36662} 36663 36664function ctlCalendarShowLoader(oNodeContainer) { 36665 var html = ""; 36666 html += '<div class="ctl-calendar-loader d-flex align-items-center justify-content-center">'; 36667 html += '<div class="spinner-border text-primary" role="status">'; 36668 html += '<span class="sr-only">Loading...</span>'; 36669 html += '</div>'; 36670 html += '</div>'; 36671 oNodeContainer.append(html); 36672} 36673 36674function ctlCalendarHideLoader(oNodeContainer) { 36675 var oNodeLoader = oNodeContainer.find(".ctl-calendar-loader"); 36676 36677 if (oNodeLoader.length > 0) { 36678 oNodeLoader.remove(); 36679 } 36680} 36681 36682function ctlTableCalendarInit(oNodeTableCalendar, szViewMode) { 36683 36684 if (szViewMode != "week" && 36685 szViewMode != "month" && 36686 szViewMode != "day" 36687 ) { 36688 return; 36689 } 36690 36691 var oNodeTableWrapper = oNodeTableCalendar.closest(".ctl-theme-table-main-wrapper"); 36692 var oNodeForm = oNodeTableWrapper.find(".ctl-table-calendar-control
36692s").find("form"); 36693 var oFormData = oNodeForm.serializeObject(); 36694 36695 oFormData['action'] = 'ctl-wp-studio'; 36696 oFormData['execute'] = 'ctl-calendar'; 36697 oFormData['extension-action'] = 'table-get-' + szViewMode; 36698 oFormData['get-params'] = g_oCTLWPStudio.getUrlParams(); 36699 36700 var aResourceIds = []; 36701 36702 oNodeTableCalendar.find("tbody tr").each(function () { 36703 if (!isNaN(Number(jQuery(this).attr("data-resource-id")))) { 36704 aResourceIds.push(jQuery(this).attr("data-resource-id")); 36705 } 36706 }); 36707 36708 oFormData['resource-ids'] = aResourceIds; 36709 36710 var idLoading = g_oCTLWPStudio.showLoading(""); 36711 36712 jQuery.ajax({ 36713 url: g_oCTLWPStudio._oLangCommon["ajaxurl"], 36714 type: "POST", 36715 data: oFormData, 36716 cache: false, 36717 method: 'POST', 36718 success: function (response, textStatus, jqXHR) { 36719 var oResponse = jQuery.parseJSON(response); 36720 36721 if (oResponse.res === false) { 36722 g_oCTLWPStudio.closeDlg(idLoading); 36723 if (oResponse.alert) { 36724 g_oCTLBootstrapModals.alert("", oResponse.alert); 36725 } 36726 } else { 36727 g_oCTLWPStudio.closeDlg(idLoading); 36728 36729 if (oResponse["resources"]) { 36730 for (var idResource in oResponse.resources) { 36731 if (oResponse.resources[idResource]["items"]) { 36732 var oDayItems = {}; 36733 var aListItems = oResponse.resources[idResource]["items"]; 36734 for (var i = 0; i < aListItems.length; i++) { 36735 if (!oDayItems[aListItems[i]["start"]]) { 36736 oDayItems[aListItems[i]["start"]] = []; 36737 } 36738 oDayItems[aListItems[i]["start"]].push(aListItems[i]); 36739 } 36740 36741 switch (szViewMode) { 36742 case "month": { 36743 __ctlTableCalendarUpdateBodyMonth(oNodeTableCalendar, 36744 idResource, oDayItems); 36745 } break; 36746 case "week": { 36747 __ctlTableCalendarUpdateBodyMonth(oNodeTableCalendar, 36748 idResource, oDayItems); 36749 } break; 36750 case "day": { 36751 __ctlTableCalendarUpdateBodyMonth(oNodeTableCalendar, 36752 idResource, oDayItems); 36753 } break; 36754 } 36755 } 36756 } 36757 } 36758 36759 wpdk_do_action("ctl-vulcano-theme-resize-layout"); 36760 g_oCTLWPStudio.applyChromaCorrection(); 36761 } 36762 }, 36763 error: function (jqXHR, textStatus, errorThrown) { 36764 g_oCTLWPStudio.closeDlg(idLoading); 36765 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 36766 } 36767 }); 36768} 36769 36770function ctlCalendarsResize(bDelay, iTime) { 36771 if (bDelay) { 36772 setTimeout(function () { 36773 __ctlCalendarsResize(); 36774 }, iTime ? iTime : 500); 36775 } else { 36776 __ctlCalendarsResize(); 36777 } 36778} 36779 36780function __ctlCalendarsResize() { 36781 jQuery(".ctl-calendar-widget").each(function () { 36782 __ctlCalendarAdaptDayItems(jQuery(this)); 36783 }); 36784} 36785 36786function ctlCalendarInit(oNodeCalendar, oMoment, view, oDayItems) { 36787 36788 var oNodeContainer = oNodeCalendar.find(".ctl-calendar-container"); 36789 36790 var szCurrentDay = oMoment.format("DD"); 36791 var szCurrentMonth = oMoment.format("MM"); 36792 var iCurrentYear = Number(oMoment.format("YYYY")); 36793 36794 var html = ""; 36795 36796 var szControlsContainerClasses = "ctl-calendar-controls-container" 36797 if (oNodeCalendar.attr("data-controls") !== "1") { 36798 szControlsContainerClasses += ' d-none'; 36799 } 36800 36801 html += '<div class="' + szControlsContainerClasses + '">'; 36802
36803 html += '<div class="ctl-calendar-controls">'; 36804 36805 html += '<div class="btn-group mb-2 w-100" role="group" aria-label="">'; 36806 html += '<button type="button" class="btn btn-outline-primary btn-sm ctl-calendar-action-prev">'; 36807 html += '<i class="ctl-wp-studio-icons-left-open-1"></i>'; 36808 html += '</button>'; 36809 36810 html += '<button type="button" class="btn btn-outline-primary ctl-calendar-action-today" title="' + g_oCTLCalendarLocalizationFront["today"] + '">'; 36811 html += '<i class="fas fa-calendar-day"></i>'; 36812 html += '<span class="btn-text ml-1">' + g_oCTLCalendarLocalizationFront["today"] + '</span>'; 36813 html += '</button>'; 36814 36815 var szReloadCloasses = "btn btn-outline-primary btn-sm ctl-calendar-action-reload"; 36816 if (oNodeCalendar.attr("data-reload") !== "1") { 36817 szReloadCloasses += " d-none"; 36818 } 36819 36820 html += '<button type="button" class="' + szReloadCloasses + '">'; 36821 html += '<i class="ctl-wp-studio-icons-cw"></i>'; 36822 html += '</button>'; 36823 36824 if (oNodeCalendar.attr("data-multiple-selection") === "1") { 36825 html += '<button type="button" class="btn btn-outline-primary btn-sm ctl-calendar-action-open-multiple-selection" title="' + g_oCTLCalendarLocalizationFront["multiple selection"] + '">'; 36826 html += '<i class="ctl-wp-studio-icons-th"></i>'; 36827 html += '<span class="btn-text ml-1">' + g_oCTLCalendarLocalizationFront["multiple selection"] + '</span>'; 36828 html += '</button>'; 36829 } 36830 36831 html += '<button type="button" class="btn btn-outline-primary btn-sm ctl-calendar-action-next">'; 36832 html += '<i class="ctl-wp-studio-icons-right-open-1"></i>'; 36833 html += '</button>'; 36834 html += '</div>'; 36835 36836 36837 html += '<div class="row justify-content-between">'; 36838 36839 html += '<div class="order-1 order-sm-1 col col-auto input-group w-auto mb-2 pr-0 pr-sm-3">'; 36840 html += '<div class="input-group-prepend ctl-calendar-action-view-mode-prepend">'; 36841 html += '<div class="input-group-text">'; 36842 html += '<i class="fa-solid fa-binoculars"></i>'; 36843 html += '</div>'; 36844 html += '</div>'; 36845 36846 html += '<select data-allow-clear="false" data-search-input="false" data-width="auto" class="ctl-select2 form-control custom-select custom-select-sm ctl-calendar-action-view-mode">'; 36847 36848 var aViews = JSON.parse(Base64.decode(oNodeCalendar.attr("data-views"))); 36849 36850 for (var i = 0; i < aViews.length; i++) { 36851 switch (aViews[i]) { 36852 case "month": { 36853 html += '<option value="month" ' + (view == "month" ? 'selected="selected"' : '') + '>' + g_oCTLCalendarLocalizationFront["month"] 36854 + '</option>'; 36855 } break; 36856 case "week": { 36857 html += '<option value="week" ' + (view == "week" ? 'selected="selected"' : '') + '>' + g_oCTLCalendarLocalizationFront["week"] + '</option>'; 36858 } break; 36859 case "day": { 36860 html += '<option value="day" ' + (view == "day" ? 'selected="selected"' : '') + '>' + g_oCTLCalendarLocalizationFront["day"] + '</option>'; 36861 } break; 36862 } 36863 } 36864 html += '</select>'; 36865 html += '</div>'; 36866 36867 html += '<div class="order-3 order-sm-2 col col-12 col-sm-auto d-flex align-items-center mb-2 justify-content-center">'; 36868 html += '<span class="ctl-calendar-current-date-label"></span>'; 36869 html += '</div>'; 36870 36871 let iMaxYear; 36872 html += '<div class="order-2 order-sm-3 col col-auto pl-0 pl-sm-3">'; 36873 html += '<div class="select-group mb-2' + 36874 (oNodeCalendar.attr("data-date-control") == "calendar" ? " d-none" : "") + '">'; 36875 html += '<select data-allow-clear="false" data-search-input="false" data-width="auto" class="ctl-select2 form-control custom-select custom-select-sm ctl-calendar-action-year d-none">'; 36876 var iLoopYears = iCurrentYear + 2; 36877 iMaxYear = iLoopYears; 36878 for (var i = 0; i < 10; i++) { 36879 html += '<option value="' + iLoopYears + '"' + 36880 (iLoopYears === iCurrentYear ? ' selected' : '') + '>' + 36881 iLoopYears + '</option>'; 36882 iLoopYears--; 36883 } 36884 html += '</select>'; 36885 html += '<select data-allow-clear="false" data-search-input="false" data-width="auto" class="ctl-select2 form-control custom-select custom-select-sm ctl-calendar-action-month d-none">'; 36886 for (var i = 1; i < 13; i++) { 36887 var oMonth = moment(i, "M"); 36888 html += '<option value="' + 36889 oMonth.format("MM") + '"' + (oMonth.format("MM") == szCurrentMonth ? ' selected' : '') + '>
36889' + 36890 oMonth.locale(g_oCTLCalendarLocalizationFront["user_locale"]).format("MMMM") + '</option>'; 36891 } 36892 html += '</select>'; 36893 html += '<select data-allow-clear="false" data-search-input="false" data-width="auto" class="ctl-select2 form-control custom-select custom-select-sm ctl-calendar-action-day d-block">'; 36894 for (var i = 1; i < 32; i++) { 36895 var szDay = sprintf("%02d", i); 36896 html += '<option value="' + szDay + 36897 '"' + (szDay == szCurrentDay ? ' selected' : '') + '>' + szDay + '</option>'; 36898 } 36899 html += '</select>'; 36900 html += '</div>'; 36901 36902 36903 if (oNodeCalendar.attr("data-date-control") == "calendar") { 36904 html += formFieldsBuildCalendarDateField({ 36905 "class": "ctl-calendar-action-date-field", 36906 "field-name": "ctl-calendar-date", 36907 "form-group-classes": "mb-0 ctl-calendar-action-date-field-wrapper", 36908 "data-logic-attr": ' data-prev-date="' + oMoment.format("YYYY-MM-DD") + '"', 36909 "max-date": iMaxYear + '-12-31', 36910 }, oMoment.format("YYYY-MM-DD")); 36911 } 36912 html += '</div>'; 36913 36914 html += '</div>'; 36915 36916 html += '</div>'; 36917 36918 if (oNodeCalendar.attr("data-multiple-selection") === "1") { 36919 html += '<div class="ctl-calendar-multiple-selection-controls d-flex">'; 36920 36921 if (oNodeCalendar.attr("data-create-modal-id") || oNodeCalendar.attr("data-edit-modal-id")) { 36922 html += '<div class="btn-group" role="group" aria-label="">'; 36923 if (oNodeCalendar.attr("data-create-modal-id")) { 36924 html += '<button type="button" class="btn mb-2 btn-outline-primary btn-sm ctl-calendar-action-multiple-new ctl-calendar-multiple-selection-btn d-none">'; 36925 html += '<i class="ctl-wp-studio-icons-plus"></i>'; 36926 html += '</button>'; 36927 } 36928 36929 if (oNodeCalendar.attr("data-edit-modal-id")) { 36930 html += '<button type="button" class="btn mb-2 btn-outline-primary btn-sm ctl-calendar-action-multiple-edit ctl-calendar-multiple-selection-btn d-none">'; 36931 html += '<i class="ctl-wp-studio-icons-pencil"></i>'; 36932 html += '</button>'; 36933 } 36934 html += '</div>'; 36935 } 36936 36937 html += '<button type="button" class="btn btn-outline-primary btn-sm mb-2 ml-2 ctl-calendar-action-select-all ctl-calendar-multiple-selection-btn d-none">'; 36938 html += '<span class="btn-text">' + g_oCTLCalendarLocalizationFront["select this month"] + '</span>'; 36939 html += '</button>'; 36940 36941 html += '<button type="button" class="btn btn-outline-primary btn-sm mb-2 ml-2 ctl-calendar-action-close-multiple-selection ctl-calendar-multiple-selection-btn d-none">'; 36942 html += '<span class="btn-text">' + g_oCTLCalendarLocalizationFront["cancel selection"] + '</span>'; 36943 html += '</button>'; 36944 html += '</div>'; 36945 } 36946 36947 html += '</div>'; 36948 36949 36950 if (oNodeCalendar.attr("data-editor-filter") === "0") { 36951 html += '<div class="ctl-calendar-content"></div>'; 36952 } else { 36953 html += '<div class="row">'; 36954 html += '<div class="order-1 order-md-2 col col-12 col-md-3 col-lg-3 col-xl-2 pl-lg-0 pl-md-0 mb-3">'; 36955 html += '<div class="ctl-calendar-filter-users container-fluid border p-2 h-100">'; 36956 html += '<h3 class="mb-3">' + Base64.decode(oNodeCalendar.attr("data-label-filter-editors")) + '</h3>'; 36957 html += '<div class="row"></div>'; 36958 html += '</div>'; 36959 html += '</div>'; 36960 36961 html += '<div class="order-2 order-md-1 col col-12 col-md-9 col-lg-9 col-xl-10 mb-3">'; 36962 html += '<div class="ctl-calendar-content"></div>'; 36963 html += '</div>'; 36964 html += '</div>'; 36965 } 36966 36967 oNodeContainer.html(html); 36968 36969 ctlApplySelect2(); 36970 ctlApplyDateTimePicker(); 36971 36972 switch (view) { 36973 case "month": { 36974 ctlCalendarShowMonthDetail(oNodeCalendar, oMoment); 36975 } break; 36976 case "week": { 36977 ctlCalendarShowWeekDetail(oNodeCalendar, oMoment, 7, {}); 36978 } break; 36979 case "day": { 36980 ctlCalendarShowWeekDetail(oNodeCalendar, oMoment, 1, oDayItems); 36981 } break; 36982 } 36983 36984} 36985 36986function ctlCalendarShowMonthDetail(oNodeCalendarWidget, oMoment) { 36987 var aHideWeekDays = JSON.parse(Base64.decode(oNodeCalendarWidget.attr("data-hide-week-days"))); 36988 var oNodeCalendarContent = oNodeCalendarWidget.find(".ctl-calendar-content"); 36989 36990 var iWeekStart = parseInt(oNodeCalendarWidget.attr("data-week-start")); 36991 var aWeekDays = []; 36992 36993 oNodeCalendarWidget[0]["offset-date"] = oMoment; 36994 36995 var iCurrentWeekDay = oMoment.format("d"); 36996 36997 var k = 0; 36998 for (var i = iCurrentWeekDay; i > (-1 + iWeekStart); i--) { 36999 var oTmpMoment = oMoment.clone(); 37000 aWeekDays.push( 37001 { 37002 "ddd": oTmpMoment.subtract(k, 'days').format("ddd"), 37003 "weekday": oTmpMoment.day() 37004 }); 37005 k++; 37006 } 37007 aWeekDays.reverse(); 37008 37009 var k = 0; 37010 for (var i = iCurrentWeekDay; i < (6 + iWeekStart); i++) { 37011 var oTmpMoment = oMoment.clone(); 37012 k++; 37013 aWeekDays.push({ 37014 "ddd": oTmpMoment.add(k, 'days').format("ddd"), 37015 "weekday": oTmpMoment.day() 37016 }); 37017 } 37018 37019 let html = ""; 37020 html += '<div class="ctl-calendar-month-header">'; 37021 html += '<div class="row">'; 37022 for (var i = 0; i < aWeekDays.length; i++) { 37023 37024 if (aHideWeekDays.includes(aWeekDays[i]["weekday"])) { 37025 continue; 37026 } 37027 37028 html += '<div class="col'; 37029 html += '">'; 37030 html += '<div class="ctl-calendar-cell">'; 37031 html += '<h3>' + aWeekDays[i]["ddd"] + '</h3>'; 37032 html += '</div>'; 37033 html += '</div>'; 37034 } 37035 html += '</div>'; 37036 html += '</div>'; 37037 37038 37039 html += '<div class="ctl-calendar-month-body">'; 37040 37041 html += '</div>'; 37042 37043 oNodeCalendarContent.html(html); 37044} 37045 37046function __ctlCalendarVisibleHoursScrollLimitedView(oNodeCalendarWidget, iHours, iVisibleHoursScroll) { 37047 37048 var oNodeCalendarContent = oNodeCalendarWidget.find(".ctl-calendar-content"); 37049 37050 if (iHours > 0) { 37051 //var iVisibleHoursScroll = 10; 37052 if (iVisibleHoursScroll > 0) { 37053 var oHeader = oNodeCalendarContent.find(".ctl-calendar-week-header"); 37054 var oBody = oNodeCalendarContent.find(".ctl-calendar-week-body"); 37055 37056 var oBodyHours = oNodeCalendarContent.find(".ctl-calendar-hours-container") 37057 var iN = iVisibleHoursScroll; 37058 var iTotalHeight = 0; 37059 37060 oBodyHours.find(".ctl-calendar-row:not(.ctl-calendar-row-full-day)").slice(0, iN).each(function () { 37061 iTotalHeight += jQuery(this).outerHeight(true); 37062 }); 37063 var iRowHeight = oBody.find(".ctl-calendar-row:not(.ctl-calendar-row-full-day)").first().outerHeight(true) || 40; 37064 37065 var iMaxHeight = iTotalHeight;//iRowHeight * iVisibleHoursScroll; 37066 37067 // avoid too much limit if few hours are visible. 37068 if ( iMaxHeight < 20*24){
37069 iMaxHeight = 20*24; 37070 } 37071 37072 //css dinamico. 37073 oBodyHours.css({ 37074 "max-height": iMaxHeight + "px", 37075 "overflow-y": "auto" // 37076 }); 37077 37078 37079 //after edit 37080 var oBody = oNodeCalendarContent.find(".ctl-calendar-week-body"); 37081 37082 var iScrollHour = iHours; 37083 var iRowIndex = 0; 37084 oBodyHours.find(".ctl-calendar-row:not(.ctl-calendar-row-full-day)").each(function () { 37085 if (jQuery(this).find(".ctl-calendar-day-item").length > 0) { 37086 iScrollHour = iRowIndex > iHours ? iHours : iRowIndex; 37087 return false; // stop al primo trovato 37088 } 37089 iRowIndex++; 37090 }); 37091 37092 var iItemStart = iRowHeight * iScrollHour; 37093 oBodyHours.scrollTop(iItemStart); 37094 var iScrollbarWidth = oBodyHours[0].offsetWidth - oBodyHours[0].clientWidth; 37095 oHeader.css("padding-right", iScrollbarWidth + "px"); 37096 oBody.find(".ctl-calendar-row-full-day").css("padding-right", iScrollbarWidth + "px"); 37097 } 37098 } 37099 37100} 37101// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-chart-js/php/../4.5.1/js/chart.min.js
vendor: 208,511 bytes, lines 37102-37115
37102/*! 37103 * Chart.js v4.5.1 37104 * https://www.chartjs.org 37105 * (c) 2025 Chart.js Contributors 37106 * Released under the MIT License 37107 */ 37108!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Jo},get Decimation(){return ta},get Filler(){return ba},get Legend(){return Ma},get SubTitle(){return Pa},get Title(){return ka},get Tooltip(){return Na}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a<r;a++)e.call(i,t[a],a);else if(o(t))for(l=Object.keys(t),r=l.length,a=0;a<r;a++)e.call(i,t[l[a]],l[a])}function f(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function g(t){if(n(t))return t.map(g);if(o(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=g(t[i[n]]);return e}return t}function p(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function m(t,e,i,s){if(!p(t))return;const n=e[t],a=i[t];o(n)&&o(a)?x(n,a,s):e[t]=g(a)}function x(t,e,i){const s=n(e)?e:[e],a=s.length;if(!o(t))return t;const r=(i=i||{}).merger||m;let l;for(let e=0;e<a;++e){if(l=s[e],!o(l))continue;const n=Object.keys(l);for(let e=0,s=n.length;e<s;++e)r(n[e],t,l,i)}return t}function b(t,e){return x(t,e,{merger:_})}function _(t,e,i){if(!p(t))return;const s=e[t],n=i[t];o(s)&&o(n)?b(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=g(n))}const y={"":t=>t,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)<i}function B(t){const e=Math.round(t);t=V(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(z(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function W(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function N(t){return!function(t){return"symbol"==typeof t||"object"==typeof t&&null!==t&&!(Symbol.toPrimitive in t||"toString"in t||"valueOf"in t)}(t)&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function $(t){return t*(C/180)}function Y(t){return t*(180/C)}function U(t){if(!a(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function X(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*C&&(o+=O),{angle:o,distance:n}}function q(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function K(t,e){return(t-e+A)%O-C}function G(t){return(t%O+O)%O}function J(t,e,i,s){const n=G(t),o=G(e),a=G(i),r=G(o-n),l=G(a-n),h=G(n-o),c=G(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function Z(t,e,i){return Math.max(e,Math.min(i,t))}function Q(t){return Z(t,-32768,32767)}function tt(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),st=(t,e,i)=>et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const ot=["push","pop","shift","splice","unshift"];function at(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),ot.forEach((e=>{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const n=e.length;let o=0,a=n;if(t._sorted){const{iScale:r,vScale:l,_parsed:h}=t,c=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null,d=r.axis,{min:u,max:f,minDefined:g,maxDefined:p}=r.getUserBounds();if(g){if(o=Math.min(it(h,d,u).lo,i?n:it(e,d,r.getPixelForValue(u)).lo),c){const t=h.slice(0,o+1).reverse().findIndex((t=>!s(t[l.axis])));o-=Math.max(0,t)}o=Z(o,0,n-1)}if(p){let t=Math.max(it(h,r.axis,f,!0).hi+1,i?0:it(e,d,r.getPixelForValue(f),!0).hi+1);if(c){const e=h.slice(t-1).findIndex((t=>!s(t[l.axis])));t+=Math.max(0,e)}a=Z(t,o,n)-o}else a=n-o}return{start:o,count:a}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class xt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var bt=new xt; 37109/*! 37110 * @kurkle/color v0.3.2 37111 * https://github.com/kurkle/color#readme 37112 * (c) 2023 Jukka Kurkela 37113 * Released under the MIT License 37114 */function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function zt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(Mt)}function Ft(t,e,i){return zt(Lt,t,e,i)}function Vt(t){return(t%360+360)%360}function Bt(t){const e=Tt.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?vt(+e[5]):Mt(+e[5]));const n=Vt(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return zt(Rt,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return zt(Et,t,e,i)}(n,o,a):Ft(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Wt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Nt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ht;function jt(t){Ht||(Ht=function(){const t={},e=Object.keys(Nt),i=Object.keys(Wt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Wt[o]);o=parseInt(Nt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Jt{constructor(t){if(t instanceof Jt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Jt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Zt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Zt(t)?t:new Jt(t)}function te(t){return Zt(t)?t:new Jt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function ce(t,e,i){return"string"==typeof e?x(he(t,e),i):x(he(t,""),e)}class de{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function xe(t,e){return me(t).getPropertyValue(e)}const be=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=be[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=t&&ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=Me(t.height*s),o=Me(t.width*s);t.height=Me(t.height),t.width=Me(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=xe(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;h<l;h++)if(u=i[h],null==u||n(u)){if(n(u))for(c=0,d=u.length;c<d;c++)f=u[c],null==f||n(f)||(r=Ce(t,o,a,r,f))}else r=Ce(t,o,a,r,u);t.restore();const g=a.length/2;if(g>i.length){for(h=0;h<g;h++)delete o[a[h]];a.splice(0,g)}return r}function Ae(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function Te(t,e){(e||t)&&((e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore())}function Le(t,e,i,s){Ee(t,e,i,s,null)}function Ee(t,e,i,s,n){let o,a,r,l,h,c,d,u;const f=e.pointStyle,g=e.rotation,p=e.radius;let m=(g||0)*L;if(f&&"object"==typeof f&&(o=f.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(i,s),t.rotate(m),t.drawImage(f,-f.width/2,-f.height/2,f.width,f.height),void t.restore();if(!(isNaN(p)||p<=0)){switch(t.beginPath(),f){default:n?t.ellipse(i,s,n/2,p,0,0,O):t.arc(i,s,p,0,O),t.closePath();break;case"triangle":c=n?n/2:p,t.moveTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=I,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=I,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),t.closePath();break;case"rectRounded":h=.516*p,l=p-h,a=Math.cos(m+R)*l,d=Math.cos(m+R)*(n?n/2-h:l),r=Math.sin(m+R)*l,u=Math.sin(m+R)*(n?n/2-h:l),t.arc(i-d,s-r,h,m-C,m-E),t.arc(i+u,s-a,h,m-E,m),t.arc(i+d,s+r,h,m,m+E),t.arc(i-u,s+a,h,m+E,m+C),t.closePath();break;case"rect":if(!g){l=Math.SQRT1_2*p,c=n?n/2:l,t.rect(i-c,s-l,2*c,2*l);break}m+=R;case"rectRot":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+u,s-a),t.lineTo(i+d,s+r),t.lineTo(i-u,s+a),t.closePath();break;case"crossRot":m+=R;case"cross":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"star":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a),m+=R,d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"line":a=n?n/2:Math.cos(m)*p,r=Math.sin(m)*p,t.moveTo(i-a,s-r),t.lineTo(i+a,s+r);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(m)*(n?n/2:p),s+Math.sin(m)*p);break;case!1:t.closePath()}t.fill(),e.borderWidth>0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function Ie(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function ze(t){t.restore()}function Fe(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function Ve(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function Be(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),a=e-o.actualBoundingBoxLeft,r=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(a,c),t.lineTo(r,c),t.stroke()}}function We(t,e){const i=t.fillStyle;t.fillStyle=e.color,t.fillRect(e.left,e.top,e.width,e.height),t.fillStyle=i}function Ne(t,e,i,o,a,r={}){const l=n(e)?e:[e],h=r.strokeWidth>0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;c<l.length;++c)d=l[c],r.backdrop&&We(t,r.backdrop),h&&(r.strokeColor&&(t.strokeStyle=r.strokeColor),s(r.strokeWidth)||(t.lineWidth=r.strokeWidth),t.strokeText(d,i,o,r.maxWidth)),t.fillText(d,i,o,r.maxWidth),Be(t,i,o,d,r),o+=Number(a.lineHeight);t.restore()}function He(t,e){const{x:i,y:s,w:n,h:o,radius:a}=e;t.arc(i+a.topLeft,s+a.topLeft,a.topLeft,1.5*C,C,!0),t.lineTo(i,s+o-a.bottomLeft),t.arc(i+a.bottomLeft,s+o-a.bottomLeft,a.bottomLeft,C,E,!0),t.lineTo(i+n-a.bottomRight,s+o),t.arc(i+n-a.bottomRight,s+o-a.bottomRight,a.bottomRight,E,0,!0),t.lineTo(i+n,s+a.topRight),t.arc(i+n-a.topRight,s+a.topRight,a.topRight,0,-E,!0),t.lineTo(i+a.topLeft,s)}function je(t,e=[""],i,s,n=(()=>t[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Ze(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Ze(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Ze(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e)||"constructor"===e)return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Je(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Ze(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Je(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={r:n.parse(M(c,o),h)};return a}const si=Number.EPSILON||1e-14,ni=(t,e)=>e<t.length&&!t[e].skip&&t[e],oi=t=>"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a<s;++a)if(r=l,l=h,h=ni(t,a+1),l){if(h){const t=h[e]-l[e];n[a]=0!==t?(h[i]-l[i])/t:0}o[a]=r?h?F(n[a-1])!==F(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}!function(t,e,i){const s=t.length;let n,o,a,r,l,h=ni(t,0);for(let c=0;c<s-1;++c)l=h,h=ni(t,c+1),l&&h&&(V(e[c],0,si)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],r=Math.pow(n,2)+Math.pow(o,2),r<=9||(a=3/Math.sqrt(r),i[c]=n*a*e[c],i[c+1]=o*a*e[c])))}(t,n,o),function(t,e,i="x"){const s=oi(i),n=t.length;let o,a,r,l=ni(t,0);for(let h=0;h<n;++h){if(a=r,r=l,l=ni(t,h+1),!r)continue;const n=r[i],c=r[s];a&&(o=(n-a[i])/3,r[`cp1${i}`]=n-o,r[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,r[`cp2${i}`]=n+o,r[`cp2${s}`]=c+o*e[h])}}(t,o,e)}function li(t,e,i){return Math.max(Math.min(t,i),e)}function hi(t,e,i,s,n){let o,a,r,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o<a;++o)r=t[o],l=ai(i,r,t[Math.min(o+1,a-(s?0:1))%a],e.tension),r.cp1x=l.previous.x,r.cp1y=l.previous.y,r.cp2x=l.next.x,r.cp2y=l.next.y,i=r}e.capBezierPoints&&function(t,e){let i,s,n,o,a,r=Re(t[0],e);for(i=0,s=t.length;i<s;++i)a=o,o=r,r=i<s-1&&Re(t[i+1],e),o&&(n=t[i],a&&(n.cp1x=li(n.cp1x,e.left,e.right),n.cp1y=li(n.cp1y,e.top,e.bottom)),r&&(n.cp2x=li(n.cp2x,e.left,e.right),n.cp2y=li(n.cp2y,e.top,e.bottom)))}(t,i)}const ci=t=>0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const xi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,bi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(xi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(bi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;o<a;++o)if(r=t[o],void 0!==r&&(void 0!==e&&"function"==typeof r&&(r=r(e),l=!1),void 0!==i&&n(r)&&(r=r[i%r.length],l=!1),void 0!==r))return s&&!l&&(s.cacheable=!1),r}function Di(t,e,i){const{min:s,max:n}=t,o=c(e,(n-s)/2),a=(t,e)=>i&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:J,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;h<c&&a(r(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:f,style:t.style}}(t,e,i),g=[];let p,m,x,b=!1,_=null;const y=()=>b||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=Ri(s[n],t.points,e);o.length&&i.push(...o)}return i}function zi(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:a,end:r}=function(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r<a?r+n:r,!!t._fullLoop&&0===a&&r===n-1),i,e)}function Fi(t,e,i,s){return s&&s.setContext&&i?function(t,e,i,s){const n=t._chart.getContext(),o=Vi(t.options),{_datasetIndex:a,options:{spanGaps:r}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function f(t,e,s,n){const o=r?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=r?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const r=i[u%l];e=Vi(s.setContext(Ci(n,{type:"segment",p0:o,p1:r,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:a}))),Bi(e,c)&&f(d,u-1,t.loop,c),o=r,c=e}d<u-1&&f(d,u-1,t.loop,c)}return h}(t,e,i,s):e}function Vi(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function Bi(t,e){if(!e)return!1;const i=[],s=function(t,e){return Zt(e)?(i.includes(e)||i.push(e),i.indexOf(e)):e};return JSON.stringify(t,s)!==JSON.stringify(e,s)}function Wi(t,e,i){return t.options.clip?t[i]:e[i]}function Ni(t,e){const i=e._clip;if(i.disabled)return!1;const s=function(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:Wi(i,e,"left"),right:Wi(i,e,"right"),top:Wi(s,e,"top"),bottom:Wi(s,e,"bottom")}:e}(e,t.chartArea);return{left:!1===i.left?0:s.left-(!0===i.left?0:i.left),right:!1===i.right?t.width:s.right+(!0===i.right?0:i.right),top:!1===i.top?0:s.top-(!0===i.top?0:i.top),bottom:!1===i.bottom?t.height:s.bottom+(!0===i.bottom?0:i.bottom)}}var Hi=Object.freeze({__proto__:null,HALF_PI:E,INFINITY:T,PI:C,PITAU:A,QUARTER_PI:R,RAD_PER_DEG:L,TAU:O,TWO_THIRDS_PI:I,_addGrace:Di,_alignPixel:Ae,_alignStartEnd:ft,_angleBetween:J,_angleDiff:K,_arrayUnique:lt,_attachContext:$e,_bezierCurveTo:Ve,_bezierInterpolation:mi,_boundSegment:Ri,_boundSegments:Ii,_capitalize:w,_computeSegments:zi,_createResolver:je,_decimalPlaces:U,_deprecated:function(t,e,i,s){void 0!==e&&console.warn(t+': "'+i+'" is deprecated. Please use "'+s+'" instead')},_descriptors:Ye,_elementsEqual:f,_factorize:W,_filterBetween:nt,_getParentNode:ge,_getStartAndCountOfVisiblePoints:pt,_int16Range:Q,_isBetween:tt,_isClickEvent:D,_isDomSupported:fe,_isPointInArea:Re,_limitValue:Z,_longestText:Oe,_lookup:et,_lookupByKey:it,_measureText:Ce,_merger:m,_mergerIf:_,_normalizeAngle:G,_parseObjectDataRadialScale:ii,_pointInLine:gi,_readValueToProps:vi,_rlookupByKey:st,_scaleRangesChanged:mt,_setMinAndMaxByKey:j,_splitKey:v,_steppedInterpolation:pi,_steppedLineTo:Fe,_textX:gt,_toLeftRightCenter:ut,_updateBezierControlPoints:hi,addRoundedRectPath:He,almostEquals:V,almostWhole:H,callback:d,clearCanvas:Te,clipArea:Ie,clone:g,color:Qt,createContext:Ci,debounce:dt,defined:k,distanceBetweenPoints:q,drawPoint:Le,drawPointLegend:Ee,each:u,easingEffects:fi,finiteOrDefault:r,fontString:function(t,e,i){return e+" "+t+"px "+i},formatNumber:ne,getAngleFromPoint:X,getDatasetClipArea:Ni,getHoverColor:te,getMaximumSize:we,getRelativePosition:ve,getRtlAdapter:Oi,getStyle:xe,isArray:n,isFinite:a,isFunction:S,isNullOrUndef:s,isNumber:N,isObject:o,isPatternOrGradient:Zt,listenArrayEvents:at,log10:z,merge:x,mergeIf:b,niceNum:B,noop:e,overrideTextDirection:Ai,readUsedSize:Pe,renderText:Ne,requestAnimFrame:ht,resolve:Pi,resolveObjectKey:M,restoreTextDirection:Ti,retinaScale:ke,setsEqual:P,sign:F,splineCurve:ai,splineCurveMonotone:ri,supportsEventListenerOptions:Se,throttled:ct,toDegrees:Y,toDimension:c,toFont:Si,toFontString:De,toLineHeight:_i,toPadding:ki,toPercentage:h,toRadians:$,toTRBL:Mi,toTRBLCorners:wi,uid:i,unclipArea:ze,unlistenArrayEvents:rt,valueOrDefault:l});function ji(t,e,i,n){const{controller:o,data:a,_sorted:r}=t,l=o._cachedMeta.iScale,h=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null;if(l&&e===l.axis&&"r"!==e&&r&&a.length){const r=l._reversePixels?st:it;if(!n){const n=r(a,e,i);if(h){const{vScale:e}=o._cachedMeta,{_parsed:i}=t,a=i.slice(0,n.lo+1).reverse().findIndex((t=>!s(t[e.axis])));n.lo-=Math.max(0,a);const r=i.slice(n.hi).findIndex((t=>!s(t[e.axis])));n.hi+=Math.max(0,r)}return n}if(o._sharedOptions){const t=a[0],s="function"==typeof t.getRange&&t.getRange(e);if(s){const t=r(a,e,i-s),n=r(a,e,i+s);return{lo:t.lo,hi:n.hi}}}}return{lo:0,hi:a.length-1}}function $i(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:r}=o[t],{lo:l,hi:h}=ji(o[t],e,a,n);for(let t=l;t<=h;++t){const e=r[t];e.skip||s(e,i,t)}}}function Yi(t,e,i,s,n){const o=[];if(!n&&!t.isPointInArea(e))return o;return $i(t,i,e,(function(i,a,r){(n||Re(i,t.chartArea,0))&&i.inRange(e.x,e.y,s)&&o.push({element:i,datasetIndex:a,index:r})}),!0),o}function Ui(t,e,i,s,n,o){let a=[];const r=function(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}(i);let l=Number.POSITIVE_INFINITY;return $i(t,i,e,(function(i,h,c){const d=i.inRange(e.x,e.y,n);if(s&&!d)return;const u=i.getCenterPoint(n);if(!(!!o||t.isPointInArea(u))&&!d)return;const f=r(e,u);f<l?(a=[{element:i,datasetIndex:h,index:c}],l=f):f===l&&a.push({element:i,datasetIndex:h,index:c})})),a}function Xi(t,e,i,s,n,o){return o||t.isPointInArea(e)?"r"!==i||s?Ui(t,e,i,s,n,o):function(t,e,i,s){let n=[];return $i(t,i,e,(function(t,i,o){const{startAngle:a,endAngle:r}=t.getProps(["startAngle","endAngle"],s),{angle:l}=X(t,{x:e.x,y:e.y});J(l,a,r)&&n.push({element:t,datasetIndex:i,index:o})})),n}(t,e,i,n):[]}function qi(t,e,i,s,n){const o=[],a="x"===i?"inXRange":"inYRange";let r=!1;return $i(t,i,e,((t,s,l)=>{t[a]&&t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Ki={evaluateInteractionItems:$i,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;t<i.length;++t)r.push({element:i[t],datasetIndex:e,index:t})}return r},point:(t,e,i,s)=>Yi(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Xi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>qi(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>qi(t,ve(e,t),"y",i.intersect,s)}};const Gi=["left","top","right","bottom"];function Ji(t,e){return t.filter((t=>t.pos===e))}function Zi(t,e){return t.filter((t=>-1===Gi.indexOf(t.pos)&&t.box.axis===e))}function Qi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function ts(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Gi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o<a;++o){r=t[o];const{fullSize:a}=r.box,l=i[r.stack],h=l&&r.stackWeight/l.weight;r.horizontal?(r.width=h?h*s:a&&e.availableWidth,r.height=n):(r.width=s,r.height=h?h*n:a&&e.availableHeight)}return i}function es(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function is(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function ss(t,e,i,s){const{pos:n,box:a}=i,r=t.maxPadding;if(!o(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?a.height:a.width),i.size=e.size/e.count,t[n]+=i.size}a.getPadding&&is(r,a.getPadding());const l=Math.max(0,e.outerWidth-es(r,t,"left","right")),h=Math.max(0,e.outerHeight-es(r,t,"top","bottom")),c=l!==t.w,d=h!==t.h;return t.w=l,t.h=h,i.horizontal?{same:c,other:d}:{same:d,other:c}}function ns(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function os(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;o<a;++o){r=t[o],l=r.box,l.update(r.width||e.w,r.height||e.h,ns(r.horizontal,e));const{same:a,other:d}=ss(e,i,r,s);h|=a&&n.length,c=c||d,l.fullSize||n.push(r)}return h&&os(n,e,i,s)||c}function as(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function rs(t,e,i,s){const n=i.padding;let{x:o,y:a}=e;for(const r of t){const t=r.box,l=s[r.stack]||{count:1,placed:0,weight:1},h=r.stackWeight/l.weight||1;if(r.horizontal){const s=e.w*h,o=l.size||t.height;k(l.start)&&(a=l.start),t.fullSize?as(t,n.left,a,i.outerWidth-n.right-n.left,o):as(t,e.left+l.placed,a,s,o),l.start=a,l.placed+=s,a=t.bottom}else{const s=e.h*h,a=l.size||t.width;k(l.start)&&(o=l.start),t.fullSize?as(t,o,n.top,a,i.outerHeight-n.bottom-n.top):as(t,o,e.top+l.placed,a,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=a}var ls={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=ki(t.options.layout.padding),o=Math.max(e-n.width,0),a=Math.max(i-n.height,0),r=function(t){const e=function(t){const e=[];let i,s,n,o,a,r;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:a,stackWeight:r=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&o+a,stackWeight:r});return e}(t),i=Qi(e.filter((t=>t.box.fullSize)),!0),s=Qi(Ji(e,"left"),!0),n=Qi(Ji(e,"right")),o=Qi(Ji(e,"top"),!0),a=Qi(Ji(e,"bottom")),r=Zi(e,"x"),l=Zi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ji(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);is(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=ts(l.concat(h),d);os(r.fullSize,g,d,p),os(l,g,d,p),os(h,g,d,p)&&os(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),rs(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,rs(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class hs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class cs extends hs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ds="$chartjs",us={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},fs=t=>null===t||""===t;const gs=!!Se&&{passive:!0};function ps(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,gs)}function ms(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function xs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.addedNodes,s),e=e&&!ms(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function bs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.removedNodes,s),e=e&&!ms(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const _s=new Map;let ys=0;function vs(){const t=window.devicePixelRatio;t!==ys&&(ys=t,_s.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function Ms(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s<n.clientWidth&&i()}),window),a=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){_s.size||window.addEventListener("resize",vs),_s.set(t,e)}(t,o),a}function ws(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){_s.delete(t),_s.size||window.removeEventListener("resize",vs)}(t)}function ks(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=us[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,gs)}(s,e,n),n}class Ss extends hs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[ds]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",fs(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(fs(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[ds])return!1;const i=e[ds].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[ds],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:xs,detach:bs,resize:Ms}[e]||ks;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:ws,detach:ws,resize:ws}[e]||ps)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=t&&ge(t);return!(!e||!e.isConnected)}}function Ps(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?cs:Ss}var Ds=Object.freeze({__proto__:null,BasePlatform:hs,BasicPlatform:cs,DomPlatform:Ss,_detectPlatform:Ps});const Cs="transparent",Os={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Cs),n=s.valid&&Qt(e||Cs);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class As{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Os[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e<i),!this._active)return this._target[s]=a,void this._notify(!0);e<0?this._target[s]=n:(r=e/i%2,r=o&&r>1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}class Ts{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!o(t))return;const e=Object.keys(ue.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach((s=>{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new As(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(bt.add(this._chart,i),!0):void 0}}function Ls(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Es(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function Rs(t,e,i,s={}){const n=t.keys,o="single"===s.mode;let r,l,h,c;if(null===e)return;let d=!1;for(r=0,l=n.length;r<l;++r){if(h=+n[r],h===i){if(d=!0,s.all)continue;break}c=t.values[h],a(c)&&(o||0===e||F(e)===F(c))&&(e+=c)}return d||s.all?e:0}function Is(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function zs(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function Fs(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function Vs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=zs(n,c,o),u[r]=d,u._top=Fs(u,a,!0,s.type),u._bottom=Fs(u,a,!1,s.type);(u._visualValues||(u._visualValues={}))[r]=d}}function Bs(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function Ws(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Ns=t=>"reset"===t||"none"===t,Hs=(t,e)=>e?t:Object.assign({},t);class js{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Is(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Ws(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Bs(t,"x")),o=e.yAxisID=l(i.yAxisID,Bs(t,"y")),a=e.rAxisID=l(i.rAxisID,Bs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Ws(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e)){const t=this._cachedMeta;this._data=function(t,e){const{iScale:i,vScale:s}=e,n="x"===i.axis?"x":"y",o="x"===s.axis?"x":"y",a=Object.keys(t),r=new Array(a.length);let l,h,c;for(l=0,h=a.length;l<h;++l)c=a[l],r[l]={[n]:c,[o]:t[c]};return r}(e,t)}else if(i!==e){if(i){rt(i,this);const t=this._cachedMeta;Ws(t),t._parsed=[]}e&&Object.isExtensible(e)&&at(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=Is(e.vScale,e),e.stack!==i.stack&&(s=!0,Ws(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&(Vs(this,e._parsed),e._stacked=Is(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:a,_stacked:r}=i,l=a.axis;let h,c,d,u=0===t&&e===s.length||i._sorted,f=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]<f[l];for(h=0;h<e;++h)i._parsed[h+t]=c=d[h],u&&(a()&&(u=!1),f=c);i._sorted=u}r&&Vs(this,d)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,a=n.axis,r=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,f;for(d=0,u=s;d<u;++d)f=d+i,c[d]={[a]:h||n.parse(l[f],f),[r]:o.parse(e[f],f)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return a}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(M(u,a),d),y:o.parse(M(u,r),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return Rs({keys:Es(s,!0),values:e._stacks[t.axis]._visualValues},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const a=s&&i._stacks[e.axis];s&&a&&(s.values=a,o=Rs(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,r=this._getOtherScale(t),l=((t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:Es(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d<e}for(u=0;u<o&&(g()||(this.updateRangeFromParsed(h,t,f,l),!n));++u);if(n)for(u=o-1;u>=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],a(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=function(t){let e,i,s,n;return o(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}(l(this.options.clip,function(t,e,i){if(!1===i)return!1;const s=Ls(t,i),n=Ls(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],a=this._drawStart||0,r=this._drawCount||s.length-a,l=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,n,a,r),h=a;h<a+r;++h){const e=s[h];e.hidden||(e.active&&l?o.push(e):e.draw(t,n))}for(h=0;h<o.length;++h)o[h].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=function(t,e,i){return Ci(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=function(t,e){return Ci(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,a=n[o],r=this.enableOptionSharing&&k(i);if(a)return Hs(a,r);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(ue.elements[t]),f=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Hs(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Ts(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ns(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Ns(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Ns(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e,i=!0){const s=this._cachedMeta,n=s.data,o=t+e;let a;const r=t=>{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a<o;++a)n[a]=new this.dataElementType;this._parsing&&r(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&Ws(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}class $s{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return N(this.x)&&N(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function Ys(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],r=a.length,l=a[0],h=a[r-1],c=[];if(r>o)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===a&&(e.push(t[n]),o++,a=i[o*s])}(e,c,a,r/o),c;const d=function(t,e,i){const s=function(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!s)return Math.max(n,1);const o=W(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for(Us(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t<i;t++)Us(e,c,d,a[t],a[t+1]);return Us(e,c,d,h,s(n)?e.length:h+n),c}return Us(e,c,d),c}function Us(t,e,i,s,n){const o=l(s,0),a=Math.min(l(n,t.length),t.length);let r,h,c,d=0;for(i=Math.ceil(i),n&&(r=n-s,i=r/Math.floor(r/i)),c=o;c<0;)d++,c=Math.round(o+d*i);for(h=Math.max(o,0);h<a;h++)h===c&&(e.push(t[h]),d++,c=Math.round(o+d*i))}const Xs=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i,qs=(t,e)=>Math.min(e||t,t);function Ks(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function Gs(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,a=t._endPixel,r=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,a-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-r||h>a+r)))return h}function Js(t){return t.drawTicks?t.tickLength:0}function Zs(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Qs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class tn extends $s{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;r<l;++r)e=a[r].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a<this.ticks.length;this._convertTicksToLabels(r?Ks(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=Ys(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),r&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){d(this.options.afterUpdate,[this])}beforeSetDimensions(){d(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){d(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),d(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){d(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=d(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){d(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){d(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=qs(this.ticks.length,t.ticks.maxTicksLimit),s=e.minRotation||0,n=e.maxRotation;let o,a,r,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Z(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Js(t.grid)-e.padding-Zs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(Z((h.highest.height+6)/o,-1,1)),Math.asin(Z(a/r,-1,1))-Math.asin(Z(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Zs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Js(n)+o):(t.height=this.maxHeight,t.width=Js(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)s(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Ks(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:o,_longestTextCache:a}=this,r=[],l=[],h=Math.floor(e/qs(e,i));let c,d,f,g,p,m,x,b,_,y,v,M=0,w=0;for(c=0;c<e;c+=h){if(g=t[c].label,p=this._resolveTickFontOptions(c),o.font=m=p.string,x=a[m]=a[m]||{data:{},gc:[]},b=p.lineHeight,_=y=0,s(g)||n(g)){if(n(g))for(d=0,f=g.length;d<f;++d)v=g[d],s(v)||n(v)||(_=Ce(o,x.data,x.gc,_,v),y+=b)}else _=Ce(o,x.data,x.gc,_,g),y=b;r.push(_),l.push(y),M=Math.max(_,M),w=Math.max(y,w)}!function(t,e){u(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}(a,e);const k=r.indexOf(M),S=l.indexOf(w),P=t=>({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=function(t,e,i){return Ci(t,{tick:i,index:e,type:"tick"})}(this.getContext(),t,i))}return this.$context||(this.$context=Ci(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const t=this.options.ticks,e=$(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,a=n?n.widest.width+o:0,r=n?n.highest.height+o:0;return this.isHorizontal()?r*i>a*s?a/i:r/s:r*s<a*i?r/i:a/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Js(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,x=function(t){return Ae(i,t,p)};let b,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)b=x(this.bottom),w=this.bottom-u,S=b-m,D=x(t.top)+m,O=t.bottom;else if("bottom"===a)b=x(this.top),D=t.top,O=x(t.bottom)-m,w=b+m,S=this.top+u;else if("left"===a)b=x(this.right),M=this.right-u,k=b-m,P=x(t.left)+m,C=t.right;else if("right"===a)b=x(this.left),P=t.left,C=x(t.right)-m,M=b+m,k=this.left+u;else if("x"===e){if("center"===a)b=x((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=b+m,S=w+u}else if("y"===e){if("center"===a)b=x((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}M=b-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_<d;_+=T){const t=this.getContext(_),e=n.setContext(t),s=r.setContext(t),o=e.lineWidth,a=e.color,l=s.dash||[],d=s.dashOffset,u=e.tickWidth,g=e.tickColor,p=e.tickBorderDash||[],m=e.tickBorderDashOffset;y=Gs(this,_,h),void 0!==y&&(v=Ae(i,y,o),c?M=k=P=C=v:w=S=D=O=v,f.push({tx1:M,ty1:w,tx2:k,ty2:S,x1:P,y1:D,x2:C,y2:O,width:o,color:a,borderDash:l,borderDashOffset:d,tickWidth:u,tickColor:g,tickBorderDash:p,tickBorderDashOffset:m}))}return this._ticksLength=d,this._borderValue=b,f}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:a}=i,r=this.isHorizontal(),l=this.ticks,{align:h,crossAlign:c,padding:d,mirror:u}=a,f=Js(i.grid),g=f+d,p=u?-d:g,m=-$(this.labelRotation),x=[];let b,_,y,v,M,w,k,S,P,D,C,O,A="middle";if("top"===s)w=this.bottom-p,k=this._getXAxisLabelAlignment();else if("bottom"===s)w=this.top+p,k=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(f);k=t.textAlign,M=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(f);k=t.textAlign,M=t.x}else if("x"===e){if("center"===s)w=(t.top+t.bottom)/2+g;else if(o(s)){const t=Object.keys(s)[0],e=s[t];w=this.chart.scales[t].getPixelForValue(e)+g}k=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)M=(t.left+t.right)/2-g;else if(o(s)){const t=Object.keys(s)[0],e=s[t];M=this.chart.scales[t].getPixelForValue(e)}k=this._getYAxisLabelAlignment(f).textAlign}"y"===e&&("start"===h?A="top":"end"===h&&(A="bottom"));const T=this._getLabelSizes();for(b=0,_=l.length;b<_;++b){y=l[b],v=y.label;const t=a.setContext(this.getContext(b));S=this.getPixelForTick(b)+a.labelOffset,P=this._resolveTickFontOptions(b),D=P.lineHeight,C=n(v)?v.length:1;const e=C/2,i=t.color,o=t.textStrokeColor,h=t.textStrokeWidth;let d,f=k;if(r?(M=S,"inner"===k&&(f=b===_-1?this.options.reverse?"left":"right":0===b?this.options.reverse?"right":"left":"center"),O="top"===s?"near"===c||0!==m?-C*D+D/2:"center"===c?-T.highest.height/2-e*D+D:-T.highest.height+D/2:"near"===c||0!==m?D/2:"center"===c?T.highest.height/2-e*D:T.highest.height-C*D,u&&(O*=-1),0===m||t.showLabelBackdrop||(M+=D/2*Math.sin(m))):(w=S,O=(1-C)*D/2),t.showLabelBackdrop){const e=ki(t.backdropPadding),i=T.heights[b],s=T.widths[b];let n=O-e.top,o=0-e.left;switch(A){case"middle":n-=i/2;break;case"bottom":n-=i}switch(k){case"center":o-=s/2;break;case"right":o-=s;break;case"inner":b===_-1?o-=s:b>0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}x.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return x}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&a({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&a({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:s}}=this,n=i.setContext(this.getContext()),o=i.display?n.width:0;if(!o)return;const a=s.setContext(this.getContext(0)).lineWidth,r=this._borderValue;let l,h,c,d;this.isHorizontal()?(l=Ae(t,this.left,o)-o/2,h=Ae(t,this.right,a)+a/2,c=d=r):(c=Ae(t,this.top,o)-o/2,d=Ae(t,this.bottom,a)+a/2,l=h=r),e.save(),e.lineWidth=n.width,e.strokeStyle=n.color,e.beginPath(),e.moveTo(l,c),e.lineTo(h,d),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&Ie(e,i);const s=this.getLabelItems(t);for(const t of s){const i=t.options,s=t.font;Ne(e,t.label,0,t.textOffset,s,i)}i&&ze(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const a=Si(i.font),r=ki(i.padding),l=i.align;let h=a.lineHeight/2;"bottom"===e||"center"===e||o(e)?(h+=r.bottom,n(i.text)&&(h+=a.lineHeight*(i.text.length-1))):h+=r.top;const{titleX:c,titleY:d,maxWidth:u,rotation:f}=function(t,e,i,s){const{top:n,left:a,bottom:r,right:l,chart:h}=t,{chartArea:c,scales:d}=h;let u,f,g,p=0;const m=r-n,x=l-a;if(t.isHorizontal()){if(f=ft(s,a,l),o(i)){const t=Object.keys(i)[0],s=i[t];g=d[t].getPixelForValue(s)+m-e}else g="center"===i?(c.bottom+c.top)/2+m-e:Xs(t,i,e);u=l-a}else{if(o(i)){const t=Object.keys(i)[0],s=i[t];f=d[t].getPixelForValue(s)-x+e}else f="center"===i?(c.left+c.right)/2-x+e:Xs(t,i,e);g=ft(s,r,n),p="left"===i?-E:E}return{titleX:f,titleY:g,maxWidth:u,rotation:p}}(this,h,e,l);Ne(t,i.text,0,0,a,{color:i.color,maxWidth:u,rotation:f,textAlign:Qs(l,e,s),textBaseline:"middle",translation:[c,d]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=l(t.grid&&t.grid.z,-1),s=l(t.border&&t.border.z,0);return this._isVisible()&&this.draw===tn.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return Si(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class en{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;(function(t){return"id"in t&&"defaults"in t})(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,function(t,e,i){const s=x(Object.create(null),[i?ue.get(i):{},ue.get(e),t.defaults]);ue.set(e,s),t.defaultRoutes&&function(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class sn{constructor(){this.controllers=new en(js,"datasets",!0),this.elements=new en($s,"elements"),this.plugins=new en(Object,"plugins"),this.scales=new en(tn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}}var nn=new sn;class on{constructor(){this._init=void 0}notify(t,e,i,s){if("beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install")),void 0===this._init)return;const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"afterDestroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall"),this._init=void 0),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===d(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){s(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=l(i.options&&i.options.plugins,{}),n=function(t){const e={},i=[],s=Object.keys(nn.plugins.items);for(let t=0;t<s.length;t++)i.push(nn.getPlugin(s[t]));const n=t.plugins||[];for(let t=0;t<n.length;t++){const s=n[t];-1===i.indexOf(s)&&(i.push(s),e[s.id]=!0)}return{plugins:i,localIds:e}}(i);return!1!==s||e?function(t,{plugins:e,localIds:i},s,n){const o=[],a=t.getContext();for(const r of e){const e=r.id,l=an(s[e],n);null!==l&&o.push({plugin:r,options:rn(t.config,{plugin:r,local:i[e]},l,a)})}return o}(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function an(t,e){return e||!1!==t?!0===t?{}:t:null}function rn(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function ln(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function hn(t){if("x"===t||"y"===t||"r"===t)return t}function cn(t,...e){if(hn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&hn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function dn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function un(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=ln(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=cn(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return dn(t,"x",i[0])||dn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=b(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||ln(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),b(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];b(e,[ue.scales[e.type],ue.scale])})),a}function fn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=un(t,e)}function gn(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const pn=new Map,mn=new Set;function xn(t,e){let i=pn.get(t);return i||(i=e(),pn.set(t,i),mn.add(i)),i}const bn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class _n{constructor(t){this._config=function(t){return(t=t||{}).data=gn(t.data),fn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=gn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),fn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return xn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return xn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return xn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>bn(r,t,e)))),e.forEach((t=>bn(r,s,t))),e.forEach((t=>bn(r,re[n]||{},t))),e.forEach((t=>bn(r,ue,t))),e.forEach((t=>bn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),mn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=yn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||vn(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=yn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function yn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const vn=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const Mn=["top","bottom","left","right","chartArea"];function wn(t,e){return"top"===t||"bottom"===t||-1===Mn.indexOf(t)&&"x"===e}function kn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function Sn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function Pn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Dn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Cn={},On=t=>{const e=Dn(t);return Object.values(Cn).filter((t=>t.canvas===e)).pop()};function An(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class Tn{static defaults=ue;static instances=Cn;static overrides=re;static registry=nn;static version="4.5.1";static getChart=On;static register(...t){nn.add(...t),Ln()}static unregister(...t){nn.remove(...t),Ln()}constructor(t,e){const s=this.config=new _n(e),n=Dn(t),o=On(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ps(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new on,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Cn[this.id]=this,r&&l?(bt.listen(this,"complete",Sn),bt.listen(this,"progress",Pn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return nn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return bt.stop(this),this}resize(t,e){bt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=cn(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=cn(o,n),r=l(n.type,e.dtype);void 0!==n.position&&wn(n.position,a)===wn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(nn.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{ls.configure(this,t,t.options),ls.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(kn("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||ln(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=nn.getController(o),{datasetElementType:s,dataElementType:a}=ue.datasets[o];Object.assign(e,{dataElementType:nn.getElement(a),datasetElementType:s&&nn.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){u(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===n.indexOf(e);e.buildOrUpdateElements(i),o=Math.max(+e.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),s||u(n,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(kn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{ls.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){An(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;t<e;t++)if(!P(s,i(t)))return;return Array.from(s).map((t=>t.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ls.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t<e;++t)this.getDatasetMeta(t).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,S(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(bt.has(this)?this.attached&&!bt.running(this)&&bt.start(this):(this.draw(),Sn({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(t,e)}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},s=Ni(this,t);!1!==this.notifyPlugins("beforeDatasetDraw",i)&&(s&&Ie(e,s),t.controller.draw(),s&&ze(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Ki.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),bt.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Te(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete Cn[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a<r;++a){o=t[a];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((({datasetIndex:t,index:e})=>{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Ln(){return u(Tn.instances,(t=>t._plugins.invalidate()))}function En(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Rn{static override(t){Object.assign(Rn.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return En()}parse(){return En()}format(){return En()}add(){return En()}diff(){return En()}startOf(){return En()}endOf(){return En()}}var In={_date:Rn};function zn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=lt(s.sort(((t,e)=>t-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(a=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return r}function Fn(t,e,i,s){return n(t)?function(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),a=Math.min(n,o),r=Math.max(n,o);let l=a,h=r;Math.abs(a)>Math.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Vn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=r||n.parse(a[h],h),l.push(Fn(u,d,o,h));return l}function Bn(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function Wn(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);if(!0===n)return void(t.borderSkipped={top:!0,right:!0,bottom:!0,left:!0});const{start:a,end:r,reverse:l,top:h,bottom:c}=function(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[Nn(c,a,r,l)]=!0,n=h)),o[Nn(n,a,r,l)]=!0,t.borderSkipped=o}function Nn(t,e,i,s){var n,o,a;return s?(a=i,t=Hn(t=(n=t)===(o=e)?a:n===a?o:n,i,e)):t=Hn(t,e,i),t}function Hn(t,e,i){return"start"===t?e:"end"===t?i:t}function jn(t,{inflateAmount:e},i){t.inflateAmount="auto"===e?1===i?.33:0:e}class $n extends js{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data,{labels:{pointStyle:i,textAlign:s,color:n,useBorderRadius:o,borderRadius:a}}=t.legend.options;return e.labels.length&&e.datasets.length?e.labels.map(((e,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:e,fillStyle:l.backgroundColor,fontColor:n,hidden:!t.getDataVisibility(r),lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:l.borderWidth,strokeStyle:l.borderColor,textAlign:s,pointStyle:i,borderRadius:o&&(a||l.borderRadius),index:r}})):[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;n<a;++n)s._parsed[n]=r(n)}}_getRotation(){return $(this.options.rotation-90)}_getCircumference(){return $(this.options.circumference)}_getRotationExtents(){let t=O,e=-O;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-o)/2,0),r=Math.min(h(this.options.cutout,a),1),l=this._getRingWeight(this.index),{circumference:d,rotation:u}=this._getRotationExtents(),{ratioX:f,ratioY:g,offsetX:p,offsetY:m}=function(t,e,i){let s=1,n=1,o=0,a=0;if(e<O){const r=t,l=r+e,h=Math.cos(r),c=Math.sin(r),d=Math.cos(l),u=Math.sin(l),f=(t,e,s)=>J(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>J(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),x=g(C,h,d),b=g(C+E,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),x=(i.width-o)/f,b=(i.height-o)/g,_=Math.max(Math.min(x,b)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p<e;++p)m+=this._circumference(p,n);for(p=e;p<e+i;++p){const e=this._circumference(p,n),i=t[p],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:m,endAngle:m+e,circumference:e,outerRadius:u,innerRadius:d};g&&(o.options=f||this.resolveDataElementOptions(p,i.active?"active":s)),m+=e,this.updateElement(i,p,o,s)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,a=o.controller;break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)r=a.resolveDataElementOptions(s),"inner"!==r.borderAlign&&(e=Math.max(e,r.borderWidth||0,r.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(l(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class Yn extends js{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d<e;++d)u+=this._computeAngle(d,s,f);for(d=e;d<e+i;d++){const e=t[d];let i=u,g=u+this._computeAngle(d,s,f),p=o.getDataVisibility(d)?r.getDistanceFromCenterForValue(this.getParsed(d).r):0;u=g,n&&(a.animateScale&&(p=0),a.animateRotate&&(i=g=c));const m={x:l,y:h,innerRadius:0,outerRadius:p,startAngle:i,endAngle:g,options:this.resolveDataElementOptions(d,e.active?"active":s)};this.updateElement(e,d,m,s)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach(((t,i)=>{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Un=Object.freeze({__proto__:null,BarController:class extends js{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Vn(t,e,i,s)}parseArrayData(t,e,i,s){return Vn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;d<u;++d)g=e[d],f={},f[n.axis]=n.parse(M(g,l),d),c.push(Fn(M(g,h),f,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,a=Bn(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,n){const o="reset"===n,{index:a,_cachedMeta:{vScale:r}}=this,l=r.getBasePixel(),h=r.isHorizontal(),c=this._getRuler(),{sharedOptions:d,includeOptions:u}=this._getSharedOptions(e,n);for(let f=e;f<e+i;f++){const e=this.getParsed(f),i=o||s(e[r.axis])?{base:l,head:l}:this._calculateBarValuePixels(f),g=this._calculateBarIndexPixels(f,c),p=(e._stacks||{})[r.axis],m={horizontal:h,base:i.base,enableBorderRadius:!p||Bn(e._custom)||a===p._top||a===p._bottom,x:h?i.head:g.center,y:h?g.center:i.head,height:h?g.size:Math.abs(i.size),width:h?Math.abs(i.size):g.size};u&&(m.options=d||this.resolveDataElementOptions(f,t[f].active?"active":n));const x=m.options||t[f].options;Wn(m,x,p,a),jn(m,x,c.ratio),this.updateElement(t[f],f,m,n)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,n=i.getMatchingVisibleMetas(this._type).filter((t=>t.controller.options.grouped)),o=i.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[i.axis],h=t=>{const e=t._parsed.find((t=>t[i.axis]===l)),n=e&&e[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!h(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter((i=>t[i].axis===e)).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const i of this.chart.data.datasets)t[l("x"===this.chart.options.indexAxis?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=t.barThickness;return{min:a||zn(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:n},options:{base:o,minBarLength:a}}=this,r=o||0,l=this.getParsed(t),h=l._custom,c=Bn(h);let d,u,f=l[e.axis],g=0,p=i?this.applyStack(e,l,i):f;p!==f&&(g=p-f,p=f),c&&(f=h.barStart,p=h.barEnd-h.barStart,0!==f&&F(f)!==F(h.barEnd)&&(g=0),g+=f);const m=s(o)||c?g:o;let x=e.getPixelForValue(m);if(d=this.chart.getDataVisibility(t)?e.getPixelForValue(g+p):x,u=d-x,Math.abs(u)<a){u=function(t,e,i){return 0!==t?F(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}(u,e,r)*a,f===r&&(x-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);x=Math.max(Math.min(x,h),o),d=x+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(x))}if(x===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;x+=t,u-=t}return{size:u,base:x,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;const c=this._getAxisCount();if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,d="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===a&&(a=o-(null===r?e.end-e.start:r-o)),null===r&&(r=o+o-a);const h=o-(o-Math.min(a,r))/2*l;return{chunk:Math.abs(r-a)/2*l/s,ratio:i.barPercentage,start:h}}(t,e,n,i*c):function(t,e,i,n){const o=i.barThickness;let a,r;return s(o)?(a=e.min*i.categoryPercentage,r=i.barPercentage):(a=o*n,r=1),{chunk:a/n,ratio:r,start:e.pixels[t]-a/2}}(t,e,n,i*c),u="x"===this.chart.options.indexAxis?this.getDataset().xAxisID:this.getDataset().yAxisID,f=this._getAxis().indexOf(l(u,this.getFirstScaleIdForIndexAxis())),g=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0)+f;r=d.start+d.chunk*g+d.chunk/2,h=Math.min(a,d.chunk*d.ratio)}else r=i.getPixelForValue(this.getParsed(t)[i.axis],t),h=Math.min(a,e.min*e.ratio);return{base:r-h/2,head:r+h/2,center:r,size:h}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null===this.getParsed(n)[e.axis]||i[n].hidden||i[n].draw(this._ctx)}},BubbleController:class extends js{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=l(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=l(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d<e+i;d++){const e=t[d],i=!n&&this.getParsed(d),u={},f=u[h]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[h]),g=u[c]=n?a.getBasePixel():a.getPixelForValue(i[c]);u.skip=isNaN(f)||isNaN(g),l&&(u.options=r||this.resolveDataElementOptions(d,e.active?"active":s),n&&(u.options.radius=0)),this.updateElement(e,d,u,s)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=l(i&&i._custom,n),s}},DoughnutController:$n,LineController:class extends js{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=pt(e,s,o);this._drawStart=a,this._drawCount=r,mt(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,i,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,{sharedOptions:c,includeOptions:d}=this._getSharedOptions(e,n),u=a.axis,f=r.axis,{spanGaps:g,segment:p}=this.options,m=N(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||"none"===n,b=e+i,_=t.length;let y=e>0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=x?g:{};if(i<e||i>=b){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),x||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends $n{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:Yn,RadarController:class extends js{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a<e+i;a++){const e=t[a],i=this.resolveDataElementOptions(a,e.active?"active":s),r=n.getPointPositionForValue(a,this.getParsed(a).r),l=o?n.xCenter:r.x,h=o?n.yCenter:r.y,c={x:l,y:h,angle:r.angle,skip:isNaN(l)||isNaN(h),options:i};this.updateElement(e,a,c,s)}}},ScatterController:class extends js{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y);return{label:i[t]||"",value:"("+a+", "+r+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,s=this.chart._animationsDisabled;let{start:n,count:o}=pt(e,i,s);if(this._drawStart=n,this._drawCount=o,mt(e)&&(n=0,o=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:n,_dataset:o}=e;n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const a=this.resolveDatasetElementOptions(t);a.segment=this.options.segment,this.updateElement(n,void 0,{animated:!s,options:a},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,n,o,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,c=this.resolveDataElementOptions(e,n),d=this.getSharedOptions(c),u=this.includeOptions(n,d),f=a.axis,g=r.axis,{spanGaps:p,segment:m}=this.options,x=N(p)?p:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||"none"===n;let _=e>0&&this.getParsed(e-1);for(let c=e;c<e+i;++c){const e=t[c],i=this.getParsed(c),p=b?e:{},y=s(i[g]),v=p[f]=a.getPixelForValue(i[f],c),M=p[g]=o||y?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,i,l):i[g],c);p.skip=isNaN(v)||isNaN(M)||y,p.stop=c>0&&Math.abs(i[f]-_[f])>x,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),b||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Xn(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return Z(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Z(n.innerStart,0,a),innerEnd:Z(n.innerEnd,0,a)}}function qn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Kn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,x=n-p-f,{outerStart:b,outerEnd:_,innerStart:y,innerEnd:v}=Xn(e,u,d,x-m),M=d-b,w=d-_,k=m+b/M,S=x-_/w,P=u+y,D=u+v,O=m+y/P,A=x-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=qn(w,S,a,r);t.arc(e.x,e.y,_,S,x+E)}const i=qn(D,x,a,r);if(t.lineTo(i.x,i.y),v>0){const e=qn(D,A,a,r);t.arc(e.x,e.y,v,x+E,A+Math.PI)}const s=(x-v/u+(m+y/u))/2;if(t.arc(a,r,u,x-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=qn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=qn(M,m,a,r);if(t.lineTo(n.x,n.y),b>0){const e=qn(M,k,a,r);t.arc(e.x,e.y,b,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Gn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u,borderRadius:f}=l,g="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,g?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let p=e.endAngle;if(o){Kn(t,e,i,s,p,n);for(let e=0;e<o;++e)t.stroke();isNaN(r)||(p=a+(r%O||O))}g&&function(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,p),l.selfJoin&&p-a>=C&&0===f&&"miter"!==c&&function(t,e,i){const{startAngle:s,x:n,y:o,outerRadius:a,innerRadius:r,options:l}=e,{borderWidth:h,borderJoinStyle:c}=l,d=Math.min(h/a,G(s-i));if(t.beginPath(),t.arc(n,o,a-h/2,s+d/2,i-d/2),r>0){const e=Math.min(h/r,G(s-i));t.arc(n,o,r+h/2,i-e/2,s+e/2,!0)}else{const e=Math.min(h/2,a*G(s-i));if("round"===c)t.arc(n,o,e,i-C/2,s+C/2,!0);else if("bevel"===c){const a=2*e*e,r=-a*Math.cos(i+C/2)+n,l=-a*Math.sin(i+C/2)+o,h=a*Math.cos(s+C/2)+n,c=a*Math.sin(s+C/2)+o;t.lineTo(r,l),t.lineTo(h,c)}}t.closePath(),t.moveTo(0,0),t.rect(0,0,t.canvas.width,t.canvas.height),t.clip("evenodd")}(t,e,p),o||(Kn(t,e,i,s,p,n),t.stroke())}function Jn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Zn(t,e,i){t.lineTo(i.x,i.y)}function Qn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=n<a&&o<a||n>r&&o>r;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function to(t,e,i,s){const{points:n,options:o}=e,{count:a,start:r,loop:l,ilen:h}=Qn(n,i,s),c=function(t){return t.stepped?Fe:t.tension||"monotone"===t.cubicInterpolationMode?Ve:Zn}(o);let d,u,f,{move:g=!0,reverse:p}=s||{};for(d=0;d<=h;++d)u=n[(r+(p?h-d:d))%a],u.skip||(g?(t.moveTo(u.x,u.y),g=!1):c(t,f,u,p,o.stepped),f=u);return l&&(u=n[(r+(p?h:0))%a],c(t,f,u,p,o.stepped)),!!l}function eo(t,e,i,s){const n=e.points,{count:o,start:a,ilen:r}=Qn(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,f,g,p,m=0,x=0;const b=t=>(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<f?f=i:i>g&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function io(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?eo:to}const so="function"==typeof Path2D;function no(t,e,i,s){so&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Jn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=io(e);for(const r of n)Jn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class oo extends $s{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){a.push(d);continue}const f=r(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);f[e]=t[e],a.push(f)}return 1===a.length?a[0]:a}pathSegment(t,e,i){return io(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=io(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const a of s)o&=n(t,this,a,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),no(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function ao(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}function ro(t,e){const{x:i,y:s,base:n,width:o,height:a}=t.getProps(["x","y","base","width","height"],e);let r,l,h,c,d;return t.horizontal?(d=a/2,r=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,r=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:r,top:h,right:l,bottom:c}}function lo(t,e,i,s){return t?0:Z(e,i,s)}function ho(t){const e=ro(t),i=e.right-e.left,s=e.bottom-e.top,n=function(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=Mi(s);return{t:lo(n.top,o.top,0,i),r:lo(n.right,o.right,0,e),b:lo(n.bottom,o.bottom,0,i),l:lo(n.left,o.left,0,e)}}(t,i/2,s/2),a=function(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,a=wi(n),r=Math.min(e,i),l=t.borderSkipped,h=s||o(n);return{topLeft:lo(!h||l.top||l.left,a.topLeft,0,r),topRight:lo(!h||l.top||l.right,a.topRight,0,r),bottomLeft:lo(!h||l.bottom||l.left,a.bottomLeft,0,r),bottomRight:lo(!h||l.bottom||l.right,a.bottomRight,0,r)}}(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:a},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,a.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,a.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,a.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,a.bottomRight-Math.max(n.b,n.r))}}}}function co(t,e,i,s){const n=null===e,o=null===i,a=t&&!(n&&o)&&ro(t,s);return a&&(n||tt(e,a.left,a.right))&&(o||tt(i,a.top,a.bottom))}function uo(t,e){t.rect(e.x,e.y,e.w,e.h)}function fo(t,e,i={}){const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,a=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+a,radius:t.radius}}var go=Object.freeze({__proto__:null,ArcElement:class extends $s{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a),g=J(n,a,r)&&a!==r,p=f>=O||g,m=tt(o,h+u,c+u);return p&&m}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Kn(t,e,i,s,l,n);for(let e=0;e<o;++e)t.fill();isNaN(r)||(l=a+(r%O||O))}Kn(t,e,i,s,l,n),t.fill()}(t,this,r,n,o),Gn(t,this,r,n,o),t.restore()}},BarElement:class extends $s{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=ho(this),a=(r=o.radius).topLeft||r.topRight||r.bottomLeft||r.bottomRight?He:uo;var r;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),a(t,fo(o,e,n)),t.clip(),a(t,fo(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,fo(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return co(this,t,e,i)}inXRange(t,e){return co(this,t,null,e)}inYRange(t,e){return co(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}},LineElement:oo,PointElement:class extends $s{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return ao(this,t,"x",e)}inYRange(t,e){return ao(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!Re(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Le(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}});function po(t,e,i,s){const n=t.indexOf(e);if(-1===n)return((t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function mo(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}function xo(t,e,{horizontal:i,minRotation:s}){const n=$(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}class bo extends tn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return s(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,x=!s(a),b=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!x&&!b)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),x&&b&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=x?a:M,w=b?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(x&&(u&&M!==a?(i.push({value:a}),M<a&&D++,V(Math.round((M+D*S)*v)/v,a,xo(a,y,t))&&D++):M<a&&D++);D<k;++D){const t=Math.round((M+D*S)*v)/v;if(b&&t>r)break;i.push({value:t})}return b&&u&&w!==r?i.length&&V(i[i.length-1].value,r,xo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):b&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class _o extends bo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const yo=t=>Math.floor(z(t)),vo=(t,e)=>Math.pow(10,yo(t)+e);function Mo(t){return 1===t/Math.pow(10,yo(t))}function wo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function ko(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=yo(e);let o=function(t,e){let i=yo(e-t);for(;wo(t,e,i)>10;)i++;for(;wo(t,e,i)<10;)i--;return Math.min(i,yo(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f<i;)s.push({value:f,major:Mo(f),significand:u}),u>=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:Mo(g),significand:u}),s}class So extends tn{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=bo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===vo(this.min,0)?vo(this.min,-1):vo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(vo(i,-1)),o(vo(s,1)))),i<=0&&n(vo(s,-1)),s<=0&&o(vo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=ko({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Po(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Do(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function Co(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;u<a;u++){const a=r.setContext(t.getPointLabelContext(u));o[u]=a.padding;const f=t.getPointPosition(u,t.drawingArea+o[u],l),g=Si(a.font),p=(h=t.ctx,c=g,d=n(d=t._pointLabels[u])?d:[d],{w:Oe(h,c.string,d),h:d.length*c.lineHeight});s[u]=p;const m=G(t.getIndexAngle(u)+l),x=Math.round(Y(m));Oo(i,e,m,Do(x,f.x,p.w,0,180),Do(x,f.y,p.h,90,270))}var h,c,d;t.setCenterPoint(e.l-i.l,i.r-e.r,e.t-i.t,i.b-e.b),t._pointLabelItems=function(t,e,i){const s=[],n=t._pointLabels.length,o=t.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:Po(o)/2,additionalAngle:a?C/n:0};let h;for(let o=0;o<n;o++){l.padding=i[o],l.size=e[o];const n=Ao(t,o,l);s.push(n),"auto"===r&&(n.visible=To(n,h),n.visible&&(h=n))}return s}(t,s,o)}function Oo(t,e,i,s,n){const o=Math.abs(Math.sin(i)),a=Math.abs(Math.cos(i));let r=0,l=0;s.start<e.l?(r=(e.l-s.start)/o,t.l=Math.min(t.l,e.l-r)):s.end>e.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.start<e.t?(l=(e.t-n.start)/a,t.t=Math.min(t.t,e.t-l)):n.end>e.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Ao(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function To(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function Lo(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Eo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}class Ro extends bo{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:ae.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(Po(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Po(this.options))}generateTickLabels(t){bo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Co(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return function(t,e,i){return Ci(t,{label:i,index:e,type:"pointLabel"})}(this.getContext(),t,i)}}getPointPosition(t,e,i=0){const s=this.getIndexAngle(t)-E+i;return{x:Math.cos(s)*e+this.xCenter,y:Math.sin(s)*e+this.yCenter,angle:s}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),Eo(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s,border:n}=e,o=this._pointLabels.length;let a,r,l;if(e.pointLabels.display&&function(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));Lo(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash||[]),o.lineDashOffset=n.dashOffset,o.beginPath(),Eo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Io={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},zo=Object.keys(Io);function Fo(t,e){return t-e}function Vo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Bo(t,e,i,s){const n=zo.length;for(let o=zo.indexOf(t);o<n-1;++o){const t=Io[zo[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return zo[o]}return zo[n-1]}function Wo(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=et(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function No(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a<o;++a)r=e[a],n[r]=a,s.push({value:r,major:!1});return 0!==o&&i?function(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),a=e[e.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=i[r],l>=0&&(e[l].major=!0);return e}(t,s,n,i):s}class Ho extends tn{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new In._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Vo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Bo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=zo.length-1;o>=zo.indexOf(i);o--){const i=zo[o];if(Io[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return zo[i?zo.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=zo.indexOf(t)+1,i=zo.length;e<i;++e)if(Io[zo[e]].common)return zo[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),No(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map((t=>+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=Z(s,0,o),n=Z(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Bo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d<i;d=+t.add(d,a,o),u++)Wo(c,d,g);return d!==i&&"ticks"!==s.bounds&&1!==u||Wo(c,d,g),Object.keys(c).sort(Fo).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=$(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*o,h:i*o+a*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,No(this,[t],this._majorUnit),s),o=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return a>0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(Vo(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return lt(t.sort(Fo))}}function jo(t,e,i){let s,n,o,a,r=0,l=t.length-1;i?(e>=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var $o=Object.freeze({__proto__:null,CategoryScale:class extends tn{static id="category";static defaults={ticks:{callback:mo}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:Z(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:po(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return mo.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:_o,LogarithmicScale:So,RadialLinearScale:Ro,TimeScale:Ho,TimeSeriesScale:class extends Ho{static id="timeseries";static defaults=Ho.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=jo(e,this.min),this._tableRange=jo(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o<a;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o<a;++o)h=s[o+1],r=s[o-1],l=s[o],Math.round((h+r)/2)!==l&&n.push({time:l,pos:o/(a-1)});return n}_generate(){const t=this.min,e=this.max;let i=super.getDataTimestamps();return i.includes(t)&&i.length||i.splice(0,0,t),i.includes(e)&&1!==i.length||i.push(e),i.sort(((t,e)=>t-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(jo(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return jo(this._table,i*this._tableRange+this._minPos,!0)}}});const Yo=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Uo=Yo.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Xo(t){return Yo[t%Yo.length]}function qo(t){return Uo[t%Uo.length]}function Ko(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n instanceof Yn?e=function(t,e){return t.backgroundColor=t.data.map((()=>qo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Xo(e),t.backgroundColor=qo(e),++e}(i,e))}}function Go(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Jo={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n,a=Go(s)||(r=n)&&(r.borderColor||r.backgroundColor)||o&&Go(o)||"rgba(0,0,0,0.1)"!==ue.borderColor||"rgba(0,0,0,0.1)"!==ue.backgroundColor;var r;if(!i.forceOverride&&a)return;const l=Ko(t);s.forEach(l)}};function Zo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Qo(t){t.data.datasets.forEach((t=>{Zo(t)}))}var ta={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Qo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Z(it(e,o.axis,a).lo,0,i-1)),s=h?Z(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Zo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*r)+1+e,m=Math.min(Math.floor((c+2)*r)+1,i)+e,x=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=x,o/=x;const b=Math.floor(c*r)+1+e,_=Math.min(Math.floor((c+1)*r)+1,i)+e,{x:y,y:v}=t[p];for(u=f=-1,s=b;s<_;s++)f=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),f>u&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const x=[],b=e+i-1,_=t[e].x,y=t[b].x-_;for(o=e;o<e+i;++o){a=t[o],r=(a.x-_)/y*n,l=a.y;const e=0|r;if(e===h)l<f?(f=l,c=o):l>g&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&x.push({...t[e],x:p}),s!==u&&s!==i&&x.push({...t[s],x:p})}o>0&&i!==u&&x.push(t[i]),x.push(a),h=e,m=0,f=g=l,c=d=u=o}}return x}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Qo(t)}};function ea(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ia(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function sa(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function na(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ia(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new oo({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function oa(t){return t&&!1!==t.fill}function aa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function ra(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function la(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:a,last:r,point:l}=ha(o,e,"x");if(!(!l||a&&r))if(a)s.unshift(l);else if(t.push(l),!r)break}t.push(...s)}function ha(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,a=t.points;let r=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=a[e.start][i],h=a[e.end][i];if(tt(n,s,h)){r=n===s,l=n===h;break}}return{first:r,last:l,point:s}}class ca{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:O},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function da(t){const{chart:e,fill:i,line:s}=t;if(a(i))return function(t,e){const i=t.getDatasetMeta(e),s=i&&t.isDatasetVisible(e);return s?i.dataset:null}(e,i);if("stack"===i)return function(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,a=s.points,r=function(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}(e,i);r.push(na({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)la(n,a[t],r)}return new oo({points:n,options:{}})}(t);if("shape"===i)return!0;const n=function(t){const e=t.scale||{};if(e.getPointPositionForValue)return function(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,a=s.reverse?e.max:e.min,r=function(t,e,i){let s;return s="start"===t?i:"end"===t?e.options.reverse?e.min:e.max:o(t)?t.value:e.getBaseValue(),s}(i,e,a),l=[];if(s.grid.circular){const t=e.getPointPositionForValue(0,a);return new ca({x:t.x,y:t.y,radius:e.getDistanceFromCenterForValue(r)})}for(let t=0;t<n;++t)l.push(e.getPointPositionForValue(t,r));return l}(t);return function(t){const{scale:e={},fill:i}=t,s=function(t,e){let i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:o(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),i}(i,e);if(a(s)){const t=e.isHorizontal();return{x:t?s:null,y:t?null:s}}return null}(t)}(t);return n instanceof ca?n:na(n,s)}function ua(t,e,i){const s=da(e),{chart:n,index:o,line:a,scale:r,axis:l}=e,h=a.options,c=h.fill,d=h.backgroundColor,{above:u=d,below:f=d}=c||{},g=n.getDatasetMeta(o),p=Ni(n,g);s&&a.points.length&&(Ie(t,i),function(t,e){const{line:i,target:s,above:n,below:o,area:a,scale:r,clip:l}=e,h=i._loop?"angle":e.axis;t.save();let c=o;o!==n&&("x"===h?(fa(t,s,a.top),pa(t,{line:i,target:s,color:n,scale:r,property:h,clip:l}),t.restore(),t.save(),fa(t,s,a.bottom)):"y"===h&&(ga(t,s,a.left),pa(t,{line:i,target:s,color:o,scale:r,property:h,clip:l}),t.restore(),t.save(),ga(t,s,a.right),c=n));pa(t,{line:i,target:s,color:c,scale:r,property:h,clip:l}),t.restore()}(t,{line:a,target:s,above:u,below:f,area:i,scale:r,axis:l,clip:p}),ze(t))}function fa(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[ia(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(h.x,i),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(c.x,i)}t.lineTo(e.first().x,i),t.closePath(),t.clip()}function ga(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[ia(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(i,h.y),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(i,c.y)}t.lineTo(i,e.first().y),t.closePath(),t.clip()}function pa(t,e){const{line:i,target:s,property:n,color:o,scale:a,clip:r}=e,l=function(t,e,i){const s=t.segments,n=t.points,o=e.points,a=[];for(const t of s){let{start:s,end:r}=t;r=ia(s,r,n);const l=ea(i,n[s],n[r],t.loop);if(!e.segments){a.push({source:t,target:l,start:n[s],end:n[r]});continue}const h=Ii(e,l);for(const e of h){const s=ea(i,o[e.start],o[e.end],e.loop),r=Ri(t,n,s);for(const t of r)a.push({source:t,target:e,start:{[i]:sa(l,s,"start",Math.max)},end:{[i]:sa(l,s,"end",Math.min)}})}}return a}(i,s,n);for(const{source:e,target:h,start:c,end:d}of l){const{style:{backgroundColor:l=o}={}}=e,u=!0!==s;t.save(),t.fillStyle=l,ma(t,a,r,u&&ea(n,c,d)),t.beginPath();const f=!!i.pathSegment(t,e);let g;if(u){f?t.closePath():xa(t,s,d,n);const e=!!s.pathSegment(t,h,{move:f,reverse:!0});g=f&&e,g||xa(t,s,c,n)}t.closePath(),t.fill(g?"evenodd":"nonzero"),t.restore()}}function ma(t,e,i,s){const n=e.chart.chartArea,{property:o,start:a,end:r}=s||{};if("x"===o||"y"===o){let e,s,l,h;"x"===o?(e=a,s=n.top,l=r,h=n.bottom):(e=n.left,s=a,l=n.right,h=r),t.beginPath(),i&&(e=Math.max(e,i.left),l=Math.min(l,i.right),s=Math.max(s,i.top),h=Math.min(h,i.bottom)),t.rect(e,s,l-e,h-s),t.clip()}}function xa(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}var ba={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,a,r,l;for(a=0;a<s;++a)o=t.getDatasetMeta(a),r=o.dataset,l=null,r&&r.options&&r instanceof oo&&(l={visible:t.isDatasetVisible(a),index:a,fill:ra(r,a,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:r}),o.$filler=l,n.push(l);for(a=0;a<s;++a)l=n[a],l&&!1!==l.fill&&(l.fill=aa(n,a,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&ua(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;oa(i)&&ua(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;oa(s)&&"beforeDatasetDraw"===i.drawTime&&ua(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const _a=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class ya extends $s{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=_a(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=va(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=_a(o,d),x=this.isHorizontal(),b=this._computeTitleHeight();f=x?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+b,line:0}:{x:this.left+c,y:ft(n,this.top+b+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),x?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+b+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,x?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),x)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=va(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],tt(t,s.left,s.left+s.width)&&tt(e,s.top,s.top+s.height))return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!function(t,e){if(("mousemove"===t||"mouseout"===t)&&(e.onHover||e.onLeave))return!0;if(e.onClick&&("click"===t||"mouseup"===t))return!0;return!1}(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type||"mouseout"===t.type){const o=this._hoveredItem,a=(n=i,null!==(s=o)&&null!==n&&s.datasetIndex===n.datasetIndex&&s.index===n.index);o&&!a&&d(e.onLeave,[t,o,this],this),this._hoveredItem=i,i&&!a&&d(e.onHover,[t,i,this],this)}else i&&d(e.onClick,[t,i,this],this);var s,n}}function va(t,e){return e*(t.text?t.text.length:0)}var Ma={id:"legend",_element:ya,start(t,e,i){const s=t.legend=new ya({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s)},stop(t){ls.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;ls.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class wa extends $s{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var ka={id:"title",_element:wa,start(t,e,i){!function(t,e){const i=new wa({ctx:t.ctx,options:e,chart:t});ls.configure(t,i,e),ls.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ls.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Sa=new WeakMap;var Pa={id:"subtitle",start(t,e,i){const s=new wa({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s),Sa.set(t,s)},stop(t){ls.removeBox(t,Sa.get(t)),Sa.delete(t)},beforeUpdate(t,e,i){const s=Sa.get(t);ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Da={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s.add(t.x),n+=t.y,++o}}if(0===o||0===s.size)return!1;return{x:[...s].reduce(((t,e)=>t+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=q(e,s.getCenterPoint());t<r&&(r=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,a=t.y}return{x:o,y:a}}};function Ca(t,e){return e&&(n(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Oa(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function Aa(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Ta(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,x=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-g)*l.lineHeight+(b-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){x=Math.max(x,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),x+=p.width,{width:x,height:m}}function La(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Ea(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||La(t,e,i,s),yAlign:s}}function Ra(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:Z(g,0,s.width-e.width),y:Z(p,0,s.height-e.height)}}function Ia(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function za(t){return Ca([],Oa(t))}function Fa(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const Va={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:e,beforeBody:e,beforeLabel:e,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return s(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:e,afterBody:e,beforeFooter:e,footer:e,afterFooter:e};function Ba(t,e,i,s){const n=t[e].call(i,s);return void 0===n?Va[e].call(i,s):n}class Wa extends $s{static positioners=Da;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new Ts(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,i=this._tooltipItems,Ci(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=Ba(i,"beforeTitle",this,t),n=Ba(i,"title",this,t),o=Ba(i,"afterTitle",this,t);let a=[];return a=Ca(a,Oa(s)),a=Ca(a,Oa(n)),a=Ca(a,Oa(o)),a}getBeforeBody(t,e){return za(Ba(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,s=[];return u(t,(t=>{const e={before:[],lines:[],after:[]},n=Fa(i,t);Ca(e.before,Oa(Ba(n,"beforeLabel",this,t))),Ca(e.lines,Ba(n,"label",this,t)),Ca(e.after,Oa(Ba(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return za(Ba(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Ba(i,"beforeFooter",this,t),n=Ba(i,"footer",this,t),o=Ba(i,"afterFooter",this,t);let a=[];return a=Ca(a,Oa(s)),a=Ca(a,Oa(n)),a=Ca(a,Oa(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;a<r;++a)l.push(Aa(this.chart,e[a]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=Fa(t.callbacks,e);s.push(Ba(i,"labelColor",this,e)),n.push(Ba(i,"labelPointStyle",this,e)),o.push(Ba(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Da[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Ta(this,i),a=Object.assign({},t,e),r=Ea(this.chart,i,a),l=Ra(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ia(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+a,r+1===n&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,e,i,s,n){const a=this.labelColors[i],r=this.labelPointStyles[i],{boxHeight:l,boxWidth:h}=n,c=Si(n.bodyFont),d=Ia(this,"left",n),u=s.x(d),f=l<c.lineHeight?(c.lineHeight-l)/2:0,g=e.y+f;if(n.usePointStyle){const e={radius:Math.min(h,l)/2,pointStyle:r.pointStyle,rotation:r.rotation,borderWidth:1},i=s.leftForLtr(u,h)+h/2,o=g+l/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,Le(t,e,i,o),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,Le(t,e,i,o)}else{t.lineWidth=o(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const e=s.leftForLtr(u,h),i=s.leftForLtr(s.xPlus(u,1),h-2),r=wi(a.borderRadius);Object.values(r).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let x,b,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ia(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y<M;++y){for(x=s[y],b=this.labelTextColors[y],e.fillStyle=b,u(x.before,p),_=x.lines,a&&_.length&&(this._drawColorBox(e,t,y,g,i),d=Math.max(c.lineHeight,r)),v=0,w=_.length;v<w;++v)p(_[v]),d=c.lineHeight;u(x.after,p)}f=0,d=c.lineHeight,u(this.afterBody,p),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,a;if(n){const r=Oi(i.rtl,this.x,this.width);for(t.x=Ia(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=r.textAlign(i.footerAlign),e.textBaseline="middle",o=Si(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],r.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:a,y:r}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(a+c,r),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+l-d,r),e.quadraticCurveTo(a+l,r,a+l,r+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(a+l,r+h-f),e.quadraticCurveTo(a+l,r+h,a+l-f,r+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+u,r+h),e.quadraticCurveTo(a,r+h,a,r+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(a,r+c),e.quadraticCurveTo(a,r,a+c,r),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Da[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Ta(this,t),a=Object.assign({},i,this._size),r=Ea(e,t,a),l=Ra(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Da[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Na={id:"tooltip",_element:Wa,positioners:Da,afterInit(t,e,i){i&&(t.tooltip=new Wa({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Va},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return Tn.register(Un,$o,go,t),Tn.helpers={...Hi},Tn._adapters=In,Tn.Animation=As,Tn.Animations=Ts,Tn.animator=bt,Tn.controllers=nn.controllers.items,Tn.DatasetController=js,Tn.Element=$s,Tn.elements=go,Tn.Interaction=Ki,Tn.layouts=ls,Tn.platforms=Ds,Tn.Scale=tn,Tn.Ticks=ae,Object.assign(Tn,Un,$o,go,t,Ds),Tn.Chart=Tn,"undefined"!=typeof window&&(window.Chart=Tn),Tn})); 37115//# sourceMappingURL=chart.umd.
37115min.js.map 37116// file: /var/www/vhosts/codethislab.com/httpdocs/wp-content/plugins/ctl-wp-studio/classes/extensions/ctl-chart-js/php/../js/front.js 37117var g_oCacheTrendCharts = {}; 37118var g_oContext2DTrendCharts = {}; 37119 37120jQuery(document).ready(function(){ 37121 37122 37123 jQuery(window).on('resize orientationchange', function() { 37124 jQuery.each(Chart.instances, function(index, chartInstance) { 37125 chartInstance.resize(); 37126 }); 37127 37128 setTimeout(function() { 37129 jQuery.each(Chart.instances, function(index, chartInstance) { 37130 chartInstance.resize(); 37131 }); 37132 }, 200); 37133 }); 37134 37135 37136 jQuery(document).on("click", ".ctl-chart-js-action-reload-graph", function(){ 37137 var url = g_oCTLWPStudio.addParameterToUrl(window.location.href, "chart-no-cache", 1); 37138 g_oCTLWPStudio.showLoading(""); 37139 window.location.href = url; 37140 }); 37141 37142 jQuery(document).on("click", ".ctl-charts-action-reset-zoom",function(){ 37143 var oNodeChartWrapper = jQuery(this).closest(".ctl-chart-container"); 37144 37145 if ( oNodeChartWrapper.length == 0 ){ 37146 oNodeChartWrapper = jQuery(this).closest(".ctl-trend-chart-wrapper"); 37147 } 37148 37149 if ( oNodeChartWrapper.length == 0 ){ 37150 return; 37151 } 37152 37153 let oChart = Chart.getChart(oNodeChartWrapper.find("canvas")[0]); 37154 37155 if ( oChart ){ 37156 oChart.resetZoom(); 37157 } 37158 }); 37159 37160 jQuery(document).on("click", ".ctl-chart-js-action-export-image", function(){ 37161 37162 var oNodeChartWrapper = jQuery(this).closest(".ctl-chart-container"); 37163 37164 if ( oNodeChartWrapper.length == 0 ){ 37165 oNodeChartWrapper = jQuery(this).closest(".ctl-trend-chart-wrapper"); 37166 } 37167 37168 if ( oNodeChartWrapper.length == 0 ){ 37169 oNodeChartWrapper = jQuery(this).closest(".ctl-data-analysis-container"); 37170 } 37171 37172 if ( oNodeChartWrapper.length == 0 ){ 37173 return; 37174 } 37175 37176 var url_base64 = oNodeChartWrapper.find("canvas")[0].toDataURL('image/png'); 37177 var dataImage = url_base64.split(",")[1]; 37178 37179 var szFileName = prompt(g_oCTLThemeTablesLocalizationFront["Type a filename..."]); 37180 37181 if (!szFileName){ 37182 return; 37183 } 37184 37185 g_oCTLWPStudio.base64toFile(dataImage, "image/png", "png", szFileName); 37186 }); 37187 37188 jQuery(document).on("change",'input[name="chart-trends-period"]', function(){ 37189 var oNodeInput = jQuery(this); 37190 ctlChartChangeTrendPeriod( jQuery("#ctl-trend-charts-"+ 37191 oNodeInput.closest(".custom-control").attr("data-id")+"-wrapper"), 37192 oNodeInput.closest(".ctl-chart-trends-period")); 37193 }); 37194 37195 wpdk_add_action("ctl-theme-bootstrap-modals-show-modal", function( oNodeModal ){ 37196 ctlTrendChartInitTrendCharts(); 37197 }); 37198 37199 ctlTrendChartInitTrendCharts(); 37200}); 37201 37202function ctlTrendChartInitTrendCharts(){ 37203 jQuery('input[name="chart-trends-period"]:checked').each(function(){ 37204 var oNodeInput = jQuery(this); 37205 ctlChartChangeTrendPeriod(jQuery("#ctl-trend-charts-"+ 37206 oNodeInput.closest(".custom-control").attr("data-id")+"-wrapper"), 37207 oNodeInput.closest(".ctl-chart-trends-period")); 37208 }); 37209} 37210 37211function ctlTrendChartInitCache(){ 37212 37213 g_oCacheTrendCharts = JSON.parse(localStorage.getItem('cache_trend_charts')); 37214 iCacheTime = Number(localStorage.getItem('cache_trend_charts_time')); 37215 37216 if ( new Date().getTime() - iCacheTime > (1000 * 60) ){ 37217 g_oCacheTrendCharts = {}; 37218 } 37219 37220 if ( g_oCTLWPStudio.getUrlParam("chart-no-cache")){ 37221 g_oCacheTrendCharts = {}; 37222 var url = window.location.href; 37223 url = g_oCTLWPStudio.removeParameterFromUrl(url, "chart-no-cache"); 37224 window.history.pushState(document.title, "", url); 37225 } 37226 37227 if (!g_oCacheTrendCharts){ 37228 g_oCacheTrendCharts = {}; 37229 } 37230 37231 jQuery(".ctl-trend-charts-wrapper").each(function(){ 37232 idWidget = jQuery(this).attr("data-widget-id"); 37233 37234 jQuery(this).find(".ctl-trend-chart-wrapper").each(function(){ 37235 if (!g_oCacheTrendCharts["widget-"+idWidget+"-"+jQuery(this).attr("data-post-id")]){ 37236 g_oCacheTrendCharts["widget-"+idWidget+"-"+jQuery(this).attr("data-post-id")] = {}; 37237 } 37238 }); 37239 }); 37240} 37241
37242function __ctlTrendsChartExtractPeriod(idWidget, idChart, idAncestor, szDateType, aDates, cb ){ 37243 37244 var aDatesToRequest = []; 37245 for( var i = 0; i < aDates.length; i++ ){ 37246 var szDate = aDates[i]; 37247 37248 if ( isNaN(g_oCacheTrendCharts["widget-"+idWidget+"-"+idChart][szDate]) ){ 37249 g_oCacheTrendCharts["widget-"+idWidget+"-"+idChart][szDate] = 0; 37250 aDatesToRequest.push(szDate); 37251 } 37252 } 37253 37254 if ( aDatesToRequest.length > 0 ){ 37255 __ctlTrendChartsGetDateData(idWidget, idChart, idAncestor,szDateType, aDatesToRequest, cb); 37256 }else{ 37257 cb(); 37258 } 37259} 37260 37261function ctlChartChangeTrendPeriod( oNodeChartTrends, oNodeRadioFields ){ 37262 37263 ctlTrendChartInitCache(); 37264 37265 var idWidget = oNodeChartTrends.attr("data-widget-id"); 37266 var szPeriod = oNodeRadioFields.find('input[name="chart-trends-period"]:checked').val(); 37267 37268 oNodeRadioFields.addClass("ctl-chart-trends-loading"); 37269 37270 var url = window.location.href; 37271 url = g_oCTLWPStudio.addParameterToUrl(url, "trends-"+idWidget, szPeriod); 37272 window.history.pushState(document.title, "", url); 37273 37274 var iCntCharts = 0; 37275 37276 switch(szPeriod){ 37277 case "today":{ 37278 var aCurrentPeriodDates = [ getCurrentDay() ]; 37279 var aPreviousPeriodDates = [ getPreviousDay() ]; 37280 37281 oNodeChartTrends.find(".ctl-trend-chart-wrapper").each(function(){ 37282 var oNodeChartWrapper = jQuery(this); 37283 var idChart = oNodeChartWrapper.attr("data-post-id"); 37284 var idAncestor = oNodeChartWrapper.attr("data-ancestor-id"); 37285 37286 var aDates; 37287 if (oNodeChartWrapper.attr("data-previous-period")) { 37288 aDates = aPreviousPeriodDates.concat(aCurrentPeriodDates); 37289 }else{ 37290 aDates = aCurrentPeriodDates; 37291 } 37292 37293 iCntCharts++; 37294 __ctlTrendsChartExtractPeriod(idWidget, idChart, idAncestor, "day", aDates, function(){ 37295 ctlChartRenderTodayChart(idWidget, idChart, aDates); 37296 iCntCharts--; 37297 if (iCntCharts == 0){ 37298 jQuery(".ctl-chart-trends-period-"+idWidget).removeClass("ctl-chart-trends-loading"); 37299 } 37300 }); 37301 }); 37302 }break; 37303 case "hourly":{ 37304 37305 }break; 37306 case "weekly":{ 37307 var aCurrentPeriodDates = getCurrentWeekDays(); 37308 var aPreviousPeriodDates = getPreviousWeekDays(); 37309 37310 oNodeChartTrends.find(".ctl-trend-chart-wrapper").each(function(){ 37311 var oNodeChartWrapper = jQuery(this); 37312 var idChart = oNodeChartWrapper.attr("data-post-id"); 37313 var idAncestor = oNodeChartWrapper.attr("data-ancestor-id"); 37314 37315 var aDates; 37316 if (!!oNodeChartWrapper.attr("data-previous-period")) { 37317 aDates = aCurrentPeriodDates.concat(aPreviousPeriodDates); 37318 }else{ 37319 aDates = aCurrentPeriodDates; 37320 } 37321 37322 iCntCharts++; 37323 __ctlTrendsChartExtractPeriod(idWidget, idChart, idAncestor, "day", aDates, function(){ 37324 ctlChartRenderWeeklyChart(idWidget, idChart, aDates); 37325 iCntCharts--; 37326 if (iCntCharts == 0){ 37327 jQuery(".ctl-chart-trends-period-"+idWidget).removeClass("ctl-chart-trends-loading"); 37328 } 37329 }); 37330 }); 37331 }break; 37332 case "monthly":{ 37333 var aCurrentPeriodDates = getCurrentMonthDays(); 37334 var aPreviousPeriodDates = getPreviousMonthDays(); 37335 37336 oNodeChartTrends.find(".ctl-trend-chart-wrapper").each(function(){ 37337 var oNodeChartWrapper = jQuery(this); 37338 var idChart = oNodeChartWrapper.attr("data-post-id"); 37339 var idAncestor = oNodeChartWrapper.attr("data-ancestor-id"); 37340 37341 var aDates; 37342 if (!!oNodeChartWrapper.attr("data-previous-period")) { 37343 aDates = aCurrentPeriodDates.concat(aPreviousPeriodDates); 37344 }else{ 37345 aDates = aCurrentPeriodDates; 37346 } 37347 37348 iCntCharts++;
37349 __ctlTrendsChartExtractPeriod(idWidget, idChart, idAncestor, "day", aDates, function(){ 37350 ctlChartRenderMonthlyChart(idWidget, idChart, aDates); 37351 iCntCharts--; 37352 if (iCntCharts == 0){ 37353 jQuery(".ctl-chart-trends-period-"+idWidget).removeClass("ctl-chart-trends-loading"); 37354 } 37355 }); 37356 }); 37357 }break; 37358 case "yearly":{ 37359 var aCurrentPeriodDates = getCurrentYearMonths(); 37360 var aPreviousPeriodDates = getPreviousYearMonths(); 37361 37362 oNodeChartTrends.find(".ctl-trend-chart-wrapper").each(function(){ 37363 var oNodeChartWrapper = jQuery(this); 37364 var idChart = oNodeChartWrapper.attr("data-post-id"); 37365 var idAncestor = oNodeChartWrapper.attr("data-ancestor-id"); 37366 37367 var aDates; 37368 if (!!oNodeChartWrapper.attr("data-previous-period")) { 37369 aDates = aCurrentPeriodDates.concat(aPreviousPeriodDates); 37370 }else{ 37371 aDates = aCurrentPeriodDates; 37372 } 37373 37374 iCntCharts++; 37375 __ctlTrendsChartExtractPeriod(idWidget, idChart, idAncestor, "month", aDates, function(){ 37376 ctlChartRenderYearlyChart(idWidget, idChart, aDates); 37377 iCntCharts--; 37378 if (iCntCharts == 0){ 37379 jQuery(".ctl-chart-trends-period-"+idWidget).removeClass("ctl-chart-trends-loading"); 37380 } 37381 }); 37382 }); 37383 }break; 37384 case "period":{ 37385 37386 }break; 37387 } 37388} 37389 37390function getCurrentDay(){ 37391 return moment().format("YYYY-MM-DD"); 37392} 37393 37394function getPreviousDay(){ 37395 return moment().add(-1, 'days').format("YYYY-MM-DD"); 37396} 37397 37398function getCurrentWeekDays(){ 37399 var currentDate = moment(); 37400 var weekStart = currentDate.clone().startOf('isoWeek'); 37401 var aDates = [ ]; 37402 37403 for (i = 0; i <= 6; i++) { 37404 var szDay = moment(weekStart).add(i, 'days').format("YYYY-MM-DD"); 37405 aDates.push(szDay); 37406 } 37407 37408 return aDates; 37409}; 37410 37411function getPreviousWeekDays(){ 37412 var weekStart = moment().startOf('isoWeek'); 37413 var aDates = [ ]; 37414 37415 for (i = 7; i > 0; i--) { 37416 szDay = moment(weekStart).add(-i, 'days').format("YYYY-MM-DD"); 37417 aDates.push(szDay); 37418 } 37419 37420 return aDates; 37421}; 37422 37423function getCurrentMonthDays(){ 37424 var currentDate = moment(); 37425 var monthStart = currentDate.clone().startOf('month'); 37426 var monthEnd = currentDate.clone().endOf('month'); 37427 37428 var aDates = [ ]; 37429 37430 var oCurrentDay = monthStart; 37431 37432 while(true) { 37433 var szDay = oCurrentDay.format("YYYY-MM-DD"); 37434 aDates.push(szDay); 37435 if ( oCurrentDay.format("YYYY-MM-DD") == monthEnd.format("YYYY-MM-DD")){ 37436 break; 37437 } 37438 oCurrentDay = moment(oCurrentDay).add(+1, 'days'); 37439 } 37440 37441 return aDates; 37442} 37443 37444function getPreviousMonthDays(){ 37445 var monthStart = moment().subtract(1, 'months').startOf('month'); 37446 var monthEnd = moment().subtract(1, 'months').endOf('month'); 37447 37448 var aDates = []; 37449 37450 var oCurrentDay = monthStart; 37451 37452 while(true) { 37453 var szDay = oCurrentDay.format("YYYY-MM-DD"); 37454 37455 aDates.push(szDay); 37456 if ( oCurrentDay.format("YYYY-MM-DD") == monthEnd.format("YYYY-MM-DD")){ 37457 break; 37458 } 37459 37460 oCurrentDay = moment(oCurrentDay).add(+1, 'days'); 37461 } 37462 37463 return aDates; 37464} 37465 37466function getCurrentYearMonths(){ 37467 var aDates = [ ]; 37468 37469 for (let i = 0; i < 12; i++) { 37470 aDates.push(moment().month(i).format("YYYY-MM")); 37471 } 37472 37473 return aDates; 37474} 37475 37476function getPreviousYearMonths(){ 37477 var aDates = [ ]; 37478 37479 for (let i = 0; i < 12; i++) { 37480 aDates.push(moment().month(i).subtract(1,"years").format("YYYY-MM")); 37481 } 37482 37483 return aDates; 37484} 37485 37486function ctlChartTrendsApplyPercentageVariation(oNodeTrendChartsWrapper, oNodeChart, iLastCounter, iCurrentCounter){ 37487 var iPercentage = 0; 37488 37489 if ( iLastCounter == 0 ){ 37490 iPercentage = 100; 37491 }else{ 37492 iPercentage = ( iCurrentCounter<iLastCounter ? "-" + ((iLastCounter - iCurrentCounter) * 100) / iCurrentCounter : ((iCurrentCounter - iLastCounter) * 100) / iLastCounter ); 37493 } 37494 37495 var szRedColor = oNodeTrendChartsWrapper.attr("data-negative-color"); 37496 var szGreenColor = oNodeTrendChartsWrapper.attr("data-positive-color"); 37497 var szNeutralColor = oNodeTrendChartsWrapper.attr("data-neutral-color"); 37498 37499 iPercentage = Number(iPercentage); 37500 37501 if ( iPercentage == 0 ){ 37502 oNodeChart.find("p").html('<div class="badge chroma-apply-correction">' + iPercentage.toFixed(2) + "%" + '</div>');
37503 oNodeChart.find("p .badge").css("background-color", szNeutralColor); 37504 }else if ( iPercentage < 100 ){ 37505 oNodeChart.find("p").html('<div class="badge chroma-apply-correction">' + '<i class="ctl-wp-studio-icons-down-bold mr-2"></i>' + iPercentage.toFixed(2) + "%" + '</div>'); 37506 oNodeChart.find("p .badge").css("background-color", szRedColor); 37507 }else if ( iPercentage >= 100 ){ 37508 oNodeChart.find("p").html('<div class="badge chroma-apply-correction">' + '<i class="ctl-wp-studio-icons-up-1 mr-2"></i>' + iPercentage.toFixed(2) + "%" + '</div>'); 37509 oNodeChart.find("p .badge").css("background-color", szGreenColor); 37510 } 37511 37512 g_oCTLWPStudio.applyChromaCorrection(); 37513} 37514 37515function __getChartGroupedDataFromDates(oCachedDates,aDates){ 37516 var aResultDatas = new Array(); 37517 37518 aDates.forEach(szDate => { 37519 if(Array.isArray(oCachedDates[szDate])){ 37520 oCachedDates[szDate].forEach(element => { 37521 if (!aResultDatas.hasOwnProperty(element.group)) { 37522 aResultDatas[element.group] = 0; 37523 } 37524 37525 aResultDatas[element.group] += Number(element.value); 37526 }); 37527 } 37528 }); 37529 37530 return aResultDatas; 37531} 37532 37533function __getGroupValuePerDays(oCachedDates,aDates,szGroup){ 37534 var aResultDatas = new Array(); 37535 37536 var bGroupFound; 37537 37538 for (let i = 0; i < aDates.length; i++) { 37539 if(Array.isArray(oCachedDates[aDates[i]])){ 37540 bGroupFound = false; 37541 for (let j = 0; j < oCachedDates[aDates[i]].length; j++) { 37542 if (oCachedDates[aDates[i]][j].group == szGroup) { 37543 aResultDatas[i] = Number(oCachedDates[aDates[i]][j].value); 37544 bGroupFound = true; 37545 break; 37546 } 37547 } 37548 37549 if (!bGroupFound) { 37550 aResultDatas[i] = 0; 37551 } 37552 }else{ 37553 aResultDatas[i] = 0 37554 } 37555 } 37556 37557 return aResultDatas; 37558} 37559 37560function getChartSettings(idChartsWrapper, idChart){ 37561 var oNodeTrendChartsWrapper = jQuery("#ctl-trend-charts-" + idChartsWrapper + "-wrapper"); 37562 var oNodeChartWrapper = jQuery('#ctl-trend-chart-' + idChart + '-wrapper'); 37563 37564 return { 37565 chart_type: oNodeChartWrapper.attr("data-type"), 37566 fill_color: JSON.parse(oNodeChartWrapper.attr("data-fill-color")), 37567 border_color: oNodeChartWrapper.attr("data-border-color"), 37568 border_width: oNodeChartWrapper.attr("data-border-width"), 37569 previous_fill_color: JSON.parse(oNodeChartWrapper.attr("data-previous-fill-color")), 37570 previous_border_color: oNodeChartWrapper.attr("data-previous-border-color"), 37571 view_data_labels: oNodeChartWrapper.attr("data-view-labels"), 37572 view_crosshair: oNodeChartWrapper.attr("data-view-crosshair"), 37573 zoom: oNodeChartWrapper.attr("data-zoom"), 37574 grouped_values: !!oNodeChartWrapper.attr("data-grouped-values"), 37575 show_previous_period: !!oNodeChartWrapper.attr("data-previous-period"), 37576 aspect_ratio: oNodeTrendChartsWrapper.attr("data-aspect-ratio") 37577 } 37578} 37579 37580 37581function __buildDataSetsForEachGroup(oChartSettings,aDataCurrentPeriod,oCachedDates,aCurrentPeriodDates){ 37582 var aDataSets = []; 37583 37584 var iCounterColor = 0; 37585 for (var szGroup in aDataCurrentPeriod){ 37586 if (aDataCurrentPeriod.hasOwnProperty(szGroup)) { 37587 let oDataSet = { 37588 label: szGroup, 37589 data: __getGroupValuePerDays(oCachedDates,aCurrentPeriodDates,szGroup), 37590 backgroundColor: oChartSettings.fill_color[iCounterColor], 37591 borderColor: oChartSettings.border_color, 37592 borderWidth: oChartSettings.border_width 37593 }; 37594 37595 aDataSets.push(oDataSet); 37596 37597 iCounterColor++; 37598 if (iCounterColor == oChartSettings.fill_color.length) { 37599 iCounterColor = 0; 37600 } 37601 } 37602 } 37603 37604 return aDataSets; 37605} 37606 37607function __setDataSetsColors(oChartSettings,aDataSets){ 37608 37609 if (oChartSettings.show_previous_period) { 37610 37611 let iLastPeriodIndex = 1; 37612 let iCurPeriodIndex = 0; 37613 37614 if (oChartSettings.previous_fill_color) {
37615 aDataSets[iLastPeriodIndex].backgroundColor = oChartSettings.previous_fill_color; 37616 } 37617 if (oChartSettings.fill_color) { 37618 aDataSets[iCurPeriodIndex].backgroundColor = oChartSettings.fill_color; 37619 } 37620 if (oChartSettings.previous_border_color) { 37621 aDataSets[iLastPeriodIndex].borderColor = oChartSettings.previous_border_color; 37622 } 37623 if (oChartSettings.border_color) { 37624 aDataSets[iCurPeriodIndex].borderColor = oChartSettings.border_color; 37625 } 37626 if (oChartSettings.border_width) { 37627 aDataSets[iLastPeriodIndex].borderWidth = oChartSettings.border_width; 37628 aDataSets[iCurPeriodIndex].borderWidth = oChartSettings.border_width; 37629 } 37630 37631 }else if((oChartSettings.chart_type == "line" || oChartSettings.chart_type == "bar") && oChartSettings.grouped_values) { 37632 var iCounterColor = 0; 37633 aDataSets.forEach(oDataSet => { 37634 oDataSet.backgroundColor = oChartSettings.fill_color[iCounterColor]; 37635 oDataSet.borderColor = oDataSet.backgroundColor; 37636 37637 if (oChartSettings.border_width) { 37638 oDataSet.borderWidth = oChartSettings.border_width; 37639 } 37640 37641 iCounterColor++; 37642 if (iCounterColor == oChartSettings.fill_color.length) { 37643 iCounterColor = 0; 37644 } 37645 }); 37646 }else if ( oChartSettings.chart_type == "pie" || oChartSettings.chart_type == "doughtnut" ){ 37647 aDataSets.forEach(oDataSet => { 37648 oDataSet.backgroundColor = oChartSettings.fill_color; 37649 }); 37650 }else{ 37651 aDataSets.forEach(oDataSet => { 37652 if (oChartSettings.fill_color) { 37653 oDataSet.backgroundColor = oChartSettings.fill_color; 37654 } 37655 if (oChartSettings.border_color) { 37656 oDataSet.borderColor = oChartSettings.border_color; 37657 } 37658 if (oChartSettings.border_width) { 37659 oDataSet.borderWidth = oChartSettings.border_width; 37660 } 37661 }); 37662 } 37663} 37664 37665function ctlChartRenderTodayChart( idWidget, idChart, aDates ){ 37666 37667 aDates.sort(); 37668 37669 var oNodeTrendChartsWrapper = jQuery("#ctl-trend-charts-" + idWidget + "-wrapper"); 37670 var oNodeChartWrapper = jQuery('#ctl-trend-chart-' + idChart + '-wrapper'); 37671 37672 var oNodeLoader = oNodeChartWrapper.find(".ctl-trend-chart-loader"); 37673 var oNodeChart = oNodeChartWrapper.find(".ctl-trend-chart-container"); 37674 var oNodeNoDataMsg = oNodeChartWrapper.find(".ctl-trend-chart-no-data-msg-container"); 37675 37676 var ctx = oNodeChart.find("canvas")[0].getContext('2d'); 37677 37678 var oChartSettings = getChartSettings(idWidget,idChart); 37679 var oCachedDays = g_oCacheTrendCharts["widget-"+idWidget+"-"+idChart]; 37680 37681 var bEmpty = isChartEmpty(oCachedDays,aDates); 37682 37683 if (bEmpty) { 37684 oNodeLoader.addClass("d-none"); 37685 oNodeChart.addClass("d-none"); 37686 oNodeNoDataMsg.removeClass("d-none"); 37687 37688 g_oCTLWPStudio.onResize(); 37689 ctlVulcanoResizeLayout(); 37690 return; 37691 }else{ 37692 oNodeNoDataMsg.addClass("d-none"); 37693 } 37694 37695 var aDataCurrentPeriod = []; 37696 var aDataSets = null; 37697 37698 if ( oChartSettings.show_previous_period){ 37699 37700 aDataSets = [ 37701 { 37702 label: g_oCTLThemeChartsLocalizationFront["Today"] + " " + aDates[1], 37703 data: [ oCachedDays[aDates[1]] ] 37704 }, 37705 { 37706 label: g_oCTLThemeChartsLocalizationFront["Yesterday"] + " " + aDates[0], 37707 data: [ oCachedDays[aDates[0]]] 37708 }, 37709 ]; 37710 37711 ctlChartTrendsApplyPercentageVariation(oNodeTrendChartsWrapper, oNodeChart, 37712 oCachedDays[aDates[0]], oCachedDays[aDates[1]]); 37713 }else{ 37714 if (oChartSettings.grouped_values) { 37715 aDataCurrentPeriod = __getChartGroupedDataFromDates(oCachedDays,aDates); 37716 }else{ 37717 for( var i = 0; i < aDates.length; i++ ){ 37718 aDataCurrentPeriod.push(oCachedDays[aDates[i]]); 37719 } 37720 } 37721 37722 if ((oChartSettings.chart_type == "line" || oChartSettings.chart_type == "bar") && oChartSettings.grouped_values) { 37723 aDataSets = __buildDataSetsForEachGroup(oChartSettings,aDataCurrentPeriod,oCachedDays,aDates); 37724 }else{ 37725 aDataSets = [{ 37726 label: aDates[0], 37727 data: Object.values(aDataCurrentPeriod) 37728 }] 37729 } 37730 37731 oNodeChart.find("p").html(""); 37732 } 37733 37734 var aLabels = []; 37735 if (oChartSettings.chart_type == "line" || oChartSettings.chart_type == "bar") { 37736 aLabels = [ g_oCTLThemeChartsLocalizationFront["Today"] ] 37737 }else if(oChartSettings.grouped_values){ 37738 aLabels = [...Object.keys(aDataCurrentPeriod)]; 37739 } 37740 37741 __setDataSetsColors(oChartSettings,aDataSets); 37742 37743 oNodeLoader.addClass("d-none"); 37744 oNodeChart.removeClass("d-none"); 37745 37746 if (g_oContext2DTrendCharts["widget-"+idWidget+"-"+idChart] ){ 37747 g_oContext2DTrendCharts["widget-"+idWidget+"-"+idChart].destroy(); 37748 } 37749 37750 var oChartConfig = { 37751 type: (oChartSettings.chart_type == "line" ? "bar" : oChartSettings.chart_type), 37752 data: { 37753 labels: aLabels, 37754 datasets: aDataSets, 37755 }, 37756 plugins : [], 37757 options: { 37758 plugins : {}, 37759 responsive: true, 37760 maintainAspectRatio : true, 37761 aspectRatio : oChartSettings.aspect_ratio, 37762 } 37763 }; 37764 37765 if (oChartConfig.type == "line" || oChartConfig.type == "bar") { 37766 oChartConfig["options"]["scales"] = { 37767 y: { 37768 beginAtZero: true, 37769 ticks: { 37770 callback: function(value, index, values) {
37771 return __ctlChartFormatValue(oNodeChartWrapper, value); 37772 } 37773 } 37774 } 37775 } 37776 } 37777 37778 if (oChartConfig.type == "pie" || oChartConfig.type == "doughtnut") { 37779 __showValuesInPieChartLegend(oChartConfig,oNodeChartWrapper); 37780 } 37781 37782 __ctlChartApplyTooltip(oChartConfig, oNodeChartWrapper); 37783 37784 if ( oChartSettings.view_data_labels == "true" ){ 37785 __ctlChartApplyDataLabels(oChartConfig, oNodeChartWrapper); 37786 } 37787 if ( oChartSettings.view_crosshair == "true" ){ 37788 __ctlChartApplyCrosshair(oChartConfig, oNodeChartWrapper); 37789 } 37790 if ( oChartSettings.zoom == "true" ){ 37791 __ctlChartApplyZoom(oChartConfig, oNodeChartWrapper); 37792 } 37793 37794 __renderChart(idWidget, idChart, ctx, oChartConfig); 37795} 37796 37797function ctlChartRenderWeeklyChart( idWidget, idChart, aDates ){ 37798 37799 aDates.sort(); 37800 37801 var oNodeTrendChartsWrapper = jQuery("#ctl-trend-charts-" + idWidget + "-wrapper"); 37802 var oNodeChartWrapper = jQuery('#ctl-trend-chart-' + idChart + '-wrapper'); 37803 37804 var oNodeLoader = oNodeChartWrapper.find(".ctl-trend-chart-loader"); 37805 var oNodeChart = oNodeChartWrapper.find(".ctl-trend-chart-container"); 37806 var oNodeNoDataMsg = oNodeChartWrapper.find(".ctl-trend-chart-no-data-msg-container"); 37807 37808 var ctx = oNodeChart.find("canvas")[0].getContext('2d'); 37809 37810 var oChartSettings = getChartSettings(idWidget,idChart); 37811 37812 var oCachedDays = g_oCacheTrendCharts["widget-"+idWidget+"-"+idChart]; 37813 37814 var bEmpty = isChartEmpty(oCachedDays,aDates); 37815 37816 if (bEmpty) { 37817 oNodeLoader.addClass("d-none"); 37818 oNodeChart.addClass("d-none"); 37819 oNodeNoDataMsg.removeClass("d-none"); 37820 37821 g_oCTLWPStudio.onResize(); 37822 ctlVulcanoResizeLayout(); 37823 return; 37824 }else{ 37825 oNodeNoDataMsg.addClass("d-none"); 37826 } 37827 37828 var aDataCurrentPeriod = []; 37829 var aDataPreviousPeriod = []; 37830 37831 var aDataSets = null; 37832 37833 if ( oChartSettings.show_previous_period){ 37834 var iLastCounter = 0; 37835 var iCurrentCounter = 0; 37836 37837 for( var i = 0; i < 7; i++ ){ 37838 iLastCounter += parseInt(oCachedDays[aDates[i]]); 37839 aDataPreviousPeriod.push(oCachedDays[aDates[i]]); 37840 } 37841 for( var i = 7; i < 14; i++ ){ 37842 iCurrentCounter += parseInt(oCachedDays[aDates[i]]); 37843 aDataCurrentPeriod.push(oCachedDays[aDates[i]]); 37844 } 37845 aDataSets = [ 37846 { 37847 label: g_oCTLThemeChartsLocalizationFront["Current Week"], 37848 data: aDataCurrentPeriod 37849 }, 37850 { 37851 label: g_oCTLThemeChartsLocalizationFront["Last Week"], 37852 data: aDataPreviousPeriod 37853 } 37854 ]; 37855 37856 ctlChartTrendsApplyPercentageVariation(oNodeTrendChartsWrapper, oNodeChart, iLastCounter, iCurrentCounter); 37857 }else{ 37858 if (oChartSettings.grouped_values) { 37859 aDataCurrentPeriod = __getChartGroupedDataFromDates(oCachedDays,aDates); 37860 }else{ 37861 for( var i = 0; i < aDates.length; i++ ){ 37862 aDataCurrentPeriod.push(oCachedDays[aDates[i]]); 37863 } 37864 } 37865 37866 if ((oChartSettings.chart_type == "line" || oChartSettings.chart_type == "bar") && oChartSettings.grouped_values) { 37867 aDataSets = __buildDataSetsForEachGroup(oChartSettings,aDataCurrentPeriod,oCachedDays,aDates); 37868 }else{ 37869 aDataSets = [{ 37870 label: g_oCTLThemeChartsLocalizationFront["Current Week"], 37871 data: Object.values(aDataCurrentPeriod) 37872 }] 37873 } 37874 37875 oNodeChart.find("p").html(""); 37876 } 37877 37878 var aLabels = []; 37879 if (oChartSettings.chart_type == "line" || oChartSettings.chart_type == "bar") { 37880 aLabels = [ 37881 g_oCTLThemeChartsLocalizationFront["MON"], 37882 g_oCTLThemeChartsLocalizationFront["TUE"], 37883 g_oCTLThemeChartsLocalizationFront["WED"], 37884 g_oCTLThemeChartsLocalizationFront["THU"], 37885 g_oCTLThemeChartsLocalizationFront["FRI"], 37886 g_oCTLThemeChartsLocalizationFront["SAT"], 37887 g_oCTLThemeChartsLocalizationFront["SUN"], 37888 ] 37889 }else if(oChartSettings.grouped_values){ 37890 aLabels = [...Object.keys(aDataCurrentPeriod)]; 37891 } 37892 37893 __setDataSetsColors(oChartSettings,aDataSets); 37894 37895 oNodeLoader.addClass("d-none"); 37896 oNodeChart.removeClass("d-none"); 37897 37898 if (g_oContext2DTrendCharts["widget-"+idWidget+"-"+idChart] ){ 37899 g_oContext2DTrendCharts["widget-"+idWidget+"-"+idChart].destroy(); 37900 } 37901 37902 var oChartConfig = { 37903 type: oChartSettings.chart_type, 37904 data: { 37905 labels: aLabels, 37906 datasets: aDataSets 37907 }, 37908 plugins : [], 37909 options: { 37910 plugins : { }, 37911 responsive: true, 37912 maintainAspectRatio : true, 37913 aspectRatio : oChartSettings.aspect_ratio, 37914 } 37915 }; 37916 37917 if (oChartConfig.type == "line" || oChartConfig.type == "bar") { 37918 oChartConfig["options"]["scales"] = { 37919 y: { 37920 beginAtZero: true, 37921 ticks: { 37922 callback: function(value, index, values) {
37923 return __ctlChartFormatValue(oNodeChartWrapper, value); 37924 } 37925 } 37926 } 37927 } 37928 } 37929 37930 if (oChartConfig.type == "pie" || oChartConfig.type == "doughtnut") { 37931 __showValuesInPieChartLegend(oChartConfig,oNodeChartWrapper); 37932 } 37933 37934 __ctlChartApplyTooltip(oChartConfig, oNodeChartWrapper); 37935 37936 if ( oChartSettings.view_data_labels == "true" ){ 37937 __ctlChartApplyDataLabels(oChartConfig, oNodeChartWrapper); 37938 } 37939 if ( oChartSettings.view_crosshair == "true" ){ 37940 __ctlChartApplyCrosshair(oChartConfig, oNodeChartWrapper); 37941 } 37942 if ( oChartSettings.zoom == "true" ){ 37943 __ctlChartApplyZoom(oChartConfig, oNodeChartWrapper); 37944 } 37945 37946 __renderChart(idWidget, idChart, ctx, oChartConfig); 37947} 37948 37949function ctlChartRenderMonthlyChart( idWidget, idChart, aDates ){ 37950 37951 aDates.sort(); 37952 37953 var oNodeTrendChartsWrapper = jQuery("#ctl-trend-charts-" + idWidget + "-wrapper"); 37954 var oNodeChartWrapper = jQuery('#ctl-trend-chart-' + idChart + '-wrapper'); 37955 37956 var oNodeLoader = oNodeChartWrapper.find(".ctl-trend-chart-loader"); 37957 var oNodeChart = oNodeChartWrapper.find(".ctl-trend-chart-container"); 37958 var oNodeNoDataMsg = oNodeChartWrapper.find(".ctl-trend-chart-no-data-msg-container"); 37959 37960 var ctx = oNodeChart.find("canvas")[0].getContext('2d'); 37961 37962 var oChartSettings = getChartSettings(idWidget,idChart); 37963 37964 var oCachedDays = g_oCacheTrendCharts["widget-"+idWidget+"-"+idChart]; 37965 37966 var bEmpty = isChartEmpty(oCachedDays,aDates); 37967 37968 if (bEmpty) { 37969 oNodeLoader.addClass("d-none"); 37970 oNodeChart.addClass("d-none"); 37971 oNodeNoDataMsg.removeClass("d-none"); 37972 37973 g_oCTLWPStudio.onResize(); 37974 ctlVulcanoResizeLayout(); 37975 return; 37976 }else{ 37977 oNodeNoDataMsg.addClass("d-none"); 37978 } 37979 37980 var aDataCurrentPeriod = []; 37981 var aDataPreviousPeriod = []; 37982 var aDataSets = null; 37983 37984 if ( oChartSettings.show_previous_period){ 37985 var szInitCurrentMonth = moment().startOf('month').format("YYYY-MM-DD"); 37986 var i = 0; 37987 var iLastCounter = 0; 37988 var iCurrentCounter = 0; 37989 while(true){ 37990 if ( aDates[i] == szInitCurrentMonth){ 37991 break; 37992 } 37993 iLastCounter += parseInt(oCachedDays[aDates[i]]); 37994 aDataPreviousPeriod.push(oCachedDays[aDates[i]]); 37995 i++; 37996 } 37997 while(true){ 37998 if (!aDates[i]){ 37999 break; 38000 } 38001 iCurrentCounter += parseInt(oCachedDays[aDates[i]]); 38002 aDataCurrentPeriod.push(oCachedDays[aDates[i]]); 38003 i++; 38004 } 38005 38006 aDataSets = [ 38007 { 38008 label: g_oCTLThemeChartsLocalizationFront["Current Month"], 38009 data: aDataCurrentPeriod 38010 }, 38011 { 38012 label: g_oCTLThemeChartsLocalizationFront["Last Month"], 38013 data: aDataPreviousPeriod 38014 } 38015 ] 38016 38017 ctlChartTrendsApplyPercentageVariation(oNodeTrendChartsWrapper, oNodeChart, iLastCounter, iCurrentCounter); 38018 }else{ 38019 if (oChartSettings.grouped_values) { 38020 aDataCurrentPeriod = __getChartGroupedDataFromDates(oCachedDays,aDates); 38021 }else{ 38022 for( var i = 0; i < aDates.length; i++ ){ 38023 aDataCurrentPeriod.push(oCachedDays[aDates[i]]); 38024 } 38025 } 38026 38027 if ((oChartSettings.chart_type == "line" || oChartSettings.chart_type == "bar") && oChartSettings.grouped_values) { 38028 aDataSets = __buildDataSetsForEachGroup(oChartSettings,aDataCurrentPeriod,oCachedDays,aDates); 38029 }else{ 38030 aDataSets = [{ 38031 label: g_oCTLThemeChartsLocalizationFront["Current Month"], 38032 data: Object.values(aDataCurrentPeriod) 38033 }] 38034 } 38035 38036 oNodeChart.find("p").html(""); 38037 } 38038 38039 var aLabels = []; 38040 if (oChartSettings.chart_type == "line" || oChartSettings.chart_type == "bar") { 38041 for(var i = 1; i < 32; i++ ){ 38042 aLabels.push(i); 38043 } 38044 }else if(oChartSettings.grouped_values){ 38045 aLabels = [...Object.keys(aDataCurrentPeriod)]; 38046 } 38047 38048 __setDataSetsColors(oChartSettings,aDataSets); 38049 38050 oNodeLoader.addClass("d-none"); 38051 oNodeChart.removeClass("d-none"); 38052 38053 if (g_oContext2DTrendCharts["widget-"+idWidget+"-"+idChart] ){ 38054 g_oContext2DTrendCharts["widget-"+idWidget+"-"+idChart].destroy(); 38055 } 38056 38057 var oChartConfig = { 38058 type: oChartSettings.chart_type, 38059 data: { 38060 labels: aLabels, 38061 datasets: aDataSets 38062 }, 38063 plugins : [], 38064 options: { 38065 plugins : {}, 38066 responsive: true, 38067 maintainAspectRatio : true, 38068 aspectRatio : oChartSettings.aspect_ratio, 38069 } 38070 }; 38071 38072 if (oChartConfig.type == "line" || oChartConfig.type == "bar") { 38073 oChartConfig["options"]["scales"] = { 38074 y: { 38075 beginAtZero: true, 38076 ticks: { 38077 callback: function(value, index, values) {
38078 return __ctlChartFormatValue(oNodeChartWrapper, value); 38079 } 38080 } 38081 } 38082 } 38083 } 38084 38085 if (oChartConfig.type == "pie" || oChartConfig.type == "doughtnut") { 38086 __showValuesInPieChartLegend(oChartConfig,oNodeChartWrapper); 38087 } 38088 38089 __ctlChartApplyTooltip(oChartConfig, oNodeChartWrapper); 38090 38091 if ( oChartSettings.view_data_labels == "true" ){ 38092 __ctlChartApplyDataLabels(oChartConfig, oNodeChartWrapper); 38093 } 38094 if ( oChartSettings.view_crosshair == "true" ){ 38095 __ctlChartApplyCrosshair(oChartConfig, oNodeChartWrapper); 38096 } 38097 if ( oChartSettings.zoom == "true" ){ 38098 __ctlChartApplyZoom(oChartConfig, oNodeChartWrapper); 38099 } 38100 38101 __renderChart(idWidget, idChart, ctx, oChartConfig); 38102} 38103 38104function ctlChartRenderYearlyChart( idWidget, idChart, aDates ){ 38105 38106 aDates.sort(); 38107 38108 var oNodeTrendChartsWrapper = jQuery("#ctl-trend-charts-" + idWidget + "-wrapper"); 38109 var oNodeChartWrapper = jQuery('#ctl-trend-chart-' + idChart + '-wrapper'); 38110 38111 var oNodeLoader = oNodeChartWrapper.find(".ctl-trend-chart-loader"); 38112 var oNodeChart = oNodeChartWrapper.find(".ctl-trend-chart-container"); 38113 var oNodeNoDataMsg = oNodeChartWrapper.find(".ctl-trend-chart-no-data-msg-container"); 38114 38115 var ctx = oNodeChart.find("canvas")[0].getContext('2d'); 38116 38117 var oChartSettings = getChartSettings(idWidget,idChart); 38118 38119 var oCachedMonths = g_oCacheTrendCharts["widget-"+idWidget+"-"+idChart]; 38120 38121 var bEmpty = isChartEmpty(oCachedMonths,aDates); 38122 38123 if (bEmpty) { 38124 oNodeLoader.addClass("d-none"); 38125 oNodeChart.addClass("d-none"); 38126 oNodeNoDataMsg.removeClass("d-none"); 38127 38128 g_oCTLWPStudio.onResize(); 38129 ctlVulcanoResizeLayout(); 38130 return; 38131 }else{ 38132 oNodeNoDataMsg.addClass("d-none"); 38133 } 38134 38135 var aDataCurrentPeriod = []; 38136 var aDataPreviousPeriod = []; 38137 var aDataSets = null; 38138 38139 if ( oChartSettings.show_previous_period){ 38140 var szInitCurrentYear = moment().startOf('year').format("YYYY-MM"); 38141 var i = 0; 38142 var iLastCounter = 0; 38143 var iCurrentCounter = 0; 38144 while(true){ 38145 if ( aDates[i] == szInitCurrentYear){ 38146 break; 38147 } 38148 iLastCounter += parseInt(oCachedMonths[aDates[i]]); 38149 aDataPreviousPeriod.push(oCachedMonths[aDates[i]]); 38150 i++; 38151 } 38152 while(true){ 38153 if (!aDates[i]){ 38154 break; 38155 } 38156 iCurrentCounter += parseInt(oCachedMonths[aDates[i]]); 38157 aDataCurrentPeriod.push(oCachedMonths[aDates[i]]); 38158 i++; 38159 } 38160 38161 aDataSets = [ 38162 { 38163 label: g_oCTLThemeChartsLocalizationFront["Current Year"], 38164 data: aDataCurrentPeriod 38165 }, 38166 { 38167 label: g_oCTLThemeChartsLocalizationFront["Last Year"], 38168 data: aDataPreviousPeriod 38169 }, 38170 ] 38171 38172 ctlChartTrendsApplyPercentageVariation(oNodeTrendChartsWrapper, oNodeChart, iLastCounter, iCurrentCounter); 38173 }else{ 38174 if (oChartSettings.grouped_values) { 38175 aDataCurrentPeriod = __getChartGroupedDataFromDates(oCachedMonths,aDates); 38176 }else{ 38177 for( var i = 0; i < aDates.length; i++ ){ 38178 aDataCurrentPeriod.push(oCachedMonths[aDates[i]]); 38179 } 38180 } 38181 38182 if ((oChartSettings.chart_type == "line" || oChartSettings.chart_type == "bar") && oChartSettings.grouped_values) { 38183 aDataSets = __buildDataSetsForEachGroup(oChartSettings,aDataCurrentPeriod,oCachedMonths,aDates); 38184 }else{ 38185 aDataSets = [{ 38186 label: g_oCTLThemeChartsLocalizationFront["Current Year"], 38187 data: Object.values(aDataCurrentPeriod) 38188 }] 38189 } 38190 38191 oNodeChart.find("p").html(""); 38192 } 38193 38194 var aLabels = []; 38195 if (oChartSettings.chart_type == "line" || oChartSettings.chart_type == "bar") { 38196 aLabels = [ 38197 g_oCTLThemeChartsLocalizationFront["JAN"], 38198 g_oCTLThemeChartsLocalizationFront["FEB"], 38199 g_oCTLThemeChartsLocalizationFront["MAR"], 38200 g_oCTLThemeChartsLocalizationFront["APR"], 38201 g_oCTLThemeChartsLocalizationFront["MAY"], 38202 g_oCTLThemeChartsLocalizationFront["JUN"], 38203 g_oCTLThemeChartsLocalizationFront["JUL"], 38204 g_oCTLThemeChartsLocalizationFront["AUG"], 38205 g_oCTLThemeChartsLocalizationFront["SEP"], 38206 g_oCTLThemeChartsLocalizationFront["OCT"], 38207 g_oCTLThemeChartsLocalizationFront["NOV"], 38208 g_oCTLThemeChartsLocalizationFront["DEC"] 38209 ] 38210 }else if(oChartSettings.grouped_values){ 38211 aLabels = [...Object.keys(aDataCurrentPeriod)]; 38212 } 38213 38214 __setDataSetsColors(oChartSettings,aDataSets); 38215 38216 oNodeLoader.addClass("d-none"); 38217 oNodeChart.removeClass("d-none"); 38218 38219 if (g_oContext2DTrendCharts["widget-"+idWidget+"-"+idChart] ){ 38220 g_oContext2DTrendCharts["widget-"+idWidget+"-"+idChart].destroy(); 38221 } 38222 38223 var oChartConfig = { 38224 type: oChartSettings.chart_type, 38225 data: { 38226 labels: aLabels, 38227 datasets: aDataSets 38228 }, 38229 plugins : [], 38230 options: { 38231 plugins : {}, 38232 responsive: true, 38233 maintainAspectRatio : true, 38234 aspectRatio : oChartSettings.aspect_ratio, 38235 } 38236 }; 38237 38238 if (oChartConfig.type == "line" || oChartConfig.type == "bar") { 38239 oChartConfig["options"]["scales"] = { 38240 y: { 38241 beginAtZero: true, 38242 ticks: { 38243 callback: function(value, index, values) {
38244 return __ctlChartFormatValue(oNodeChartWrapper, value); 38245 } 38246 } 38247 } 38248 } 38249 } 38250 38251 if (oChartConfig.type == "pie" || oChartConfig.type == "doughtnut") { 38252 __showValuesInPieChartLegend(oChartConfig,oNodeChartWrapper); 38253 } 38254 38255 __ctlChartApplyTooltip(oChartConfig, oNodeChartWrapper); 38256 38257 if ( oChartSettings.view_data_labels == "true" ){ 38258 __ctlChartApplyDataLabels(oChartConfig, oNodeChartWrapper); 38259 } 38260 if ( oChartSettings.view_crosshair == "true" ){ 38261 __ctlChartApplyCrosshair(oChartConfig, oNodeChartWrapper); 38262 } 38263 if ( oChartSettings.zoom == "true" ){ 38264 __ctlChartApplyZoom(oChartConfig, oNodeChartWrapper); 38265 } 38266 38267 __renderChart(idWidget, idChart, ctx, oChartConfig); 38268} 38269 38270function isChartEmpty(oCachedDates, aDates){ 38271 for (const szDate of aDates) { 38272 if(Array.isArray(oCachedDates[szDate])){ 38273 for (const element of oCachedDates[szDate]) { 38274 if(element.value && element.value != 0){ 38275 return false; 38276 } 38277 } 38278 }else if(oCachedDates[szDate] && oCachedDates[szDate] != 0){ 38279 return false; 38280 } 38281 } 38282 38283 return true; 38284} 38285 38286function __renderChart(idWidget, idChart, ctx, oChartConfig){ 38287 g_oContext2DTrendCharts["widget-"+idWidget+"-"+idChart] = new Chart(ctx, oChartConfig); 38288 ctlVulcanoResizeLayout(); 38289 g_oCTLWPStudio.applyChromaCorrection(); 38290} 38291 38292 38293function __ctlChartApplyTooltip( oChartConfig, oNodeChartWrapper ){ 38294 oChartConfig["options"]["plugins"]["tooltip"] = { 38295 enabled: true, 38296 callbacks: { 38297 label: function(context) { 38298 var szLabel; 38299 var szValue; 38300 switch(oChartConfig.type){ 38301 case "line": 38302 case "bar":{ 38303 szLabel = context.dataset.label; 38304 szValue = context.parsed.y; 38305 break; 38306 } 38307 case "pie": 38308 case "doughnut":{ 38309 szLabel = context.label; 38310 szValue = context.parsed; 38311 } 38312 } 38313 return szLabel + ": " + __ctlChartFormatValue(oNodeChartWrapper, szValue); 38314 } 38315 } 38316 }; 38317} 38318 38319function __ctlChartApplyZoom( oChartConfig, oNodeChartWrapper ){ 38320 38321 oChartConfig["plugins"].push(ChartZoom); 38322 38323 oChartConfig["options"]["plugins"]["zoom"] = { 38324 limits: { 38325 x: {min: -200, max: 200, minRange: 50}, 38326 y: {min: -200, max: 200, minRange: 50} 38327 }, 38328 pan: { 38329 enabled: true, 38330 mode: 'xy', 38331 modifierKey: 'alt', 38332 }, 38333 zoom: { 38334 wheel: { 38335 enabled: true, 38336 }, 38337 pinch: { 38338 enabled: true 38339 }, 38340 mode: 'xy', 38341 onZoomComplete({chart}) { 38342 // This update is needed to display up to date zoom level in the title.
38343 // Without this, previous zoom level is displayed. 38344 // The reason is: title uses the same beforeUpdate hook, and is evaluated before zoom. 38345 chart.update('none'); 38346 } 38347 } 38348 }; 38349} 38350 38351function __ctlChartApplyCrosshair( oChartConfig, oNodeChartWrapper ){ 38352 38353 let crosshair; 38354 const hoverCrosshair = { 38355 id : 'hoverCrosshair', 38356 events : ['mousemove'], 38357 afterDatasetsDraw : function(chart, args, plugins ) { 38358 if ( crosshair ){ 38359 const { ctx } = chart; 38360 ctx.save(); 38361 38362 crosshair.forEach((line, index)=> { 38363 ctx.beginPath(); 38364 ctx.lineWidth = 2; 38365 ctx.setStrokeStyle = 'rgba(102, 102, 102,1)'; 38366 ctx.moveTo(line.startX, line.startY); 38367 ctx.lineTo(line.endX, line.endY); 38368 ctx.stroke(); 38369 }); 38370 38371 ctx.restore(); 38372 } 38373 }, 38374 38375 afterEvent : function(ch
38375art, args) { 38376 const { ctx , chartArea: { left, right, top, bottom }} = chart; 38377 const xCoor = args.event.x; 38378 const yCoor = args.event.y; 38379 38380 if (!args.inChartArea && crosshair){ 38381 crosshair = undefined; 38382 args.changed = true; 38383 }else if (args.inChartArea){ 38384 crosshair = [ 38385 { 38386 startX : xCoor, 38387 startY : top, 38388 endX : xCoor, 38389 endY : bottom 38390 }, 38391 { 38392 startX : left, 38393 startY : yCoor, 38394 endX : right, 38395 endY : yCoor 38396 } 38397 ] 38398 } 38399 } 38400 } 38401 38402 oChartConfig["plugins"].push(hoverCrosshair); 38403} 38404 38405function __showValuesInPieChartLegend(oChartConfig,oNodeChartWrapper){ 38406 if ( !oChartConfig["options"]["plugins"] ){ 38407 oChartConfig["options"]["plugins"] = {}; 38408 } 38409 38410 if ( !oChartConfig["options"]["plugins"]["legend"] ){ 38411 oChartConfig["options"]["plugins"]["legend"] = {}; 38412 } 38413 38414 oChartConfig["options"]["plugins"]["legend"]["labels"] = { 38415 generateLabels: (chart) => { 38416 const data = chart.data; 38417 if (data.labels.length && data.datasets.length) { 38418 const {labels: {pointStyle, color}} = chart.legend.options; 38419 38420 return data.labels.map((label, i) => { 38421 const meta = chart.getDatasetMeta(0); 38422 const style = meta.controller.getStyle(i); 38423 38424 38425 return { 38426 text: label+":"+__ctlChartFormatValue(oNodeChartWrapper,data.datasets[0].data[i]), 38427 fillStyle: style.backgroundColor, 38428 strokeStyle: style.borderColor, 38429 fontColor: color, 38430 lineWidth: style.borderWidth, 38431 pointStyle: pointStyle, 38432 hidden: !chart.getDataVisibility(i), 38433 38434 // Extra data used for toggling the correct item 38435 index: i 38436 }; 38437 }); 38438 } 38439 return []; 38440 } 38441 } 38442} 38443 38444function __ctlChartApplyDataLabels( oChartConfig, oNodeChartWrapper ){ 38445 38446 // Verifichiamo se il plugin è definito prima di usarlo 38447 if (typeof ChartDataLabels !== 'undefined') { 38448 oChartConfig["plugins"].push(ChartDataLabels); 38449 } else { 38450 // Se non esiste, avvisiamo l'utente 38451 alert( g_oCTLThemeChartsLocalizationFront["Warning: The ChartDataLabels plugin did not load correctly. Some visual data may be missing. Please check in chart js extension settings."]); 38452 return; 38453 } 38454 38455 if ( !oChartConfig["options"]["plugins"] ){ 38456 oChartConfig["options"]["plugins"] = {}; 38457 } 38458 38459 oChartConfig["options"]["plugins"]["datalabels"] = {}; 38460 oChartConfig["options"]["plugins"]["datalabels"]["formatter"] = function(value, context) { 38461 return __ctlChartFormatValue(oNodeChartWrapper, value); 38462 }; 38463 38464 oChartConfig["options"]["plugins"]["datalabels"]["borderRadius"] = 4; 38465 oChartConfig["options"]["plugins"]["datalabels"]["color"] = 'white'; 38466 oChartConfig["options"]["plugins"]["datalabels"]["padding"] = 6; 38467 oChartConfig["options"]["plugins"]["datalabels"]["backgroundColor"] = function(context) { 38468 return context.dataset.backgroundColor; 38469 }; 38470} 38471 38472function __ctlChartFormatValue(oNodeChartWrapper, value){ 38473 switch(oNodeChartWrapper.attr("data-value-formatter")){ 38474 case "euro":{ 38475 value = '⬠' + numberFormat(Number(value), 2, ',', '.'); 38476 }break; 38477 case "percentage":{ 38478 value = value + '%'; 38479 }break; 38480 case "kilogram":{ 38481 value = value + 'kg'; 38482 }break; 38483 case "kilometer":{ 38484 value = value + 'km'; 38485 }break; 38486 case "custom":{ 38487 value = sprintf(oNodeChartWrapper.attr("data-custom-formatter"), value); 38488 }break; 38489 } 38490 return " " + value; 38491} 38492 38493function __ctlTrendChartsGetDateData(idWidget, idTrendChart, idAncestor, szDateType, aDatesToRequest, cb){ 38494 var oFormData = {}; 38495 oFormData['action'] ='ctl-wp-studio'; 38496 oFormData['execute'] ='ctl-chart-js'; 38497 oFormData['extension-action'] = "get-trends"; 38498 oFormData['widget-id'] = idWidget; 38499 oFormData['post-id'] = idTrendChart; 38500 oFormData['ancestor-id'] = idAncestor; 38501 oFormData['date-type'] = szDateType; 38502 oFormData['dates'] = aDatesToRequest; 38503 38504 jQuery.ajax({ 38505 url : g_oCTLWPStudio._oLangCommon["ajaxurl"], 38506 type: "POST", 38507 data : oFormData, 38508 cache: false, 38509 method: 'POST', 38510 success: function(response, textStatus, jqXHR){ 38511 var oResponse = jQuery.parseJSON(response); 38512 if( oResponse.res === false ){ 38513 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 38514 }else{ 38515 for( var i = 0; i < oResponse.dates.length; i++ ){ 38516 38517 g_oCacheTrendCharts["widget-"+idWidget+"-"+idTrendChart][oResponse.dates[i].date] = 38518 oResponse.dates[i].value; 38519 38520 for( var k = 0; k < aDatesToRequest.length; k++ ){ 38521 if ( aDatesToRequest[k] == oResponse.dates[i].date ){ 38522 aDatesToRequest.splice(k,1); 38523 break; 38524 } 38525 } 38526 } 38527 38528 localStorage.setItem('cache_trend_charts', JSON.stringify(g_oCacheTrendCharts)); 38529 localStorage.setItem('cache_trend_charts_time', new Date().getTime()); 38530 38531 if ( aDatesToRequest.length > 0 ){ 38532 __ctlTrendChartsGetDateData(idWidget, idTrendChart, idAncestor, szDateType, aDatesToRequest, cb) 38533 }else{ 38534 cb(); 38535 } 38536 } 38537 },error: function(jqXHR, textStatus, errorThrown){ 38538 alert(g_oCTLWPStudio._oLangCommon["Ooops! Something Went Wrong!"]); 38539 } 38540 }); 38541}
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.